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:

  1. 15 'pwd' kommandoeksempler i Linux
  2. 15 'cd' kommandoeksempler i Linux
  3. 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.