Jak dodać katalog do ścieżki w Linux

Jak dodać katalog do ścieżki w Linux
Ścieżka jest predefiniowaną zmienną w skorupce Linux. Składa się z katalogów ze ścieżkami katalogu, zaczynając od korzenia. Ścieżka to lista oddzielona okrężnicy. Każdy katalog z jego ścieżką jest oddzielony od poprzedniego katalogu z jego ścieżką. Shell szuka poleceń w tych katalogach.

Polecenia to nie tylko polecenia systemu operacyjnego dysku. Ścieżka to lista katalogów, w których powłoka szuka poleceń systemu operacyjnego i innych poleceń. Polecenia są jak krótkie pliki programu. Tak więc polecenia są wykonywalnymi. Każda aplikacja zainstalowana w komputerze jest dostarczana z plikiem wykonywalnym. Aby uruchomić aplikację, plik wykonywalny jest najpierw zaangażowany. Te pliki wykonywalne są również nazywane poleceniami.

Bez zmiennej ścieżki każde polecenie byłoby dowodzone ścieżką bezwzględną, jak w,

/home/John/dir1/dir2/command.exe

gdzie pierwszy / jest głównym katalogiem; John jest katalogiem użytkowników dla użytkownika, John; DIR1 i DIR2 to podwodne; i polecenie.EXE to nazwa pliku wykonywalnego.

Dla pliku wykonywalnego jest możliwych wielu innych nazwisk. W rzeczywistości Command.exe jest symboliczny tutaj. Tak więc, jeśli katalog,/home/John/dir1/dir2 (bez pliku), jest w zmiennej ścieżki, użytkownik John, wykonuje polecenie.exe w montażu, John@host: ~ $, po prostu pisząc, polecenie.exe, bez poprzedniej ścieżki. To jest:

John@host: ~ $ Command.exe

a następnie naciśnięcie Enter.

Aby zobaczyć bieżącą listę katalogów ścieżek w komputerze, wpisz:

$ echo $ ścieżka

i naciśnij Enter na terminalu. Rezultat byłoby coś w rodzaju,

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/games:/snap/bin

Pytanie brzmi teraz: w jaki sposób katalog (i jego poprzednia ścieżka) dodano do zmiennej ścieżki? W przypadku niektórych instalacji katalog jest dodawany automatycznie. W przypadku innych należy go dodać ręcznie. W tym artykule wyjaśniono dwa główne sposoby, w których dodano katalog. Katalog nie jest dodawany (wliczony), ponieważ byłby to zrobiony do tablicy. Dwa główne sposoby są określane jako tymczasowe dodanie i stałe dodanie. Bash to powłoka używana do przykładów kodu w tym artykule.

Treść artykułu

  • Wprowadzenie - patrz wyżej
  • Tymczasowe dodanie
  • Stały dodatek
  • Wniosek

Tymczasowe dodanie

Tymczasowe dodanie oznacza, że ​​dodatek ma miejsce tylko w pamięci. Nie jest zapisywany do użytku po ponownym uruchomieniu komputera.

Wbudowane pole eksportu Bourne Shell

Mówiąc prosto, polecenie eksportu to:

$ eksport [nazwa [= wartość]]

W takim przypadku ponownie przypisuje wartość zmiennej w pamięci.

Zmienna ścieżki w pamięci może już mieć wartość jak,

Ścieżka =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/games:/snap/bin

Załóżmy, że dodanie katalogu jest/Home/John/Dir1/Dir2. Jeśli polecenie eksportu jest wpisane jako,

$ Export Path =/Home/John/Dir1/Dir2

wtedy/home/john/dir1/dir2 zastąpiłby wszystko, co jest już w pamięci jako wartość dla zmiennej ścieżki.

Jeśli polecenie eksportu jest wpisane jako,

$ Export Path = $ ścieżka:/home/John/dir1/dir2

Następnie/Home/John/Dir1/Dir2 przywiązałby się na końcu tego, co jest już w zmiennej. Tak więc nową zmienną byłoby:

