Razumijevanje različitih klasifikacija shell naredbi i njihove upotrebe u Linuxu


Kada je u pitanju sticanje apsolutne kontrole nad vašim Linux sistemom, ništa se ne približava interfejsu komandne linije (CLI). Da biste postali iskusni korisnik Linuxa, morate razumjeti različite tipove shell naredbi i odgovarajuće načine njihovog korištenja s terminala.

U Linuxu postoji nekoliko tipova naredbi, a novom korisniku Linuxa poznavanje značenja različitih naredbi omogućava efikasno i precizno korištenje. Stoga ćemo u ovom članku proći kroz različite klasifikacije shell naredbi u Linuxu.

Preporučeno čitanje: 5 zanimljivih savjeta i trikova za komandnu liniju u Linuxu – 1. dio

Jedna važna stvar koju treba imati na umu je da se interfejs komandne linije razlikuje od ljuske, on samo pruža način za pristup ljusci. Ljuska, koja je takođe programabilna, tada omogućava komunikaciju sa kernelom pomoću komandi.

Različite klasifikacije Linux naredbi spadaju u sljedeće klasifikacije:

1. Izvršni programi (naredbe sistema datoteka)

Kada pokrenete naredbu, Linux pretražuje direktorije pohranjene u varijablu okruženja ` PATH s lijeva na desno za izvršnu datoteku te specifične naredbe.

Možete vidjeti direktorije u ` PATH na sljedeći način:

echo $PATH

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

U gornjem redoslijedu, prvo će se pretraživati direktorij /home/aaronkilik/bin, zatim /usr/local/sbin i tako dalje, redoslijed je značajan u pretraživanju proces.

Primjeri naredbi sistema datoteka u /usr/bin direktoriju:

ll /bin/
Sample Output
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. Linux aliasi

Ovo su korisnički definirane komande, kreirane su korištenjem naredbe alias ugrađene u ljusku i sadrže druge komande ljuske s nekim opcijama i argumentima. Ideja je da se u osnovi koriste nova i kratka imena za dugačke komande.

Predloženo čitanje: 10 nevjerovatnih i misterioznih upotreba (!) simbola ili operatora u Linux komandama

Sintaksa za kreiranje aliasa je sljedeća:

alias newcommand='command -options'

Za popis svih aliasa na vašem sistemu, izdajte naredbu u nastavku:

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'

Da biste kreirali novi alias u Linuxu, prođite kroz nekoliko primjera u nastavku.

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

Međutim, aliasi koje smo kreirali iznad rade samo privremeno, kada se sistem ponovo pokrene, neće raditi nakon sljedećeg pokretanja. Možete postaviti trajne pseudonime u vašoj datoteci .bashrc kao što je prikazano ispod.

Nakon što ih dodate, pokrenite naredbu ispod da biste aktivirali.

source ~/.bashrc

3. Rezervirane riječi za Linux Shell

U programiranju ljuske, riječi kao što su ako, onda, fi, za, dok >, case, esac, else, until i mnoge druge su rezervisane reči za školjku. Kao što opis implicira, oni imaju specijalizovano značenje za školjku.

Možete navesti sve ključne riječi Linux shell koristeći naredbu type kao što je prikazano:

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

Preporučeno čitanje: 10 korisnih Linux lančanih operatera s praktičnim primjerima

4. Funkcije Linux ljuske

Funkcija ljuske je grupa naredbi koje se izvršavaju zajedno unutar trenutne ljuske. Funkcije pomažu da se izvrši određeni zadatak u shell skripti. Konvencionalni oblik pisanja funkcija ljuske u skripti je:

function_name() {
command1
command2
…….
}

Alternativno,

function function_name {
command1
command2
…….
}

Pogledajmo kako napisati funkcije ljuske u skriptu pod nazivom 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

Umjesto da izvršavamo dvije naredbe: sudo apt update i sudo apt dist-upgrade iz komandne linije, napisali smo jednostavnu funkciju ljuske za izvršavanje dvije naredbe kao jednu naredba, upgrade_system unutar skripte.

Preporučeno za čitanje: 5 Shell skripti za Linux početnike koji će naučiti programirati shell

Sačuvajte datoteku i nakon toga učinite skriptu izvršnom. Na kraju ga pokrenite na sljedeći način:

chmod +x shell_functions.sh
./shell_functions.sh

5. Ugrađene komande u Linux ljusci

Ovo su Linux komande koje su ugrađene u ljusku, tako da ih ne možete pronaći u sistemu datoteka. Oni uključuju pwd, cd, bg, alias, istoriju, tip, izvor, čitanje, izlaz i mnoge druge.

Možete navesti ili provjeriti Linux ugrađene komande koristeći naredbu type kao što je prikazano:

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

Saznajte više o korištenju naredbi ugrađenih u Linux:

  1. 15 primjera naredbi 'pwd' u Linuxu
  2. 15 primjera naredbi 'cd' u Linuxu
  3. Naučite snagu naredbe 'povijest' Linuxa

Zaključak

Kao korisniku Linuxa, uvijek je važno znati tip komande koju izvodite. Vjerujem da, s gornjim preciznim i lako razumljivim objašnjenjem, uključujući nekoliko relevantnih ilustracija, vjerojatno dobro razumijete različite kategorije Linux naredbi.

Možete se javiti i putem odjeljka za komentare ispod za sva pitanja ili dodatne ideje koje želite da nam ponudite.