Jeśli używamy dowolnego głównego systemu operacyjnego, pośrednio wchodzimy w interakcję z nim powłoka . Uruchamiając Ubuntu, Linux Mint czy jakąkolwiek inną dystrybucję Linuksa, wchodzimy w interakcję z powłoką za pomocą terminala. W tym artykule omówimy powłoki systemu Linux i skrypty powłoki, dlatego przed zrozumieniem skryptów powłoki musimy zapoznać się z następującą terminologią:
- Jądro
- Powłoka
- Terminal
Spis treści
- Co to jest jądro?
- Co to jest Shell?
- Powłoka wiersza poleceń
- Powłoki graficzne
- Co to jest terminal?
- Skrypty powłoki
Co to jest jądro?
Jądro to program komputerowy stanowiący rdzeń systemu operacyjnego komputera, posiadający pełną kontrolę nad wszystkim w systemie. Zarządza następującymi zasobami systemu Linux –
- Zarządzanie plikami
- Zarządzanie procesem
- Zarządzanie we/wy
- Zarządzanie pamięcią
- Zarządzanie urządzeniami itp.
Często mylnie uważa się, że Linus Torvalds opracował system operacyjny Linux, choć w rzeczywistości jest on odpowiedzialny jedynie za rozwój jądra Linuksa.
Kompletny system Linux = jądro + GNU narzędzia i biblioteki systemowe + inne skrypty zarządzające + skrypty instalacyjne.
Co to jest Shell?
Powłoka to specjalny program użytkownika, który zapewnia użytkownikowi interfejs umożliwiający korzystanie z usług systemu operacyjnego. Shell przyjmuje czytelne dla człowieka polecenia od użytkowników i konwertuje je na coś, co jądro może zrozumieć. Jest to interpreter języka poleceń, który wykonuje polecenia odczytywane z urządzeń wejściowych, takich jak klawiatury lub z plików. Powłoka uruchamia się, gdy użytkownik loguje się lub uruchamia terminal.
co to jest interfejs

Powłoka Linuksa
Shell dzieli się ogólnie na dwie kategorie –
- Powłoka wiersza poleceń
- Powłoka graficzna
Powłoka wiersza poleceń
Użytkownicy mogą uzyskać dostęp do powłoki za pomocą interfejsu wiersza poleceń. Dostępny jest specjalny program o nazwie Terminal w systemie Linux/macOS lub Wiersz poleceń w systemie operacyjnym Windows, który służy do wpisywania poleceń czytelnych dla człowieka, takich jak cat, ls itp., a następnie jest wykonywany. Wynik jest następnie wyświetlany użytkownikowi na terminalu. Terminal w systemie Ubuntu 16.4 wygląda tak –

wiersz poleceń Linuksa
Na powyższym zrzucie ekranu ls polecenie z -l opcja jest wykonywana. Wyświetli listę wszystkich plików w bieżącym katalogu roboczym w formacie długiej listy.
Praca z powłoką wiersza poleceń jest nieco trudna dla początkujących, ponieważ trudno jest zapamiętać tak wiele poleceń. Jest bardzo potężny; pozwala użytkownikom przechowywać polecenia w pliku i wykonywać je razem. W ten sposób każde powtarzalne zadanie można łatwo zautomatyzować. Pliki te są zwykle nazywane plikami wsadowymi w systemie Windows i Powłoka Skrypty w systemach Linux/macOS.
Powłoki graficzne
Powłoki graficzne zapewniają środki do manipulowania programami opartymi na graficznym interfejsie użytkownika (GUI), umożliwiając operacje takie jak otwieranie, zamykanie, przenoszenie i zmiana rozmiaru okien, a także przełączanie fokusu między oknami. Za dobry przykład można uznać system operacyjny Windows lub Ubuntu, który zapewnia użytkownikowi interfejs GUI umożliwiający interakcję z programem. Użytkownicy nie muszą wpisywać poleceń dla każdej akcji. Typowy GUI w systemie Ubuntu –

