Nifhmu Klassifikazzjonijiet Differenti tal-Kmandi tal-Shell u l-Użu Tagħhom fil-Linux


Meta niġu biex tikseb kontroll assolut fuq is-sistema Linux tiegħek, allura xejn ma jersaq qrib l-interface tal-linja tal-kmand (CLI). Sabiex issir utent tal-qawwa tal-Linux, wieħed irid jifhem it-tipi differenti ta 'kmandi tal-qoxra u l-modi xierqa kif tużahom mit-terminal.

Fil-Linux, hemm diversi tipi ta 'kmandi, u għal utent Linux ġdid, li tkun taf it-tifsira ta' kmandi differenti tippermetti użu effiċjenti u preċiż. Għalhekk, f'dan l-artikolu, se nimxu permezz tal-klassifikazzjonijiet varji tal-kmandi tal-qoxra fil-Linux.

Ħaġa waħda importanti li wieħed jinnota hija li l-interface tal-linja tal-kmand hija differenti mill-qoxra, tipprovdi biss mezz biex ikollok aċċess għall-qoxra. Il-qoxra, li hija wkoll programmabbli mbagħad tagħmilha possibbli li tikkomunika mal-qalba bl-użu ta 'kmandi.

Klassifikazzjonijiet differenti ta 'kmandi Linux jaqgħu taħt il-klassifikazzjonijiet li ġejjin:

1. Esegwibbli tal-Programm (Kmandi tas-Sistema tal-Fajls)

Meta tmexxi kmand, Linux tfittex fid-direttorji maħżuna fil-varjabbli ambjentali PATH mix-xellug għal-lemin għall-eżekutibbli ta 'dak il-kmand speċifiku.

Tista' tara d-direttorji fil-PATH kif ġej:

$ echo $PATH

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

Fl-ordni ta 'hawn fuq, id-direttorju /home/aaronkilik/bin se jitfittex l-ewwel segwit minn /usr/local/sbin u l-bqija, l-ordni hija sinifikanti fit-tfittxija proċess.

Eżempji ta' kmandi tas-sistema tal-fajls fid-direttorju /usr/bin:

$ ll /bin/
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 Aliases

Dawn huma kmandi ddefiniti mill-utent, huma maħluqa bl-użu tal-kmandi integrati tal-qoxra tal-alias, u fihom kmandi tal-qoxra oħra b'xi għażliet u argumenti. L-ideat huwa li bażikament tuża ismijiet ġodda u qosra għal kmandi twal.

Is-sintassi għall-ħolqien ta' alias hija kif ġej:

$ alias newcommand='command -options'

Biex telenka l-psewdonimi kollha fis-sistema tiegħek, agħti l-kmand hawn taħt:

$ 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'

Biex toħloq alias ġdid fil-Linux, mur xi eżempji hawn taħt.

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

Madankollu, il-psewdonomi li ħloqna hawn fuq jaħdmu biss temporanjament, meta s-sistema terġa 'tibda, ma jaħdmux wara l-boot li jmiss. Tista' tissettja psewdonimi permanenti fil-fajl .bashrc tiegħek kif muri hawn taħt.

Wara li żżidhom, mexxi l-kmand hawn taħt biex attiva.

$ source ~/.bashrc

3. Linux Shell Kliem Riżervat

Fl-ipprogrammar tal-qoxra, kliem bħal jekk, allura, fi, għal, filwaqt li, każ, esac, inkella, sakemm u ħafna oħrajn huma kliem riżervati tal-qoxra. Kif timplika d-deskrizzjoni, għandhom tifsira speċjalizzata għall-qoxra.

Tista' telenka l-kliem kjavi kollha tal-qoxra tal-Linux billi tuża l-kmand type kif muri:

$ 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

4. Linux Shell Funzjonijiet

Funzjoni tal-qoxra hija grupp ta 'kmandi li huma esegwiti kollettivament fi ħdan il-qoxra attwali. Il-funzjonijiet jgħinu fit-twettiq ta 'kompitu speċifiku fi script shell. Il-forma konvenzjonali tal-funzjonijiet tal-qoxra tal-kitba fi skript hija:

function_name() {
command1
command2
…….
}

Alternattivament,

function function_name {
command1
command2
…….
}

Ejja nagħtu ħarsa lejn kif tikteb funzjonijiet tal-qoxra fi skript bl-isem 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

Minflok ma nwettqu ż-żewġ kmandi: sudo apt update u sudo apt dist-upgrade mil-linja tal-kmand, ktibna funzjoni sempliċi tal-qoxra biex tesegwixxi ż-żewġ kmandi bħala waħda waħda. kmand, upgrade_system fi skript.

Issejvja l-fajl u wara, agħmel l-iskrittura eżekutibbli. Fl-aħħar ħaddem kif hawn taħt:

$ chmod +x shell_functions.sh
$ ./shell_functions.sh

5. Linux Shell Built-in Kmandi

Dawn huma kmandi tal-Linux li nbnew fil-qoxra, u għalhekk ma tistax issibhom fis-sistema tal-fajls. Dawn jinkludu pwd, cd, bg, alias, storja, tip, sors, qari, ħruġ u ħafna oħrajn.

Tista' telenka jew tiċċekkja l-kmandi integrati tal-Linux billi tuża l-kmand type kif muri:

$ 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

Tgħallem dwar xi użu ta' Kmandi integrati tal-Linux:

  1. 15 Eżempji ta’ Kmand ‘pwd’ fil-Linux
  2. 15 Eżempji ta’ Kmand ‘cd’ fil-Linux
  3. Tgħallem il-Qawwa tal-Kmand tal-‘istorja’ tal-Linux

Konklużjoni

Bħala utent Linux, huwa dejjem importanti li tkun taf it-tip ta 'kmand li qed taħdem. Nemmen, bl-ispjegazzjoni preċiża u sempliċi biex tinftiehem hawn fuq inkluża ftit illustrazzjonijiet rilevanti, inti probabilment għandek fehim tajjeb tal-kategoriji varji ta 'kmandi Linux.

Tista' wkoll tidħol iebsa permezz tat-taqsima tal-kummenti hawn taħt għal kwalunkwe mistoqsija jew ideat supplimentari li tixtieq toffrilna.