Saya memiliki enam direktori dengan perintah file. Ini adalah /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
dan /usr/local/sbin
.
Apa perbedaan antara ini? Jika saya'm tulisan saya sendiri script, mana yang harus saya tambahkan?
Terkait:
Silakan merujuk ke Filesystem Hierarchy Standard (FHS) untuk Linux untuk ini.
/bin
: Untuk binari yang dapat digunakan sebelum /usr
partisi di-mount. Ini digunakan untuk sepele binari digunakan di awal boot tahap atau orang-orang yang anda butuhkan untuk memiliki tersedia di booting mode single-user. Berpikir binari seperti kucing
, ls
, dll.
/sbin
: yang Sama, tapi untuk binari dengan superuser (root) hak-hak istimewa yang diperlukan.
/usr/bin
: Sama seperti yang pertama, tapi untuk umum sistem binari.
/usr/sbin
: Sama seperti di atas, tetapi untuk binari dengan superuser (root) hak-hak istimewa yang diperlukan.
jika I'm tulisan saya sendiri script, mana yang harus saya tambahkan?
Tidak ada di atas. Anda harus menggunakan /usr/local/bin atau/usr/local/sbin
untuk sistem-lebar, tersedia script. Lokal
path berarti's tidak dikelola oleh sistem paket (ini adalah error untuk Debian/Ubuntu paket).
Untuk cakupan pengguna script, menggunakan ~/bin
(pribadi bin folder di direktori home anda).
Yang FHS kata untuk /usr/local
:
Tersier hirarki untuk local data, khusus untuk host ini. Biasanya memiliki lebih subdirektori, misalnya,
bin/
,lib/
,share/
.
Saya punya pertanyaan serupa diriku tahun yang lalu: https://askubuntu.com/questions/830074/best-directory-to-place-my-bash-scripts
man hier
(hirarki) daftar semua direktori. Untuk mendapatkan orang-orang hanya untuk binari menggunakan:
$ man hier | grep -E 'bin$|sbin$|^.{7}(/bin)|^.{7}(/sbin)' -A2
/bin This directory contains executable programs which are needed in single user
mode and to bring the system up or repair it.
--
/sbin Like /bin, this directory holds commands needed to boot the system, but
which are usually not executed by normal users.
--
/usr/X11R6/bin
Binaries which belong to the X-Window system; often, there is a symbolic
link from the more traditional /usr/bin/X11 to here.
--
/usr/bin
This is the primary directory for executable programs. Most programs exe‐
cuted by normal users which are not needed for booting or for repairing the
--
/usr/local/bin
Binaries for programs local to the site.
--
/usr/local/sbin
Locally installed programs for system administration.
--
/usr/sbin
This directory contains program binaries for system administration which
are not essential for the boot process, for mounting /usr, or for system
Untuk semua pengguna untuk mengakses script anda, anda dapat menempatkan mereka di /usr/local/bin
. Menjaga dalam pikiran anda perlu sudo
akses untuk menambah / mengubah file-file di sini. Lihat: https://askubuntu.com/questions/195652/is-there-a-standard-place-for-placing-custom-linux-scripts
Untuk anda sendiri user ID script menempatkan mereka di /home/NAMA_ANDA/bin
. Perlu diingat anda harus membuat direktori ini pertama dan peluncuran terminal untuk mendapatkan jalan secara otomatis setup oleh ~/.profil
. Lihat: https://askubuntu.com/questions/402353/how-to-add-home-username-bin-to-path?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
I'm merenungkan mengambil beberapa lebih kompleks bash script di Meminta Ubuntu dan menyiapkan mereka dengan menginstal script pada github
. Berikut ini adalah beberapa contoh:
Saya pikir ** script yang harus dipasang di /usr/bin
yang di $PATH, tapi aku'm tidak yakin pada tempat yang tepat belum.