Ścieżka =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/games:/snap/bin://bin:/ Strona główna/John/Dir1/Dir2

Zauważ, że w poprzednim wierszu kodu powyższa część wartości, która tam jest, jest oddzielona od nowej części z okrężnicą, która jest „:”. $ Ścieżka w wierszu kodu, rozszerza (jest zastąpiona) wartością ścieżki już w pamięci.

Teraz to samo polecenie może znajdować się w więcej niż jednym katalogu. Gdy polecenie wykonywalne jest wpisane bez poprzedniej ścieżki na podpowiedzi, powłoka zaczyna przeszukiwać wartość (ciąg) zmiennej ścieżki w pamięci, od lewej do prawej. Tak więc, z powyższą linią kodu,/Home/John/Dir1/Dir2 przybyłby w końcu, w poszukiwaniu. Kto chce, aby jego katalog przybył ostatni? - Nikt. Zatem lepszy sposób włączenia (dodania) katalogu jest następujący:

$ Export Path =/Home/John/Dir1/Dir2: $ ścieżka

/Home/John/Dir1/Dir2 jest teraz na początku, oddzielony od następnego katalogu, z okrężnicą. Tak więc z monitem „John@host: ~ $”,

John@host: ~ $ eksport ścieżka =/home/John/dir1/dir2: $ ścieżka

Po wpisaniu i naciśnięciu Enter, polecenie, polecenie.exe w katalogu, Dir2, zostanie wykonany z:

John@host: ~ $ Command.exe

Dopóki komputer nie zostanie wyłączony, użytkownik będzie nadal wykonywał polecenie.exe bez pisania poprzedniej ścieżki.

Po zamknięciu komputera wszystko w pamięci o dostępie losowej jest wymazane. Zła wiadomość jest taka, że ​​użytkownik komputera będzie musiał powtórzyć ten proces dodawania swojego katalogu do zmiennej ścieżki za każdym razem, gdy komputer zostanie ponownie uruchomiony. Nikt nie chce tego robić dzisiaj. Tak więc stałe podejście do dodawania jest zalecanym podejściem. Oznacza to, że dodatek do ścieżki musi zostać zapisany (na dysku twardym).

Stały dodatek

Z powyższej dyskusji pomysł polega na zapisaniu dokonanej zmiany (na dysku twardym). Tak więc, jeśli zmiana zostanie zapisana w pliku, który powłoka odczytuje za każdym razem, gdy komputerowy byłoby w porządku. To znaczy, za każdym razem, gdy komputerowe buty zmienna ścieżki w pamięci będzie odpowiednio zaktualizowana. Kiedy komputer zaczyna się, przy uruchamianiu, odczytuje niektóre pliki. Jednym z plików, którą powłoka Bash dla Linux odczytów to: ~/.Bashrc . Nazwa pliku to .Bashrc , Począwszy od kropki. Jest w katalogu użytkownika.

Bash to tylko jedna skorupa, prawdopodobnie najpopularniejsza skorupa dla Linuksa, dzisiaj. Kolejną skorupą dla Linuksa jest Zsh. Z ZSH odpowiedni plik to ~/.Zshrc, Wciąż w katalogu użytkownika. Kiedy powłoka zaczyna się przy uruchomieniu, odczytuje ten plik. W przypadku bash plik jest, ~/.Bashrc . Tak więc, jeśli powyższy kod dodawania jest wpisany do ~/.plik bashrc, katalog zawsze będzie w pamięci, jako ~/.Bashrc zawsze będzie go zawierać na ścieżce, za każdym razem, gdy buty komputerowe. Pozostaje w pamięci, dopóki komputer się nie zamknie.

W Bash, ~/.Bashrc to ukryty plik, więc zwykłe użycie polecenia, LS nie wyświetli tego. ~/.bashrc zawiera pewne polecenia bash (shell). Ubuntu to wariant Linuksa. Ubuntu jest wyposażony w edytor tekstu. W komputerze autora tło edytora tekstu Ubuntu jest czarne.

