Niezbędne wskazówki i triki dotyczące Bash, które każdy użytkownik musi znać

Niezbędne wskazówki i triki dotyczące Bash, które każdy użytkownik musi znać

Dla nowicjusza Linuksa, uruchomienie terminala może być zarówno ekscytujące, jak i przytłaczające. Terminal oferuje szeroki wachlarz poleceń i funkcji, ale widok migającego kursora może być onieśmielający dla początkujących. Aby ułatwić to przejście, zebraliśmy zestaw niezbędnych wskazówek i trików dotyczących powłoki Bash, które pomogą użytkownikom sprawniej poruszać się w terminalu.

Zrozumienie powłoki Bash w porównaniu z terminalem

Konieczne jest wyjaśnienie różnicy między Bashem a terminalem. Terminal służy jako interfejs lub aplikacja, za pośrednictwem której wydajesz polecenia w celu interakcji z systemem operacyjnym. Z kolei Bash to powłoka – interpreter języka poleceń dla systemów UNIX – która przetwarza i wykonuje wprowadzone polecenia. Zatem, korzystając z terminala, zasadniczo korzystasz z powłoki Bash (lub potencjalnie innej powłoki, takiej jak zsh lub fish).Poniższe wskazówki i triki koncentrują się głównie na optymalizacji wydajności w środowisku Bash.

1. Wykorzystaj niestandardowe aliasy dla typowych poleceń

Wielokrotne wpisywanie długich poleceń może być uciążliwe. Używając aliasów, możesz znacznie usprawnić swój przepływ pracy. Alias ​​pozwala przypisać łatwy do zapamiętania skrót do dłuższego polecenia, zmniejszając tym samym ilość wymaganego wpisywania.

Na przykład, zamiast wpisywać git status, możesz utworzyć alias, taki jak gs. Aliasy mogą być tymczasowe dla danej sesji lub stałe. Aby utworzyć alias tymczasowy, wykonaj:

alias gs="git status"

Teraz wpisanie gsspowoduje wykonanie git status. Aby uzyskać stałe aliasy, edytuj plik konfiguracyjny Bash (zazwyczaj znajdujący się w „~/.bashrc” lub „~/.bash_profile”) za pomocą ulubionego edytora tekstu, takiego jak nano:

sudo nano ~/.bashrc

Dodaj definicje aliasów na końcu pliku, zapisz i uruchom ponownie terminal lub wykonaj następujące polecenie:

sudo source ~/.bashrc

Od teraz te aliasy będą dostępne dla każdej sesji. Na przykład, do poleceń aktualizacji używam następującego:

alias update='sudo apt update && sudo apt upgrade -y'

W ten sposób, po prostu wpisując update, wykonuję całe polecenie. Co więcej, za pomocą funkcji można tworzyć aliasy akceptujące parametry:

mkcd() {mkdir -p "$1" && cd "$1"}

Polecenie mkcd projects/new-apputworzy wskazany katalog i umożliwi do niego przejście. Zawsze pamiętaj, aby nie nadpisywać istniejących poleceń, aby uniknąć pomyłek.

2. Natychmiastowe przeszukiwanie historii poleceń

Przeglądanie historii terminala może być żmudne. Na szczęście Bash oferuje szybkie narzędzie wyszukiwania, ułatwiające powrót do poprzednich poleceń.

Przeszukiwanie historii poleceń

Wystarczy nacisnąć Ctrl+ R, a monit przełączy się, umożliwiając rozpoczęcie wpisywania fragmentów żądanego polecenia. W trakcie wpisywania Bash wyświetli najnowsze pasujące polecenie z historii.

Możesz również rozszerzyć tę funkcjonalność, dodając poniższy fragment kodu do pliku „~/.inputrc” (utwórz go, jeśli jeszcze nie istnieje):

"\e[A": history-search-backward"\e[B": history-search-forwardset show-all-if-ambiguous onset completion-ignore-case on

Po ponownym załadowaniu terminala będziesz mógł przeszukać historię poleceń, wpisując początek polecenia, a następnie używając klawiszy strzałek Up/ Down.

3. Polecenia łańcuchowe z potokami i przekierowaniami

Bash umożliwia łączenie wielu poleceń, tak aby dane wyjściowe jednego polecenia były wykorzystywane jako dane wejściowe innego.|W tym celu należy użyć operatora potoku ( ).Na przykład, jeśli interesuje Cię tylko wyświetlanie procesów Pythona wśród uruchomionych zadań, możesz połączyć polecenia w następujący sposób:

ps aux | grep python

Łączenie poleceń w celu filtrowania procesów

Tutaj ps auxwyświetla listę wszystkich aktywnych procesów i grepfiltruje te powiązane z Pythonem. Możesz również łączyć dodatkowe polecenia, aby tworzyć wydajne skrypty. Na przykład:

cat logfile.txt | grep "error" | wc -l

To polecenie zlicza liczbę wierszy oznaczonych jako błędy w pliku dziennika — są to trzy polecenia działające w harmonii.

Przekierowanie to kolejna kluczowa funkcja. Zamiast wyświetlać wynik polecenia w terminalu, możesz zapisać go do pliku. Na przykład, aby zapisać listę katalogów, możesz użyć:

ls -l > files.txt

Służy >>do dodawania danych wyjściowych zamiast nadpisywania. Ta funkcja jest szczególnie przydatna do rejestrowania i tworzenia kopii zapasowych danych.

4. Uruchamianie poleceń w tle

Jeśli zainicjowałeś długie polecenie, które zajmuje Twój terminal, nie musisz rozpoczynać nowej sesji. Zamiast tego przenieś polecenie w tło i kontynuuj korzystanie z terminala.

Naciśnij Ctrl+ Z, aby zawiesić działające polecenie i powrócić do wiersza poleceń powłoki. Następnie użyj:

bg

To wznawia działanie polecenia w tle. Aby sprawdzić status swoich zadań, wystarczy wpisać:

jobs

Aby przywrócić zadanie wykonywane w tle na pierwszy plan, użyj:

fg %1

Możesz określić numer zadania; w przeciwnym razie fgdomyślnie zostanie wybrane ostatnie zadanie. Jeśli chcesz, aby polecenie zostało uruchomione w tle, dodaj &do niego:

some_long_task &

Dzięki temu polecenie może zostać uruchomione bez blokowania terminala. Aby zapobiec zakończeniu zadania po zamknięciu terminala, użyj:

disown -h %job

To polecenie wysyła sygnał „nie rozłączaj się” do tego zadania po wyjściu z powłoki. Użycie nohupna początku daje podobny rezultat, ale należy pamiętać, że zadania w tle mogą nadal wysyłać dane do terminala.

5. Uruchom ponownie ostatnie polecenie za pomocą `sudo` (sudo! !)

Ta konkretna sztuczka rozwiązuje typowy scenariusz: wykonanie polecenia wymagającego uprawnień superużytkownika.!!Polecenie pobiera ostatnie polecenie, umożliwiając szybkie jego ponowne uruchomienie z podwyższonymi uprawnieniami.

Na przykład po próbie wykonania skryptu instalacyjnego, takiego jak ./SCRIPT-NAME.shi otrzymaniu błędu uprawnień, wystarczy wpisać:

sudo! !

Wprowadź hasło i znów możesz korzystać z tej prostej komendy. Zaoszczędzi Ci ona sporo czasu i stanie się dla Ciebie czymś naturalnym, gdy przyzwyczaisz się do jej używania.

Porady i triki dotyczące ponownego uruchomienia polecenia Bash

6. Wykonuj wiele poleceń jednocześnie

Aby przyspieszyć zadania, Bash umożliwia wykonywanie wielu poleceń po kolei. Aby uruchamiać polecenia sekwencyjnie, niezależnie od wyników, użyj średnika ( ;):

mkdir newdir; cd newdir; touch file.txt

Jeżeli chcesz, aby drugie polecenie zostało wykonane dopiero po pomyślnym wykonaniu pierwszego, użyj podwójnego znaku ampersandu ( &&):

sudo apt update && sudo apt upgrade

Natomiast jeśli chcesz, aby polecenie zostało wykonane tylko wtedy, gdy poprzednie polecenie zakończy się niepowodzeniem, użyj podwójnych pionowych kresek ( ||):

backup_database || echo "Backup failed!"

Bash pozwala również na przetwarzanie w tle; wystarczy dodać znak ampersand, aby uruchomić polecenie w tle, zwalniając jednocześnie terminal:

python script.py & firefox &

Ta funkcja uruchamia skrypt Pythona jednocześnie z Firefoksem. Z czasem, łączenie poleceń i zarządzanie zadaniami w tle sprawi, że interakcja z terminalem stanie się bardziej spójna.

7. Odkryj polecenia za pomocą Apropos

To apropospolecenie to doskonałe narzędzie do lokalizowania poleceń na podstawie opisów wprowadzonych ręcznie. Jeśli korzystałeś ze strony podręcznika, rozpoznasz metadane na górze. Wykonując polecenie aproposz dodanym słowem kluczowym, możesz wyświetlić wszystkie istotne narzędzia wiersza poleceń.

Porady i triki dotyczące Bash

Na przykład, wpisanie apropos icmppowoduje wyświetlenie listy poleceń związanych z danym tematem. Ta funkcja jest szczególnie przydatna do odkrywania wcześniej nieznanych narzędzi, takich jak te dla SELinux selinux; wystarczy uruchomić polecenie apropos selinux, aby wyświetlić dostępne polecenia do zarządzania politykami SELinux.

8. Zamień elementy w ostatnim poleceniu

Cenną taktyką korygowania błędów w poprzednim poleceniu jest użycie podstawienia. Jeśli przypadkowo wpiszesz polecenie błędnie, możesz je szybko poprawić, używając ^symbolu daszka ( ).

Na przykład, jeśli chcesz wysłać polecenie ping, maketecheasier.comale błędnie wpisałeś je jako maktecheaser.com, możesz wykonać polecenie:

^maktecheaser.com^maketecheasier.com

To polecenie skutecznie ponownie uruchamia żądanie ping z prawidłowym adresem. Taka metoda jest szczególnie przydatna w przypadku długich poleceń lub złożonych argumentów. Rozważ jej użycie, aby naprawić błędy przekierowania danych wyjściowych, takie jak >zastąpienie >>.

9. Przekaż argumenty z poprzednich poleceń

Składnia !$pozwala na ponowne użycie ostatniego argumentu z dowolnego poprzedniego polecenia. Dodatkowo, warianty pozwalają na łatwe włączanie konkretnych argumentów.

Na przykład, jeśli właśnie edytowałeś plik za pomocą polecenia nano samplescript.shi chcesz nadać mu uprawnienia wykonywalne, po prostu uruchom:

chmod 755! $

Możesz również użyć ./!:2, aby odwołać się do drugiego argumentu poprzedniego polecenia. Oto krótki przegląd opcji podstawiania:

!^ - first argument!* - all arguments!:2-$ - second through last arguments!:2-4 - second through fourth arguments

Ponieważ Bash przechowuje historię około 100 argumentów, ta funkcjonalność może znacząco zwiększyć wydajność korzystania z terminala.

Mamy nadzieję, że te wskazówki i triki dotyczące Basha okażą się przydatne i pomogą Ci efektywniej wykonywać polecenia w terminalu. Udanego pisania skryptów w Bashu!

Źródło i obrazy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *