Mam sześć katalogów z plikami poleceń. Są to /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
i /usr/local/sbin
.
Jakie są między nimi różnice? Jeśli piszę własne skrypty, gdzie mam je dodać?
Związane z:
Mam sześć katalogów z plikami poleceń. Są to /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
i /usr/local/sbin
.
Jakie są między nimi różnice? Jeśli piszę własne skrypty, gdzie mam je dodać?
Związane z:
Odpowiedzi:
W tym celu zapoznaj się z Standardem hierarchii systemu plików (FHS) dla systemu Linux .
/bin
: W przypadku plików binarnych używanych przed/usr
zamontowaniem partycji. Jest to używane w przypadku trywialnych plików binarnych używanych na bardzo wczesnym etapie uruchamiania lub takich, które muszą być dostępne w trybie uruchamiania dla jednego użytkownika. Pomyśl o plikach binarnych, takich jakcat
,ls
itp/sbin
: Tak samo, ale w przypadku plików binarnych z uprawnieniami administratora (root) ./usr/bin
: Taki sam jak pierwszy, ale dla ogólnych plików binarnych całego systemu ./usr/sbin
: Tak samo jak powyżej, ale w przypadku plików binarnych z uprawnieniami administratora (root).Żadne z powyższych. Powinieneś używać
/usr/local/bin
lub/usr/local/sbin
do skryptów dostępnych w całym systemie.local
Ścieżka oznacza, że nie jest zarządzany przez pakietów systemowych (jest to błąd pakietów Debian / Ubuntu).W przypadku skryptów o zasięgu użytkownika użyj
~/bin
(osobistego folderu bin w katalogu domowym).FHS mówi o
/usr/local
:źródło
/bin
powoduje jakieś problemy? Przesunąłem swoje skrypty zgodnie z twoją odpowiedzią, ale nadal jestem ciekawySeverity:Serious Certainty:Certain
ls -la
nic nie pokazujeJuż rok temu miałem podobne pytanie: najlepszy katalog do umieszczenia moich skryptów bash?
Katalogi systemowe dla plików binarnych
man hier
(hierarchia) zawiera listę wszystkich katalogów. Aby uzyskać te tylko dla plików binarnych, użyj:Gdzie umieścić własne skrypty?
Aby wszyscy użytkownicy mieli dostęp do twoich skryptów, możesz je umieścić
/usr/local/bin
. Pamiętaj, że potrzebujeszsudo
dostępu do dodawania / zmiany plików tutaj. Zobacz: Czy istnieje standardowe miejsce do umieszczania niestandardowych skryptów systemu Linux?Wstaw własne skrypty identyfikatora użytkownika
/home/YOUR_NAME/bin
. Pamiętaj, że musisz najpierw utworzyć ten katalog i ponownie uruchomić terminal, aby automatycznie skonfigurować ścieżkę~/.profile
. Zobacz: Jak dodać / home / username / bin do $ PATH?Co wiem, nie wiem
Zastanawiam się nad pobraniem niektórych bardziej złożonych skryptów bash w Ask Ubuntu i skonfigurowaniem ich przy użyciu skryptów instalacyjnych
github
. Oto kilka przykładów:Myślę, że skrypty powinny zostać zainstalowane, w
/usr/bin
których znajduje się $ PATH, ale nie jestem jeszcze pewien, jakie jest właściwe miejsce.źródło
man hier
sekcja, której odpowiedź gertvdijk nie dotyczyła. tzn. możesz uzyskać hierarchiczną strukturę katalogu w wierszu poleceń bez konieczności uciekania się do czytania go w Internecie (tj. tutaj).man hier
jest niewystarczającym informacyjnie fragmentem IMO). Może to być jednak moja osobista opinia./usr/X11R6/bin
i/usr/local/bin
który jest zawarty wman heir
./usr/local/bin
skoro nie jesteś menedżerem pakietów?