Saya memiliki enam direktori dengan file perintah. Ini adalah /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
dan /usr/local/sbin
.
Apa perbedaan di antara ini? Jika saya menulis skrip saya sendiri, di mana saya harus menambahkannya?
Terkait:
Jawaban:
Silakan merujuk ke Filesystem Hierarchy Standard (FHS) untuk Linux untuk ini.
/bin
: Untuk binari yang dapat digunakan sebelum/usr
partisi dipasang. Ini digunakan untuk binari sepele yang digunakan pada tahap boot paling awal atau yang perlu Anda miliki dalam mem-boot mode single-user. Pikirkan binari seperticat
,ls
, dll/sbin
: Sama, tetapi untuk binari dengan hak superuser (root) diperlukan ./usr/bin
: Sama seperti yang pertama, tetapi untuk binari umum sistem-lebar ./usr/sbin
: Sama seperti di atas, tetapi untuk binari dengan hak superuser (root) diperlukan.Bukan dari salah satu di atas. Anda harus menggunakan
/usr/local/bin
atau/usr/local/sbin
untuk skrip yang tersedia di seluruh sistem. Thelocal
path berarti itu tidak dikelola oleh paket sistem (ini adalah kesalahan paket Debian / Ubuntu).Untuk skrip yang dijalankan pengguna, gunakan
~/bin
(folder tempat sampah pribadi di direktori home Anda)FHS mengatakan untuk
/usr/local
:sumber
/bin
menyebabkan masalah? Saya telah memindahkan skrip saya sesuai dengan jawaban Anda tetapi saya masih penasaranSeverity:Serious Certainty:Certain
ls -la
tidak menunjukkan apaSaya memiliki pertanyaan serupa sendiri setahun + yang lalu: Direktori terbaik untuk menempatkan skrip bash saya?
Direktori sistem untuk binari
man hier
(hierarki) mencantumkan semua direktori. Untuk mendapatkan yang hanya untuk binari gunakan:Di mana menempatkan skrip Anda sendiri?
Agar semua pengguna dapat mengakses skrip Anda, Anda dapat memasukkannya
/usr/local/bin
. Ingatlah bahwa Anda memerlukansudo
akses untuk menambah / mengubah file di sini. Lihat: Apakah ada tempat standar untuk menempatkan skrip Linux khusus?Untuk skrip ID pengguna Anda sendiri, masukkan
/home/YOUR_NAME/bin
. Ingatlah bahwa Anda harus membuat direktori ini terlebih dahulu dan meluncurkan kembali terminal untuk mendapatkan jalur yang secara otomatis diatur oleh~/.profile
. Lihat: Bagaimana cara menambahkan / home / nama pengguna / bin ke $ PATH?Apa yang saya tahu saya tidak tahu
Saya sedang mempertimbangkan untuk mengambil beberapa skrip bash saya yang lebih kompleks di Ask Ubuntu dan menyiapkannya dengan menginstal skrip
github
. Berikut ini beberapa contoh:Saya pikir skrip harus diinstal di
/usr/bin
$ PATH, tapi saya belum yakin di tempat yang tepat.sumber
man hier
bagian yang tidak dijawab oleh jawaban gertvdijk. yaitu Anda bisa mendapatkan struktur hierarki direktori di baris perintah tanpa harus membacanya di web (yaitu di sini).man hier
merupakan kutipan IMO yang tidak memadai secara informasi). Namun, ini mungkin pendapat pribadi saya./usr/X11R6/bin
dan/usr/local/bin
termasuk dalamman heir
./usr/local/bin
karena Anda bukan pengelola paket?