Jak korzystać z polecenia cd w systemie Linux

Photo of author

By maciekx

Niektóre polecenia w systemie Linux są na tyle powszechne, że często nie dostrzegamy ich użycia. Jednym z takich poleceń jest cd, które służy do zmiany katalogów. Istnieje kilka trików, które mogą zwiększyć Twoją efektywność w korzystaniu z cd, a nawet możesz z niego całkowicie zrezygnować.

Niezauważane polecenie

W ciągu dnia wykonujesz wiele czynności, z których nie zawsze zdajesz sobie sprawę. Ruchy, które wykonujesz automatycznie, często umykają Twojej uwadze. Tak samo jest z niektórymi poleceniami Linuksa, które są na tyle proste, że stają się częścią Twojego codziennego użytku, nie przyciągając Twojej uwagi.

Już po pierwszej godzinie pracy z systemem Linux zazwyczaj poznajesz polecenie cd, które jest integralną częścią powłoki Bash i innych powłok. Być może znasz je z innego systemu operacyjnego i nie potrzebujesz dodatkowych wyjaśnień. W końcu zmienia ono bieżący katalog roboczy – ale co jeszcze warto wiedzieć?

Otóż, jest wiele przydatnych informacji. Oto kilka wskazówek, które mogą znacząco poprawić Twoją wydajność.

Podstawowe operacje z cd

Aby mieć pełen obraz, przyjrzyjmy się podstawowym zastosowaniom polecenia cd.

Jeżeli znajdujesz się w swoim katalogu domowym i chcesz przejść do katalogu /usr/lib/firefox/browser, a następnie wrócić do katalogu domowego, możesz użyć następujących poleceń:

cd /usr/lib/firefox/browser/
cd /home/dave

Nie musisz wpisywać pełnej ścieżki do katalogu; możesz skorzystać z autouzupełniania. Wystarczy, że wpiszesz tyle liter, by odróżnić nazwę katalogu od innych, a następnie naciśniesz klawisz Tab, aby automatycznie dokończyć nazwę katalogu.

Na przykład, wpisz:

cd /usr/lib/fire

Następnie naciśnij Tab, a powłoka uzupełni resztę do „firefox”. Dodając „/b” i ponownie naciskając Tab, powłoka doda katalog „browser” do polecenia.

Powłoka dodaje ukośnik na końcu, co pozwala na dalsze wykorzystanie autouzupełniania. Dlatego przy pierwszym poleceniu znajduje się ukośnik, podczas gdy w drugim nie jest on dodawany automatycznie.

Możesz również użyć znaku tyldy (~) jako skrótu do szybkiego powrotu do katalogu domowego z dowolnego miejsca w systemie plików, wpisując:

cd ~

W powyższych przykładach pokazano ścieżki bezwzględne, które wskazują pełną drogę od katalogu głównego do docelowego katalogu.

Ścieżki względne odnoszą się do bieżącego katalogu roboczego. Na przykład, jeśli w katalogu domowym masz folder o nazwie praca, możesz użyć polecenia tree, aby zobaczyć drzewo katalogów w swoim katalogu roboczym, wpisując:

tree

Jeśli w Twoim katalogu roboczym znajduje się folder o nazwie dev, a także w głównym katalogu systemu plików, możesz użyć polecenia ls z opcją -d, aby zobaczyć oba z nich. Opcje -hl (czytelny dla człowieka, długi format) sprawiają, że ls wyświetla rozmiary katalogów w bardziej przystępny sposób.

Jeżeli wpiszesz dev, powłoka założy, że chodzi o katalog w bieżącym katalogu. Aby zasięgnąć informacji o „dev” w katalogu głównym, wystarczy dodać ukośnik na początku, jak pokazano poniżej:

ls -d dev -hl
ls -d /dev -hl

Polecenie cd działa podobnie jak ls. Jeśli odnosisz się do katalogu jako dev, powłoka zinterpretuje to jako katalog w bieżącym katalogu roboczym:

cd dev

Bez wiodącego ukośnika zakłada się, że dłuższe ścieżki również zaczynają się od bieżącego katalogu roboczego, jak pokazano poniżej:

cd dev/mobile/android

Zmiana katalogu z użyciem dwóch kropek

Podwójna kropka oznacza katalog nadrzędny obecnego katalogu. Jeśli jesteś w głęboko zagnieżdżonym podkatalogu, możesz użyć .. w poleceniu cd, aby przejść do katalogu wyżej.

Możesz przemieszczać się coraz wyżej w strukturze katalogów, dodając więcej kropek. Wpisz następujące polecenia:

cd ..
cd ../..

Możesz również stworzyć zestaw aliasów, które wykonają te polecenia za Ciebie, wpisując:

alias .2="cd ../.."
alias .3="cd ../../.."

Możesz ich używać w ten sam sposób, jak standardowych poleceń.