Do ~//.plik bashrc. Dobrze jest dodać go na końcu pliku, aby nie temperować za pomocą dostępnej treści, która prawdopodobnie działa dobrze.

Otworzyć ~/.bashrc w Ubuntu, wpisz następujące wiersz polecenia na terminalu i naciśnij ENTER:

$ nano ~/.Bashrc

Gdzie nano jest edytorem tekstu. Tutaj Nano jest poleceniem (wykonywającym), którego argumentem jest: ~/.Bashrc . Treść pliku powinna otwierać w edytorze tekstu, aby nakładać okno terminala.

~/.plik bashrc zostanie otwarty w edytorze tekstu, prawdopodobnie z czarnym tłem. Kursor będzie migał w lewym górnym rogu.

Naciśnij klawisz w dół na klawiaturze ciągle, aż kursor dotrze do końca pliku. Dodaj nową linię,

$ Export Path =/Home/John/Dir1/Dir2: $ ścieżka

To nie wszystko. Zmiana na ~/.plik bashrc nie został zapisany. Aby zapisać plik za pomocą dokonanej zmiany, naciśnij Ctrl+O i postępuj zgodnie z innymi pojawiającymi się instrukcjami. Aby wyjść z edytora tekstu, naciśnij Ctrl+X, a normalne okno terminalu powinno zastąpić okno edytora tekstu. Następnie można wydać inne polecenia powłoki.

Jeśli zostanie wydane „echo $ ścieżka”, nowy katalog nie będzie widoczny na wyświetlaczu. Istnieją dwa sposoby kontynuowania stąd: albo ponownie uruchom komputer, albo uzyskaj nową zawartość ~/.plik bashrc do pamięci z poleceniem źródłowym. Używanie polecenia źródłowego jest proste w następujący sposób:

$ źródło ~/.Bashrc

Jeśli polecenie źródłowe zostanie wydane bez ponownego uruchomienia, „Echo $ ścieżka” pokaże nowy katalog dodany w wyniku (wyświetlacz). Dowództwo zainteresowania można następnie wpisać bez poprzedniej ścieżki.

Notatka: Nie myl między końcem wartości ścieżki (listy) a końcem ~//.plik bashrc. Nie myl również między katalogiem na ścieżce w pamięci a plikiem wykonywalnym w katalogu na dysku twardym.

Wniosek

Ścieżka to wbudowana zmienna w Shells Linux. Wartość ścieżki to lista katalrów oddzielonych przez kolony. Dla każdego z tych katalogów istnieje polecenie (plik wykonywalny). Jeśli polecenie zostanie wydane w sprzedaży bez poprzedzania go ścieżką, skorupa przyjrzy się tych katalogach dla polecenia. Jeśli nie zobaczy polecenia w żadnym z katalogów, polecenie nie zostanie wykonane. W takim przypadku, aby wykonać polecenie, polecenie musi być poprzedzone jego ścieżką. Polecenie może znajdować się w więcej niż jednym katalogu w wartości ścieżki. Gdy tylko powłoka zobaczy pierwszy katalog mający polecenie, wykonuje polecenie. Wartość ścieżki jest w rzeczywistości ciągiem składającym się z katalogów oddzielonych kolonami.

Problem polega na dodaniu katalogu do wykonywania nowej aplikacji do ścieżki. W niektórych przypadkach odbywa się to automatycznie przez program instalacyjny nowej aplikacji. W innych przypadkach należy to zrobić ręcznie. Istnieją dwa sposoby robienia tego ręcznego, określane jako: tymczasowe dodanie i stałe dodanie. Tymczasowy dodatek używa polecenia eksportu i po prostu dodaje katalog, gdy komputer jest włączony. Stały dodatek musi zapisać wiersz polecenia eksportu do ~//.plik inicjalizacji bashrc (BASH) do przyszłych operacji.