10 trucos útiles de la línea de comandos de Linux para principiantes - Parte 2


Recuerdo que cuando comencé a usar Linux y estaba acostumbrado a la interfaz gráfica de Windows, realmente odiaba la terminal de Linux. En ese entonces, los comandos me resultaban difíciles de recordar y el uso adecuado de cada uno de ellos. Con el tiempo me di cuenta de la belleza, la flexibilidad y la facilidad de uso del terminal Linux y, para ser sincero, no pasa un día sin usarlo. Hoy, me gustaría compartir algunos trucos y consejos útiles para los recién llegados a Linux para facilitar su transición a Linux o simplemente ayudarlos a aprender algo nuevo (con suerte).

  1. 5 Interesting Command Line Tips and Tricks in Linux – Part 1
  2. 5 Useful Commands to Manage Linux File Types – Part 3

Este artículo tiene la intención de mostrarle algunos trucos útiles sobre cómo usar el terminal Linux como un profesional con una cantidad mínima de habilidades. Todo lo que necesita es una terminal Linux y algo de tiempo libre para probar estos comandos.

1. Encuentra el comando correcto

Ejecutar el comando correcto puede ser vital para su sistema. Sin embargo, en Linux hay tantas líneas de comando diferentes que a menudo son difíciles de recordar. Entonces, ¿cómo busca el comando correcto que necesita? La respuesta es adecuada. Todo lo que necesitas para ejecutar es:

# apropos <description>

Donde debe cambiar la "descripción" con la descripción real del comando que está buscando. He aquí un buen ejemplo:

# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

A la izquierda puede ver los comandos y a la derecha su descripción.

2. Ejecutar el comando anterior

Muchas veces necesitará ejecutar el mismo comando una y otra vez. Si bien puede presionar repetidamente la tecla Arriba en su teclado, puede usar el comando de historial en su lugar. Este comando enumerará todos los comandos que ingresó desde que lanzó el terminal:

# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname tecmint.com
    4  hostnamectl tecmint.com
    5  man hostnamectl 
    6  hostnamectl --set-hostname tecmint.com
    7  hostnamectl -set-hostname tecmint.com
    8  hostnamectl set-hostname tecmint.com
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

Como verá en el resultado anterior, recibirá una lista de todos los comandos que ha ejecutado. En cada línea tiene un número que indica la fila en la que ha ingresado el comando. Puede recuperar ese comando usando:

!#

Donde # debe cambiarse con el número real del comando. Para una mejor comprensión, consulte el siguiente ejemplo:

!501

Es equivalente a:

# history

3. Usa comandante de medianoche

Si no está acostumbrado a usar comandos como cd, cp, mv, rm, puede usar el comando de medianoche. Es un shell visual fácil de usar en el que también puede usar el mouse:

Gracias a las teclas F1 - F12, puede realizar fácilmente diferentes tareas. Simplemente consulte la leyenda en la parte inferior. Para seleccionar un archivo o carpeta, haga clic en el botón "Insertar".

En resumen, el comando de medianoche se llama "mc". Para instalar mc en su sistema, simplemente ejecute:

$ sudo apt-get install mc        [On Debian based systems]
# yum install mc                 [On Fedora based systems]

A continuación, se muestra un ejemplo sencillo de cómo utilizar Midnight Commander. Abra mc simplemente escribiendo:

# mc

Ahora use el botón TAB para cambiar entre ventanas, izquierda y derecha. Tengo un archivo de LibreOffice que moveré a la carpeta "Software":

Para mover el archivo en el nuevo directorio, presione el botón F6 en su teclado. MC ahora te pedirá confirmación:

Una vez confirmado, el archivo se moverá al nuevo directorio de destino.

Leer más: Cómo usar el Administrador de archivos Midnight Commander en Linux

4. Apague la computadora a una hora específica

A veces, necesitará apagar su computadora algunas horas después de que hayan terminado sus horas de trabajo. Puede configurar su computadora para que se apague a una hora específica usando:

$ sudo shutdown 21:00

Esto le indicará a su computadora que se apague a la hora específica que ha proporcionado. También puede decirle al sistema que se apague después de una cantidad específica de minutos:

$ sudo shutdown +15

De esa forma, el sistema se apagará en 15 minutos.

5. Mostrar información sobre usuarios conocidos

Puede usar un comando simple para enumerar los usuarios de su sistema Linux y cierta información básica sobre ellos. Simplemente use:

