La guía definitiva de la línea de comandos de Linux: tutorial completo de Bash

Bienvenido a nuestra guía definitiva sobre la línea de comandos de Linux. Este tutorial le mostrará algunas de las tecnologías clave de línea de comandos de Linux y le presentará el lenguaje de scripting Bash.

¿Qué es Bash?

Bash (abreviatura de Bourne Again SHell) es un shell de Unix y un intérprete de lenguaje de comandos. Un shell es simplemente un macroprocesador que ejecuta comandos. Es el shell más utilizado empaquetado por defecto para la mayoría de las distribuciones de Linux y un sucesor del shell Korn (ksh) y el shell C (csh).

Muchas cosas que se pueden hacer en el sistema operativo Linux se pueden hacer a través de la línea de comandos. Algunos ejemplos son…

  • Editando archivos
  • Ajustar el volumen del sistema operativo
  • Obtener páginas web de Internet
  • Automatizando el trabajo que haces todos los días

Puede leer más sobre bash aquí, a través de la documentación GNU y a través de la guía tldp.

Usando bash en la línea de comando (Linux, OS X)

Puede comenzar a usar bash en la mayoría de los sistemas operativos Linux y OS X abriendo una terminal. Consideremos un ejemplo simple de hola mundo. Abra su terminal y escriba la siguiente línea (todo después del signo $):

[email protected]:~$ echo "Hello world!" Hello world!

Como puede ver, usamos el comando echo para imprimir la cadena "¡Hola mundo!" a la terminal.

Escribir un script de bash

También puede poner todos sus comandos bash en un archivo .sh y ejecutarlos desde la línea de comandos. Supongamos que tiene un script bash con el siguiente contenido:

#!/bin/bash echo "Hello world!"

Vale la pena señalar que la primera línea del guión comienza con #!. Es una directiva especial que Unix trata de manera diferente.

¿Por qué usamos #! / Bin / bash al principio del archivo de script?

Esto se debe a que es una convención permitir que el shell interactivo sepa qué tipo de intérprete ejecutar para el programa que sigue. La primera línea le dice a Unix que el archivo será ejecutado por / bin / bash. Esta es la ubicación estándar del shell Bourne en casi todos los sistemas Unix. Agregar #! / Bin / bash como la primera línea de su script, le dice al sistema operativo que invoque el shell especificado para ejecutar los comandos que siguen en el script. #!a menudo se le llama "hash-bang", "she-bang" o "sha-bang". Aunque solo se ejecuta si ejecuta su script como ejecutable. Por ejemplo, cuando escribe ./scriptname.extension, buscará en la línea superior para encontrar el intérprete, mientras que, al ejecutar el script como bash scriptname.sh, la primera línea se ignora.

Entonces podría ejecutar el script así: Para hacer que el archivo sea ejecutable, debe llamar a este comando bajo sudo chmod + x "nombre de archivo".

[email protected]:~$ ./myBashScript.sh Hello world!

El guión solo tiene dos líneas. El primero indica qué intérprete utilizar para ejecutar el archivo (en este caso, bash). La segunda línea es el comando que queremos usar, echo, seguido de lo que queremos imprimir, que es "Hello World".

A veces, el script no se ejecutará y el comando anterior devolverá un error. Se debe a los permisos establecidos en el archivo. Para evitar ese uso:

[email protected]:~$ chmod u+x myBashScript.sh

Y luego ejecuta el script.

Línea de comandos de Linux: Bash Cat

Cat es uno de los comandos más utilizados en los sistemas operativos Unix.

Cat se utiliza para leer un archivo secuencialmente e imprimirlo en la salida estándar. El nombre se deriva de su función para con cat enar archivos.

Uso

cat [options] [file_names]

Opciones más utilizadas:

  • -b, número de líneas de salida que no están en blanco
  • -n, numere todas las líneas de salida
  • -s, aprieta varias líneas en blanco adyacentes
  • -v, muestra caracteres no imprimibles, excepto las pestañas y el carácter de final de línea

Ejemplo

Imprima en la terminal el contenido de file.txt:

cat file.txt

Concatenar el contenido de los dos archivos y mostrar el resultado en la terminal:

cat file1.txt file2.txt

Línea de comandos de Linux: Bash cd

Cambie el directorio a la ruta especificada, por ejemplocd projects.

Hay algunos argumentos realmente útiles para ayudar en esto:

  • . se refiere al directorio actual, como ./projects
  • ..se puede utilizar para subir una carpeta, utilizar cd ..y combinar para subir varios niveles../../my_folder
  • /es la raíz de su sistema para llegar a las carpetas principales, tales como system, users, etc.
  • ~es el directorio de inicio, generalmente la ruta /users/username. Regrese a las carpetas a las que se hace referencia en relación con esta ruta incluyéndola al comienzo de su ruta, por ejemplo ~/projects.

Línea de comandos de Linux: Bash head

El cabezal se utiliza para imprimir las primeras diez líneas (por defecto) o cualquier otra cantidad especificada de un archivo o archivos. Cat se utiliza para leer un archivo secuencialmente e imprimirlo en la salida estándar.

es decir, imprime todo el contenido del archivo completo. - eso no siempre es necesario, tal vez solo desee verificar el contenido de un archivo para ver si es el correcto, o verificar que de hecho no esté vacío. El comando head le permite ver las primeras N líneas de un archivo.

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

Man, the abbreviation of manual, is a bash command used to display on-line reference manuals of the given command.

Man displays the reletive man page (short for manual page) of the given command.

Usage

man [options] [command]

Most used options:

  • -f, print a short description of the given command
  • -a, display, in succession, all of the available intro manual pages contained within the manual

Example

Display the man page of ls:

man ls

Linux Command Line: Bash mv

Moves files and folders.

mv source target mv source ... directory

The first argument is the file you want to move, and the second is the location to move it to.

Commonly used options:

  • -f to force move them and overwrite files without checking with the user.
  • -i to prompt confirmation before overwriting files.

That's all. Go forth and use Linux.