Niektóre polecenia Linuksa są tak znajome, że nawet nie zauważamy, że ich używamy. Polecenie cd do zmiany katalogów jest jednym z nich. Jest kilka sztuczek, które mogą pomóc ci stać się bardziej wydajnym przy pracy z cd – albo możesz całkowicie z tego zrezygnować.
Polecenie, o którym rzadko myślisz
Mrugasz przez cały dzień, każdego dnia, ale przez większość czasu nie jesteś tego świadomy. Jeśli coś nie wpadnie ci w oko, rzadko myślisz o tym małym, regularnym ruchu. Niektóre polecenia Linuksa są takie. Unoszą się na obrzeżach twojej świadomości. Nawet jeśli używasz ich codziennie, nie przyciągają Twojej uwagi, ponieważ są tak małe i proste.
W ciągu pierwszej godziny korzystania z komputera z systemem Linux nauczysz się używać polecenia cd dołączonego do Bash i innych powłok. Być może miałeś już doświadczenie w używaniu go w innym systemie operacyjnym i nie potrzebowałeś wyjaśnień. Zmienia bieżący katalog roboczy, prawda? Co jeszcze warto wiedzieć?
Cóż, więcej niż myślisz. Oto kilka wskazówek i wskazówek, które mogą poprawić Twoją wydajność.
Standardowe operacje na płytach CD
Aby być kompletnym, przejrzyjmy szybko standardowe zastosowania cd.
Jeśli jesteśmy w katalogu domowym, ale chcemy zmienić katalog na znajdujący się w / usr / lib / firefox / browser, a następnie wrócić do katalogu domowego, możemy użyć następujących poleceń:
cd /usr/lib/firefox/browser/
cd /home/dave
Nie musisz wpisywać całej ścieżki do katalogu; możesz użyć autouzupełniania. Dla każdej części ścieżki, po wpisaniu wystarczającej liczby liter, aby odróżnić nazwę katalogu od innych, naciśnij klawisz Tab, aby automatycznie uzupełnić nazwę katalogu.
Na przykład wpisz następujące polecenie w wierszu poleceń:
cd /usr/lib/fire
Teraz naciśnij Tab, a powłoka wypełni resztę katalogu „firefox”. Jeśli dodasz „/ b” do ścieżki i ponownie naciśniesz Tab, doda on katalog „przeglądarki” do polecenia.
Powłoka dodaje na końcu ukośnik, dzięki czemu można powtórzyć proces uzupełniania tabulatorami. Dlatego też przy pierwszym poleceniu znajduje się końcowy ukośnik. Nie ma jednego na drugim, ponieważ ten został wpisany.
Możesz użyć tyldy (~) jako skróconego sposobu szybkiego powrotu do katalogu domowego z dowolnego miejsca w systemie plików; po prostu wpisz:
cd ~
Są to przykłady ścieżek bezwzględnych, w których podaje się pełną ścieżkę od katalogu głównego systemu plików do katalogu docelowego do cd.
Względne ścieżki są przywoływane z bieżącego katalogu roboczego. W katalogu domowym znajduje się katalog o nazwie praca. Możesz użyć polecenia drzewa, aby zobacz drzewo katalogów wewnątrz katalogu roboczego – po prostu wpisz:
tree
Katalog roboczy zawiera katalog o nazwie dev. W głównym katalogu systemu plików znajduje się również katalog o nazwie dev. Możesz użyć ls z -d (katalog), aby przyjrzeć się każdemu z nich. Opcja -hl (czytelna dla człowieka, długa lista) mówi ls, aby używał łatwych do odczytania jednostek do określania rozmiarów katalogów i listingu w długim formacie.
Jeśli wpiszesz dev, powłoka przyjmie, że masz na myśli „dev” w bieżącym katalogu. Aby zmusić go do spojrzenia na „dev” w katalogu głównym, po prostu dodaj poprzedzający ukośnik reprezentujący katalog główny systemu plików, jak pokazano poniżej:
ls -d dev -hl
ls -d /dev -hl
Polecenie cd zachowuje się pod tym względem jak ls. Jeśli odwołujesz się do katalogu jako dev, jak pokazano poniżej, zakłada się, że masz na myśli katalog w katalogu roboczym:
cd dev
Bez początkowego 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 za pomocą podwójnej kropki
Identyfikator z podwójną kropką reprezentuje katalog nadrzędny obecnie działającego. Jeśli jesteś w głęboko zagnieżdżonym podkatalogu, możesz użyć .. z cd, aby przejść do katalogu nadrzędnego tego, w którym się znajdujesz.
Spowoduje to przeniesienie w górę o dwa katalogi w drzewie katalogów. Jeśli dodasz więcej … do polecenia, pozwoli ci to na przeniesienie dowolnej liczby poziomów w górę drzewa katalogów.
Wpisz następujące informacje:
cd ..
cd ../..
Możesz także utworzyć zestaw aliasów, aby wykonać te manewry za Ciebie, wpisując:
alias .2="cd ../.."
alias .3="cd ../../.."
Możesz ich używać w taki sam sposób, jak samych poleceń.
Aby aliasy były spójne podczas restartów komputera, musisz dodać je do pliku .bashrc lub .bash_aliases.
Łatwo przeskakuj między dwoma katalogami
Myślnik (-) to kolejny symbol, który ma specjalną funkcję. Zmienia katalog z powrotem na ten, z którego właśnie przyszedłeś.
W tym przykładzie powiedzmy, że znajdujesz się w katalogu „c”. Możesz użyć cd, aby przejść do katalogu „do przodu”. Następnie możesz użyć cd – do przeskakiwania między dwoma katalogami.
Aby to zrobić, wpisz:
cd ../forth
Płyta CD –
Płyta CD –
Nazwa katalogu, do którego się przenosisz, pojawi się, zanim się do niego przejdziesz.
Inny rodzaj krewnych
Powłoka używa bieżącego katalogu roboczego jako katalogu głównego lub katalogu podstawowego dla ścieżek względnych. Możesz użyć zmiennej środowiskowej CDPATH, aby ustawić inną lokalizację jako katalog podstawowy dla ścieżek względnych. Jeśli spędzasz większość czasu w określonej sekcji drzewa systemu plików, możesz zaoszczędzić wiele naciśnięć klawiszy (i czasu) każdego dnia.
Wpiszmy co następuje, aby work / dev / projects był katalogiem podstawowym dla ścieżek względnych:
export CDPATH=/home/dave/work/dev/projects
Teraz za każdym razem, gdy używasz polecenia dc, lokalizacja w zmiennej środowiskowej CDPATH jest najpierw sprawdzana pod kątem pasujących nazw katalogów. Jeśli którykolwiek z nich pasuje do celu podanego w poleceniu cd, zostaniesz przeniesiony do tego katalogu.
Teraz, niezależnie od tego, gdzie jesteś w systemie plików, kiedy używasz polecenia cd, powłoka sprawdza, czy katalog docelowy znajduje się w katalogu podstawowym. Jeśli tak, zostaniesz przeniesiony do tego katalogu docelowego.
Jeśli katalog docelowy zaczyna się od wiodącego ukośnika (/), co oznacza, że jest to ścieżka bezwzględna, zmienna środowiskowa CDPATH nie będzie miała na niego wpływu.
Aby to zademonstrować, wpisujemy:
cd c
cd prolog
cd /usr
cd forth
Zmienna środowiskowa CDPATH jest naprawdę ścieżką, podobnie jak zmienna środowiskowa PATH. Po wpisaniu polecenia powłoka przeszukuje lokalizacje w PATH w celu znalezienia dopasowania. Gdy używasz CDPATH, powłoka przeszukuje lokalizacje w zmiennej środowiskowej CDPATH pod kątem dopasowania. Podobnie jak PATH, CDPATH może zawierać wiele lokalizacji.
Aby powłoka przeszukała bieżący katalog przed innymi lokalizacjami w zmiennej środowiskowej CDPATH, wystarczy dodać kropkę (.) Na początku ścieżki w następujący sposób:
export CDPATH=.:/home/dave/work/dev/projects
Aby uczynić swoje ustawienia stałymi, musisz dodać je do pliku konfiguracyjnego, takiego jak .bashrc.
Należy pamiętać o jednej rzeczy: jeśli ustawisz katalog podstawowy, wpłynie to również na zmiany katalogu wykonywane w skryptach. Aby tego uniknąć, możesz użyć bezwzględnych ścieżek w swoich skryptach lub testu w pliku .bashrc podczas określania ścieżki CDPATH, jak pokazano poniżej:
if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi
Spowoduje to wykonanie testu, aby sprawdzić, czy zmienna wiersza polecenia $ PS1 została ustawiona. Zmienna środowiskowa CDPATH zostanie ustawiona tylko wtedy, gdy test zakończy się pomyślnie.
Używanie shopt z cd
Dzięki polecenie shopt, możesz ustawić określone opcje powłoki. Niektóre z nich mogą usprawnić korzystanie z płyt CD. Aby je ustawić, użyj opcji -s (enable) z shopt, aby przekazać do niego nazwę opcji.
Opcja cdspell sprawdza nazwy katalogów i poprawia niektóre typowe błędy pisarskie, w tym transponowane lub brakujące znaki lub nazwy zawierające zbyt wiele znaków. Jeśli znajdzie katalog, który pasuje do którejkolwiek z poprawek, wypisywana jest poprawiona ścieżka i wykonywana jest akcja cd.
Jako przykład wpisujemy następujące polecenie, aby ustawić opcję cdspell i błędnie napisać „Desktop”, aby sprawdzić, czy powłoka poprawi to za nas:
shopt -s cdspell
cd Desktpo
Powłoka wychwyciła błąd, poprawiła go i przeszła do katalogu „Desktop”.
Inną opcją shopt, której możesz użyć z cd, jest autocd. Eliminuje w ogóle potrzebę wpisywania cd. Wszystko, co wpiszesz, a nie jest poleceniem, skryptem ani innym plikiem wykonywalnym (takim jak alias), jest używane jako katalog docelowy. Jeśli możesz przenieść się do tego katalogu, zostanie to wydrukowane w oknie terminala i zostaniesz przeniesiony do tego katalogu.
Jako przykład wpisujemy:
shopt -s autocd
/usr/local/games
/etc
~
Widzieć! Możesz przeskakiwać po całym systemie plików, nawet nie używając cd!
Ustawienia zmieniane za pomocą shopt dotyczą tylko powłok interaktywnych, a nie skryptów.
Kolekcja CD
Prawdopodobnie nie zaadoptujesz ich wszystkich. Jednak prawdopodobnie znalazłeś tutaj coś interesującego lub korzystnego. W końcu wszystko, co przyspiesza lub upraszcza nawigację w wierszu poleceń, jest dobre!