Co to jest Powłoka?
Powłoka jest programem, który zapewnia interfejs między użytkownikiem a jądrem systemu operacyjnego (OS). System operacyjny uruchamia powłokę dla każdego użytkownika, gdy ten loguje się lub otwiera terminal albo okno konsoli.
Jądro to program, który:
- Kontroluje wszystkie operacje komputerowe.
- Koordynuje wszystkie wykonywane narzędzia
- Zapewnia, że wykonywane narzędzia nie kolidują ze sobą ani nie zużywają wszystkich zasobów systemowych.
- Porządkuje i zarządza wszystkimi procesami systemowymi.
Poprzez interfejs z jądrem, powłoka zapewnia użytkownikowi sposób na wykonywanie narzędzi i programów.
Środowisko użytkownika
Powłoka zapewnia również środowisko użytkownika, które można dostosować za pomocą plików inicjalizacyjnych. Pliki te zawierają ustawienia cech środowiska użytkownika, takie jak:
- Ścieżki wyszukiwania poleceń.
- Domyślne uprawnienia do nowych plików.
- Wartości zmiennych używanych przez inne programy.
- Wartości, które można dostosować.
Jakie są różne powłoki?
Następujące sekcje opisują powłoki OS dostępne głównie w systemie operacyjnym UNIX/Linux. Cechy powłoki i ich domyślne podpowiedzi są również opisane.
Powłoka Bourne’a
Powłoka Bourne’a (sh), napisana przez Steve’a Bourne’a w AT&T Bell Labs, jest oryginalną powłoką UNIX. Jest to preferowana powłoka do programowania powłoki z uwagi na jej zwartość i szybkość. Wadą powłoki Bourne’a jest to, że brakuje jej cech dla użytku interaktywnego, takich jak możliwość przywoływania poprzednich poleceń (historia). Powłoce Bourne’a brakuje również wbudowanej obsługi wyrażeń arytmetycznych i logicznych.
Powłoka Bourne’a jest domyślną powłoką systemu Solaris OS. Jest to standardowa powłoka dla skryptów administracyjnych systemu Solaris. Dla powłoki Bourne’a:
- Nazwa pełnej ścieżki polecenia to /bin/sh i /sbin/sh.
- Domyślna zachęta użytkownika nieroot to $.
- Domyślna zachęta użytkownika root to #.
Powłoka C
Powłoka C (csh):
- Jest rozszerzeniem systemu UNIX napisanym przez Billa Joya na Uniwersytecie Kalifornijskim w Berkeley.
- Wprowadziła funkcje do użytku interaktywnego, takie jak aliasy i historia poleceń.
- Zawiera wygodne funkcje programistyczne, takie jak wbudowana arytmetyka i składnia wyrażeń podobna do C.
Dla powłoki C:
- Nazwa pełnej ścieżki polecenia to /bin/csh.
- Domyślna zachęta użytkownika nieroot to nazwa hosta %.
- Domyślny znak zachęty użytkownika root to nazwa hosta #.
Powłoka Korna
Powłoka Korna (ksh):
- Została napisana przez Davida Korna w AT&T Bell Labs
- Jest supersetem powłoki Bourne’a.
- Obsługuje wszystko to, co powłoka Bourne’a.
- Ma cechy interaktywne porównywalne z tymi w powłoce C.
- Zawiera wygodne cechy programistyczne, takie jak wbudowana arytmetyka i podobne do C tablice, funkcje i obiekty manipulowania łańcuchami.
- Jest szybsza od powłoki C.
- Uruchamia skrypty napisane dla powłoki Bourne’a.
Dla powłoki Korna:
- Nazwa pełnej ścieżki polecenia to /bin/ksh.
- Domyślna zachęta użytkownika nieroot to $.
- Domyślna zachęta użytkownika root to #.
Powłoka GNU Bourne-Again
Powłoka GNU Bourne-Again (bash):
- Jest zgodna z powłoką Bourne’a.
- Wprowadza użyteczne cechy z powłok Korn i C.
- Posiada klawisze strzałek, które są automatycznie mapowane do przywoływania i edycji poleceń.
Dla powłoki GNU Bourne-Again następujące cechy:
- Nazwa pełnej ścieżki polecenia to /bin/bash.
- Domyślna zachęta dla użytkownika nie będącego rootem to bash-x.xx$. (Gdzie x.xx oznacza numer wersji powłoki. Na przykład, bash-3.50$)
- Domyślną zachętą użytkownika root jest bash-x.xx#. (Gdzie x.xx oznacza numer wersji powłoki. Na przykład, bash-3.50$#)
Tutaj jest krótkie porównanie wszystkich 4 powłok i ich właściwości.
Shell | Path | Default Prompt (non-użytkownik root) | Default Prompt (użytkownik root) |
---|---|---|---|
Powłoka Bourne’a (sh) | /bin/sh i /sbin/sh | $ | # |
Powłoka C Shell (csh) | /bin/csh | % | # |
The Korn Shell (ksh) | /bin/ksh | $ | # |
The GNU Bourne-Again Shell (Bash) | /bin/bash | bash-x.xx$ | bash-x.xx# |
.