Quando si tratta di ottenere il controllo assoluto sul proprio sistema Linux, nulla 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 usarli 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, analizzeremo le varie classificazioni dei comandi della shell in Linux.
Lettura consigliata: 5 interessanti suggerimenti e trucchi per la 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. Programmi eseguibili (comandi del file system)
Quando esegui un comando, Linux cerca nelle directory memorizzate nella variabile ambientale $PATH da sinistra a destra l'eseguibile di quel comando specifico.
Puoi visualizzare le directory in $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, la directory /home/aaronkilik/bin
verrà prima cercato seguito da /usr/local/sbin
e così via, l'ordine è significativo nel processo di ricerca.
Esempi di comandi del file system in /usr/bin
directory:
$ ll /bin/
Risultato 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 l'alias comando integrato della shell e contengono altri comandi della shell con alcune opzioni e argomenti. L'idea è di usare fondamentalmente nomi nuovi e brevi per comandi lunghi.
Lettura consigliata: 10 usi sorprendenti e misteriosi di (!) Simbolo o operatore nei comandi Linux
La sintassi per creare un alias è il 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, segui alcuni esempi di seguito.
$ 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 dopo il prossimo avvio. Puoi impostare alias permanenti nel tuo .bashrc
file come mostrato di seguito.


Dopo averli aggiunti, esegui il comando seguente per attivarli.
$ source ~/.bashrc
3. Parole riservate della shell di Linux
Nella programmazione della shell, parole come se , allora , fi , per , mentre , caso , esac , altro , fino a e molti altri 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 usando type
comando 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 di 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 di 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, upgrade_system
all'interno di uno script.
Lettura consigliata: 5 script di shell per i principianti di Linux per imparare la programmazione della shell
Salva il file e, successivamente, rendi eseguibile lo script. Infine eseguilo come di seguito:
$ chmod +x shell_functions.sh $ ./shell_functions.sh


5. Comandi integrati della shell di Linux
Questi sono comandi Linux integrati nella shell, quindi non puoi trovarli all'interno del file system. Includono pwd , cd , bg , alias , storia , digita , fonte , leggi , esci e molti altri.
Puoi elencare o controllare i comandi integrati di Linux usando type
comando 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
Ulteriori informazioni sull'utilizzo dei comandi integrati in Linux:
- 15 Esempi di comandi 'pwd' in Linux
- 15 Esempi di comandi 'cd' in Linux
- Impara 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 capire di cui sopra, comprese alcune illustrazioni rilevanti, probabilmente hai una buona comprensione delle varie categorie di comandi Linux.
Puoi anche metterti in gioco attraverso la sezione commenti qui sotto per qualsiasi domanda o idea supplementare che vorresti offrirci.