Introducción
Este tutorial, que es el primero de una serie que enseña los fundamentos de Linux, cubre cómo empezar con el terminal, la línea de comandos de Linux y ejecutar comandos. Si eres nuevo en Linux, querrás familiarizarte con el terminal, ya que es la forma estándar de interactuar con un servidor Linux.
Si deseas aprovechar al máximo este tutorial, necesitarás un servidor Linux al que conectarte y usar. Si aún no tienes uno, puedes crear rápidamente uno siguiendo este enlace: Cómo Crear un Droplet de DigitalOcean. Este tutorial está escrito para un servidor Ubuntu 22.04, pero los principios generales se aplican a cualquier otra distribución de Linux.
Comencemos repasando qué es un emulador de terminal.
Emulador de Terminal
A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.
Aquí hay algunos emuladores de terminal gratuitos y comúnmente utilizados por sistema operativo:
- Mac OS X: Terminal (predeterminado), iTerm 2
- Windows: ConEmu, Terminal de Windows, PuTTy
- Linux: Terminal de Gnome, Konsole, XTerm
Cada emulador de terminal tiene su propio conjunto de características. En general, deberías esperar que un emulador de terminal moderno admita ventanas con pestañas y resaltado de texto.
La Terminal
En un sistema Linux, la terminal es una interfaz de línea de comandos que interpreta los comandos de un usuario y los archivos de script, y le dice al sistema operativo del servidor qué hacer con ellos. Hay varios shells que se utilizan ampliamente, como el shell Bourne-Again (bash
) y el shell Z (zsh
). Cada shell tiene su propio conjunto de características e intrincaciones con respecto a cómo se interpretan los comandos, pero todos incluyen redirección de entrada y salida, variables y pruebas de condición, entre otras cosas.
Este tutorial fue escrito utilizando el shell Bourne-Again, comúnmente conocido como bash
, que es el shell predeterminado para la mayoría de las distribuciones de Linux, incluidas Ubuntu, Fedora y RHEL.
El Símbolo del Sistema
Cuando inicias sesión por primera vez en un servidor, normalmente serás recibido por el Mensaje del Día (MOTD), que suele ser un mensaje informativo que incluye información variada como la versión de la distribución de Linux que está ejecutando el servidor. Después del MOTD, serás llevado al indicador de comando, o prompt de shell, donde puedes emitir comandos al servidor.
La información que se presenta en el indicador de comando puede ser personalizada por el usuario, pero aquí tienes un ejemplo del indicador de comando predeterminado de Ubuntu 20.04:
sammy@webapp:~$
Aquí hay un desglose de la composición del indicador de comando:
sammy
: El nombre de usuario del usuario actualwebapp
: El nombre del host del servidor~
: El directorio actual. Enbash
, que es el shell predeterminado, el~
, o tilde, es un carácter especial que se expande al camino del directorio de inicio del usuario actual; en este caso, representa/home/sammy
$
: El símbolo del indicador. Esto denota el final del indicador de comando, después del cual la entrada del teclado del usuario aparecerá
Aquí tienes un ejemplo de cómo podría lucir el indicador de comando, si estás conectado como root
y en el directorio /var/log
:
root@webapp:/var/log#
Tenga en cuenta que el símbolo que termina el símbolo del indicador de comando es un #
, que es el símbolo estándar del indicador de comando para root
. En Linux, el usuario root
es la cuenta superusuario, que es una cuenta de usuario especial que puede realizar funciones administrativas en todo el sistema. Es un usuario sin restricciones que tiene permiso para realizar cualquier tarea en un servidor.
Ejecución de comandos
Los comandos se pueden emitir en el indicador de comando especificando el nombre de un archivo ejecutable, que puede ser un programa binario o un script. Hay muchos comandos y utilidades estándar de Linux que se instalan con el sistema operativo, que le permiten navegar por el sistema de archivos, instalar paquetes de software y configurar el sistema y las aplicaciones.
Una instancia de un comando en ejecución se conoce como un proceso. Cuando se ejecuta un comando en el primer plano, que es la forma predeterminada en que se ejecutan los comandos, el usuario debe esperar a que el proceso termine antes de regresar al indicador de comando, momento en el cual pueden continuar emitiendo más comandos.
Es importante tener en cuenta que casi todo en Linux distingue entre mayúsculas y minúsculas, incluidos los nombres de archivos y directorios, comandos, argumentos y opciones. Si algo no funciona como se espera, ¡verifique la ortografía y el uso de mayúsculas y minúsculas de sus comandos!
Aquí hay algunos ejemplos que cubrirán los fundamentos de la ejecución de comandos.
Nota: Si aún no estás conectado a un servidor Linux, este es un buen momento para iniciar sesión. Si tienes un servidor Linux pero tienes problemas para conectarte, sigue este enlace: Cómo Conectarte a Tu Droplet con SSH.
Sin Argumentos u Opciones
Para ejecutar un comando sin ningún argumento u opción, escribe el nombre del comando y presiona Enter
.
Si ejecutas un comando de esta manera, mostrará su comportamiento predeterminado, el cual varía de un comando a otro. Por ejemplo, si ejecutas el comando cd
sin ningún argumento, volverás al directorio principal de tu usuario actual. El comando ls
mostrará una lista de archivos y directorios en el directorio actual. El comando ip
sin ningún argumento mostrará un mensaje que te indica cómo utilizar el comando ip
.
Intenta ejecutar el comando ls
sin argumentos para listar los archivos y directorios en tu directorio actual (puede que no haya ninguno):
Con Argumentos
Muchos comandos aceptan argumentos, o parámetros, que pueden afectar el comportamiento de un comando. Por ejemplo, la forma más común de usar el comando cd
es pasarle un único argumento que especifique a qué directorio cambiar. Por ejemplo, para cambiar al directorio /usr/bin
, donde se instalan muchos comandos estándar, emitirías este comando:
cd /usr/bin
El componente cd
es el comando, y el primer argumento /usr/bin
sigue al comando. Observa cómo se ha actualizado la ruta actual de tu indicador de comando.
Intenta ejecutar el comando ls
para ver los archivos que se encuentran en tu nuevo directorio actual.
ls
Output…
grub-mkrescue sdiff zgrep
grub-mkstandalone sed zipdetails
grub-mount see zless
grub-ntldr-img select-editor zmore
grub-render-label semver znew
grub-script-check sensible-browser
Con Opciones
La mayoría de los comandos aceptan opciones, también conocidas como indicadores o interruptores, que modifican el comportamiento del comando. Las opciones siguen a un comando, e indican un único -
seguido de una o más opciones, que se representan mediante letras individuales en mayúsculas o minúsculas. Algunas opciones de varias palabras pueden comenzar con --
, seguido del texto del indicador.
Para un ejemplo de cómo funcionan las opciones, veamos el comando ls
. Aquí tienes un par de opciones comunes que resultan útiles al usar ls
:
-l
: imprime un “listado largo”, que incluye detalles adicionales como permisos, propiedad, tamaños de archivo y marcas de tiempo.-a
: listar todos los archivos de un directorio, incluyendo los ocultos (que empiezan con.
)
Para usar la bandera -l
con ls
, utiliza este comando:
Ten en cuenta que la lista incluye los mismos archivos que antes, pero con información adicional sobre cada archivo.
Como se mencionó anteriormente, a menudo se pueden agrupar las opciones. Si deseas utilizar la opción -l
y -a
juntas, podrías ejecutar ls -l -a
, o simplemente combinarlas como en este comando:
Ten en cuenta que la lista incluye los directorios ocultos .
y ..
en la lista, debido a la opción -a
.
Con Opciones y Argumentos
Las opciones y argumentos casi siempre se pueden combinar al ejecutar comandos.
Por ejemplo, podrías verificar el contenido de /home
, independientemente de tu directorio actual, ejecutando este comando ls
:
ls -la /home
ls
es el comando, -la
son las opciones, y /home
es el argumento que indica qué archivo o directorio listar. Esto debería imprimir una lista detallada del directorio /home
, que debería contener los directorios de inicio de sesión de todos los usuarios normales en el servidor.
Variables de entorno
Las variables de entorno son valores nombrados que se utilizan para cambiar cómo se ejecutan comandos y procesos. Cuando inicias sesión en un servidor por primera vez, varias variables de entorno se establecerán según algunos archivos de configuración de forma predeterminada.
Ver todas las variables de entorno
Para ver todas las variables de entorno que están configuradas para una sesión de terminal en particular, ejecuta el comando env
:
env
Probablemente habrá mucha salida. Busca la entrada PATH
:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
La variable de entorno PATH
es una lista delimitada por dos puntos de directorios donde la terminal buscará programas ejecutables o scripts cuando se emita un comando. Por ejemplo, el comando env
se encuentra en /usr/bin
, y puedes ejecutarlo sin especificar su ruta completa porque su ruta está en la variable de entorno PATH
.
Ver el valor de una variable
El valor de una variable de entorno se puede recuperar prefijando el nombre de la variable con un $
. Esto expandirá la variable referenciada a su valor.
Por ejemplo, para imprimir el valor de la variable PATH
, puedes usar el comando echo
:
echo $PATH
O podrías usar la variable HOME
, que se establece en el directorio de inicio del usuario por defecto, para cambiar a tu directorio de inicio de esta manera:
cd $HOME
Si intentas acceder a una variable de entorno que no ha sido establecida, se expandirá a nada; una cadena vacía.
Estableciendo Variables de Entorno
Ahora que sabes cómo ver tus variables de entorno, deberías aprender cómo establecerlas.
Para establecer una variable de entorno, todo lo que necesitas hacer es comenzar con un nombre de variable, seguido inmediatamente por un signo =
, seguido inmediatamente por su valor deseado:
VAR=value
Ten en cuenta que si estableces una variable existente, el valor original será sobrescrito. Si la variable no existía en primer lugar, se creará.
Bash incluye un comando llamado export
que exporta una variable para que sea heredada por los procesos secundarios. Esto te permite usar scripts que hagan referencia a una variable de entorno exportada desde tu sesión actual.
También puedes hacer referencia a variables existentes al establecer una variable. Por ejemplo, si instalaste una aplicación en /opt/app/bin
, podrías agregar ese directorio al final de tu variable de entorno PATH
con este comando:
export PATH=$PATH:/opt/app/bin
Ahora verifica que /opt/app/bin
haya sido agregado al final de tu variable PATH
con echo
:
echo $PATH
Ten en cuenta que al establecer variables de entorno de esta manera solo las configuras para tu sesión actual. Esto significa que si cierras la sesión o cambias a otra sesión de alguna manera, los cambios que hiciste en el entorno no se conservarán. Existe una forma de cambiar permanentemente las variables de entorno, pero esto se cubrirá en un tutorial posterior.
Conclusión
Ahora que has comenzado a aprender sobre la terminal de Linux (y algunos comandos), deberías tener una buena base para expandir tu conocimiento sobre los comandos de Linux. Lee el próximo tutorial de esta serie para aprender cómo navegar, ver y editar archivos y sus permisos.
Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal