Naucz się podstaw powłoki ZSH

Naucz się podstaw powłoki ZSH

Cel

Zainstaluj ZSH z OH My ZSH i poznaj podstawowe funkcje.

Rozkłady

Zsh jest dostępny w repozytoriach prawie każdej dystrybucji.

Wymagania

Working Linux instaluj z uprawnieniami root.

Trudność

Łatwy

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wstęp

Bash nie jest zły. Wykonuje to zadanie, ale czy kiedykolwiek zastanawiałeś się, jak by to było, gdyby Bash miał dodatkowe funkcje? To jest mniej lub mniej, czym jest ZSH.

Zawiera wszystkie funkcje, których można się spodziewać po Bash, ale ma też kilka naprawdę fajnych dodatków, aby ułatwić twoje życie. Właściwie będziesz zaskoczony, o ile łatwiej będzie działać w wierszu poleceń.

Zainstaluj Zsh

Najpierw będziesz musiał zainstalować Zsh. Jest niezwykle popularny, więc nie będziesz miał problemu ze znalezieniem tego w repozytoriach dystrybucji.

Ubuntu/Debian

$ sudo apt instal zsh

Fedora

# dnf -y instaluj zsh

Centos

# Yum -y instaluj Zsh

OpenSuse

# Zypper w Zsh

Arch Linux

# Pacman -s Zsh

Gentoo

# Emerge -Zaskakuj Zsh

Prawdopodobnie masz pomysł. Możliwe jest użycie ZSH, wpisując go jako polecenie w Bash. Ten konkretny terminal tymczasowo przejdzie na ZSH. Najlepiej jest jednak po prostu zmieniać się na stałe. Nic cię to nie kosztuje i możesz zrobić wszystko, co normalnie zrobiłbyś dokładnie w ten sam sposób. Ponadto możesz cofnąć się dokładnie w ten sam sposób, jeśli naprawdę chcesz.

$ chsh -s /bin /zsh

Możesz chcieć ponownie login lub zamknąć wszystkie swoje terminale, aby zmiana weszła.



Zainstaluj OH-MY-ZSH

Teraz, gdy masz zainstalowany i włączony ZSH jako domyślną powłokę, * bardzo * dobry pomysł, aby odebrać dodatek do ZSH, o nazwie OH-MY-ZSH. To pakiet motywu i wtyczek, który poprawia istniejącą funkcjonalność ZSH. Nie spowolni go ani nie przeszkadza, więc weź to i zainstaluj.

$ sh -c "$ (curl -fssl https: // raw.Githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/instaluj.cii)"

Jeśli chcesz przeczytać o tym więcej przed zainstalowaniem, sprawdź projekt https: // github.com/Robbyrussell/oh-my-zsh.

Plik konfiguracyjny

Tak jak Bash .Bashrc, Zsh ma .Zshrc. Jest to pojedynczy plik, który zawiera opcje konfiguracji dla powłoki i możesz go użyć do ustawiania aliasów i dostosowywania zachowania środowiska wykonawczego. Na razie masz niezły zestaw wartości domyślnych dzięki OH-MY-ZSH, który konfiguruje plik podczas jego instalacji.

Tematy

ZSH obsługuje tematykę. Jest wyposażony w kilka wbudowanych motywów, ale nie są tak dobre, jak te, które są dostarczane z OH-MY-ZSH. Możesz spojrzeć na to, jak wyglądają na https: // github.com/Robbyrussell/oh-my-zsh/wiki/motywy OH-MY-ZSH Wiki.

Aby zmienić motyw, otwórz .Zshrc i znajdź linię poniżej. Zmień nazwę motywu na dowolny, który chcesz wypróbować.

Zsh_theme = "Robbyrussell"

Wtyczki

Oh-my-Zsh przyniósł także górę wtyczek. Zakrycie ich wszystkich tutaj zajęłoby zbyt długo, więc sprawdź https: // github.com/robbyrussell/oh-my-zsh/wiki/wtyczki Oh-my-zsh wiki dla całej listy. Niezależnie od innych wybierzesz, umożliwiając wyciąg I z to dobry pomysł. Jeszcze raz twoje wtyczki są ustawione z linią .Zshrc.

wtyczki = (git ekstrakt z)

Zakończenie zakładki

Bash ma ukończenie zakładki, ale w najlepszym razie jest słaby. ZSH przenosi karta do nowego poziomu. Spróbuj pisać LS a następnie nazwa katalogu. Po nazwie, naciśnij tablicę dwukrotnie w krótkim sukcesji. ZSH automatycznie wyświetli pliki i foldery w ramach nazywanego katalogu. Możesz poruszać się po tych katalogach za pomocą klawiszy strzałek. Naciśnij Enter na tym, który chcesz zobaczyć, i uruchom polecenie.

To samo działa również z innymi poleceniami. Wypróbuj to z płyta CD.

To nie tylko katalogi, które ZSH może kompletny z Tab. Działa też z poleceniami. Spróbuj wpisać Mk i naciśnięcie TAB dwukrotnie. Otrzymasz ten sam typ menu z różnymi poleceniami, które zaczynają się od Mk.

