Înțelegerea diferitelor clasificări ale comenzilor Shell și utilizarea lor în Linux


Când vine vorba de obținerea controlului absolut asupra sistemului dvs. Linux, atunci nimic nu se apropie de interfața de linie de comandă (CLI). Pentru a deveni un utilizator cu putere Linux, trebuie să înțelegeți diferitele tipuri de comenzi shell și modalitățile adecvate de utilizare a acestora din terminal.

În Linux, există mai multe tipuri de comenzi, iar pentru un utilizator nou Linux, cunoașterea semnificației diferitelor comenzi permite o utilizare eficientă și precisă. Prin urmare, în acest articol, vom trece prin diferitele clasificări ale comenzilor shell în Linux.

Lectură recomandată: 5 sfaturi și trucuri interesante pentru linia de comandă în Linux – Partea 1

Un lucru important de remarcat este că interfața liniei de comandă este diferită de shell, oferind doar un mijloc pentru a accesa shell-ul. Shell-ul, care este de asemenea programabil, face posibilă comunicarea cu nucleul folosind comenzi.

Diferite clasificări ale comenzilor Linux se încadrează în următoarele clasificări:

1. Programe executabile (comenzi ale sistemului de fișiere)

Când rulați o comandă, Linux caută prin directoarele stocate în variabila de mediu ` PATH de la stânga la dreapta pentru executabilul acelei comenzi specifice.

Puteți vizualiza directoarele în ` PATH după cum urmează:

echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

În ordinea de mai sus, directorul /home/aaronkilik/bin va fi căutat mai întâi, urmat de /usr/local/sbin și așa mai departe, ordinea este semnificativă în căutare proces.

Exemple de comenzi ale sistemului de fișiere din directorul /usr/bin:

ll /bin/
Ieșire eșantion
total 16284
drwxr-xr-x  2 root root    4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root    4096 Jul 31 16:29 ../
-rwxr-xr-x  1 root root    6456 Apr 14 18:53 archdetect*
-rwxr-xr-x  1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x  1 root root  520992 Jan 20  2016 btrfs*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-calc-size*
lrwxrwxrwx  1 root root       5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x  1 root root  278376 Jan 20  2016 btrfs-convert*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-debug-tree*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-find-root*
-rwxr-xr-x  1 root root  270136 Jan 20  2016 btrfs-image*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-map-logical*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-select-super*
-rwxr-xr-x  1 root root  253816 Jan 20  2016 btrfs-show-super*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfstune*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-zero-log*
-rwxr-xr-x  1 root root   31288 May 20  2015 bunzip2*
-rwxr-xr-x  1 root root 1964536 Aug 19  2015 busybox*
-rwxr-xr-x  1 root root   31288 May 20  2015 bzcat*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x  1 root root    2140 May 20  2015 bzdiff*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x  1 root root    4877 May 20  2015 bzexe*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x  1 root root    3642 May 20  2015 bzgrep*

2. Aliasuri Linux

Acestea sunt comenzi definite de utilizator, sunt create folosind comanda încorporată alias shell și conțin alte comenzi shell cu unele opțiuni și argumente. Ideea este să folosiți, practic, nume noi și scurte pentru comenzi lungi.

Lectură sugerată: 10 utilizări uimitoare și misterioase ale simbolului sau operatorului (!) în comenzile Linux

Sintaxa pentru crearea unui alias este următoarea:

alias newcommand='command -options'

Pentru a lista toate alias-urile de pe sistemul dvs., lansați comanda de mai jos:

alias -p

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Pentru a crea un nou alias în Linux, parcurgeți câteva exemple de mai jos.

alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'

Cu toate acestea, aliasurile pe care le-am creat mai sus funcționează doar temporar, când sistemul este repornit, nu vor funcționa după următoarea pornire. Puteți seta aliasuri permanente în fișierul dvs. .bashrc așa cum se arată mai jos.

După ce le adăugați, rulați comanda de mai jos pentru a activa.

source ~/.bashrc

3. Linux Shell Cuvinte rezervate

În programarea shell, cuvinte precum dacă, atunci, fi, pentru, în timp ce >, case, esac, else, până și multe altele sunt cuvinte rezervate shell. După cum sugerează descrierea, ele au o semnificație specializată pentru coajă.

Puteți enumera toate cuvintele cheie shell Linux folosind comanda type după cum se arată:

type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword

Lectură sugerată: 10 operatori de înlănțuire Linux utili cu exemple practice

4. Funcții Linux Shell

O funcție shell este un grup de comenzi care sunt executate colectiv în cadrul shell-ului curent. Funcțiile ajută la îndeplinirea unei sarcini specifice într-un script shell. Forma convențională de scriere a funcțiilor shell într-un script este:

function_name() {
command1
command2
…….
}

Alternativ,

function function_name {
command1
command2
…….
}

Să aruncăm o privire la cum să scrieți funcții shell într-un script numit shell_functions.sh.

#!/bin/bash 

#write a shell function to update and upgrade installed packages 
upgrade_system(){
        sudo apt update;
        sudo apt dist-upgrade;
}

#execute function
upgrade_system

În loc să executăm cele două comenzi: sudo apt update și sudo apt dist-upgrade din linia de comandă, am scris o funcție shell simplă pentru a executa cele două comenzi ca o singură. comandă, upgrade_system într-un script.

Lectură sugerată: 5 scripturi Shell pentru începătorii Linux pentru a învăța programarea Shell

Salvați fișierul și apoi faceți executabil scriptul. În cele din urmă, rulați-l ca mai jos:

chmod +x shell_functions.sh
./shell_functions.sh

5. Comenzi încorporate Linux Shell

Acestea sunt comenzi Linux integrate în shell, astfel încât nu le puteți găsi în sistemul de fișiere. Acestea includ pwd, cd, bg, alias, istoria, tip, sursă, citește, ieșire și multe altele.

Puteți lista sau verifica comenzile încorporate Linux folosind comanda type după cum se arată:

type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin

Aflați despre utilizarea unor comenzi încorporate Linux:

  1. 15 exemple de comenzi „pwd” în Linux
  2. 15 exemple de comenzi „cd” în Linux
  3. Aflați Puterea comenzii „istoriei” Linux

Concluzie

Ca utilizator Linux, este întotdeauna important să cunoașteți tipul de comandă pe care o executați. Cred că, cu explicația precisă și ușor de înțeles de mai sus, inclusiv câteva ilustrații relevante, probabil că aveți o bună înțelegere a diferitelor categorii de comenzi Linux.

Puteți, de asemenea, să intrați în secțiunea de comentarii de mai jos pentru orice întrebări sau idei suplimentare pe care ați dori să ni le oferiți.