O zmianie katalogów słów kilka

Co można powiedzieć o zmianie katalogów w konsoli? Każdy wiele razy dziennie używa polecenia cd. Okazuje się jednak, że wszystko można zrobić lepiej.

Na skróty

Bash ma zmienną systemową CDPATH. Podobnie jak PATH zawiera ona ścieżki do katalogów. Kiedy używamy polecenia cd najpierw sprawdzane są ścieżki podane w zmiennej CDPATH. Oznacza to, że możemy „podpowiedzieć” poleceniu cd, gdzie ma szukać żądanego katalogu. Jeśli w tej zmiennej umieścimy różne katalogi na różnych poziomach, przejście do nich w konsoli okaże się niezwykle łatwe. Aby skorzystać z tego ułatwienia, należy zmienną zdefiniować w pliku ~/.bashrc. Przykład „z życia”:

export CDPATH=/home/piotr/skrypty/:/home/piotr/Projekty/:/home/piotr/Obrazy

Teraz przeniesienie się do katalogu /home/piotr/Projekty/Projekt123 wymaga wpisania jedynie

cd Projekt123

niezależnie od tego, w którym miejscu drzewa katalogów się aktualnie znajdujemy.

Mało tego – nazwy zdefiniowanych w ten sposób katalogów i ich podkatalogów są podpowiadane po przyciśnięciu klawisza tab.

Zazwyczaj jest kilka takich katalogów, do których sięgamy częściej niż do innych – Dokumenty, Obrazy, folder z projektami czy zdjęciami. Umieszczenie ścieżek do nich w zmiennej CDPATH naprawdę bardzo przyspiesza pracę.

cd i ls w jednym stali domu

Niemal po każdym poleceniu cd od razu wpisujemy ls – żeby się zorientować, czy jesteśmy we właściwym katalogu, żeby zobaczyć, czy są tam oczekiwane pliki…

Można spowodować, że bash przy każdej zmianie katalogu automatycznie wylistuje jego zawartość. Wymaga to umieszczenia w pliku ~/.bashrc następujących dwóch linii:

autols(){ cd $1; ls --color=always -lh; }
alias cd='autols'

Co to oznacza?

  • W pierwszej linii definiujemy funkcję o nazwie autols, zawierającą dwa polecenia: cd oraz ls z odpowiednimi parametrami. W tym przypadku ls będzie kolorować listing (parametr –color=always) oraz wyświetli pełną informację o plikach, a ich wielkość będzie pokazana jako kilobajty lub gigabajty (parametr -lh)
  • Następnie, w drugiej linii, definiujemy alias, przypisujący do polecenia cd wyżej zdefiniowaną funkcję.

Teraz przy każdej zmianie katalogu od razu dostaniemy listę jego zawartości. Modyfikując parametry polecenia ls można dopasować format tej listy do własnych potrzeb.

Opisane wyżej sposoby korzystania z polecenia cd potrafią bardzo ułatwić życie i przyspieszyć pracę w bashu. Mam nadzieję, że się przydadzą.

2 komentarze
  1. Żeby zadziałało polecenie:

    cd skrypty

    zmienna CDPATH musi być ustawiona na:

    CDPATH=/home/piotr

Komentarze są wyłączone.

Poprzedni post

Mint 20.2 Beta do pobrania

Następny post

Slimbook Executive – wydajny laptop z Hiszpanii z Linuksem

Powiązane posty