GNU/Linux >> Tutoriales Linux >  >> Linux

Comprender las diferentes clasificaciones de los comandos de Shell y su uso en Linux

Cuando se trata de obtener un control absoluto sobre su sistema Linux, nada se acerca a la interfaz de línea de comandos (CLI). Para convertirse en un usuario avanzado de Linux, uno debe comprender los diferentes tipos de comandos de shell y las formas apropiadas de usarlos desde la terminal.

En Linux, hay varios tipos de comandos, y para un nuevo usuario de Linux, conocer el significado de los diferentes comandos permite un uso eficiente y preciso. Por lo tanto, en este artículo, analizaremos las diversas clasificaciones de los comandos de shell en Linux.

Lectura sugerida: 5 consejos y trucos interesantes sobre la línea de comandos en Linux - Parte 1

Una cosa importante a tener en cuenta es que la interfaz de la línea de comandos es diferente del shell, solo proporciona un medio para acceder al shell. El shell, que también es programable, permite comunicarse con el kernel mediante comandos.

Las diferentes clasificaciones de los comandos de Linux se incluyen en las siguientes clasificaciones:

1. Ejecutables del programa (comandos del sistema de archivos)

Cuando ejecuta un comando, Linux busca en los directorios almacenados en la variable ambiental $PATH de izquierda a derecha para encontrar el ejecutable de ese comando específico.

Puede ver los directorios en el $PATH de la siguiente manera:

$ echo $PATH

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

En el orden anterior, el directorio /home/aaronkilik/bin se buscará primero seguido de /usr/local/sbin y así sucesivamente, el orden es significativo en el proceso de búsqueda.

Ejemplos de comandos del sistema de archivos en /usr/bin directorio:

$ ll /bin/
Salida de muestra
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 ​​de Linux

Estos son comandos definidos por el usuario, se crean usando el alias comando incorporado de shell y contienen otros comandos de shell con algunas opciones y argumentos. La idea es básicamente usar nombres nuevos y cortos para comandos largos.

Lectura sugerida: 10 usos asombrosos y misteriosos de (!) símbolo u operador en los comandos de Linux

La sintaxis para crear un alias es el siguiente:

$ alias newcommand='command -options'

Para enumerar todos los alias en su sistema, emita el siguiente comando:

$ 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'

Para crear un nuevo alias en Linux, consulte algunos ejemplos a continuación.

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

Sin embargo, los alias que hemos creado anteriormente solo funcionan temporalmente, cuando se reinicia el sistema, no funcionarán después del próximo arranque. Puede establecer alias permanentes en su .bashrc archivo como se muestra a continuación.

Después de agregarlos, ejecute el siguiente comando para activarlos.

$ source ~/.bashrc

3. Palabras reservadas de shell de Linux

En la programación shell, palabras como si , entonces , fi , para , mientras , caso , esac , más , hasta y muchas otras son palabras reservadas de shell. Como implica la descripción, tienen un significado especializado para el caparazón.

Puede enumerar todas las palabras clave de shell de Linux usando type comando como se muestra:

$ 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

Lectura sugerida: 10 operadores útiles de encadenamiento de Linux con ejemplos prácticos

4. Funciones de shell de Linux

Una función de shell es un grupo de comandos que se ejecutan colectivamente dentro del shell actual. Las funciones ayudan a realizar una tarea específica en un script de shell. La forma convencional de escribir funciones de shell en un script es:

function_name() {
command1
command2
…….
}

Alternativamente,

function function_name {
command1
command2
…….
}

Echemos un vistazo a cómo escribir funciones de shell en un script llamado 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

En lugar de ejecutar los dos comandos:sudo apt update y sudo apt dist-upgrade desde la línea de comandos, hemos escrito una función de shell simple para ejecutar los dos comandos como un solo comando, upgrade_system dentro de un guión.

Lectura sugerida: 5 scripts de Shell para principiantes de Linux para aprender a programar Shell

Guarde el archivo y luego haga que el script sea ejecutable. Finalmente, ejecútelo de la siguiente manera:

$ chmod +x shell_functions.sh
$ ./shell_functions.sh

5. Comandos integrados de shell de Linux

Estos son comandos de Linux integrados en el shell, por lo que no puede encontrarlos dentro del sistema de archivos. Incluyen pwd , cd , bg , alias , historia , tipo , fuente , leer , salir y muchos otros.

Puede enumerar o verificar los comandos integrados de Linux usando type comando como se muestra:

$ 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

Obtenga información sobre el uso de algunos comandos integrados de Linux:

  1. 15 ejemplos de comandos 'pwd' en Linux
  2. 15 ejemplos de comandos 'cd' en Linux
  3. Aprenda el poder del comando 'history' de Linux

Conclusión

Como usuario de Linux, siempre es importante saber el tipo de comando que está ejecutando. Creo que, con la explicación precisa y fácil de entender anterior, que incluye algunas ilustraciones relevantes, probablemente tenga una buena comprensión de las diversas categorías de comandos de Linux.

También puede ponerse en contacto a través de la sección de comentarios a continuación para cualquier pregunta o idea complementaria que le gustaría ofrecernos.


Linux
  1. Comandos de reinicio y apagado de Linux

  2. 5 formas de ejecutar comandos UNIX/Linux (y scripts de shell) en segundo plano

  3. Comprender los comandos básicos de Linux

  4. Comprender los comandos de control de trabajos en Linux:bg, fg y CTRL+Z

  5. Comprender los scripts rc en Linux

Comprender fácilmente los comandos de Shell usando el script "Explain Shell" en Linux

Comandos de Linux:trabajos, bg y fg

Cómo instalar y usar Nu Shell en Linux

Linux / Carpeta y /carpeta raíz

shell diferente para usuarios root y no root

Diferencia entre los comandos 'ifconfig' e 'ip'