Lathack

¿Cómo usar la Shell en Linux?

¿Cómo usar la Shell en Linux?

Introducción

Una vez que nos hemos identificado dentro del sistema, nos enfrentamos con la shell en Linux(también llamado Terminal). Éste aparece simplemente como una interfaz de línea de comandos. Cuando lo iniciemos veremos que cuenta con un indicador para ingresar comandos llamado prompt. Esos comandos son interpretados por dicha consola y enviados al sistema. 

La shell que estamos corriendo en Linux en ese momento configura su prompt correspondiente. La mayoría de estos sistemas tienen como predeterminado la Shell bash, y generalmente está configurado para mostrar el nombre de usuario, nombre del servidor y directorio actual de trabajo en el prompt. Sin embargo, también existen otros tipos de Shell. Como por ejemplo zsh Shell, Finish Shell, ksh Shell, entre otros..

Como mencionamos anteriormente, la Shell en Linux trae por defecto a «bash«, ya que suele ser el más usado y tiene muchas similitudes con otros, por tanto será el que estemos tratando a continuación:

¿Cómo usar la Shell en Linux?

Un ejemplo de este prompt sería:

[operador@debian /etc]$

En este ejemplo, “operador” es el nombre de usuario, debían es el nombre del servidor y /etc es el directorio actual de trabajo (llamado pwd – present working directory). El prompt para el shell de bash es el símbolo $ para un usuario común y #para el usuario root. 

Al prompt lo configuramos a través del archivo /etc/bashrc o el archivo /etc/bash.bashrc (este último presente en distribuciones basadas en Debian). Por medio de este archivo, podemos cambiar la configuración de lo que se muestra en el prompt. Cada usuario puede personalizar el prompt a su gusto, editando el archivo ~/.bashrc o el archivo ~/.profile (este último es más común en las distribuciones basadas en Debian).

Arquitectura y Sistema Operativo

Es importante saber qué tipo de hardware y software estamos utilizando antes de entender y monitorear procesos. El comando uname permite obtener esta información. Así que, luego de loguearnos, ejecutaremos esta vez un comando muy básico y esencial:

# uname -s -r –o

Proporciona respectivamente:

  • El nombre del kernel

  • La versión del kernel

  • El nombre del sistema operativo

Para obtener información del hardware:

# uname -m -p –i

  • Tipo de máquina

  • Tipo de procesador

  • Tipo de plataforma del hardware

Comandos y sintaxis

Los comandos que escribimos, en la línea de Comandos, no son enviados al sistema hasta que no se haya pulsado la tecla Enter. Esto permite editar los comandos antes de que se pasen al sistema. Estos deben seguir una sintaxis específica.

La primera palabra es el comando que se debe ejecutar; ésta puede incluir una ruta absoluta, que es la ruta completa al comando, el cual debe terminar con el nombre del comando. A continuación, deben figurar las opciones que son usadas por el comando llamadas “parámetros”.

Los argumentos del comando van a continuación de las opciones. Cada uno de estos elementos los separaremos en la línea de comandos por medio de un espacio en blanco. El formato de un comando es el siguiente:

Comando 

Por ejemplo, tomemos uno de los más usados, como es ls. Este comando lista los archivos y directorios que hay en el pwd. Para ejecutarlo, simplemente hay que teclear:

$ ls

Opciones

Las opciones son códigos de una letra precedidos por un guión (-) y modifican la acción del comando. Podemos combinar y usar varias opciones con un mismo comando. Las opciones son sensibles a mayúsculas y, en muchas ocasiones, una letra minúscula significará una opción diferente que su correspondiente mayúscula (Esta función se conoce como Key Sensitive). Una opción muy importante disponible con muchos comandos es la -R, que especifica que el comando se debe ejecutar de forma recursiva a través del árbol de directorios (recursivo significa listar el contenido de los subdirectorios contenidos en el directorio del cual queremos ver el contenido).

Si lo que queremos es listar los archivos y los directorios, y que los directorios aparezcan seguidos de una barra inclinada (/), se puede usar la opción -F (probemos el resultado).

$ ls –F
Argumento

