/ bin, / sbin, / usr / bin, / usr / sbin, / usr / local / bin, / usr / local / sbin arasındaki farklar

220

Komut dosyaları ile altı dizinim var. Bunlar /bin , /sbin , /usr/bin , /usr/sbin , /usr/local/bin ve /usr/local/sbin .

Bunlar arasındaki farklar nelerdir? Kendi senaryolarımı yazıyorsam, onları nereye eklemeliyim?

İlgili:

sordu Keelan 14.06.2013 09:13

2 cevap

289

Lütfen bunun için Linux için Dosya Sistemi Hiyerarşi Standardı'na (FHS) bakın.

  • /bin : /usr bölümünün yüklenmesinden önce kullanılabilen ikili dosyalar için. Bu, çok erken önyükleme aşamasında kullanılan önemsiz ikili dosyalar veya tek kullanıcılı modda önyükleme yapabilmeniz için gerekenler için kullanılır. % Co_de%, cat vb. Gibi ikili dosyaları düşünün.

  • ls : Aynı, ancak süper kullanıcı (root) ayrıcalıklarına sahip komut dosyaları için .

  • /sbin : İlk olarak aynı, ancak genel sistem genelinde ikili dosyalar için .

  • /usr/bin : Yukarıdaki gibi aynı, ancak süper kullanıcı (root) ayrıcalıklarına sahip komut dosyaları için.

  

Kendi komut dosyamı yazıyorsam, bunları nereye eklemeliyim?

Yukarıdakilerin hiçbiri. Sistem genelinde kullanılabilir komut dosyaları için /usr/sbin veya /usr/local/bin kullanmalısınız. % Co_de% yolu, sistem paketleri tarafından yönetilmediği anlamına gelir (bu bir hatadır . Debian / Ubuntu paketleri için).

Kullanıcı için kapsamlı komut dosyaları için, /usr/local/sbin (giriş dizininizdeki kişisel bir bin klasörü) kullanın.

FHS local için diyor:

  

Yerel veriler için tersiyer hiyerarşisi, bu sunucuya özel . Tipik olarak başka alt dizinlere de sahiptir, örneğin ~/bin , /usr/local , bin/ .

    
verilen cevap gertvdijk 14.06.2013 09:17
3

Benzer bir sorum kendim de bir yıl önce + önce: En iyi dizin bash betikleri?

Çiftçiler için sistem dizinleri

man hier (hiyerarşi) tüm dizinleri listeler. Sadece çiftler için olanları kullanmak için:

$ 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

Kendi komut dosyalarınızı nereye koyabilirsiniz?

Tüm kullanıcıların komut dosyalarınıza erişmesi için bunları /usr/local/bin koyabilirsiniz. Dosyaları buraya eklemek / değiştirmek için sudo erişimine ihtiyacınız olduğunu unutmayın. Bakınız: Özel Linux komut dosyaları yerleştirmek için standart bir yer var mı? ?

Kendi kullanıcı kimliği komut dosyalarınız için onları /home/YOUR_NAME/bin koyun. Önce bu dizini oluşturmanız ve yolu otomatik olarak ~/.profile olarak ayarlaması için terminali yeniden başlatmanız gerektiğini unutmayın. Bkz. Nasıl Yapılır? / home / username / bin ile $ PATH ekleyin ?

Bilmediğim şeyi bilmiyorum

Ask Ubuntu 'daki daha karmaşık bash betiklerimi almayı ve github ' de yükleme komut dosyaları ile bunları ayarlamayı düşünüyorum. İşte birkaç örnek:

Ben düşün komut dosyalarının $ PATH değerindeki /usr/bin 'sinde yüklü olması gerekir, ancak henüz uygun bir yerde emin değilim.

    
verilen cevap WinEunuuchs2Unix 12.06.2018 01:44

Etiketlerdeki diğer soruları oku