Powłoka GUI
mrówka kontra maven
Dostępnych jest kilka powłok dla systemów Linux, takich jak –
- BASH (Bourne Again SHell) – Jest to najczęściej używana powłoka w systemach Linux. Jest używana jako domyślna powłoka logowania w systemach Linux i macOS. Można go także zainstalować w systemie operacyjnym Windows.
- CSH (C SHell) – Składnia powłoki C i jej użycie są bardzo podobne do języka programowania C.
- KSH (Korn SHell) – Korn Shell był także podstawą dla specyfikacji standardu POSIX Shell itp.
Każda powłoka wykonuje to samo zadanie, ale rozumie inne polecenia i udostępnia różne wbudowane funkcje.
Co to jest terminal?
Program odpowiedzialny za zapewnienie użytkownikowi interfejsu umożliwiającego dostęp do powłoki. Zasadniczo umożliwia użytkownikom wprowadzanie poleceń i wyświetlanie wyników tych poleceń w interfejsie tekstowym. W terminalu wykonywane są duże skrypty napisane w celu automatyzacji i wykonywania złożonych zadań.
Aby uzyskać dostęp do terminala, po prostu wyszukaj terminal w polu wyszukiwania i kliknij go dwukrotnie.
otwarty terminal
Tutaj możesz zobaczyć jak wygląda terminal Red Hat Linux.
terminal
Skrypty powłoki
Zwykle powłoki są interaktywne, co oznacza, że przyjmują polecenia od użytkowników i je wykonują. Czasami jednak chcemy rutynowo wykonywać kilka poleceń, więc za każdym razem musimy wpisywać wszystkie polecenia w terminalu.
Ciąg listy Java
Ponieważ powłoka może również przyjmować polecenia jako dane wejściowe z pliku, możemy zapisać te polecenia w pliku i wykonać je w powłoce, aby uniknąć tej powtarzalnej pracy. Pliki te nazywane są Skrypty powłoki Lub Programy powłoki . Skrypty powłoki są podobne do pliku wsadowego w systemie MS-DOS. Każdy skrypt powłoki jest zapisywany za pomocą `.sz` rozszerzenie pliku, np. mójscript.sh.
Skrypt powłoki ma składnię taką samą jak każdy inny język programowania. Jeśli masz jakieś wcześniejsze doświadczenie z jakimkolwiek językiem programowania, takim jak Python, C/C++ itp. Bardzo łatwo będzie zacząć z nim.
Skrypt powłoki składa się z następujących elementów:
len tablicy w Javie
- Słowa kluczowe powłoki – if, else, break itp.
- Polecenia powłoki – cd, ls, echo, pwd, touch itp.
- Funkcje
- Sterowanie przepływem – if..then..else, pętle case i powłoki itp.
Dlaczego potrzebujemy skryptów powłoki?
Istnieje wiele powodów, dla których warto pisać skrypty powłoki:
- Aby uniknąć powtarzalnej pracy i automatyzacji
- Administratorzy systemu używają skryptów powłoki do rutynowych kopii zapasowych.
- Monitorowanie systemu
- Dodanie nowej funkcjonalności do powłoki itp.
Niektóre zalety skryptów powłoki
- Polecenie i składnia są dokładnie takie same, jak te wprowadzone bezpośrednio w wierszu poleceń, więc programiści nie muszą przełączać się na zupełnie inną składnię
- Pisanie skryptów powłoki jest znacznie szybsze
- Szybki start
- Interaktywne debugowanie itp.
Niektóre wady skryptów powłoki
- Podatny na kosztowne błędy, pojedynczy błąd może zmienić polecenie, co może być szkodliwe.
- Niska prędkość wykonywania
- Błędy projektowe w składni języka lub implementacji
- Niezbyt dobrze nadaje się do dużych i złożonych zadań
- Zapewnia minimalną strukturę danych w przeciwieństwie do innych języków skryptowych. itp.
Proste demo skryptów powłoki przy użyciu powłoki Bash
Jeśli pracujesz na terminalu, przeglądasz coś głęboko w katalogach. Następnie, aby uzyskać kilka katalogów na ścieżce, musimy wykonać takie polecenie, jak pokazano poniżej, aby dostać się do katalogu Pythona:

