Dowiedz się, czy polecenie jest aliasem, plikiem dyskowym, funkcją powłoki, poleceniem wbudowanym lub słowem zastrzeżonym. Użyj polecenia type
, aby dowiedzieć się, jak wykonywane są polecenia Linuksa i lepiej zrozumieć swój system.
Wykonaj moją licytację
Kiedy otwieramy okno terminala i zaczynamy wydawać polecenia naszemu komputerowi z systemem Linux, rzadko zastanawiamy się, jakie komponenty oprogramowania w systemie operacyjnym reagują na nasze polecenia i wykonują je za nas. Wpisujemy polecenie, uzyskujemy wynik i kontynuujemy pracę.
Wiedza o tym, jak wykonywane są polecenia, pozwala nam lepiej zrozumieć, w jaki sposób zbudowany jest nasz Linux lub inny system operacyjny Unix. Zajrzenie pod maskę może uczynić nas bardziej świadomym użytkownikiem.
Instrukcje, które wydajemy w wierszu poleceń, należą do jednej z następujących kategorii:
- Alias: Polecenie zdefiniowane przez użytkownika (lub system), które powoduje wykonanie innych, zwykle długich lub złożonych sekwencji poleceń.
- Plik dyskowy: binarny plik wykonywalny, taki jak
/usr/bin/top
. - Funkcja powłoki: funkcja zdefiniowana przez użytkownika (lub system), która może być używana w wierszu poleceń lub zawarta w skryptach.
- Polecenie wbudowane: polecenie wykonywane przez samą powłokę, na przykład
pwd
. - Zarezerwowane słowo: słowo, które jest zarezerwowane dla powłoki, na przykład
if
ielif
. Nazywa się je również słowami kluczowymi.
Polecenie typu mówi nam, która kategoria którekolwiek z poleceń Linuksa należy do. Oto krótki samouczek dotyczący zrozumienia wyników polecenia.
Wpisz polecenie
Omówmy kilka szybkich przykładów dla każdej z kategorii poleceń.
type date
Polecenie date
to wykonywalny plik dyskowy.
type ls
Polecenie ls
jest aliasem, opakowującym podstawowe polecenie ls
w celu użycia domyślnie opcji --color=auto
.
type lowdown
Polecenie lowdown
to funkcja zdefiniowana przez użytkownika, która została skonfigurowana na komputerze używanym do badania tego artykułu. Zapewnia szybką migawkę niektórych zasobów systemowych. Jest to połączenie whoami
, w
, free
i df
.
type pwd
Polecenie pwd
jest wbudowanym poleceniem powłoki Bash.
type elif
Polecenie elif
jest słowem zastrzeżonym powłoki Bash.
Używanie wielu poleceń
Możesz podać typowi wiele poleceń do jednoczesnej identyfikacji.
type date top ls
Opcja -t
Żadna z opcji tego typu nie ma nazw. Więc możemy wyjąć naszą książkę z imionami i sami je ochrzcić. Jeśli pomyślisz, że opcja -t
oznacza „zwięzły”, nie będziesz się bardzo mylić. Redukuje odpowiedzi z pisma na pojedyncze słowa.
type -t date
type -t pwd
type -t lowdown
Opcja -a
Nazwijmy tę opcję „wszystkim”. Zawiera listę wszystkich lokalizacji, w których znajduje się polecenie. Zauważ, że ta opcja nie będzie działać, jeśli użyjesz również opcji -p
.
Na przykład, jeśli masz alias o tej samej nazwie, co polecenie bazowe, możesz uzyskać informacje o aliasie i poleceniu.
type -a ls
Opcja -f
Opcja -f
wymusza, aby typ nie szukał funkcji zdefiniowanych przez użytkownika lub system. Pomyśl o tej opcji jako o „wyłączonym wyszukiwaniu funkcji”. Zwróć uwagę, że jeśli polecenie jest funkcją, wpisz zgłosi, że polecenia nie można znaleźć.
type -f top
type -f lowdown
Opcja -P
Jeśli używasz opcji -P
, wpisz spowoduje tylko wyszukiwanie katalogów w $PATH. Możemy więc nazwać tę opcję „ścieżką”. Zwróć uwagę, że ta opcja używa dużej litery „P.”
type -P date chmod adduser
Opcja -p
Jeśli używasz opcji -p
, typ zareaguje tylko wtedy, gdy polecenie jest plikiem na dysku twardym. Zwróć uwagę, że ta opcja używa małych liter „p”.
type -p mount
type -p ls
type -p -a ls
Polecenie type
nie daje żadnej odpowiedzi dla ls
, ponieważ ls
jest aliasem, a nie plikiem dyskowym. Ale jeśli dodamy opcję -a
, aby ten typ szukał wszystkich wystąpień polecenia ls
, wyświetli podstawowy plik dysku, z którego korzysta alias ls
.
Podsumowanie
To było ładne i proste, ale mimo to pouczające. Zwykle myślimy o wszystkim, co wpisujemy w oknie terminala, jako o „poleceniu” i tak to zostawiamy. Ale w rzeczywistości polecenia są implementowane na różne sposoby w systemie Linux. Polecenie type
pozwala dowiedzieć się, który to jest.