GNU/Linux >> Linux Esercitazione >  >> Linux

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

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:

  1. 15 Esempi di comandi 'pwd' in Linux
  2. 15 Esempi di comandi 'cd' in Linux
  3. 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.


Linux
  1. Trova i migliori processi in esecuzione in base al massimo utilizzo di memoria e CPU in Linux

  2. Comprendere i comandi di spegnimento, spegnimento, arresto e riavvio in Linux

  3. Comando Linux Cat:utilizzo ed esempi

  4. Comandi Linux - Panoramica ed esempi

  5. Comandi Linux:job, bg e fg

Comprendere facilmente i comandi della shell utilizzando lo script "Explain Shell" in Linux

Come installare e utilizzare Nu Shell su Linux

Linux / Cartella e cartella /root

shell diversa per utente root e non root

Comprensione delle diverse distribuzioni Linux

Differenza tra i comandi 'ifconfig' e 'ip'