11 comandos de Linux útiles menos conocidos


La línea de comandos de Linux atrae a la mayoría de los entusiastas de Linux. Un usuario normal de Linux generalmente posee un vocabulario de aproximadamente 50-60 comandos para llevar a cabo su tarea diaria. Los comandos de Linux y sus conmutadores siguen siendo el tesoro más valioso para un usuario de Linux, programador y administrador de scripts de Shell. Hay algunos comandos de Linux que son menos conocidos, pero muy útiles y prácticos independientemente de si es un usuario novato o avanzado.

Este mismo artículo tiene como objetivo arrojar luz sobre algunos de los comandos de Linux menos conocidos que seguramente lo ayudarán a manejar su escritorio/servidor de manera más eficiente.

1. sudo !! mando

Ejecutar el comando sin especificar el comando sudo le dará un error de permiso denegado. Por lo tanto, no es necesario que vuelva a escribir todo el comando, solo coloque ‘!!‘ tomará el último comando.

$ apt-get update

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) 
E: Unable to lock directory /var/lib/apt/lists/ 
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
$ sudo !!

sudo apt-get update 
[sudo] password for server: 
…
..
Fetched 474 kB in 16s (28.0 kB/s) 
Reading package lists... Done 
[email protected]:~$

2. comando de Python

El siguiente comando genera una página web simple a través de HTTP para el árbol de estructura de directorios y se puede acceder a él en el puerto 8000 en el navegador hasta que se envíe la señal de interrupción.

# python -m SimpleHTTPServer

3. Comando mtr

La mayoría de nosotros estamos familiarizados con ping y traceroute. ¿Qué tal combinar la funcionalidad de ambos comandos en uno con el comando mtr? En caso de que mtr no esté instalado en su máquina, apt o yum el paquete requerido.

$ sudo apt-get install mtr (On Debian based Systems)
# yum install mtr (On Red Hat based Systems)

Ahora ejecute el comando mtr para comenzar a investigar la conexión de red entre el host en el que se ejecuta mtr y google.com.

# mtr google.com

4. Ctrl + x + e Comando

Este comando es muy útil para administradores y desarrolladores. Para automatizar la tarea del día a día, un administrador necesita abrir el editor escribiendo vi, vim, nano, etc. ¿Qué tal si se activa el editor instantáneo (desde la terminal)?

Simplemente presione "Ctrl-x-e" desde el indicador del terminal y comience a trabajar en el editor.

5. comando nl

El "comando nl" numera las líneas de un archivo. Numere las líneas de un archivo que diga "one.txt" con las líneas que digan (Fedora, Debian, Arch, Slack y Suse). Primero enumere el contenido de un archivo "one.txt" usando el comando cat.

# cat one.txt 

fedora 
debian 
arch 
slack 
suse

Ahora ejecute "nl command" para enumerarlos de forma numerada.

# nl one.txt 

1 fedora 
2 debian 
3 arch 
4 slack 
5 suse

6. comando shuf

El comando "shuf" selecciona aleatoriamente líneas/archivos/carpeta de un archivo/carpeta. Primero enumere el contenido de una carpeta usando el comando ls.

# ls 

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
#  ls | shuf (shuffle Input)

Music 
Documents 
Templates 
Pictures 
Public 
Desktop 
Downloads 
Videos
#  ls | shuf -n1 (pick on random selection)

Public
# ls | shuf -n1 

Videos
# ls | shuf -n1 

Templates
# ls | shuf -n1 

Downloads

Nota: Siempre puede reemplazar "n1" con "n2" para elegir dos selecciones aleatorias o cualquier otro número de selección aleatoria usando n3, n4.…

7. comando ss

La "ss" significa estadísticas de socket. El comando investiga el socket y muestra información similar al comando netstat. Puede mostrar más información de estado y TCP que otras herramientas.

# ss 

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port   
ESTAB      0      0           192.168.1.198:41250        *.*.*.*:http    
CLOSE-WAIT 1      0               127.0.0.1:8000             127.0.0.1:41393   
ESTAB      0      0           192.168.1.198:36239        *.*.*.*:http    
ESTAB      310    0               127.0.0.1:8000             127.0.0.1:41384   
ESTAB      0      0           192.168.1.198:41002       *.*.*.*:http    
ESTAB      0      0               127.0.0.1:41384            127.0.0.1:8000

8. último comando

El comando "último" muestra el historial de los últimos usuarios conectados. Este comando busca en el archivo "/ var/log/wtmp" y muestra una lista de usuarios que han iniciado sesión y que han cerrado sesión junto con tty.

