
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 gs
spowoduje 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-app
utworzy 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ń.

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

Tutaj ps aux
wyświetla listę wszystkich aktywnych procesów i grep
filtruje 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 fg
domyś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 nohup
na 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.sh
i 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.

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 apropos
polecenie 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 apropos
z dodanym słowem kluczowym, możesz wyświetlić wszystkie istotne narzędzia wiersza poleceń.

Na przykład, wpisanie apropos icmp
powoduje 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.com
ale 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.sh
i 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!
Dodaj komentarz