Aby aliasy były dostępne po restarcie komputera, musisz dodać je do pliku .bashrc lub .bash_aliases.

Szybkie przełączanie między dwoma katalogami

Myślnik (-) to kolejny znak, który ma szczególne znaczenie. Umożliwia on powrót do katalogu, z którego ostatnio przyszedłeś.

Na przykład, jeżeli jesteś w katalogu „c”, możesz przejść do katalogu „do przodu”, a następnie użyć cd -, aby przeskoczyć z powrotem.

Aby to zrobić, wpisz:

cd ../forth
cd -

Nazwa katalogu, do którego się przenosisz, zostanie wyświetlona, zanim tam dotrzesz.

Inne przydatne zmienne

Powłoka traktuje bieżący katalog roboczy jako główny dla wszystkich ścieżek względnych. Możesz użyć zmiennej środowiskowej CDPATH, aby ustawić inny katalog jako bazowy dla ścieżek względnych. Jeśli spędzasz dużo czasu w określonym obszarze drzewa systemu plików, zaoszczędzisz wiele kliknięć (i czasu) każdego dnia.

Aby ustawić work/dev/projects jako katalog podstawowy dla ścieżek względnych, użyj:

export CDPATH=/home/dave/work/dev/projects

Od teraz, gdy użyjesz polecenia cd, powłoka najpierw sprawdzi, czy pasujące katalogi znajdują się w lokalizacji zdefiniowanej w CDPATH. Jeśli znajdzie dopasowanie, automatycznie przeniesiesz się do tego katalogu.

Jeśli katalog docelowy zaczyna się od ukośnika (/), co wskazuje, że jest to ścieżka bezwzględna, zmienna CDPATH nie będzie miała zastosowania.

Aby to zobrazować, wpisujemy:

cd c
cd prolog
cd /usr
cd forth

Zmienna środowiskowa CDPATH działa jak zmienna PATH. Po wpisaniu polecenia powłoka przeszukuje lokalizacje w PATH w celu znalezienia pasujących katalogów. Używając CDPATH, powłoka sprawdza lokalizacje w tej zmiennej w poszukiwaniu pasujących katalogów. Tak jak w przypadku PATH, CDPATH może zawierać wiele lokalizacji.

Aby powłoka najpierw przeszukała bieżący katalog przed innymi lokalizacjami w CDPATH, wystarczy dodać kropkę (.) na początku ścieżki:

export CDPATH=.:/home/dave/work/dev/projects

Aby Twoje ustawienia były trwałe, dodaj je do pliku konfiguracyjnego, takiego jak .bashrc.

Pamiętaj, że ustawienie katalogu podstawowego wpłynie również na zmiany katalogów w skryptach. Aby tego uniknąć, możesz użyć bezwzględnych ścieżek w skryptach lub skonfigurować test w pliku .bashrc, jak pokazano poniżej:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

W wyniku tego testu zmienna CDPATH zostanie ustawiona tylko wtedy, gdy zmienna wiersza poleceń $PS1 jest aktywna.

Użycie shopt z cd

Dzięki poleceniu shopt można ustawić różne opcje powłoki. Niektóre z nich ułatwiają korzystanie z polecenia cd. Aby je aktywować, użyj opcji -s (enable) z shopt, podając nazwę opcji.

Opcja cdspell sprawdza nazwy katalogów i poprawia typowe błędy pisarskie, takie jak transpozycje lub brakujące znaki. Jeżeli znajdzie pasujący katalog, wyświetli poprawioną ścieżkę i wykona polecenie cd.

Aby ustawić opcję cdspell i przetestować ją, wpisz:

shopt -s cdspell
cd Desktpo

Powłoka dostrzegła błąd, poprawiła go i przeniosła użytkownika do katalogu „Desktop”.

Inną opcją shopt, którą możesz wykorzystać z cd, jest autocd. Umożliwia ona eliminację potrzeby wpisywania cd w ogóle. Wszystko, co wpiszesz, co nie jest poleceniem, skryptem lub innym plikiem wykonywalnym (jak alias), zostanie użyte jako katalog docelowy. Jeśli masz dostęp do tego katalogu, jego nazwa pojawi się w terminalu, a Ty zostaniesz tam przeniesiony.

Aby to wypróbować, wpisz:

shopt -s autocd
/usr/local/games
/etc
~

Jak widać, możesz swobodnie poruszać się po systemie plików, nie używając polecenia cd!

Ustawienia wprowadzone za pomocą shopt dotyczą jedynie powłok interaktywnych, a nie skryptów.

Zbiór poleceń cd

Być może nie skorzystasz ze wszystkich tych trików, ale z pewnością znajdziesz coś interesującego lub użytecznego. W końcu wszystko, co usprawnia lub upraszcza nawigację w wierszu poleceń, jest na wagę złota!


newsblog.pl