Forstå ulike klassifikasjoner av Shell-kommandoer og deres bruk i Linux
Når det gjelder å få absolutt kontroll over Linux-systemet ditt, kommer ingenting i nærheten av kommandolinjegrensesnittet (CLI). For å bli en Linux-kraftbruker må man forstå de forskjellige typene skallkommandoer og de riktige måtene å bruke dem på fra terminalen.
I Linux er det flere typer kommandoer, og for en ny Linux-bruker kan det å kjenne betydningen av forskjellige kommandoer muliggjøre effektiv og presis bruk. Derfor skal vi i denne artikkelen gå gjennom de ulike klassifiseringene av skallkommandoer i Linux.
Foreslått lesing: 5 interessante kommandolinjetips og triks i Linux – del 1
En viktig ting å merke seg er at kommandolinjegrensesnittet er forskjellig fra skallet, det gir bare et middel for deg å få tilgang til skallet. Skallet, som også er programmerbart, gjør det da mulig å kommunisere med kjernen ved hjelp av kommandoer.
Ulike klassifiseringer av Linux-kommandoer faller inn under følgende klassifikasjoner:
1. Programkjørbare filer (filsystemkommandoer)
Når du kjører en kommando, søker Linux gjennom katalogene som er lagret i miljøvariabelen ` PATH fra venstre til høyre etter den kjørbare filen for den spesifikke kommandoen.
Du kan se katalogene i ` PATH
som følger:
echo $PATH
/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
I den ovennevnte rekkefølgen vil katalogen /home/aaronkilik/bin
søkes først etterfulgt av /usr/local/sbin
og så videre, rekkefølgen er betydelig i søket prosess.
Eksempler på filsystemkommandoer i katalogen /usr/bin
:
ll /bin/
Eksempelutgang
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-aliaser
Dette er brukerdefinerte kommandoer, de er opprettet ved hjelp av den innebygde kommandoen alias shell, og inneholder andre shell-kommandoer med noen alternativer og argumenter. Ideene er å i utgangspunktet bruke nye og korte navn for lange kommandoer.
Foreslått lesing: 10 fantastiske og mystiske bruksområder for (!) symbol eller operatør i Linux-kommandoer
Syntaksen for å lage et alias er som følger:
alias newcommand='command -options'
For å liste alle aliaser på systemet ditt, utfør kommandoen nedenfor:
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'
For å lage et nytt alias i Linux, gå gjennom noen eksempler nedenfor.
alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'
Aliassene vi har laget ovenfor fungerer imidlertid bare midlertidig, når systemet startes på nytt, vil de ikke fungere etter neste oppstart. Du kan sette permanente aliaser i .bashrc
-filen som vist nedenfor.
Etter å ha lagt dem til, kjør kommandoen nedenfor for å aktivere.
source ~/.bashrc
3. Reserverte Linux Shell-ord
I skallprogrammering, ord som hvis, da, fi, for, mens >, case, esac, else, til og mange andre er shell-reserverte ord. Som beskrivelsen tilsier, har de spesialisert betydning for skallet.
Du kan liste opp alle Linux-shell-nøkkelord ved å bruke type
-kommandoen som vist:
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
Foreslått lesing: 10 nyttige Linux-kjedeoperatører med praktiske eksempler
4. Linux Shell-funksjoner
En skallfunksjon er en gruppe kommandoer som utføres samlet innenfor det gjeldende skallet. Funksjoner hjelper til med å utføre en spesifikk oppgave i et skallskript. Den konvensjonelle formen for skriveskallfunksjoner i et skript er:
function_name() {
command1
command2
…….
}
Alternativt
function function_name {
command1
command2
…….
}
La oss ta en titt på hvordan du skriver skallfunksjoner i et skript som heter 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
I stedet for å utføre de to kommandoene: sudo apt update
og sudo apt dist-upgrade
fra kommandolinjen, har vi skrevet en enkel skallfunksjon for å utføre de to kommandoene som en enkelt kommando, upgrade_system
i et skript.
Foreslått lesing: 5 Shell-skript for Linux-nybegynnere for å lære seg Shell-programmering
Lagre filen og gjør deretter skriptet kjørbart. Kjør det til slutt som nedenfor:
chmod +x shell_functions.sh
./shell_functions.sh
5. Linux Shell Innebygde kommandoer
Dette er Linux-kommandoer som er innebygd i skallet, så du kan ikke finne dem i filsystemet. De inkluderer pwd, cd, bg, alias, historie, type, kilde, les, exit og mange andre.
Du kan liste opp eller sjekke Linux innebygde kommandoer ved å bruke kommandoen type
som vist:
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ær om bruk av Linux innebygde kommandoer:
- 15 'pwd' kommandoeksempler i Linux
- 15 'cd' kommandoeksempler i Linux
- Lær kraften til Linux 'historie'-kommando
Konklusjon
Som Linux-bruker er det alltid viktig å vite hvilken type kommando du kjører. Jeg tror, med den presise og enkle å forstå forklaringen ovenfor, inkludert noen få relevante illustrasjoner, har du sannsynligvis en god forståelse av de ulike kategoriene av Linux-kommandoer.
Du kan like godt bli tøff gjennom kommentarfeltet nedenfor for spørsmål eller supplerende ideer du ønsker å tilby oss.