# lslogins

Esto debería traerle el siguiente resultado:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. Buscar archivos

La búsqueda de archivos a veces puede no ser tan fácil como cree. Un buen ejemplo de búsqueda de archivos es:

# find /home/user -type f

Este comando buscará todos los archivos ubicados en/home/user. El comando de búsqueda es extremadamente poderoso y puede pasarle más opciones para que su búsqueda sea aún más detallada. Si desea buscar archivos más grandes que el tamaño dado, puede usar:

# find . -type f -size 10M

El comando anterior buscará en el directorio actual todos los archivos que tengan más de 10 MB. Asegúrese de no ejecutar el comando desde el directorio raíz de su sistema Linux, ya que esto puede causar una alta E/S en su máquina.

Una de las combinaciones más utilizadas con la que utilizo find es la opción "exec", que básicamente te permite ejecutar algunas acciones sobre los resultados del comando find.

Por ejemplo, digamos que queremos buscar todos los archivos en un directorio y cambiar sus permisos. Esto se puede hacer fácilmente con:

# find /home/user/files/ -type f -exec chmod 644 {} \;

El comando anterior buscará todos los archivos en el directorio especificado de forma recursiva y ejecutará el comando chmod en los archivos encontrados. Estoy seguro de que encontrará muchos más usos en este comando en el futuro. Por ahora, lea 35 ejemplos de comandos y uso de "buscar" de Linux.

7. Cree árboles de directorios con un comando

Probablemente sepa que puede crear nuevos directorios usando el comando mkdir. Entonces, si desea crear una nueva carpeta, ejecutará algo como esto:

# mkdir new_folder

Pero, ¿qué pasa si desea crear 5 subcarpetas dentro de esa carpeta? Ejecutar mkdir 5 veces seguidas no es una buena solución. En su lugar, puede usar la opción -p así:

# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

Al final, debería tener 5 carpetas ubicadas en new_folder:

# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Copie el archivo en varios directorios

La copia de archivos generalmente se realiza con el comando cp. Copiar un archivo generalmente se ve así:

# cp /path-to-file/my_file.txt /path-to-new-directory/

Ahora imagine que necesita copiar ese archivo en varios directorios:

# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

Esto es un poco absurdo. En su lugar, puede resolver el problema con un simple comando de una línea:

# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. Eliminación de archivos más grandes

A veces, los archivos pueden crecer mucho. He visto casos en los que un único archivo de registro superó los 250 GB debido a una mala capacidad de administración. Eliminar el archivo con la utilidad rm puede no ser suficiente en tales casos debido al hecho de que hay una gran cantidad de datos que deben eliminarse. La operación será "pesada" y debe evitarse. En cambio, puede optar por una solución realmente simple:

# > /path-to-file/huge_file.log

Donde, por supuesto, deberá cambiar la ruta y los nombres de los archivos con los exactos para que coincidan con su caso. El comando anterior simplemente escribirá una salida vacía en el archivo. En palabras más simples, vaciará el archivo sin causar una alta E/S en su sistema.

10. Ejecute el mismo comando en varios servidores Linux

Recientemente, uno de nuestros lectores preguntó en nuestro foro LinuxSay, cómo ejecutar un solo comando en varias cajas de Linux a la vez usando SSH. Tenía las direcciones IP de sus máquinas con este aspecto:

10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Entonces, aquí hay una solución simple para este problema. Recopile las direcciones IP de los servidores en un archivo llamado list.txt, uno debajo del otro, tal como se muestra arriba. Entonces puedes ejecutar:

# for in $i(cat list.txt); do ssh [email protected]$i 'bash command'; done

En el ejemplo anterior, deberá cambiar "usuario" con el usuario real con el que iniciará la sesión y "comando bash" con el comando bash real que desea ejecutar. El método funciona mejor cuando está utilizando autenticación sin contraseña con clave SSH en sus máquinas, ya que de esa manera no necesitará ingresar la contraseña de su usuario una y otra vez.

Tenga en cuenta que es posible que deba pasar algunos parámetros adicionales al comando SSH dependiendo de la configuración de su caja de Linux.

Conclusión

Los ejemplos anteriores son realmente simples y espero que te hayan ayudado a encontrar algo de la belleza de Linux y cómo puedes realizar fácilmente diferentes operaciones que pueden llevar mucho más tiempo en otros sistemas operativos.