Niezwykle przydatna wskazówka, jeśli używasz terminala (Unite Command CD z LS ... i wiele więcej)

Należę do tych, którzy spędzają dużo czasu terminal (konsola, bash, powłoka, jakkolwiek chcesz to nazwać), z powodów X lub Y muszę ciągle zmieniać katalogi, pracując nad tym 

W zdecydowanej większości przypadków zmiana katalogu (Na przykład: cd / opt /), a także chcę wiedzieć, co jest w tym katalogu, aby wiedzieć, że używam sekundy ls.

To znaczy, wyglądałoby tak:

kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nessus

Mówiłem to wiele razy… Jestem dość leniwy, lubię robić jak najmniej kroków końcowych, dlatego po wielu eksperymentach osiągnąłem to, co chciałem.

Zobacz poniżej, który jest niczym więcej, jak tylko ja wchodzę /optować/ za pomocą prostego polecenia cd / opt /:

Jak widać, w jednym kroku (cd / opt /) Wchodzę do katalogu i RÓWNIEŻ wyświetla się zawartość tego katalogu, a... jakby tego było mało, pokazuje mi to kolorami 

Oto przykład mojego dostępu /itp/ z cd / etc/:


Kolory są łatwe do zrozumienia:

Bez koloru = Pliki
Kolor niebieski = Foldery
Kolor zielony = Pliki z uprawnieniami do wykonywania

Ale przejdźmy do głównego ... Jak, u licha, mogę również użyć po prostu cd, aby automatycznie wyświetlić katalog, do którego mam dostęp?

Nasze archiwum .bashrc (znajduje się w naszym katalogu domowym lub osobistym) pomoże nam to zrobić, musimy najpierw zadeklarować funkcję, którą będziemy wywoływać CDLS:

cdls funkcji {cd "$ 1"; ls –kolor;}

Umieściliśmy tę linię po obu stronach naszego .bashrc ... oto polecenie, aby to zrobić:

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc

NIE musisz koniecznie tego robić za pomocą tego polecenia, celem jest, aby plik .bashrc zawiera tę linię, więc po prostu edytuj ten plik w preferowanym edytorze tekstu (podkładka pod mysz, kate, gedit, nano, vi itp) i dodaj go.
Zapisują zmianę, zamykają otwarty terminal i otwierają nowy.

W nim napiszemy co następuje i wciśniemy [Wchodzić]:

cdls $HOME

To powinno wystarczyć, aby uzyskać dostęp do naszego osobistego folderu w tym terminalu, a także wyświetli jego zawartość (z kolorami i wszystkim).

Mam na myśli co CDLS już robi to, co chcemy ... teraz możemy osiągnąć to samo, ale za pomocą cd

W tym celu dodajemy plik .bashrc następujący wiersz:

alias cd='cdls'

To się stanie, gdy napiszemy cd … Akcja, którą zdefiniujemy, zostanie faktycznie wykonana CDLS

Zostawiam polecenie, które automatycznie umieści tę poprzednią linię:

echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc

Ale tak jak powiedziałem wcześniej, celem jest dodanie tej drugiej linii do tego samego pliku, możesz użyć do tego dowolnego edytora tekstu.

Po wykonaniu tej czynności zamknij terminal i otwórz nowy ... w nim napisz i naciśnij [Wchodzić]:

cd /etc/

I bingo, wejdą / Etc/ i zawartość tego folderu również zostanie wyświetlona w kolorach  (tak jak na poprzednim zdjęciu)

Do czego to się przydaje? 

Dla ciekawskich, kto się zastanawia, co oznacza ta funkcja? … Pozostawiam proste wyjaśnienie:

cdls funkcji = Tutaj definiujemy, że tworzymy nową funkcję, która będzie się nazywać cdls
cd „$ 1” = A to, co zrobi ta funkcja (zrobi za każdym razem, gdy ją wywołasz, użyjemy lub wykonamy), to wykonanie cd (enter) w kierunku pierwszego parametru, to znaczy ... - »« cd / home / »,« $ 1 »oznacza„ co piszemy po cd ”, w tym przykładzie pierwszym parametrem jest„ / home / ”.
; = Oznacza to, że to zlecenie kończy się w tym miejscu lub akcja do wykonania ... ale funkcja może mieć więcej akcji do wykonania, a teraz zdefiniujemy drugą.
ls –kolor; = Oznacza to, że poza jakąkolwiek zadeklarowaną wcześniej akcją, utworzy również "ls" tam, gdzie się znajdujemy, a "ls" zrobi to z kolorem (–kolor).

Ostatnia sprawa ... najmądrzejsi zdadzą sobie sprawę, że ta logika (przyjmowanie funkcji i konfigurowanie jej do wykonywania kilku akcji) ma duży, duży potencjał, na przykład ... jeśli chcę wejść do folderu i również usunąć inny, to znaczy chcę wejść do /Dom/ a także usunąć / opt / temp / funkcja do tego byłaby:

function asdasd { cd "$1"; rm -Rv "$2"; }

I wpisując terminal asdasd / home / / opt / test / tak, ponieważ wejdzie w pierwszy parametr (/Dom/) i usuń drugą (/ opt / temp /).

W każdym razie, to naprawdę ma DUŻO potencjału hehe, to od Ciebie zależy, czy wykorzystasz go tak bardzo, jak tylko możesz.

Jeśli masz jakieś wątpliwości, pytania, skargi lub sugestie, chętnie Ci pomogę, nawet w najmniejszym stopniu nie jestem ekspertem, ale przynajmniej lubię pomagać 

pozdrowienia