Vamos a suponer que deseamos mostrar el contenido del directorio /etc desde otra localización. Además, queremos que se muestre una barra inclinada tras todos los nombres de directorios que estén dentro de /etc. Dicho directorio se va a utilizar como argumento para el comando ls.

En el siguiente ejemplo, el argumento es un directorio que será examinado por el comando:

$ ls -F /etc

Otro caracter especial que podemos utilizar cuando introducimos comandos es la barra invertida (\). Cuando se introduce a la derecha, antes de pulsar la tecla Enter, la barra invertida permite extender el comando a lo largo de varias líneas. Esta barra provoca que el sistema ignore la pulsación de la tecla Enter, y trata todos los comandos como si estuvieran en una única línea. Esta función es muy útil si tecleamos comandos muy largos, para poder partirlos en varias líneas.

Un ejemplo sería el siguiente:

$ ls -F /etc \ ls -F /usr

Dato a considerar

Para ejecutar comandos muy largos utilizamos scripts, en lugar de hacerlo en forma manual directamente sobre la línea de comandos. Veremos esto en otra sección.

Otras opciones que se pueden usar con el comando ls pueden ser:

$ ls –l

Devuelve la lista de archivos y directorios en formato extenso, incluyendo nombre, privilegios de acceso, propietario, tamaño, fecha de última modificación, etc.

$ ls –a

Muestra todos los archivos y directorios del pwd, incluyendo los archivos ocultos.

También podemos combinarlos:

$ ls –la

Concatenación de comandos

En todos los ejemplos utilizados anteriormente, utilizamos la tecla Enter para informar al sistema de que el comando debía ser procesado. Sin embargo, no estamos limitados a ejecutar un único comando de cada vez.

Podemos ejecutar varios comandos, sin que estén conectados entre sí de ningún modo, tecleándolos en la misma línea y separándolos por punto y coma (;).

Por ejemplo, es posible listar la fecha de hoy y el directorio actual tecleando:

$ date ; pwd

El punto y coma es un carácter especial que siempre significa que hay varios comandos en la misma línea. Debido a que esto último tiene un sentido global, no afectan los espacios en blanco en ambos lados del punto y coma para obtener el mismo resultado (date;pwd).

Lo importante a destacar es que un comando termina independientemente de cómo finaliza y se ejecuta a continuación el otro.

También podemos ejecutar varios comandos a la vez pero con los operadores lógicos && y || . En este caso, solo ejecuta el comando si cumple con la función lógica dado que, cuando un comando se ejecuta, devuelve un valor 0 (bien) u otro valor mayor que 0 que se interpreta como error.

$ ls /usuario && date

¿Cómo usar la Shell en Linux?

Como ven, ahí no muestra la fecha porque falló el primer comando. Sin embargo, con:

$ ls -ld /etc && date

Podemos ver que, al funcionar el primer comando, luego se ejecuta el otro.

Comportamiento de bash

Bash usa un conjunto de funciones llamado readline al ingresar comandos. Existen dos modos de operaciones de readline: vim y emacs. El nombre Emacs se debe al nombre de un editor que en algún momento fue muy popular en Linux. A continuación, veremos algunas de sus características.

Algunos atajos de teclado que provee este modo son:

  • Ctrl + t: Intercambia la posición del caracter.

  • Alt + f: Mueve el cursor a la siguiente palabra.

  • Alt + b: Mueve el cursor a la anterior palabra.

  • Ctrl + u: Borra la línea actual.

Completando comandos:

El shell bash incluye una característica denominada “completado de comandos”. Esto nos permite teclear las primeras letras de un comando. Pulsar la tecla tabulador y dejar que el sistema complete el comando por nosotros. Si queremos ejecutar el comando dmesg para mostrar el buffer del kernel, podríamos teclear:

$ dm

y pulsar la tecla Tabulador, de forma que el sistema completará el comando:

$ dmesg

Si existe más de una coincidencia con la cadena tecleada antes de pulsar la tecla Tabulador, el sistema hará sonar un “beep”.

Pulsando de nuevo la tecla Tabulador se mostrarán todas las posibilidades que coincidan con lo tecleado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

1 × 1 =

Lathack
Scroll al inicio