Ricerca nel sito web

Comprensione delle diverse classificazioni dei comandi Shell e del loro utilizzo in Linux


Quando si tratta di ottenere il controllo assoluto sul proprio sistema Linux, niente si avvicina all'interfaccia della riga di comando (CLI). Per diventare un utente esperto di Linux, è necessario comprendere i diversi tipi di comandi della shell e i modi appropriati per utilizzarli dal terminale.

In Linux esistono diversi tipi di comandi e, per un nuovo utente Linux, conoscere il significato dei diversi comandi consente un utilizzo efficiente e preciso. Pertanto, in questo articolo, esamineremo le varie classificazioni dei comandi shell in Linux.

Lettura consigliata: 5 interessanti suggerimenti e trucchi sulla riga di comando in Linux – Parte 1

Una cosa importante da notare è che l'interfaccia della riga di comando è diversa dalla shell, fornisce solo un mezzo per accedere alla shell. La shell, anch'essa programmabile, permette poi di comunicare con il kernel tramite comandi.

Diverse classificazioni dei comandi Linux rientrano nelle seguenti classificazioni:

1. Eseguibili del programma (comandi del file system)

Quando esegui un comando, Linux cerca nelle directory memorizzate nella variabile ambientale ` PATH da sinistra a destra l'eseguibile di quello specifico comando.

Puoi visualizzare le directory nel ` PATH come segue:

echo $PATH

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

Nell'ordine sopra indicato, verrà cercata per prima la directory /home/aaronkilik/bin seguita da /usr/local/sbin e così via, l'ordine è significativo nella ricerca processi.

Esempi di comandi del file system nella directory /usr/bin:

ll /bin/
Uscita del campione
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. Alias Linux

Questi sono comandi definiti dall'utente, vengono creati utilizzando il comando integrato nella shell alias e contengono altri comandi della shell con alcune opzioni e argomenti. L'idea è fondamentalmente quella di utilizzare nomi nuovi e brevi per comandi lunghi.

Lettura consigliata: 10 usi sorprendenti e misteriosi di (!) Simboli o operatori nei comandi Linux

La sintassi per creare un alias è la seguente:

alias newcommand='command -options'

Per elencare tutti gli alias sul tuo sistema, esegui il comando seguente:

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'

Per creare un nuovo alias in Linux, esamina alcuni esempi seguenti.

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

Tuttavia, gli alias che abbiamo creato sopra funzionano solo temporaneamente, quando il sistema viene riavviato, non funzioneranno al successivo avvio. Puoi impostare alias permanenti nel tuo file .bashrc come mostrato di seguito.

Dopo averli aggiunti, esegui il comando seguente per attivarli.

source ~/.bashrc

3. Parole riservate della shell Linux

Nella programmazione della shell, parole come if, allora, fi, for, mentre , case, esac, else, until e molte altre sono parole riservate alla shell. Come suggerisce la descrizione, hanno un significato specializzato per la shell.

Puoi elencare tutte le parole chiave della shell Linux utilizzando il comando type come mostrato:

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

Lettura consigliata: 10 utili operatori di concatenamento Linux con esempi pratici

4. Funzioni della shell Linux

Una funzione di shell è un gruppo di comandi che vengono eseguiti collettivamente all'interno della shell corrente. Le funzioni aiutano a svolgere un compito specifico in uno script di shell. La forma convenzionale di scrittura delle funzioni di shell in uno script è:

function_name() {
command1
command2
…….
}

In alternativa,

function function_name {
command1
command2
…….
}

Diamo un'occhiata a come scrivere funzioni di shell in uno script chiamato 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

Invece di eseguire i due comandi: sudo apt update e sudo apt dist-upgrade dalla riga di comando, abbiamo scritto una semplice funzione di shell per eseguire i due comandi come un unico comando comando, upgrade_system all'interno di uno script.

Lettura consigliata: 5 script di shell per principianti di Linux per imparare a programmare la shell

Salvare il file e successivamente rendere eseguibile lo script. Infine eseguilo come di seguito:

chmod +x shell_functions.sh
./shell_functions.sh

5. Comandi incorporati nella shell Linux

Questi sono comandi Linux integrati nella shell, quindi non è possibile trovarli nel file system. Includono pwd, cd, bg, alias, history, digita, fonte, leggi, esci e molti altri.

Puoi elencare o controllare i comandi integrati di Linux utilizzando il comando type come mostrato:

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

Scopri di più sull'utilizzo dei comandi integrati in Linux:

  1. 15 esempi di comandi "pwd" in Linux
  2. 15 esempi di comandi "cd" in Linux
  3. Scopri la potenza del comando "storia" di Linux

Conclusione

Come utente Linux, è sempre importante conoscere il tipo di comando che stai eseguendo. Credo che, con la spiegazione precisa e semplice da comprendere di cui sopra, incluse alcune illustrazioni rilevanti, probabilmente avrai una buona comprensione delle varie categorie di comandi Linux.

Puoi anche metterti duro attraverso la sezione commenti qui sotto per qualsiasi domanda o idea supplementare che vorresti offrirci.