Direktorium stenograficzne

Czy nienawidzisz pisania długich ścieżek katalogów? Zsh ma też rozwiązanie. Obsługuje własną wersję krótkowzroczności, która pozwala wpisać tylko pierwsze kilka liter każdego katalogu na ścieżce. Będzie pasować do pełnej ścieżki najlepiej jak potrafi. Jeśli znajdzie wiele wyników, wyświetli je do wyboru.

Spróbuj wejść $ ls/u/sh/ICO do karty terminalu i nacisku. ZSH rozszerzy go na pełną ścieżkę do katalogu udostępnionych ikon.

Skróty

To funkcja oh-my-zsh, nie sama skorupa, ale nadal jest naprawdę wygodna. Oh-my-Zsh jest wyposażony w stos doskonałych aliasów dla wszystkiego, co formuje katalogi nawigacyjne do typowych programów, takich jak Git i Systemd. Znowu jest więcej niż czas, aby tu pójść, ale oto kilka highlights.

CD… /… =… cd… /… /… =… mkdir -p = md rmdir = rd git add = ga git add --all = gaa git gałąź = gb git commit -m = gcmsg git kas currentBanch = ggpull git push pochodzenie currentBanch = ggpush systemctl start = Sc-start Systemctl Stop = Sc-Stop Systemctl Status = SC-Status Systemctl Enable = SC-Enable 

Jeśli chcesz sprawdzić całą listę, ponownie https: // github.com/Robbyrussell/Oh-My-Zsh/Wiki/Cheatsheet Wiki to najlepszy zakład.



Z

Z Właściwie to nie jest częścią ZSH lub OH-MY-ZSH, jest po prostu włączona jako wtyczka przez drugą. Nawet nadal łatwo się dopasowuje w tym samym stylu użytkowania, co pozwala ZSH. Z to skrypt, który śledzi często używane i najnowsze katalogi, dzięki czemu możesz uzyskać do nich dostęp za pomocą jednej pracy lub kombinacji znaków.

Na przykład, jeśli miałeś folder o /home/użytkownik/zdjęcia/fotografia/canon/2017/fotki, I używasz go cały czas, możesz użyć Z drastycznie skrócić to. Z Z Używałbyś następującego polecenia Linux, aby wprowadzić ten katalog.

$ z fotki

Tak, to tak absurdalnie łatwe.

Zabij wyszukiwanie procesu

Za zabicie procesu nie reagowania może być uciążliwe. Najpierw musisz użyć Ps Aby znaleźć proces przestępstwa. Następnie musisz użyć zabić i wybrany numer procesu. ZSH usprawnia ten proces. Wpisz zabić a następnie nazwa lub część nazwy procesu lub programu, który chcesz zabić. Następnie użyj TAB, aby powiedzieć ZSH, aby odkryć identyfikator procesu.

Użyj tego jednak z pewną ostrożnością. Powiedz, że chcesz zabić niereagującego Firefoksa, ale masz Firejail z innym programem. Pisanie na maszynie Zabij ogień może nie dać ci tego, czego szukasz, pisząc Zabij Firefoxa Prawdopodobnie będzie. Tak naprawdę nie jest dobrym pomysłem, aby zabawić się tym jako root. Naprawdę nie masz czegoś takiego Zabij sys i sprowadź pid 1.

Polecam konkretną historię

Czasami spojrzenie na swoją historię dowodzenia jest wielkim bólem. Potrzebujesz jednej polecenia, które napisałeś 20 wierszy temu, ponieważ nie jesteś do końca pewien, jakie przełączniki użyłeś, i nie możesz go znaleźć pomimo wszelkich powodów. Cóż, ZSH obsługuje historię poleceń. Tak więc, jeśli wiesz, że użyte polecenie było du, Wpisz du a następnie zacznij naciskać strzałkę w górę. Zobaczysz tylko swoje ostatnie użycia polecenia DU.

Przełącz wyszukiwanie

Podczas gdy strony człowieka są świetne, nie są wcale takie wygodne, gdy chcesz tylko napisać jednorazowe polecenie naprawdę szybko. Ponadto zawsze jest tam znacznie więcej niż podstawowe odniesienie do dostępnych przełączników. Zsh ma niesamowitą funkcję, która pozwala wyszukiwać przełączniki podczas pisania polecenia. Rozpocznij polecenie, napisz deskę rozdzielczą z przełącznikiem, a następnie naciśnij kartę. Zsh wyświetli dostępne dla Ciebie opcje. Przez większość czasu zapyta Cię, czy chcesz wyświetlać wszystkie elementy, naciśnij y potwierdzać.

Globbiing

Czy kiedykolwiek używałeś postaci wieloznacznej do wyszukiwania czegoś z terminalu?

$ ls -l *.png

To forma kulbowania. Globbing to zasadniczo wyrażenia dla skorupy. Podczas gdy Bash go obsługuje, ZSH rozszerza swoje możliwości globania daleko poza Bash.

Spróbuj wpisać to polecenie w swoim /dom katalog za pomocą Zsh.