przejdź do katalogu Pythona:
Jest to dość frustrujące, więc dlaczego nie możemy mieć narzędzia, w którym wystarczy wpisać nazwę katalogu i możemy bezpośrednio do niego przejść bez wykonywania płyta CD ../ rozkazuj raz po raz. Zapisz skrypt jako skok.sh
grzmotnąć # !/bin/bash # A simple bash script to move up to desired directory level directly function jump() { # original value of Internal Field Separator OLDIFS=$IFS # setting field separator to '/' IFS=/ # converting working path into array of directories in path # eg. /my/path/is/like/this # into [, my, path, is, like, this] path_arr=($PWD) # setting IFS to original value IFS=$OLDIFS local pos=-1 # ${path_arr[@]} gives all the values in path_arr for dir in '${path_arr[@]}' do # find the number of directories to move up to # reach at target directory pos=$[$pos+1] if [ '' = '$dir' ];then # length of the path_arr dir_in_path=${#path_arr[@]} #current working directory cwd=$PWD limit=$[$dir_in_path-$pos-1] for ((i=0; i; i++)) do cwd=$cwd/.. done cd $cwd break fi done }> Na razie nie możemy wykonać naszego skryptu powłoki, ponieważ nie ma on uprawnień. Musimy uczynić go wykonywalnym, wpisując następujące polecenie –
$ chmod +x ścieżka/do/naszego/pliku/jump.sh
Teraz, aby udostępnić to w każdej sesji terminala, musimy to umieścić .bashrc plik.
.bashrc to skrypt powłoki uruchamiany przez powłokę Bash przy każdym interaktywnym uruchomieniu. Celem pliku .bashrc jest zapewnienie miejsca, w którym można skonfigurować zmienne, funkcje i aliasy, zdefiniować nasz znak zachęty i zdefiniować inne ustawienia, których chcemy używać za każdym razem, gdy otwieramy nowe okno terminala.
Teraz otwórz terminal i wpisz następujące polecenie:
pełna forma ide
$ echo źródło ~/ścieżka/do/nasz/plik/jump.sh>> ~/.bashrc
Teraz otwórz terminal i wypróbuj nową funkcję skoku, wpisując następujące polecenie-
$ skok nazwa_katalogu
tak jak na poniższym zrzucie ekranu:

skok nazwa_katalogu
Wniosek
W tym artykule dowiedzieliśmy się o podstawowych częściach systemów Linux: jądrze, które kontroluje wszystko, powłoce, która pozwala nam wchodzić w interakcję z systemem operacyjnym, oraz terminalu, naszym interfejsie do wydawania poleceń. Przyjrzeliśmy się wierszowi poleceń i powłokom graficznym, takim jak BASH, i zrozumieliśmy, że to terminal jest miejscem, w którym wpisujemy nasze polecenia. W artykule przedstawiono skrypty powłoki, czyli sposób na automatyzację zadań za pomocą prostych skryptów, oraz omówiono zalety i wady ich stosowania. Praktyczny przykład zademonstrował utworzenie skryptu umożliwiającego szybką nawigację po katalogach. Wreszcie zobaczyliśmy, jak sprawić, by skrypt działał i stał się dostępny w każdej sesji terminala. Ten artykuł jest przyjaznym dla początkujących przewodnikiem po zrozumieniu i używaniu powłok Linuksa i skryptów powłoki. Linux jest dobrym językiem, jest napisany w języku Linuksa