Verstinn verschidde Klassifikatioune vu Shell Kommandoen an hir Notzung am Linux
Wann et drëm geet absolut Kontroll iwwer Äre Linux System ze kréien, da kënnt näischt no bei der Kommandozeil-Interface (CLI). Fir e Linux Power User ze ginn, muss een déi verschidden Aarte vu Shellbefehle verstoen an déi entspriechend Weeër fir se vum Terminal ze benotzen.
Am Linux ginn et verschidden Aarte vu Kommandoen, a fir en neie Linux Benotzer, d'Bedeitung vu verschiddene Kommandoen ze kennen erméiglecht et effizient a präzis Notzung. Dofir, an dësem Artikel, wäerte mir duerch déi verschidde Klassifikatiounen vu Shell Kommandoen am Linux goen.
Eng wichteg Saach fir ze notéieren ass datt d'Kommandozeil-Interface anescht ass wéi d'Shell, et bitt nëmmen e Mëttel fir Iech op d'Shell ze kommen. D'Shell, déi och programméierbar ass, mécht et méiglech mat dem Kernel mat Kommandoen ze kommunizéieren.
Verschidde Klassifikatioune vu Linux Kommandoen falen ënner de folgende Klassifikatiounen:
1. Programm Executables (Dateisystem Kommandoen)
Wann Dir e Kommando leeft, sicht Linux duerch d'Verzeichnisser déi an der PATH Ëmweltvariabel vu lénks op riets gespäichert sinn fir den Ausféierbar vun deem spezifesche Kommando.
Dir kënnt d'Verzeichnisser am PATH
kucken wéi follegt:
$ echo $PATH /home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
An der uewe genannter Uerdnung gëtt de Verzeechnes /home/aaronkilik/bin
als éischt gesicht gefollegt vun /usr/local/sbin
a sou weider, d'Bestellung ass bedeitend an der Sich Prozess.
Beispiller vu Dateisystembefehle am /usr/bin
Verzeichnis:
$ 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 Aliasen
Dëst sinn Benotzerdefinéiert Kommandoen, si gi mam Alias Shell agebaute Kommando erstallt, an enthalen aner Shellbefehle mat e puer Optiounen an Argumenter. D'Iddien sinn am Fong nei a kuerz Nimm fir laang Kommandoen ze benotzen.
D'Syntax fir en Alias ze kreéieren ass wéi follegt:
$ alias newcommand='command -options'
Fir all Aliasen op Ärem System ze lëschten, gitt de Kommando hei ënnen:
$ 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'
Fir en neien Alias am Linux ze kreéieren, gitt duerch e puer Beispiller hei ënnen.
$ alias update='sudo apt update' $ alias upgrade='sudo apt dist-upgrade' $ alias -p | grep 'up'
Wéi och ëmmer, d'Aliasen, déi mir uewen erstallt hunn, funktionnéieren nëmmen temporär, wann de System nei gestart gëtt, funktionnéiere se net nom nächste Boot. Dir kënnt permanent Aliasen an Ärem .bashrc
-Datei setzen wéi hei ënnendrënner.
Nodeems Dir se bäigefüügt hutt, fuert de Kommando hei ënnen fir aktiv.
$ source ~/.bashrc
3. Linux Shell Reservéiert Wierder
An der Shell-Programméierung, Wierder wéi wann, dann, fi, fir, iwwerdeems, Fall, esac, soss, bis a vill anerer sinn Shell-reservéiert Wierder. Wéi d'Beschreiwung implizéiert, si hu spezialiséiert Bedeitung fir d'Schuel.
Dir kënnt all Linux Shell Schlësselwieder oplëschten andeems Dir Typ
Kommando benotzt wéi gewisen:
$ 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 Funktiounen
Eng Shellfunktioun ass eng Grupp vu Kommandoen déi kollektiv bannent der aktueller Shell ausgefouert ginn. Funktiounen hëllefen eng spezifesch Aufgab an engem Shell-Skript auszeféieren. Déi konventionell Form vu Schreifshellfunktiounen an engem Skript ass:
function_name() { command1 command2 ……. }
Alternativ,
function function_name { command1 command2 ……. }
Loosst eis kucken wéi Shell Funktiounen an engem Skript mam Numm shell_functions.sh
schreiwen.
#!/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
Amplaz déi zwee Kommandoen auszeféieren: sudo apt update
an sudo apt dist-upgrade
vun der Kommandozeil, hu mir eng einfach Shell-Funktioun geschriwwen fir déi zwee Kommandoen als eenzeg auszeféieren. Kommando, upgrade_system
an engem Skript.
Späichert d'Datei an duerno, maacht de Skript ausféierbar. Endlech lafen et wéi hei ënnen:
$ chmod +x shell_functions.sh $ ./shell_functions.sh
5. Linux Shell Built-in Kommandoen
Dëst sinn Linux Kommandoen déi an der Shell agebaut sinn, sou datt Dir se net am Dateiesystem fannt. Si enthalen pwd, CD, bg, Alias, Geschicht, Typ, Quell, Liesen, Sortie a vill anerer.
Dir kënnt Linux agebaute Kommandoen oplëschten oder iwwerpréiwen andeems Dir Typ
Kommando wéi gewisen:
$ 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
Léiert iwwer e puer Linux agebaute Kommandoen Notzung:
- 15 'pwd' Kommando Beispiller am Linux
- 15 'cd' Kommando Beispiller am Linux
- Léiert d'Kraaft vum Linux 'Geschicht' Kommando
Conclusioun
Als Linux Benotzer ass et ëmmer wichteg ze wëssen wéi eng Zort Kommando Dir leeft. Ech gleewen, mat der präzis an einfach ze verstoen Erklärung uewendriwwer mat e puer relevant Illustratiounen, hutt Dir wahrscheinlech e gutt Verständnis vun de verschiddene Kategorien vu Linux Kommandoen.
Dir kënnt och schwéier duerch d'Kommentarsektioun hei drënner kommen fir all Froen oder Ergänzungs Iddien déi Dir eis gäre géift bidden.