$ ls **/*

Tak, to dużo śmieci w twoim terminalu. To polecenie faktycznie wymienia wszystko w twoim bieżącym katalogu, a także we wszystkich podkatalogach. Możesz go użyć, aby znaleźć określone typy plików.

$ ls **/*.tekst

To wszystko .tekst pliki w twoim /dom informator.

Możesz też określić pełną nazwę pliku. Spróbuj użyć go, aby znaleźć wszystko Readme pliki w twoim /dom informator.

$ ls **/readme.*

Możesz także wyszukać słowa lub wyrażenia w nazwach plików.

## zaczyna się od odczytania $ ls **/(odczyt)*.*## kończy się odczyt $ ls **/*(czytaj).*## zawiera odczyt w dowolnym miejscu $ ls **/*(odczyt)*.* 

To naprawdę niezręczny sposób na listę plików. Istnieje kilka bardzo łatwych sposobów określenia plików i folderów.

# Pliki tylko $ ls **/*(.) # Foldery tylko $ ls **/*(/) 

Możesz także określić jeden z wielu znaków.

# Wszystkie pliki, które zaczynają się od $ ls **/[a]*(.) # Wszystkie pliki, które zaczynają się od A lub A $ ls **/[aa]*(.) # Wszystkie pliki zawierające liczbę $ ls **/*[1]*(.) # Wszelkie pliki, które kończą się samogłoską $ ls **/*[aeiouy] (.) 


Jeśli chcesz wykluczyć postać lub postaci, możesz to zrobić.

# Pliki, które nie zaczynają się od A lub A $ ls **/[^aa] (.) 

Możesz również wyszukać zakresy liter.

# Pliki, które kończą się liczbą $ ls **/*(.) 

Kwalifikacje globalne

Istnieją inne opcje, których możesz użyć do sortowania i filtrowania wyników wyszukiwania. Są to nazywane kwalifikatorami globu i sprawiają, że wyszukiwanie plików jest proste.

Po pierwsze, możesz ograniczyć rozmiar pliku za pomocą L.

$ ls -lahs **/*(.LM+250) 

Powyższy przykład pokazuje tylko pliki pliki większe niż 250 MB w kolejności rozmiaru.

Więc, L Ogranicza się według wielkości. Jest sparowany z k, M, I G Aby określić jednostki wielkości. Następnie istnieje dodatnia lub ujemna liczba do ustawienia punktu odcięcia i ustalenia, czy wyniki będą powyżej czy poniżej tego punktu.

Sprawdź jeszcze kilka.

# Wymień wszystkie pliki pod 1 GB według rozmiaru $ ls -lahs **/*(.LG -1) # Wymień wszystkie pliki powyżej 10 MB według rozmiaru $ LS -LAHS **/*(.LM+10) # Wymień wszystkie pliki, które zaczynają się od poniżej 100 MB według rozmiaru $ ls -Lahs **/[a]*(.LM-100) 

Istnieją również kwalifikacje do filtrowania według modyfikacji i dostępu. Oni są M I A odpowiednio. Można je sparować S, M, H, D, w, I M. Te stoją na sekundach, minutach, godzinach, dniach, tygodniach i miesiącach.

Aby wymienić wszystkie pliki zmodyfikowane w zeszłym tygodniu, wypróbuj to.

$ ls -lah **/*(.MW-1)

Numer w instrukcji oznacza, ile urządzenia do obejrzenia. To znalazłoby wszystkie pliki zmodyfikowane w ciągu ostatnich 3 dni.

$ ls -lah **/*(.MD-3)

Istnieją inne mniej powszechne kwalifikatory do odkrycia, a możesz całkowicie je połączyć, aby zawęzić swoje wyszukiwania.

AutoCorrect

Ta ostatnia funkcja jest po prostu naprawdę fajna. Wszyscy coś wpadli na coś i musieli przesłać wszystko od zera. To po prostu denerwujące. Zsh próbuje pomóc. Jeśli ZSH wykryje słowo, które wygląda jak błędna wersja faktycznego polecenia, zapyta cię, czy chcesz je poprawić i uruchomić polecenie, zapisując problem z ponownym ponownym ponownym ponownym ponownym.

Spróbuj, tworząc katalog, niewłaściwy sposób.

$ MDKIR SELE FOLDER

Zsh na ratunek!

Zamykanie myśli

Oto jest, zsh w całej swojej chwale. To nie jest coś, co możesz przeczytać tutaj i od razu wiedzieć. To narzędzie, które możesz teraz odebrać i użyć dokładnie tak, jak się bash. Następnie możesz zacząć wypróbowywać różne funkcje i powoli zintegrować je z zwykłymi nawykami.

Gdy zaczniesz przyzwyczaić się do ZSH, zdasz sobie sprawę, ile lubisz i polegasz. To nic naprawdę rewolucyjnego, ale zapewnia różnego rodzaju udogodnienia, o których prawdopodobnie żałujesz, że nie pomyślisz lub miałeś lata temu.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Podstawowe polecenia Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Zainstaluj Arch Linux na stacji roboczej VMware
  • Pobierz Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Najlepszy Linux Distro dla programistów