#  last 
server   pts/0        :0               Tue Oct 22 12:03   still logged in   
server   tty8         :0               Tue Oct 22 12:02   still logged in   
…
...
(unknown tty8         :0               Tue Oct 22 12:02 - 12:02  (00:00)    
server   pts/0        :0               Tue Oct 22 10:33 - 12:02  (01:29)    
server   tty7         :0               Tue Oct 22 10:05 - 12:02  (01:56)    
(unknown tty7         :0               Tue Oct 22 10:04 - 10:05  (00:00)    
reboot   system boot  3.2.0-4-686-pae  Tue Oct 22 10:04 - 12:44  (02:39)    

wtmp begins Fri Oct  4 14:43:17 2007

9. curl ifconfig.me

Entonces, ¿cómo obtiene su dirección IP externa? ¿Usas google ?. Bueno, el comando envía su dirección IP externa directamente a su terminal.

# curl ifconfig.me

Nota: Es posible que no tenga el paquete curl instalado, debe utilizar apt/yum para instalar el paquete.

10. comando de árbol

Obtenga la estructura de directorio actual en formato de árbol.

# tree
. 
|-- Desktop 
|-- Documents 
|   `-- 37.odt 
|-- Downloads 
|   |-- attachments.zip 

|   |-- ttf-indic-fonts_0.5.11_all.deb 
|   |-- ttf-indic-fonts_1.1_all.deb 
|   `-- wheezy-nv-install.sh 
|-- Music 
|-- Pictures 
|   |-- Screenshot from 2013-10-22 12:03:49.png 
|   `-- Screenshot from 2013-10-22 12:12:38.png 
|-- Public 
|-- Templates 
`-- Videos 

10 directories, 23 files

11. pstree

Este comando muestra todos los procesos que se ejecutan actualmente junto con el proceso hijo asociado, en un formato de árbol similar a la salida del comando "árbol".

# pstree 
init─┬─NetworkManager───{NetworkManager} 
     ├─accounts-daemon───{accounts-daemon} 
     ├─acpi_fakekeyd 
     ├─acpid 
     ├─apache2───10*[apache2] 
     ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] 
     ├─atd 
     ├─avahi-daemon───avahi-daemon 
     ├─bluetoothd 
     ├─colord───{colord} 
     ├─colord-sane───2*[{colord-sane}] 
     ├─console-kit-dae───64*[{console-kit-dae}] 
     ├─cron 
     ├─cupsd 
     ├─2*[dbus-daemon] 
     ├─dbus-launch 
     ├─dconf-service───2*[{dconf-service}] 
     ├─dovecot─┬─anvil 
     │         ├─config 
     │         └─log 
     ├─exim4 
     ├─gconfd-2 
     ├─gdm3─┬─gdm-simple-slav─┬─Xorg 
     │      │                 ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+ 
     │      │                 │                 │                 ├─gdu-notific+ 
     │      │                 │                 │                 ├─gnome-scree+ 
     │      │                 │                 │                 ├─gnome-setti+ 
     │      │                 │                 │                 ├─gnome-shell+++ 
     │      │                 │                 │                 ├─nm-applet──+++ 
     │      │                 │                 │                 ├─ssh-agent 
     │      │                 │                 │                 ├─tracker-min+ 
     │      │                 │                 │                 ├─tracker-sto+ 
     │      │                 │                 │                 └─3*[{x-sessi+ 
     │      │                 │                 └─2*[{gdm-session-wor}] 
     │      │                 └─{gdm-simple-slav} 
     │      └─{gdm3} 
     ├─6*[getty] 
     ├─gnome-keyring-d───9*[{gnome-keyring-d}] 
     ├─gnome-shell-cal───2*[{gnome-shell-cal}] 
     ├─goa-daemon───{goa-daemon} 
     ├─gsd-printer───{gsd-printer} 
     ├─gvfs-afc-volume───{gvfs-afc-volume}

Eso es todo por ahora. En el siguiente artículo mío, cubriría algunos otros comandos de Linux menos conocidos que serían divertidos. Hasta entonces, estad atentos y conectados a Tecmint. Me gusta y comparte con nosotros y ayúdanos a difundir.

Leer también:

  1. 10 Lesser Known Linux Commands – Part 2
  2. 10 Lesser Known Commands for Linux – Part 3
  3. 10 Lesser Known Effective Linux Commands – Part IV
  4. 10 Lesser Known Useful Linux Commands- Part V