Como la mayoría de los sistemas ope­ra­ti­vos modernos, Linux también incluye una shell a través de la cual se puede manejar el sistema con ayuda de las líneas de comandos: todos los ajustes que se realizan en la interfaz gráfica (GUI) también se pueden llevar a cabo en el de­no­mi­na­do shell. Te mostramos los comandos más im­po­r­ta­n­tes y, además, te aclaramos sus funciones y posibles usos.

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad

Lista de los 50 comandos de Linux más im­po­r­ta­n­tes

Comando De­s­cri­p­ción
sudo Ejecuta programas con los permisos de otros usuarios
ls Muestra el contenido del di­re­c­to­rio como una lista
cd Navega por el árbol de ficheros
touch Crea un archivo nuevo
mkdir Crea un di­re­c­to­rio
rm Borra archivo o di­re­c­to­rio
rmdir Borra el di­re­c­to­rio
mv Mueve archivos o di­re­c­to­rios
cp Copia archivos o di­re­c­to­rios
pwd Muestra el nombre del di­re­c­to­rio
zip Escribir ficheros en archivos zip
unzip Extraer archivos de archivos zip
ln Crea un enlace simbólico
cat Agrupa contenido de varios archivos
grep Explora archivos de texto
diff Compara archivos o di­re­c­to­rios
cmp Compara archivos a nivel de byte
tar Escribe y extrae archivos en el fichero tar
echo Muestra una cadena en la salida estándar
clear Limpia la ventana del terminal
ssh Conexión a otro ordeandor con secure shell
wget Descargar un archivo de Internet di­re­c­ta­me­n­te
ping Comprueba la conexión de red
ftp, sftp Tra­n­s­fe­rir archivos a través (S)FTP
ip Ad­mi­ni­s­tra in­te­r­fa­ces IP
apt/pacman/yum Descarga y gestiona paquetes de software
netstat Muestra el estado de las in­te­r­fa­ces de red
tra­ce­rou­te Se­gui­mie­n­to de paquetes de datos
route Muestra y edita tablas de en­ru­ta­mie­n­to IP
dig Solicita in­fo­r­ma­ción del DNS
mount/unmount Añade sistemas de archivos (set up/mount)
dd Copia archivos, pa­r­ti­cio­nes o discos por bits
chmod Gestiona los permisos de acceso
chown Ad­mi­ni­s­tra derechos de pro­pie­ta­rio
adduser Agrega/modifica una cuenta de usuario
passwd Crea/ edita co­n­tra­se­Ã±as para cuentas de usuario
groupadd Crea grupos de usuarios
chattr Gestiona los atributos de los archivos
lsattr Muestra los atributos del archivo
chgrp Ad­mi­ni­s­tra los grupos de archivos y di­re­c­to­rios
man Abre el manual
shutdown, reboot Apaga o reinicia el sistema
top Listado dinámico de los procesos en ejecución
lscpu Muestra in­fo­r­ma­ción sobre el pro­ce­sa­dor
lshw Muestra in­fo­r­ma­ción sobre el hardware
kill In­te­rru­m­pe y finaliza un proceso con PID
killall In­te­rru­m­pe y cierra procesos usando el nombre
nice Define las prio­ri­da­des de los procesos
pgrep Busca el PID mediante un término de búsqueda
ps Muestra una lista de todos los procesos abiertos

Comando de Linux sudo

El comando de Linux sudo (su­b­s­ti­tu­te user do) puede es­ta­ble­cer que la llamada al sistema se ejecute con los derechos de un usuario diferente de forma segura. Ge­ne­ra­l­me­n­te se requiere la co­n­tra­se­ña del usuario que realiza la in­vo­ca­ción.

Cuando se introduce el comando sin indicar ningún nombre de usuario, se utiliza el su­pe­ru­sua­rio root como usuario.

sudo -u USUARIO LLAMADA
bash

Comando de Linux ls

El comando ls de Linux equivale a list y se utiliza para mostrar el contenido de un di­re­c­to­rio (los nombres de todos sus archivos y carpetas).

Esta es la sintaxis del comando:

ls [OPCIONES] DIRECTORIO
bash

Si no se añade a ls ningún di­re­c­to­rio, el comando enumera el contenido del di­re­c­to­rio en curso.

Con ayuda de di­fe­re­n­tes opciones se puede definir qué in­fo­r­ma­ción se ha de mostrar y cómo.

Comando cd de Linux

El comando de Linux cd es la abre­via­tu­ra de change directory y se utiliza para navegar por el di­re­c­to­rio.

La sintaxis de este comando sigue el esquema:

cd [OPCIÓN] DIRECTORIO
bash

Si no se indica ningún di­re­c­to­rio concreto, cd cambia au­to­má­ti­ca­me­n­te al di­re­c­to­rio principal del usuario. Si se acompaña de un guion (-), cd abre el di­re­c­to­rio pre­ce­de­n­te.

Comando touch de Linux

El comando touch de Linux puede usarse para modificar la fecha y la hora de los accesos o los cambios que han tenido lugar en un archivo. Si se utiliza en un archivo que no existe, este se crea au­to­má­ti­ca­me­n­te, lo que hace que este comando también se utilice para generar archivos vacíos.

Para invocar a touch se tiene que seguir este esquema:

touch [OPCIÓN] ARCHIVO
bash

Si de lo que se trata es de cambiar la fecha y la hora de un archivo por una fecha de­te­r­mi­na­da, se utiliza la opción -t, in­clu­ye­n­do la fecha en el formato [AA]MMDDhhmm[.ss].

Ejemplo:

touch -t 1703231037 file.txt
bash

La fecha y la hora del acceso y los cambios respecto a este archivo se han fijado en el 23 de marzo de 2017 a las 10:37 horas. Si se prefiere, el cambio se puede limitar a la fecha de acceso o de mo­di­fi­ca­ción con las opciones -a y -m. Si se utiliza sin la opción -t se sella au­to­má­ti­ca­me­n­te con la fecha y la hora actual.

Comando de Linux mkdir

El comando de Linux mkdir co­rre­s­po­n­de a make directory y permite a los usuarios de Linux crear di­re­c­to­rios desde cero. Para crear un di­re­c­to­rio en el fichero en curso escribe la siguiente sintaxis:

mkdir [OPCIÓN] DIRECTORIO
bash

Si se quiere crear un di­re­c­to­rio nuevo en otro fichero diferente al actual, se ha de indicar la ruta absoluta o relativa al fichero.

Comando rm en Linux

El comando rm en Linux borra archivos o di­re­c­to­rios de forma irre­ve­r­si­ble. Para ello se sigue la siguiente es­tru­c­tu­ra:

rm [OPCIONES] ARCHIVO/ DIRECTORIO
bash

Para eliminar un di­re­c­to­rio junto a todos sus su­b­di­re­c­to­rios se utiliza rm con la opción -R (–recursive):

Comando en Linux rmdir

Si hiciera falta borrar un de­te­r­mi­na­do di­re­c­to­rio, se utiliza el comando rmdir (remove directory) según la siguiente sintaxis:

rmdir [OPCIÓN] DIRECTORIO
bash

Con rmdir, sin embargo, solo se pueden borrar di­re­c­to­rios vacíos. Si se quiere eliminar un fichero con todas sus carpetas y su­b­ca­r­pe­tas se utiliza el comando rm (remove) con la opción -r.

En la Digital Guide, en­co­n­tra­rás otras formas de eliminar un archivo de Linux o eliminar un di­re­c­to­rio de Linux.

Comando mv en Linux

El comando de Linux mv (move) copia un archivo o un di­re­c­to­rio y borra el original. Si esto tiene lugar dentro del mismo di­re­c­to­rio, mv puede uti­li­zar­se también para cambiar el nombre de los archivos.

Para ello se sigue el siguiente esquema:

mv [OPCIÓN] ORIGEN DESTINO

Comando de Linux cp

El comando de Linux cp (copy) se utiliza para copiar archivos o ficheros y sigue la siguiente sintaxis:

cp [OPCIONES] ORIGEN DESTINO
bash

El elemento ORIGEN es el que se ha de copiar y DESTINO se define a un archivo o un di­re­c­to­rio donde se ha de alojar el elemento copiado. Si se define como DESTINO a un archivo que ya existe, el archivo origen reescribe su contenido. También se puede crear un archivo de destino nuevo.

Comando pwd de Linux

Utiliza el comando de Linux pwd (print working directory) para mostrar el nombre del di­re­c­to­rio de trabajo actual.

La sintaxis del comando se muestra como sigue:

pwd [OPCIONES]
bash

Comando de Linux zip

Utiliza el comando zip para comprimir varios ficheros en un archivo zip. La sintaxis del comando es:

zip ARCHIVOS DESTINO
bash

Con DESTINO se hace re­fe­re­n­cia al nombre o ruta de archivo ZIP re­su­l­ta­n­te. Por su parte, ARCHIVOS muestra los nombres o rutas de los archivos que comprimir (separado por espacios).

Comando de Linux unzip

Puedes usar unzip para extraer algún archivo de archivos zip. La sintaxis es:

unzip ARCHIVO.zip -d DESTINO
bash

ARCHIVO hace re­fe­re­n­cia al archivo zip del que puedes extraer el archivo deseado. Si lo prefieres, puedes in­tro­du­cir con -d DESTINO un di­re­c­to­rio de destino, donde se almacenan los archivos re­su­l­ta­n­tes. De lo contrario, se depositan en el di­re­c­to­rio actual.

Comando de Linux ln

El comando de Linux ln (link) crea un vínculo que lleva a un archivo o un di­re­c­to­rio. Con ello se genera otra entrada a este archivo que permite acceder a él a través de una ruta diferente. Para invocar ln el comando ha de incluir, como mínimo, la ruta al archivo de origen.

ln [OPCIONES] ruta/al/archivo de origen
bash

En este caso, el enlace se crea en el di­re­c­to­rio actual de trabajo sin cambiar de nombre. Otra al­te­r­na­ti­va consiste en indicar una ruta de destino y dar un nombre diferente al vínculo:

ln [OPCIONES] ruta/al/archivo de origen ruta/al/enlace
bash

Comando de Linux cat

El comandocat de Linux (co­n­ca­te­na­te) nace como he­rra­mie­n­ta para enlazar archivos y puede emplearse como pager para mostrar el contenido de los archivos en el terminal.

Escribe cat con la siguiente sintaxis para leer y mostrar un archivo en la salida estándar stdout:

cat OPCIONES ARCHIVOS
bash

Si incluyes varios archivos, sepáralos mediantes espacios:

cat OPCIONES ARCHIVO1 ARCHIVO2
bash

Comando de Linux grep

Con el comando de Linux grep se pueden buscar archivos de texto tales como archivos de registro. Como patrón de búsqueda se pueden utilizar se­cue­n­cias de ca­ra­c­te­res o ex­pre­sio­nes regulares. Utiliza grep según esta sintaxis:

grep [OPCIONES] PATRÓN_DE_BÚSQUEDA [ARCHIVOS]
bash

Si grep encuentra una cadena que se co­rre­s­po­n­de con el patrón dado, el terminal muestra el número de línea y es­pe­ci­fi­ca el nombre del archivo. Por regla general, grep se aplica a todos los archivos del di­re­c­to­rio de trabajo actual. La opción -r permite la búsqueda recursiva en los su­b­di­re­c­to­rios.

Comando de Linux diff

Con el programa diff se cotejan dos archivos. También permite averiguar si dos di­re­c­to­rios contienen los mismos archivos. Se le invoca con esta es­tru­c­tu­ra:

diff [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Comando de Linux cmp

A di­fe­re­n­cia de diff, en cmp el cotejo tiene lugar byte por byte, lo que lo hace es­pe­cia­l­me­n­te idóneo para archivos binarios. Invoca a cmp según la siguiente sintaxis:

cmp [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Si cmp encuentra di­fe­re­n­cias, en el terminal se muestra el número de bytes y el de la línea del primer archivo que difiera.

Comando de Linux tar

El comando tar permite escribir ficheros y di­re­c­to­rios de forma se­cue­n­cial en un archivo tar y usarlos como backups si fuera necesario. A di­fe­re­n­cia de lo que ocurre con el formato Zip propio de sistemas Windows, con tar los derechos de usuario de los ficheros guardados no se pierden tampoco después de de­s­co­m­pri­mi­r­los. Utiliza la siguiente sintaxis:

tar [OPCIONES] ARCHIVOS
bash

Si quieres crear un archivo nuevo, utiliza tar con las opciones -c (crear nuevo archivo) y -f (escribir un archivo en el fichero indicado o extraerlo de él). Para más in­fo­r­ma­ción consulta nuestro artículo “Programa de archivo tar: creación de backups y archivado de ficheros”.

Comando de Linux echo

Emplea el comando de Linux echo para que el sistema muestre cadenas de ca­ra­c­te­res por líneas en la salida estándar (que suele ser el terminal).

La sintaxis básica del comando es:

echo [OPCIONES] CADENA
bash

Comando de Linux clear

Con el comando clear se borran todos los comandos de la sesión.

clear
bash

El usuario recibe un terminal vacío con el prompt a la espera de órdenes. Los comandos in­tro­du­ci­dos an­te­rio­r­me­n­te se guardan en el buffer de retroceso. También se puede limpiar la ventana de la consola con el atajo de teclado [CTRL] + [L]

Comando de Linux ssh

Con ssh puedes conectar tu ordenador a un ordenador externo mediante el protocolo SSH. De esta forma, te en­co­n­tra­rás en la shell de otro ordenador. La sintaxis es:

ssh USUARIO@HOST
bash

USUARIO y HOST se refieren al nombre de usuario con el que quieres iniciar sesión y a la dirección del ordenador externo.

Comando de Linux wget

Puedes usar el comando de Linux wget para descargar archivos de Internet. Para ello, aplica la siguiente sintaxis:

wget [OPCIÓN] ENLACE
bash

En ENLACE se indica la URL en la que se puede encontrar el archivo. Si lo deseas, puedes incluir el argumento opcional -c para continuar con una descarga que ha sido in­te­rru­m­pi­da.

Comando de Linux ping

Utiliza el comando de Linux ping para comprobar la di­s­po­ni­bi­li­dad de otros or­de­na­do­res en la red. Este comando sigue la siguiente sintaxis:

ping [OPCIONES] DESTINO
bash

Además de registrar la franja de tiempo que pasa entre el envío del paquete de datos y la recepción de la respuesta (Round trip time o RTT), ping también escribe la dirección IP del sistema de destino en el terminal. Con ar­gu­me­n­tos op­cio­na­les es posible es­ta­ble­cer el número de paquetes o la franja temporal en segundos tras los cuales ping finaliza au­to­má­ti­ca­me­n­te.

Comandos de Linux ftp o sftp

Estos comandos permiten in­te­r­ca­m­biar archivos entre el sistema local y otro ordenador de la red. Para ello, se utiliza FTP (File Transfer Protocol). Para es­ta­ble­cer la conexión con el servidor FTP del ordenador de destino, usa ftp con la sintaxis que se muestra a co­n­ti­nua­ción:

ftp [OPCIONES] [HOST[PUERTO]]
bash

El di­re­c­cio­na­mie­n­to se realiza mediante el nombre de host o la dirección IP. Si se desea, se puede es­pe­ci­fi­car un número de puerto. Utiliza FTP solo en aquellas redes en las que confíes, ya que este protocolo no es seguro. Por motivos de seguridad, es mejor optar por SFTP (SSH File Transfer Protocol). El comando de Linux sftp funciona siguiendo el mismo principio que ftp, aunque en este caso la tra­n­s­fe­re­n­cia está cifrada. SFTP utiliza el estándar Secure Shell (SSH), también sus métodos de au­te­n­ti­ca­ción. En este artículo, te ex­pli­ca­mos cómo usar claves SSH para una conexión de red más segura.

Comando de Linux ip

El programa de línea de comando ip forma parte del paquete de uti­li­da­des iproute2, con el cual se pueden consultar y co­n­fi­gu­rar in­te­r­fa­ces de red en el terminal. Esta es la sintaxis general del comando:

ip [OPCIONES] OBJETO [COMANDO [ARGUMENTOS]]
bash

Con ayuda de objetos, comandos de búsqueda y ar­gu­me­n­tos se puede definir qué acción se ejecuta con ip.

El programa soporta objetos como address (dirección IP), link (in­te­r­fa­ces de red), route (entrada en la tabla de en­ru­ta­mie­n­to) o tunnel, sobre el cual se pueden aplicar comandos de búsqueda como add, change, del, list o show.

Si, por ejemplo, quieres invocar la dirección IP de una de­te­r­mi­na­da interfaz de red (eth0), utiliza el comando ip con el objeto address, el comando show y el argumento dev eth0:

ip address show dev eth0
bash

Descubre cómo mostrar una dirección IP en Linux con más detalle en otro artículo de la Digital Guide.

Comandos de Linux apt, pacman y yum

Cada di­s­tri­bu­ción de Linux dispone de un ad­mi­ni­s­tra­dor de paquetes con el que puedes descargar y gestionar paquetes de software. La sintaxis para la in­s­ta­la­ción de la app es:

apt install [PAQUETE] # Distribuciones basadas en Debian como Ubuntu
pacman -S [PAQUETE] # Distribuciones basadas en Arch
yum install [PAQUETE] # Distribuciones basadas en Red Hat
bash

[PAQUETE] se co­rre­s­po­n­de con el nombre del paquete o programa que deseas instalar. En la mayoría de los casos, estos comandos se ejecutan con sudo en modo root. Para el resto de di­s­tri­bu­cio­nes, que usan otros ad­mi­ni­s­tra­do­res de paquetes, los comandos pueden diferir. Cada ad­mi­ni­s­tra­dor también dispone de comandos para eliminar paquetes, así como para ac­tua­li­zar listas de paquetes y paquetes in­s­ta­la­dos, entre otros. En Ubuntu, los comandos se muestran como siguen:

apt remove [PAQUETE] # eliminar paquete
apt update # actualizar lista de paquetes
apt upgrade # actualizar packages
bash

Comando de Linux netstat

El programa de líneas de comando netstat sirve para consultar el estado de las in­te­r­fa­ces de red y se utiliza siguiendo esta sintaxis:

netstat [OPCIONES]
bash

Utilizado sin opción, el comando entrega todos los sockets abiertos en el terminal. También se pueden utilizar las si­guie­n­tes opciones para consultar tablas de en­ru­ta­mie­n­to (-r), co­ne­xio­nes en­ma­s­ca­ra­das (-M) o mensajes de enlace de red (-N). Puedes encontrar más in­fo­r­ma­ción en nuestro artículo “In­tro­du­c­ción a netstat“.

Comandos de Linux tra­ce­rou­te

Para rastrear la ruta de un paquete de datos IP entre tu sistema y un equipo de destino, puedes utilizar el comando tra­ce­rou­te para seguir la ruta de los paquetes de datos. Haz uso del formato que aparece a co­n­ti­nua­ción:

traceroute [OPCIONES] NOMBRE_DEL_HOST
bash

A través de traceroute se puede obtener in­fo­r­ma­ción sobre el router y los nodos de Internet por los que pasa un paquete IP cuando se dirige a un ordenador de destino. Por ejemplo, para in­ve­s­ti­gar la causa de un retraso.

Comando de Linux route

Con el comando route se pueden consultar y editar las tablas de IP routing del kernel. Se utiliza con esta sintaxis:

route [OPCIONES] [add|del] [-net|-host] OBJETIVO
bash

Si utilizas el comando sin opción se obtiene una tabla de en­ru­ta­mie­n­to completa del núcleo:

route
bash

Si quisieras añadir una ruta de en­ru­ta­mie­n­to a una red, utiliza la opción add:

route add -net 10.0.0.0
bash

Comando de Linux dig

dig co­n­s­ti­tu­ye una he­rra­mie­n­ta de búsqueda con la cual pedir in­fo­r­ma­ción a los se­r­vi­do­res DNS y mostrarla en el terminal. Este comando se utiliza no­r­ma­l­me­n­te siguiendo este esquema para pedir la dirección IP y cualquier otra in­fo­r­ma­ción en el DNS sobre un nombre de dominio:

dig [@SERVIDOR] [DOMINIO] [TIPO]
bash

SERVIDOR es el servidor DNS al cual se realiza la petición y donde se encuentra la in­fo­r­ma­ción so­li­ci­ta­da. Si no se indica un servidor, dig indaga en el servidor DNS estándar que figura en el archivo /etc/resolv.conf. DOMINIO equivale al nombre del dominio sobre el cual se busca la in­fo­r­ma­ción al­ma­ce­na­da en el DNS. Y TIPO permite de­te­r­mi­nar el tipo de petición: ANY (cualquier entrada), A (record IPv4 de un host) o AAA (record IPv6 de un host). El tipo estándar es A.

Comando de Linux mount and unmount

Con el fin de integrar un sistema de archivos en la es­tru­c­tu­ra de di­re­c­to­rios del sistema operativo uti­li­za­n­do el terminal, Linux ofrece para ello el comando mount. Esta es la sintaxis general de este comando:

mount [OPCIONES] DISPOSITIVO MOUNTPOINT
bash

DI­S­PO­SI­TI­VO = aquí se escribe la ruta al archivo de di­s­po­si­ti­vo de la unidad que se quiere montar como partición.

MOU­N­T­POI­NT = esta no­me­n­cla­tu­ra equivale al punto exacto en la es­tru­c­tu­ra del di­re­c­to­rio del sistema operativo en el cual se quiere integrar la nueva partición. Suele indicarse como ruta absoluta.

Ejemplo:

mount /dev/sdd /media/usb
bash

El di­s­po­si­ti­vo sdd se encuentra en el di­re­c­to­rio /media/usb.

Comando de Linux dd

El programa de línea de comando dd facilita un método de copia por el cual los datos se leen bit por bit desde un input file (if) y se describen en un output file (of). El comando se fu­n­da­me­n­ta en la siguiente sintaxis:

dd if=Origen of=Destino [OPCIONES]
bash

En él pueden indicarse como origen y destino tanto archivos in­de­pe­n­die­n­tes como pa­r­ti­cio­nes (/dev/sda1) o un di­s­po­si­ti­vo completo (/dev/sda).

dd if=/dev/sda5 of=/dev/sdb1
bash

Comando de Linux chmod

La llamada al sistema chmod (change mode) sirve para ad­mi­ni­s­trar los permisos en sistemas de archivos unixoides (ext2, ext3, ext4, reiser, xfs). La sintaxis general de chmod es:

chmod [OPCIONES] MODO ARCHIVO
bash

o

chmod [OPCIONES] MODO DIRECTORIO
bash

MODO co­rre­s­po­n­de a la forma de asignar los permisos que se aplica. Para saber cómo se crean y qué hay que tener en cuenta, lee nuestro artículo sobre el reparto de permisos de acceso con chmod. Con ayuda de la opción -R se pueden ampliar los derechos de forma recursiva a las su­b­ca­r­pe­tas y a los archivos co­n­te­ni­dos en un di­re­c­to­rio.

Comando de Linux chown

La comando de Linux chown procede de change owner y permite co­n­fi­gu­rar la propiedad de archivos y di­re­c­to­rios. Este comando se utiliza basándose en la siguiente co­m­po­si­ción:

chown [OPCIONES] [USUARIO][:[GRUPO]] ARCHIVO
bash

o

chown [OPCIONES] [USUARIO][:[ GRUPO]] DIRECTORIO
bash

Con objeto de definir derechos de pro­pie­ta­rio para usuarios o grupos se dispone de cuatro co­m­bi­na­cio­nes posibles. El pro­pie­ta­rio y el grupo de un fichero se definen según las in­di­ca­cio­nes:

chown [OPCIONES] nombre_propietario:grupos_archivos.txt
bash
# El grupo se modifica en función de las indicaciones pero el usuario permanece invariable: 
chown [OPCIONES] :grupos_archivos.txt
# Se define al propietario pero el grupo permanece invariable:
chown [OPCIONES] propietario_archivos.txt
# Se vuelve a definir al propietario y el grupo se define por el grupo estándar del usuario activo:  
chown [OPCIONES] nombre_propietario: archivo.txt
# Los cambios se pueden extender a los subdirectorios con ayuda de la opción -R.
bash

Comando de Linux adduser

La opción más sencilla a la hora de crear una cuenta de usuario es la que ofrece el programa de líneas de comandos adduser. Se trata de un script de Perl basado en el comando de Linux useradd y ofrece las mismas funciones de forma de forma sencilla. El comando adduser requiere pri­vi­le­gios de root y sigue la sintaxis que aparece a co­n­ti­nua­ción:

adduser [OPCIONES] USUARIO
bash

Si utilizas adduser sin opciones se crean au­to­má­ti­ca­me­n­te, además de una cuenta de usuario, el ID, el di­re­c­to­rio por defecto y un grupo con su mismo nombre, como en este ejemplo:

adduser test
bash

A co­n­ti­nua­ción, aparece un diálogo in­ter­ac­ti­vo en el cual se pueden definir la co­n­tra­se­ña y otros datos sobre el usuario, como su nombre real, el número de oficina, el número de teléfono, etc.

passwd command in Linux

Para cambiar la co­n­tra­se­ña de un usuario o para definir, comprobar o cambiar in­te­r­va­los de bloqueo utiliza el comando de Linux passwd con la siguiente sintaxis:

passwd [OPCIONES] USUARIO
bash

Para cambiar la co­n­tra­se­ña de otro usuario necesitas derechos de ad­mi­ni­s­tra­dor. Es­cri­bie­n­do el comando passwd sin nombre de usuario puedes cambiar tu propia co­n­tra­se­ña. Si de lo que se trata es de bloquear la co­n­tra­se­ña de otro usuario, se utiliza el comando con la opción -l (lock). Otras opciones permiten definir una fecha de caducidad para co­n­tra­se­ñas (-x), así como in­te­r­va­los de aviso (-w) y de inac­ti­vi­dad (-i).

Comando de Linux groupadd

El comando groupadd se utiliza para crear grupos de usuarios. Requiere derechos de ad­mi­ni­s­tra­dor y se invoca siguiendo esta sintaxis:

sudo groupadd [OPCIONES] GRUPO
bash

Cada grupo que se crea obtiene un ide­n­ti­fi­ca­dor de grupo único (GID). Los ID de grupo entre 0 y 99 están re­se­r­va­dos para grupos del sistema. Para definir el GID de un nuevo grupo de usuarios se utiliza el comando con la opción -g (GID).Para crear un grupo de sistema se añade la opción -r (root).

Comando de Linux chattr

Con el programa chattr (change attribute) puedes asignar atributos a archivos o di­re­c­to­rios. Utiliza chattr según la siguiente sintaxis para asignar un atributo:

chattr [OPCIONES] +ATRIBUTO ARCHIVO
bash

Para eliminar el atributo, sustituye el símbolo más por un símbolo menos. Por ejemplo, incluye el atributo -i (de inmutable) para blindar un archivo o un di­re­c­to­rio frente a cambios. En el manual del programa chattr, podrás encontrar otros atributos y posibles opciones.

Comando de Linux lsattr

Si quieres ver qué atributos se de­fi­nie­ron para un archivo o un di­re­c­to­rio, puedes usar el comando lsattr (list at­tri­bu­tes) según el esquema que sigue:

lsattr [OPCIONES] ARCHIVO/DIRECTORIO
bash

Comando de Linux chgrp

El comando chgrp significa change group y se usa para cambiar el grupo de un archivo o un di­re­c­to­rio, aunque se necesita estar en posesión de permisos de ad­mi­ni­s­tra­dor para poder aplicarlo a un archivo o un fichero de­te­r­mi­na­do. Además, solo se puede trabajar con los grupos a los cuales se pertenece. chgrp se utiliza siguiendo la siguiente es­tru­c­tu­ra:

chgrp [OPCIONES] GRUPO ARCHIVO
bash

o

chgrp [OPCIONES] GRUPO DIRECTORIO
bash

La opción -R incluye en la operación a las su­b­ca­r­pe­tas y los archivos co­n­te­ni­dos en un di­re­c­to­rio.

Comando de Linux man

Con man se abren las páginas del manual (man pages) de tu di­s­tri­bu­ción de Linux en la consola. Para ello se sigue el siguiente esquema:

man [OPCIÓN] TEMA
bash

Las man pages de Linux se di­s­tri­bu­yen en 10 secciones temáticas: comandos de usuario, llamadas al sistema, bi­blio­te­ca de funciones del lenguaje de pro­gra­ma­ción C, formatos de archivo, archivos de co­n­fi­gu­ra­ción, juegos, mi­s­ce­lá­nea, comandos para ad­mi­ni­s­trar el sistema, funciones del kernel, comandos nuevos.

Comando de Linux shutdown

Los usuarios con permisos de ad­mi­ni­s­tra­dor pueden utilizar el comando shutdown de Linux para apagar el sistema. Su base la co­n­s­ti­tu­ye la siguiente sintaxis:

shutdown [OPCIONES] [TIEMPO] [MENSAJE]
bash

Cuando se quiere apagar el sistema, existe la po­si­bi­li­dad de definir el momento exacto. Para ello, se puede in­tro­du­cir una hora exacta (hh:mm) o una cuenta atrás (+m). Otros usuarios activos en el sistema reciben un aviso de apagado que puede co­m­ple­me­n­tar­se con un mensaje opcional. Si se añade al comando la opción -r, el sistema se reinicia después de apagarse.

Comando top en Linux

Con el comando top obtienes una lista dinámica de todos los procesos activos. Para ello utiliza este esquema:

top [OPCIONES]
bash

La salida de la in­fo­r­ma­ción sobre los procesos se puede ajustar con ayuda de diversas opciones. El comando soporta, además, el uso de las si­guie­n­tes teclas para ordenar la salida:

  • [P] = ordena la salida en función del uso de CPU
  • [M] = ordena la salida según el uso de memoria
  • [N] = ordena la salida nu­mé­ri­ca­me­n­te por PID
  • [A] = ordena la salida por edad
  • [T] = ordena la salida por tiempo utilizado de CPU
  • [U USUARIO o UID] = filtra la salida por el usuario

Utiliza la tecla [H] para acudir a las páginas de ayuda y [Q] para abandonar la vista de los procesos.

Comando de Linux lscpu

Utiliza lscpu (list cpu) de esta forma para obtener datos sobre la CPU en la consola:

lscpu [OPCIONES]
bash

En el manual de tu sistema operativo puedes consultar todas las opciones que puedes utilizar con el comando.

Comando de Linux lshw

En este caso lshw equivale a list hardware y facilita in­fo­r­ma­ción sobre los co­m­po­ne­n­tes de hardware. El comando lshw se utiliza siguiendo esta sintaxis:

lshw [OPCIONES]
bash

También este comando soporta diversas opciones con las cuales ajustar no solo el formato de salida (-html, -xml, -short, -businfo), sino también el detalle de la in­fo­r­ma­ción de salida (-sanitize se usa para ocultar in­fo­r­ma­ción sensible, p. ej.).

Comando kill de Linux

kill es un programa de la consola para cancelar y cerrar procesos. El comando se invoca según el siguiente esquema con una señal y el ID del proceso se­le­c­cio­na­do:

kill [OPCIONES] [-SEÑAL] PID
bash

Las señales más ha­bi­tua­les son:

  1. TERM: impele a un proceso a que finalice por sí mismo (estándar)
  2. KILL: fuerza la clausura de un proceso (por parte del sistema)
  3. STOP: in­te­rru­m­pe un proceso
  4. CONT: permite continuar un proceso in­te­rru­m­pi­do

Comando de Linux killall

En co­m­bi­na­ción con un término clave, el comando de Linux killall se utiliza para finalizar procesos cuyo nombre coincide exac­ta­me­n­te con él (se cotejan los 15 primeros ca­ra­c­te­res).

killall [OPCIONES] [-SEÑAL] [PROCESO]
bash

La opción -e (–exact) permite extender la co­m­pa­ra­ción a todos los ca­ra­c­te­res del nombre del proceso.

Comando de Linux nice

El comando nice asigna a un proceso durante el arranque un valor nice entre -20 y +19 que determina la forma como se di­s­tri­bu­ye la capacidad di­s­po­ni­ble del mi­cro­pro­ce­sa­dor. La franja me­n­cio­na­da equivale a los niveles de prioridad en Linux de 100 a 139. Un proceso con un valor nice de -20 tiene, de esta forma, una prioridad más elevada que un proceso con un valor nice de 19. Su sintaxis reza así:

nice [OPCIÓN] [COMANDO]
bash

Sin ninguna otra in­fo­r­ma­ción, todos los procesos arrancan con un valor nice de 0. Con la opción -n se definen las prio­ri­da­des de los procesos. Hay que tener en cuenta que las prio­ri­da­des negativas solo se otorgan con derechos root.

Comando de Linux pgrep

El programa de la consola pgrep compara la lista de procesos activos con un término clave y, en caso de coin­ci­de­n­cia, entrega los re­s­pe­c­ti­vos PID. La sintaxis básica de tal llamada es:

pgrep [OPCIONES] Término
bash

Por defecto, pgrep devuelve los PID de todos los procesos que contienen la palabra clave. Si la búsqueda se ha de delimitar a todas las coin­ci­de­n­cias exactas, se utiliza la opción -x. Si además del PID también quieres solicitar el nombre del proceso, combina pgrep con la opción -l. De forma similar a grep, pgrep soporta palabras clave basadas en ex­pre­sio­nes regulares.

Comando de Linux con ps

El comando psde Linux entrega una lista de todos los procesos activos:

ps [OPCIONES]
bash

Si necesitas una salida más detallada utiliza ps con las opciones -f (detallado) o -F (muy detallado). En el manual del sistema operativo en­cue­n­tras otras posibles opciones.

Comandos de Linux adi­cio­na­les de un vistazo

Comandos básicos

En esta categoría se incluyen todos los comandos de Linux básicos que se utilizan para ad­mi­ni­s­trar el terminal, con las que se puede limpiar la ventana de la consola, recuperar comandos an­te­rio­res desde la historia o finalizar la sesión.

1. exit

Con exit se finaliza la sesión actual y se cierra la consola.

exit
bash

También puedes usar el atajo de teclado [Ctrl] + [D] en su lugar.

2. help

El comando help se utiliza para mostrar una lista de todas las órdenes del sistema.

Si in­tro­du­ces help en co­m­bi­na­ción con un comando shell obtienes una breve de­s­cri­p­ción del comando en cuestión.

help COMMAND
bash

3. history

En Bash, los últimos 500 comandos in­tro­du­ci­dos en el terminal se guardan en el historial. Esta función sirve de ayuda al in­tro­du­cir órdenes en la consola y permite ejecutar de nuevo un comando in­tro­du­ci­do con an­te­rio­ri­dad se­le­c­cio­ná­n­do­lo con ayuda de las flechas del teclado y eje­cu­tá­n­do­las de nuevo.

También se puede examinar el historial en función de palabras clave con el atajo de teclado [CTRL] + [R]. Uti­li­za­n­do el comando sin opciones ni ar­gu­me­n­tos se obtiene la lista completa de comandos numerada.

history
bash

Para filtrar la salida se combina history a través de Linux Pipe con el programa grep (ver opciones de búsqueda) y una palabra clave.

history | grep PALABRA CLAVE
bash

Páginas de ayuda

¿No sabes cuáles son los pasos si­guie­n­tes? A este respecto, Linux ofrece en el terminal páginas de ayuda y de do­cu­me­n­ta­ción como las Unix Man Pages (Manual de Unix) y las páginas de in­fo­r­ma­ción de GNU, las cuales contienen una exhau­s­ti­va de­s­cri­p­ción de todos los programas, comandos, archivos de co­n­fi­gu­ra­ción, formatos de archivo y funciones del kernel. Con el comando de Linux whatis y apropos en la categoría de páginas de ayuda, cuentas con programas de líneas de comando que permiten examinar las páginas del manual del sistema operativo por palabras clave.

1. apropos Con apropos se examinan los títulos y las de­s­cri­p­cio­nes de las páginas del manual de tu sistema operativo por palabras clave. Sigue el siguiente esquema:

apropos [OPCIONES] PALABRA CLAVE
bash

Este comando soporta di­fe­re­n­tes opciones. Con la opción -e delimitas la búsqueda a co­rre­s­po­n­de­n­cias exactas, pero también puedes utilizar comodines (-w ‘TÉRMINO DE BÚSQUEDA’) y ex­pre­sio­nes regulares (-r).

2. info

El comandoinfo abre las páginas de in­fo­r­ma­ción de GNU sobre un tema de­te­r­mi­na­do. No­r­ma­l­me­n­te equivalen al manual que se puede invocar con man, aunque a di­fe­re­n­cia de este, contienen enlaces que facilitan la na­ve­ga­ción en el manual. Utiliza esta sintaxis:

info [OPCIÓN] TEMA
bash

Si no indicas una opción ni un tema, accedes al menú principal del manual de GNU.

3. pinfo

Con pinfo cuentas con una versión del programa info que sigue el modelo del ex­plo­ra­dor de líneas de comandos Lynx y muestra las páginas de in­fo­r­ma­ción con los enlaces de­s­ta­ca­dos con colores. Para utilizar pinfo se sigue el mismo esquema si­n­tá­c­ti­co que con info:

pinfo [OPCIONES] TEMA
bash

4. whatis El programa whatis permite buscar por palabras clave en el manual. Para examinar el manual del sistema operativo en busca de una equi­va­le­n­cia exacta se llama al programa con el término de búsqueda. Si se encuentra una co­rre­s­po­n­de­n­cia, whatis responde con una breve de­s­cri­p­ción en el terminal.

whatis [OPCIONES] PALABRA CLAVE
bash

whatis (-w '\*PALABRA CLAVE) también soporta comodines y ex­pre­sio­nes regulares (-r).

Ope­ra­cio­nes de di­re­c­to­rio

Se utilizan comandos de Linux para realizar ope­ra­cio­nes en di­re­c­to­rios, como crear, eliminar y gestionar di­re­c­to­rios en tu sistema a través del terminal, así como para navegar por el árbol de di­re­c­to­rios. Los comandos más im­po­r­ta­n­tes en esta categoría son cd, ls, mkdir y rmdir.

Ope­ra­cio­nes de Di­re­c­to­rios

Se utilizan comandos de Linux para realizar ope­ra­cio­nes en di­re­c­to­rios, como crear, eliminar y gestionar di­re­c­to­rios en tu sistema a través del terminal, así como para navegar por el árbol de di­re­c­to­rios. Los comandos más im­po­r­ta­n­tes en esta categoría son cd, ls, mkdir y rmdir.

1. chroot

El comando chroot (change root) se utiliza para ejecutar un comando en un di­re­c­to­rio raíz diferente. Por ejemplo, chroot se utiliza para aislar programas críticos del resto del sistema de archivos. Llamar al programa requiere pri­vi­le­gios de root y se basa en la siguiente fórmula:

chroot DIRECTORIO COMANDO
bash

2. mkdirhier

Con mkdirhier, puedes crear je­ra­r­quías completas de di­re­c­to­rios con una sola directiva de línea de comandos:

mkdirhier [OPCIÓN] /home/user/directorio1/directorio2/directorio3
bash

Si ´di­re­c­to­rio1´ y ´di­re­c­to­rio2´ ya existen, ´mkdirhier´ solo crea ´di­re­c­to­rio3´. De lo contrario, se crean los tres di­re­c­to­rios.

3. tree

Mientras que ls solo lista el contenido de un di­re­c­to­rio, el comando tree se puede utilizar para mostrar de forma recursiva toda la jerarquía de di­re­c­to­rios como una es­tru­c­tu­ra de árbol. El comando utiliza la siguiente sintaxis:

tree [OPCIONES] [DIRECTORIO]
bash

Ope­ra­cio­nes en archivos

Los comandos Linux de esta categoría permiten llevar a cabo diversas ope­ra­cio­nes desde el terminal que atañen a los archivos y, uti­li­za­n­do comandos básicos como cp, mv, y rm , se pueden copiar, desplazar, renombrar o borrar archivos del sistema.

1. basename

Al comando basename se le indica una ruta a un archivo y devuelve su nombre sin la ruta. La sintaxis del comando se compone de:

basename [OPCIONES] Ruta/al/archivo [SUFIJO]
bash

El comando puede ser ampliado a varios archivos con di­fe­re­n­tes opciones.

2. comm

Utiliza el comando comm para comparar por líneas archivos pre­via­me­n­te ordenados (con sort, p. ej.). La in­vo­ca­ción de este comando se fu­n­da­me­n­ta en la siguiente es­tru­c­tu­ra si­n­tá­c­ti­ca:

comm [OPCIONES] ARCHIVO1 ARCHIVO2
bash

El comando comm soporta tres opciones:

  • -1 = ocultar líneas únicas del ARCHIVO1
  • -2 = ocultar líneas únicas del ARCHIVO2
  • -3 = ocultar todas las líneas que aparecen en ambos archivos

3. cut

El comando cut permite extraer el contenido de las líneas de texto de un archivo (log o CSV) por columnas. La sintaxis de este comando es:

cut [OPCIONES] ARCHIVO
bash

Para indicar la posición exacta del fragmento que se tiene que extraer se utilizan las opciones -b (posición de byte), -c (posición del carácter), -d (carácter de se­pa­ra­ción) y -f (campo).

4. dirname

dirname es lo contrario que basename: el comando permite extraer la parte de la ruta a un fichero sin mostrar su nombre. Su sintaxis es:

dirname [OPCIONES]path/to/file
bash

5. file Con file se puede obtener in­fo­r­ma­ción sobre el tipo o formato de un archivo. Sigue el siguiente esquema:

file [OPCIONES] ARCHIVO
bash

6. lsof

El comando de Linux lsof equivale a list open files, un programa de apoyo que muestra en el terminal in­fo­r­ma­ción sobre los archivos abiertos ordenados en función del PID (ID de proceso). Para invocarlo se sigue el siguiente esquema:

lsof [OPCIONES]
bash

Dado que todos los sistemas tipo UNIX como Linux lo gestionan todo en archivos (“Eve­r­y­thi­ng is a file”), la lista que devuelve lsof es muy larga. Por eso suelen usarse opciones que concretan el resultado.

7. md5sum

Con ayuda del comando md5sum se pueden calcular y comprobar sumas de control MD5.

8. paste

De forma parecida a cat, el programa paste también muestra el contenido de los archivos en la salida estándar, pero mientras que cat los muestra de forma en­ca­de­na­da, paste los agrupa en columnas. El esquema básico de esta función es:

paste [OPCIONES] ARCHIVO1 ARCHIVO2
bash

Con la opción -d se puede co­n­fi­gu­rar in­di­vi­dua­l­me­n­te el tipo de separador que se usa. Por defecto suele uti­li­zar­se la ta­bu­la­ción. Con la opción -s (de serial) se activa otro modo diferente en el cual todas las líneas del primer archivo de entrada se pegan en la primera línea de la salida. Los datos del resto de archivos de entrada se pegan a co­n­ti­nua­ción en líneas de salida separadas. De esta forma, cada línea de la salida contiene úni­ca­me­n­te el contenido de un archivo de entrada.

9. rename rename permite cambiar el nombre de archivos y carpetas con ayuda de ex­pre­sio­nes regulares (regex). Al contrario de mv, rename se presta así para modificar los nombres de varios archivos parcial o to­ta­l­me­n­te. La in­vo­ca­ción de rename se realiza siguiendo el siguiente esquema:

rename [OPCIONES] 'EXPRESIÓN_REGULAR' ARCHIVOS
bash

En el caso de las su­s­ti­tu­cio­nes, las ex­pre­sio­nes regulares siguen la siguiente sintaxis:

s/PATRONDEBUSQUEDA/SUSTITUCIÓN/MODIFICADOR
bash

10. shred

shred es un comando que permite borrar archivos de forma pe­r­ma­ne­n­te porque los reescribe de modo que, incluso contando con los mejores medios forenses, no se pueden re­s­ta­ble­cer. Este comando se invoca siguiendo este esquema básico:

shred [OPCIONES] ARCHIVO
bash

11. sort

Con el comando sort se ordenan las listas de archivos y las salidas de programa en líneas numérica y al­fa­bé­ti­ca­me­n­te. Se invoca a sort siguiendo este esquema:

sort [OPCIONES] ARCHIVO
bash

Este método se puede co­m­ple­me­n­tar con opciones como -n (ordenar nu­mé­ri­ca­me­n­te), -R (ordenar de forma aleatoria) o -r (ordenar en orden inverso).

12. split

El comando split se utiliza para su­b­di­vi­dir archivos. Sigue el siguiente esquema si­n­tá­c­ti­co:

split [OPCIONES] [INPUT [PREFIJO]]
bash

INPUT equivale al archivo que se ha de su­b­di­vi­dir y PREFIJO hace las veces de prefijo del nombre del nuevo subar­chi­vo. A la hora de cambiar su nombre se sigue el siguiente esquema:

PREFIJOaa, PREFIJOab, PREFIJOac …
bash

Si no se define ningún prefijo, split recurre al estándar x. Con la opción -b (bytes) se puede definir el tamaño de las partes en que se divide el archivo. Esto puede hacerse en bytes (b), kilobytes (k) o megabytes (m). Ejemplo:

split -b 95m archivo.tgz split-archivo.tgz.
bash

13. stat

Con ayuda del comando stat (status) se puede obtener la fecha y la hora de los accesos y los cambios relativos a de­te­r­mi­na­dos archivos o di­re­c­to­rios. Este comando sigue esta sintaxis:

stat [OPCIONES] ARCHIVO
bash

El formato de salida se puede co­n­fi­gu­rar con opciones.

14. uniq

El comando uniq suele usarse junto con sort para limpiar líneas du­pli­c­qe­qw en los archivos. En el siguiente ejemplo, se enlaza el comando sort con el comando uniq con la barra vertical (|) para se­le­c­cio­nar en primer lugar un archivo y a co­n­ti­nua­ción para emitirlo sin líneas du­pli­ca­das:

sort archivo.txt | uniq
bash

Opciones de búsqueda

Linux también dispone de diversos comandos para explorar el sistema desde el terminal.

1. find

Con find es posible encontrar un archivo en Linux. Se utiliza en base al siguiente esquema si­n­tá­c­ti­co:

find [OPCIONES] [RUTA] [EXPRESIÓN_DE_BÚSQUEDA ][ACCIÓN]
bash

El di­re­c­to­rio que se indica en RUTA define el inicio de la búsqueda, de tal forma que se exploran tanto el di­re­c­to­rio como sus su­b­di­re­c­to­rios. Si no se indica ninguno, find comienza a explorar desde el di­re­c­to­rio en el que se está en ese momento (di­re­c­to­rio actual).

Las opciones permiten definir los criterios de búsqueda y las acciones. La acción pre­de­te­r­mi­na­da es -print, que muestra el resultado de la búsqueda en la salida estándar (no­r­ma­l­me­n­te la consola). Otras opciones permiten filtrar por nombre de archivo, tamaño de archivo, hora de acceso, etc. Estas opciones se enumeran en la página de manual co­rre­s­po­n­die­n­te.

2. locate

El programa locate también permite buscar archivos desde el terminal, pero, al contrario que find, no se basa en el di­re­c­to­rio de archivos, sino en una base de datos creada es­pe­cia­l­me­n­te para ello y ac­tua­li­za­da re­gu­la­r­me­n­te. Con ello locate entrega sus re­su­l­ta­dos mucho más rápido que find. Para buscar un de­te­r­mi­na­do archivo en la base de datos se invoca a locate con esta sintaxis:

locate PATRÓN_DE_BÚSQUEDA
bash

El patrón puede contener me­ta­ca­ra­c­te­res que actúan de comodín (*). Si los escribes entre comillas el shell no los in­te­r­pre­ta como me­ta­ca­ra­c­te­res de shell.

3. tre-agrep

También tre-agrep se utiliza para buscar cadenas de ca­ra­c­te­res en los archivos de texto en base a patrones, pero, a di­fe­re­n­cia de grep, no solo entrega coin­ci­de­n­cias exactas, sino también re­su­l­ta­dos im­pre­ci­sos (como cadenas que contienen pequeños errores ti­po­grá­fi­cos). El programa se apoya para ello en la bi­blio­te­ca TRE. Su sintaxis coincide con la del comando grep:

tre-agrep [OPCIONES] PATRÓN ARCHIVOS
bash

Con las opciones se puede definir un número máximo de errores. En el ejemplo siguiente se indica el número máximo de errores que se toleran:

tre-agrep -1 'Linux' test.txt
bash

4. updatedb La búsqueda con locate solo es fiable si el archivo /var/lib/locatedb se mantiene co­n­s­ta­n­te­me­n­te ac­tua­li­za­do. El comando updatedb permite ac­tua­li­zar la base de datos ma­nua­l­me­n­te. Ten en cuenta que para ello necesitas derechos de ad­mi­ni­s­tra­dor:

Updatedb
bash

5. whereis

Con el comando whereis se pueden localizar los archivos binarios, de código fuente o del manual de ciertos programas. Su sintaxis general consiste en:

whereis [OPCIONES] PROGRAMA
bash

Con opciones se puede delimitar la búsqueda a ciertos tipos de archivo o di­re­c­to­rio.

6. which

Para indagar el paradero del archivo binario de un programa se utiliza el comando which, el cual muestra la ruta al archivo. Este programa se invoca con la siguiente sintaxis:

which [OPCIONES] PROGRAMA
bash

En el modo estándar, which responde con el primer archivo que encuentra. Si se desea, la opción -a muestra todos los archivos que cumplen con el criterio de búsqueda.

In­fo­r­ma­ción sobre los usuarios

Utiliza los comandos de esta categoría para solicitar in­fo­r­ma­ción detallada sobre los usuarios re­gi­s­tra­dos en el sistema, así como sobre sus grupos y procesos.

1. finger

El comando finger muestra in­fo­r­ma­ción sobre los usuarios y para ello se combina con el nombre del usuario en cuestión:

finger [OPCIONES] [USUARIO]
bash

Utiliza finger sin indicar un nombre de usuario para solicitar in­fo­r­ma­ción sobre tu propia cuenta.

2. groups

Con groups el terminal enumera los grupos a los que pertenece una de­te­r­mi­na­da cuenta de usuario.

Cuando no se indica usuario, groups localiza todos los grupos a los que pertenece tu cuenta.

Para ello, sigue el patrón que aparece:

groups [OPCIONES] [USUARIO]
bash

3. id

El comando id entrega los códigos de los usuarios y grupos de la cuenta de usuario se­le­c­cio­na­da.

id [OPCIONES] [USUARIO]
bash

Añadiendo opciones se puede limitar la búsqueda

4. last

Utiliza el comando last según el esquema que indicamos abajo para obtener una lista de los últimos usuarios que han iniciado una sesión, junto con la hora de su inicio y final de sesión:

last [OPCIONES] [USUARIO]
bash

Para ello, la consola solicita in­fo­r­ma­ción del archivo wtmp en /var/log/wtmp. Si la búsqueda se refiere a una cuenta es­pe­cí­fi­ca, se añade el nombre del usuario al comando.

5. w

En este caso, w devuelve una lista de todos los usuarios con sesión abierta y todos los procesos que están eje­cu­ta­n­do. Si añades un nombre de usuario, la búsqueda se limita a este usuario:

w [OPCIONES] [USUARIO]
bash

De nuevo puedes pe­r­so­na­li­zar la exhau­s­ti­vi­dad y el formato de la salida con opciones.

6. who

El comando who muestra in­fo­r­ma­ción sobre los usuarios activos en ese momento en el sistema si se utiliza según esta sintaxis:

who [OPCIÓN] [ARCHIVO]
bash

Por defecto, who extrae los datos sobre el usuario actual del archivo /var/run/utmp, pero op­cio­na­l­me­n­te también se pueden indicar estos archivos a co­n­ti­nua­ción como fuente de la in­fo­r­ma­ción.

7. whoami

Utiliza el comando whoami para obtener tu propio nombre de usuario.

whoami [OPCIONES]
bash

Gestión de cuentas de usuario

Linux ofrece toda una serie de programas con los cuales se pueden crear, eliminar y gestionar cuentas de usuario y grupos a través del terminal. Estos aparecen en el siguiente listado general de comandos de Linux para la ad­mi­ni­s­tra­ción de cuentas de usuario, categoría en la que también se incluyen los comandos que permiten abrir programas con los derechos de otros usuarios, incluidos los de ad­mi­ni­s­tra­dor.

1. chfn

El comando chfn, equi­va­le­n­te a change finger, permite editar la in­fo­r­ma­ción adicional de una cuenta de usuario, en la que se incluyen datos como el nombre real del usuario, el número de oficina y los números de teléfono privado y de trabajo. La sintaxis general de chfn sigue esta es­tru­c­tu­ra:

chfn [OPCIÓN "NUEVO VALOR"] [USUARIO]
bash

Con las opciones -f (nombre real), -r (número de oficina), -w (número oficial) y -h (número privado) se define qué in­fo­r­ma­ción del usuario se sustituye por un nuevo valor.

2. chsh

El comando chsh (change Shell) cambia el login shell de un usuario. Para ello se sigue el siguiente esquema:

chsh [OPCIONES] USUARIO
bash

Puedes utilizar la opción -s para cambiar el login shell de una cuenta de usuario.

3. deluser

El programa de líneas de comandos deluser borra todas las entradas de una cuenta de usuario de los archivos de cuentas del sistema. deluser solo se puede utilizar con derechos admin y se orienta por el siguiente esquema:

deluser [OPCIONES] USUARIO
bash

Si se tiene la intención de borrar todos los archivos del usuario en el di­re­c­to­rio principal, entonces se utiliza el comando junto con la opción --remove-home, y si se trata de eliminar todos los archivos del usuario del sistema, se utiliza la opción --remove-all-files.

4. delgroup

El comando delgroup (delete group) se utiliza para borrar grupos de usuarios y requiere derechos root. Sigue esta sintaxis:

delgroup [OPCIONES] GRUPO
bash

5. groupmod

Con groupmod se puede co­n­fi­gu­rar tanto el nombre como el GID de un grupo de usuarios. El comando se utiliza como ad­mi­ni­s­tra­dor siguiendo el siguiente esquema:

groupmod OPCIONES GRUPO
bash

Si utilizas groupmod con la opción -g puedes cambiar el GID y con la opción -n, el nombre del grupo.

6. newgrp

El comando newgrp (new group) es un comando que permite a los usuarios cambiar el ID de su grupo sin tener que cerrar e iniciar sesión de nuevo. La sintaxis general de este comando es:

newgrp [-] [GRUPO]
bash

Si newgrp se acompaña del parámetro opcional [-], tras el cambio de grupo tiene lugar un reinicio del entorno del usuario, como si se abriera una nueva sesión. Los usuarios que utilizan el comando sin indicar ningún grupo se ven de­s­pla­za­dos al grupo estándar que se ha co­n­fi­gu­ra­do en /etc/passwd.

7. su

El comando su también permite cambiar de usuario te­m­po­ra­l­me­n­te para realizar llamadas al sistema con los permisos de otro usuario, pero a di­fe­re­n­cia de sudo, en este caso las órdenes no se ejecutan di­re­c­ta­me­n­te, sino que es necesario cambiar de identidad porque su no solicita la co­n­tra­se­ña del usuario que invoca, sino la del usuario cuyos derechos se quieren suplantar. La sintaxis general del comando obedece a este orden:

su [OPCIONES] [USUARIO]
bash

Una solicitud sin nombre de usuario se­le­c­cio­na a root como usuario.

8. usermod

El comando usermod ofrece la po­si­bi­li­dad de editar cuentas ya creadas. Utiliza usermod con derechos raíz según el siguiente esquema:

usermod [OPCIONES] USUARIO
bash

Con ayuda de las opciones defines cuáles son los cambios que se han de realizar. Por ejemplo, con -l NUEVO_NOMBRE puedes cambiar el nombre de usuario. Para encontrar más opciones, accedede a la página co­rre­s­po­n­die­n­te del manual.

Gestión del sistema

En esta categoría de­s­ci­fra­mos los comandos de Linux para la ad­mi­ni­s­tra­ción del sistema. Con ellos puedes, por ejemplo, reiniciar o apagar el sistema desde la consola e incluso programar estas acciones.

1. logger

Utiliza logger para la siguiente sintaxis:

logger "MENSAJE"
bash

El fichero de log del sistema se encuentra en /var/log/syslog.

2. reboot

reboot es un comando que permite reiniciar el sistema, para lo cual se necesita disponer de permisos root.

reboot [OPCIONES]
bash

3. rtcwake

En el caso de rtcwake, se trata de un comando que permite programar el inicio, la su­s­pe­n­sión y el apagado del ordenador. Se escribe así:

rtcwake [OPCIONES] [MODO] [Tiempo]
bash

En MODO se­le­c­cio­na el modo (-m) en que el sistema ha de entrar por un de­te­r­mi­na­do periodo (-s para tiempo en segundos). Op­cio­na­l­me­n­te también puedes “despertar” al sistema en un punto definido (-t para tiempo Unix).

In­fo­r­ma­ción del sistema

Esta categoría recoge todos los programas de líneas de comandos con los cuales se solicitan in­fo­r­ma­ción y mensajes de estado del sistema para hacerse una idea global de su estado general.

1. date

El comando date te permite conocer la fecha y la hora del sistema.

date [OPCIONES] [FORMATO DE SALIDA]
bash

Si al invocar un programa necesitas trabajar con una fecha concreta (rtcwake), la opción -d (fecha) te permite definirla. El comando soporta también otras opciones para cambiar el formato de fecha y hora.

2. df

Escribe el comando df (disk free) en el terminal siguiendo el esquema:

df [OPCIONES]
bash

Cuando se utiliza el comando combinado con un de­te­r­mi­na­do archivo, el sistema responde con el espacio libre en disco en la partición donde se aloja el archivo. La opción -l (local) delimita df a sistemas de archivos locales. También soporta opciones con las cuales co­n­fi­gu­rar el formato de salida.

3. dmesg

El programa dmesg (display message) muestra los mensajes de dia­g­nó­s­ti­co del buffer del kernel y permite localizar errores en el hardware o el driver. Utiliza dmesg con esta sintaxis:

dmesg [OPCIONES]
bash

La salida dmesg contiene todos mensajes generados en el arranque del sistema y es co­n­se­cue­n­te­me­n­te largo. Esto hace que se acompañe a menudo de un pager como more, less, or tail.

4. free

El comando free muestra la ocupación de la memoria con esta sintaxis:

free [OPCIONES]
bash

Como salida obtienes dos conceptos: Mem (Memory) y Swap. free también soporta la opción –h, con la que obtienes la in­fo­r­ma­ción en un formato legible.

5. hostname

Utiliza el comando hostname con esta sintaxis para que el terminal muestre el nombre DNS del sistema.

hostname [OPCIONES]
bash

6. uname

El comando uname significa unix name y se utiliza para solicitar in­fo­r­ma­ción sobre el kernel. El comando soporta diversas opciones con las cuales filtrar la salida de la in­fo­r­ma­ción.

uname [OPCIONES]
bash

7. uptime

Para averiguar cuánto tiempo lleva el sistema eje­cu­tá­n­do­se desde el último arranque sin ser re­ini­cia­do, utiliza el comando uptime con esta sintaxis:

Uptime
bash

8. vmstat

Con ayuda de la he­rra­mie­n­ta de control vmstat se puede solicitar in­fo­r­ma­ción sobre la memoria virtual, acerca de procesos de escritura y lectura en el disco duro, así como sobre la actividad del pro­ce­sa­dor central. Introduce vmstat` con este esquema para obtener los valores medios desde el último arranque del sistema:

vmstat [OPCIONES]
bash

El comando vmstat también ofrece un modo de mo­ni­to­ri­za­ción continuo con el cual se pueden solicitar los valores dentro de un intervalo de tiempo en segundos tan a menudo como sea necesario.

vmstat [OPCIONES] [INTERVALO [REPETICIONES]]
bash

In­fo­r­ma­ción del hardware

Los comandos Linux en­glo­ba­dos en esta categoría entregan datos de­ta­lla­dos sobre los co­m­po­ne­n­tes de hardware sobre los que se ejecuta el sistema.

1. lspci

Utiliza lscpu (list cpu) de esta forma para obtener datos sobre la CPU en la consola.

lscpu [OPCIONES]
bash

En el manual de tu sistema operativo puedes consultar todas las opciones que puedes utilizar con el comando.

2. lsusb Si quieres obtener in­fo­r­ma­ción detallada sobre los di­s­po­si­ti­vos USB, entonces introduce el comando lsusb (list usb) en el terminal de esta forma:

lsusb [OPCIONES]
bash

En el manual del sistema operativo en­cue­n­tras también las opciones co­m­pa­ti­bles con este comando.

Gestión de procesos

En Linux, se denominan procesos a las in­s­ta­n­cias de un programa en ejecución. Los si­guie­n­tes comandos pe­r­te­ne­cen al re­pe­r­to­rio estándar de la gestión de procesos y permiten su­pe­r­vi­sar­los có­mo­da­me­n­te desde el terminal e in­te­r­ve­nir si es necesario.

1. chrt

Con chrt estamos ante un programa para el control avanzado de procesos que permite averiguar y co­n­fi­gu­rar los atributos de tiempo real (reglas de sche­du­li­ng o pla­ni­fi­ca­ción de procesos y prio­ri­da­des) de procesos activos o ejecutar comandos y sus ar­gu­me­n­tos con de­te­r­mi­na­dos atributos de tiempo real. Se escribe con esta sintaxis:

chrt [OPCIONES] [PRIORIDAD] PID/COMANDO [ARGUMENTOS]
bash

Para descifrar los atributos de tiempo real de procesos de­te­r­mi­na­dos utiliza chrt sin indicar ninguna prioridad junto con la opción -p.

Con la ayuda de opciones, chrt también permite es­ta­ble­cer o definir la re­gu­la­ción de la pro­gra­ma­ción de procesos en ejecución o recién iniciados. En­co­n­tra­rá más in­fo­r­ma­ción al respecto en la entrada man co­rre­s­po­n­die­n­te.

2. ionice

El comando ionice se utiliza para influir sobre la prioridad de un proceso que utiliza la interfaz I/O del kernel. La sintaxis general del comando es:

ionice [OPCIONES] COMANDO
bash

Para poder invocar a ionice es necesario contar con permisos de ad­mi­ni­s­tra­dor. El comando distingue tres clases de pla­ni­fi­ca­ción y estas se tra­n­s­mi­ten con la opción -c y el valor, que puede ir del 1 al 3:

  • 1 = Real Time (tiempo real): la operación de E/S se ejecuta de inmediato.
  • 2 = Best Effort (mejor esfuerzo): la operación de E/S se ejecuta tan pronto como sea posible.
  • 3 = Idle (reposo): la operación de E/S solo se ejecuta cuando no haya ningún otro proceso que requiera tiempo de E/S.

3. nohup

No­r­ma­l­me­n­te, cuando un usuario cierra una sesión en la consola con exit, por ejemplo, todos los procesos de­pe­n­die­n­tes finalizan au­to­má­ti­ca­me­n­te. El comando de Linux nohup (no hangup) disuelve a un proceso de la sesión en curso de forma que puede seguir activo aun cuando el usuario ha cerrado su sesión.

nohup COMANDO
bash

4. pidof

En el caso del programa pidof, se obtiene de la consola los números de ide­n­ti­fi­ca­ción de todos los procesos de un programa. Solicita los PID con pidof siguiendo este esquema:

pidof [OPCIONES] PROGRAMA
bash

Cuando solo se quiere obtener el ID del primer proceso, se combina pidof con la opción -s (single shot).

5. pdkill

Como kill, pkill también envía una señal a un proceso de­te­r­mi­na­do, aunque el di­re­c­cio­na­mie­n­to no tiene lugar solamente con el PID, sino con un término clave que se compara con el nombre de los procesos activos y puede ser formulado como expresión regular. pkill también envía la señal estándar TERM si no se define cualquier otra señal. La sintaxis general del comando reza:

pkill [OPCIONES] [-SEÑAL] [TÉRMINO]
bash

Gracias a diversas opciones, podemos limitar el comando a los procesos de un de­te­r­mi­na­do usuario (-U UID), a los procesos hijo de un proceso padre (-P PID) o a los procesos recientes (-n) o a los más antiguos (-o).

6. pstree

Utiliza pstree para obtener una lista en forma de árbol de todos los procesos en activo en la ac­tua­li­dad. Sigue la siguiente sintaxis:

pstree [OPCIONES]
bash

Uti­li­za­n­do diversas opciones puedes definir el formato y la amplitud de la salida.

7. renice

El comando renice permite modificar la prioridad de un proceso activo. Se invoca con esta sintaxis:

renice PRIORIDAD [OPCIONES]
bash

8. sleep El comando sleep de Linux se utiliza para in­te­rru­m­pir por un periodo de­te­r­mi­na­do de tiempo la sesión actual en la consola. La sintaxis general del comando reza:

sleep CIFRA[SUFIJO]
bash

Si invocas a sleep sin sufijo, la cifra indicada se in­te­r­pre­ta como franja en segundos (s), pero también se cuenta con la po­si­bi­li­dad de in­te­rru­m­pir la sesión durante unos minutos (m), unas horas (h) o incluso durante días (d).

9. taskset

En el caso de taskset nos en­co­n­tra­mos ante un comando para el control ampliado de procesos que se utiliza en sistemas con pro­ce­sa­do­res mu­l­ti­nú­cleo para asignar procesos o programas a los núcleos. Este comando se realiza con permisos de ad­mi­ni­s­tra­dor y utiliza uno de los si­guie­n­tes esquemas:

taskset [OPCIONES] MÁSCARA ORDEN
taskset [OPCIONES] -p PID
bash

La asi­g­na­ción de procesos y órdenes a un núcleo de la CPU tiene lugar uti­li­za­n­do una máscara de bits he­xa­de­ci­mal. Dado que la asi­g­na­ción a través de máscaras de bits no es muy intuitiva, taskset se suele usar junto con la opción -c (–cpu-list), que permite una asi­g­na­ción numérica de los pro­ce­sa­do­res (es decir, 0, 5 7, 9-11).

Pager

Para mantener la pe­r­s­pe­c­ti­va también en el caso de archivos de varias páginas, los comandos de esta categoría de­no­mi­na­da Pager permiten se­le­c­cio­nar las partes que se quieren mostrar en el terminal e incluso hojear los archivos en el modo in­ter­ac­ti­vo.

1. head

El comando de Linux head se utiliza para mostrar la primera parte de un archivo. Su sintaxis general reza así:

head [OPCIONES] Archivo
bash

Utiliza la opción -n NÚMERO_LÍNEAS para definir cuántas líneas, a partir de la primera, se han de mostrar en la consola.

2. less

El comando de Linux less muestra el contenido de un archivo de texto en la consola.Su sintaxis general es la siguiente:

less [OPCIONES] ARCHIVO
bash

La salida tiene lugar en modo in­ter­ac­ti­vo de forma au­to­má­ti­ca, lo que le permite al usuario hojear el documento o ex­plo­rar­lo con palabras clave. Con la techa [Q] se cierra el modo de lectura in­ter­ac­ti­va —en el manual del programa en­cue­n­tras más atajos de teclado u opciones di­s­po­ni­bles para este comando.

3. tail

Mientras que head muestra por defecto las 10 primeras líneas de un archivo, tail muestra las 10 últimas. Ambos pager se utilizan con el mismo esquema (ver head).

Editores

Con Linux no es necesario utilizar un programa de edición de textos para modificar archivos de co­n­fi­gu­ra­ción, editar fra­g­me­n­tos de código o escribir notas cortas, pues es posible abrir editores de texto simples en el terminal. A co­n­ti­nua­ción, pre­se­n­ta­mos tres comandos que deberías conocer.

1. emacs

Emacs es un editor de texto mu­l­ti­pla­ta­fo­r­ma que se puede ampliar con una interfaz de pro­gra­ma­ción. Arranca por defecto con una interfaz gráfica de usuario, pero si se escribe la opción --no-window-system también puede abrirse en el terminal.

emacs --no-window-system
bash

Emacs cuenta con un tutorial integrado al que puedes acceder con el atajo de teclado [CTRL] + [H], [T].

2. nano

Nano es un editor de texto basado en terminal. Aun cuando ofrece una paleta de funciones más reducida que otros editores co­m­pa­ra­bles (como Vim), se di­fe­re­n­cia de este por una mayor facilidad en el uso. Su sintaxis básica reza:

nano [OPCIONES] ARCHIVO
bash

El comando abre el archivo so­li­ci­ta­do en una ventana de edición en el terminal. Si invocas a nano sin nombre de archivo se crea un archivo de texto nuevo que se almacena en el di­re­c­to­rio actual.

3. vim

En el caso de Vim (Vi Improved) se trata de un de­sa­rro­llo ulterior del editor Vi al que supera con numerosas ex­te­n­sio­nes, como el resaltado de sintaxis, un amplio sistema de ayuda, scripting nativo, au­to­co­m­ple­ta­do de código y una selección de texto visual.

Este programa de código abierto ofrece di­fe­re­n­tes modos ope­ra­ti­vos para la edición de archivos meramente de texto y se puede utilizar tanto en el terminal como en una apli­ca­ción portátil con interfaz gráfica de usuario (GVim). Su campo central de apli­ca­ción es la edición de código de programa.

Iniciado en la consola, Vim se utiliza con el teclado. No­r­ma­l­me­n­te se invoca al comando con un archivo de texto siguiendo este esquema:

vim [OPCIONES] ARCHIVO
bash

Vim ofrece con el programa vimtutor, que también se inicia en la línea de comandos, una in­tro­du­c­ción exhau­s­ti­va en Vim. Nuestro artículo sobre editor de Linux Vim sirve también para pro­fu­n­di­zar en la in­s­ta­la­ción del programa y en sus di­fe­re­n­tes modos ope­ra­ti­vos.

Gestión de redes

También es posible gestionar redes en el terminal uti­li­za­n­do Linux. Ya se trate de examinar una conexión, de solicitar in­fo­r­ma­ción al DNS, de co­n­fi­gu­rar in­te­r­fa­ces o de enviar archivos a otro ordenador, con los si­guie­n­tes comandos basta una línea para llevar a cabo tu propósito.

1. arp

El comando arp permite abrir y editar la memoria caché del ARP de tu sistema operativo. Si lo utilizas sin mo­di­fi­ca­dor arpdevuelve el contenido de la tabla del ARP en el terminal.

arp [OPCIÓN]
bash

Puedes usar distintas opciones para delimitar el resultado obtenido o para borrar y crear entradas:

  • -a HOST = Limitar la salida a las entradas de un de­te­r­mi­na­do host name o de una dirección IP:
  • -s HOST DIRECCIÓN_MAC = Crear una entrada ARP es­pe­ci­fi­ca­n­do el nombre de host y la dirección MAC
  • -d HOST = Borrar una entrada APR

2. iw

El programa iw se utiliza para co­n­fi­gu­rar in­te­r­fa­ces in­alá­m­bri­cas y se ha co­n­so­li­da­do como la al­te­r­na­ti­va más reciente a iwconfig. Este comando se fu­n­da­me­n­ta en una sintaxis parecida a la de ip:

iw [OPCIONES] OBJETO [COMANDO]
bash

Algunos objetos que se pueden usar con iw son:

  • dev NOMBRE_DE LA_INTERFAZ = Interfaz de red
  • phy NOMBRE_DEL_DI­S­PO­SI­TI­VO = Di­s­po­si­ti­vo in­alá­m­bri­co (vía nombre)
  • phy#ÍNDICE_DEL_DI­S­PO­SI­TI­VO = Di­s­po­si­ti­vo in­alá­m­bri­co (vía índice)
  • reg = Agente re­gu­la­to­rio para co­n­fi­gu­rar la región y el país

En la entrada co­rre­s­po­n­die­n­te del manual, se pueden acceder a una pre­se­n­ta­ción de los comandos y las opciones.

3. nslookup

Como dig, nslookup también sirve para resolver nombres. El comando está di­s­po­ni­ble en dos modos ope­ra­ti­vos: in­ter­ac­ti­vo y no in­ter­ac­tiv. Para iniciar nslookup en el modo no in­ter­ac­ti­vo se invoca el programa en co­m­bi­na­ción con un nombre de host o una direccion IP.

nslookup [OPCIONES] [HOST/IP ]
bash

Para iniciar el modo in­ter­ac­ti­vo, se introduce el comando nslookup en el terminal sin ninguna in­fo­r­ma­ción adicional y, a co­n­ti­nua­ción, se incluyen los nombres de host o di­re­c­cio­nes IP para mostrar las di­re­c­cio­nes IP o los nombres de host asociados.

Dado que el comando está ofi­cia­l­me­n­te obsoleto, se re­co­mie­n­da a los usuarios que utilicen dig en su lugar.

4. rsync

El comando rsync permite si­n­cro­ni­zar archivos de forma local o en una red. Con este fin se comparan primero el tamaño y la fecha de los cambios de los archivos en cuestión. La sintaxis del comando reza:

rsync [OPCIONES] ORIGEN DESTINO
bash

El comando rsync suele eje­cu­tar­se con la opción -a, que es la re­s­po­n­sa­ble de la copia de todos los su­b­di­re­c­to­rios así como de los enlaces si­m­bó­li­cos junto con los derechos de usuario.

5. scp

Con el comando de Linux scp (secure copy) dispones de otro programa para tra­n­s­fe­rir datos de forma segura en la red: scp copia datos de un ordenador a otro uti­li­za­n­do también para ello el protocolo de red SSH. El programa cliente funciona casi como la opción cp, aunque se utiliza en todos los sistemas con esta sintaxis:

scp [OPCIONES] ARCHIVO [[user@]remote_host:]RUTA
bash

A la in­di­ca­ción de la ruta del ordenador le preceden el nombre de usuario y el nombre del host remoto. Los archivos locales se pueden di­re­c­cio­nar mediante rutas relativas o absolutas.

Ejemplos:

scp /home/max/images/image.jpg max@example.com:/home/max/archiv
bash

Gracias a otras opciones puedes co­n­fi­gu­rar el modo de la tra­n­s­fe­re­n­cia y el cifrado.

6. tty

El comando tty muestra el nombre de archivo del terminal definido como entrada estándar. La sintaxis general del comando reza:

tty [OPCIONES]
bash

Archivar y comprimir

Linux facilita diversas te­c­no­lo­gías con el fin de comprimir y em­pa­que­tar archivos, aunque cabe tener en cuenta que no siempre un proceso de archivado implica una co­m­pre­sión. Por ejemplo, el programa para archivar ficheros tar suele uti­li­zar­se en co­m­bi­na­ción con programas de co­m­pre­sión como gzip, bzip2 o xz.

1. gzip

En el caso de gzip, estamos ante un programa con el cual se pueden comprimir y de­s­co­m­pri­mir archivos có­mo­da­me­n­te en el terminal. Su sintaxis general sigue esta es­tru­c­tu­ra:

gzip [OPCIONES] ARCHIVOS
bash

Debes tener en cuenta que gzip borra por defecto el archivo original cuando lo empaqueta, algo que, por otro lado, puedes evitar con ayuda de la opción -k. El programa también puede ser empleado sobre varios archivos al mismo tiempo: cada archivo inicial se convierte a un archivo gz in­de­pe­n­die­n­te entonces. Para escribir varios archivos en un fichero co­m­pri­mi­do común se utiliza gzip junto con el programa de archivado tar. Si se trata de de­s­co­m­pri­mir un archivo gz, se combina el comando gzip con la opción -d o se utiliza el comando gunzip.

2. bzip2

Una al­te­r­na­ti­va popular a gzip lo co­n­s­ti­tu­ye el programa de líneas de comandos bzip2. Uti­li­za­n­do la misma sintaxis que aquel, este se basa sin embargo en un proceso de co­m­pre­sión en tres fases que po­si­bi­li­ta un mayor grado de co­m­pre­sión. Los archivos que han sido co­m­pri­mi­dos con bzip2 llevan la te­r­mi­na­ción .bz2. Utiliza bzip con este esquema para comprimir archivos:

bzip2 [OPCIONES] ARCHIVOS
bash

bzip2 también se puede aplicar en archivos tar. La de­s­co­m­pre­sión tiene lugar aquí de forma análoga a bzip con la opción -d.

3. xz

El comando xz convierte archivos en el formato de co­m­pre­sión de datos homónimo. Para invocar el programa se sigue el mismo esquema que con gzip y bzip2.

xz [OPCIONES] ARCHIVOS
bash

Los archivos co­m­pri­mi­dos con xz adoptan la te­r­mi­na­ción .xz. La de­s­co­m­pre­sión tiene lugar también con la opción -d (como en gzip y bzip). De forma al­te­r­na­ti­va también se puede usar el comando unxz.

Al igual que los archivos gz y bz2, los archivos xz tampoco se archivan. Cuando se quiere escribir varios archivos en el mismo archivo co­m­pri­mi­do xz también se ha de recurrir a la he­rra­mie­n­ta de archivado tar.

4. cpio

cpio (copy in, copy out) es un programa de archivado con el que se escriben datos en un archivo (.cpio) y se extraen de él.

Gestión de pa­r­ti­cio­nes

Cuando se trabaja con Linux, para poder acceder a un sistema de ficheros residente en una partición diferente, este ha de estar integrado en la es­tru­c­tu­ra de di­re­c­to­rios del sistema operativo. A este pro­ce­di­mie­n­to se le denomina “montar” una partición y puede llevarse a cabo en la interfaz gráfica de usuario. Uti­li­za­n­do el terminal de líneas de comandos, el usuario dispone también de programas como lsblk, blkid y mount , con los cuales puede solicitar datos sobre los di­s­po­si­ti­vos de bloque (block devices) co­ne­c­ta­dos y montarlos o de­s­mo­n­tar­los según la necesidad.

1. lsblk

Con el comando lsglk (list block devices) se obtiene una vista de todos los di­s­po­si­ti­vos y pa­r­ti­cio­nes in­co­r­po­ra­dos al sistema operativo como esquema arbóreo (no tienen que estar ne­ce­sa­ria­me­n­te montados).

lsblk [OPCIONES]
bash

La salida se puede pe­r­so­na­li­zar con ayuda de la opción -o (–output) y una lista de los atributos deseados para solicitar datos adi­cio­na­les como el número de ide­n­ti­fi­ca­ción (UUID), el tipo de sistema de archivos (FSTYPE) o el estado (STATE).

En la co­n­fi­gu­ra­ción estándar no se tienen en cuenta los di­s­po­si­ti­vos vacíos, pero sí se deben incluir en la vista general se combina lsblk con la opción -a (–all). Para solicitar in­fo­r­ma­ción sobre un de­te­r­mi­na­do di­s­po­si­ti­vo se utiliza el siguiente esquema:

lsblk [OPCIONES] DISPOSITIVO
bash

2. blkid

blkid también facilita in­fo­r­ma­ción sobre los di­s­po­si­ti­vos co­ne­c­ta­dos al hardware de forma similar a como lo hace blk. Usando el comando con el siguiente esquema se solicita el número de ide­n­ti­fi­ca­ción (UUID) y el tipo de sistema de archivos (TYPE) de todos los di­s­po­si­ti­vos de bloque co­ne­c­ta­dos:

blkid [OPCIONES]
bash

Con la opción -o y el valor list se obtiene la salida en forma de tabla.

blkid -o list
bash

Mi­s­ce­lá­nea

A co­n­ti­nua­ción, se describen algunos comandos que no se incluyen en ninguna de las ca­te­go­rías enu­me­ra­das hasta ahora.

1. alias

La in­ter­ac­ción con el shell se realiza no­r­ma­l­me­n­te mediante comandos que pueden uti­li­zar­se para llamar a programas de línea de comandos del mismo nombre. Se utiliza una llamada a programa para cada acción que se quiera realizar a través del terminal. El comando de Linux alias te permite definir nombres cortos para las llamadas a programas. Utiliza alias siguiendo el esquema que se presenta a co­n­ti­nua­ción:

alias APODO = 'COMANDO'
bash

Sustituye COMANDO con la línea de comandos, in­clu­ye­n­do las opciones. Esto enlazará la cadena insertada para el marcador de posición APODO.

2. at

Con el comando at según este esquema se programa la ejecución de una de­te­r­mi­na­da orden:

at FECHA HORA
bash

A co­n­ti­nua­ción, se indica el comando y se cierra el modo in­ter­ac­ti­vo con [CTRL] + [D].

3. cal Uti­li­za­n­do cal según el esquema que sigue se obtiene una vista de ca­le­n­da­rio en el terminal:

cal [OPCIONES] [[MES] Año]
bash

4. pr

Con el programa de líneas de comando pr se preparan archivos para su impresión. Sigue para ello la siguiente sintaxis:

pr [OPCIONES] Archivo
bash

En la co­n­fi­gu­ra­ción estándar pr genera una cabecera que contiene el nombre del archivo, la fecha actual y el número de página.

5. script

Con el comando script se puede grabar una sesión en el archivo typescript. Si en él figura una grabación de una sesión pre­ce­de­n­te, se so­bre­s­cri­be. El registro de la sesión comienza au­to­má­ti­ca­me­n­te cuando se invoca el programa:

script
bash

Utiliza el atajo de teclado [CTRL] + [D] para finalizar la grabación.Si en lugar de typescriptse prefiere registrar la sesión en un archivo diferente, se introduce el comando script junto con el nombre de archivo o la ruta.

6. seq

seq permite obtener una serie de números en la salida estándar, para lo cual se define un valor inicial, otro final y eve­n­tua­l­me­n­te el tipo de in­cre­me­n­to.

seq [OPCIONES] VALOR INICIAL INCREMENTO VALOR FINAL
bash

7. tasksel

Con el comando tasksel se obtiene soporte para la in­s­ta­la­ción de apli­ca­cio­nes estándar como un servidor de correo, DNS, OpenSSH o LAMP. Si utilizas esta he­rra­mie­n­ta, todos los paquetes y programas ne­ce­sa­rios para una de­te­r­mi­na­da tarea se instalan au­to­má­ti­ca­me­n­te en la secuencia correcta. Con la opción ´–list-tasks´, ´tasksel´ muestra una lista de todas las apli­ca­cio­nes estándar di­s­po­ni­bles.

tasksel --list-tasks
bash

Si se desean obtener datos adi­cio­na­les sobre una apli­ca­ción de la lista, se acompaña el comando de la opción --task-desc y la in­fo­r­ma­ción co­rre­s­po­n­die­n­te. Si deseas que el terminal muestre todos los paquetes que pe­r­te­ne­cen a la tarea “mail-server”, utiliza el comando con la opción --task-packages.

La in­s­ta­la­ción de todos los paquetes de una apli­ca­ción estándar se inicia con ayuda del su­b­co­ma­n­do install. Para ello necesitas derechos admin.

8. tee

Con el comando de Linux tee nos en­co­n­tra­mos ante un comando con el cual se puede duplicar la salida de un programa. Con este fin se redirige una salida hacia la salida estándar y otra se escribe en el archivo indicado en el comando tee. Esta es su sintaxis:

tee [OPCIONES] ARCHIVO
bash

tee suele ir aco­m­pa­ña­do de la barra vertical (|) como operador:

ls | tee ejemplo.txt
bash

9. time

Utiliza el comando time según el esquema que sigue para obtener in­fo­r­ma­ción sobre el tiempo de ejecución de los programas que inicias en el terminal:

time [OPCIONES] Comando [ARGUMENTOS]
bash

10. tr

Utiliza tr para borrar ca­ra­c­te­res o su­s­ti­tui­r­los por otros. Para ello tr lee el flujo de datos de la entrada estándar y los escribe en la salida estándar en función de la mo­di­fi­ca­ción deseada. En caso de su­s­ti­tu­ción, tr se utiliza con dos ar­gu­me­n­tos:

tr OPCIÓN CANTIDAD1 CANTIDAD2
bash

El segundo argumento (CANTIDAD2) sustituye al primero (CANTIDAD1). Para borrar una secuencia de ca­ra­c­te­res se utiliza la opción -d y se indica la secuencia como argumento.

tr -d SECUENCIA
bash

Este comando suele co­m­bi­nar­se con los ope­ra­do­res mayor que o menor que para llevar a cabo los ajustes en los archivos.

tr 'a-z' 'A-Z' < ejemplo1.txt > ejemplo2.txt
bash

Aquí, tr lee el contenido del archivo ejemplo1.txt, sustituye las mi­nú­s­cu­las de la a a la z por ma­yú­s­cu­las y escribe la salida en el archivo ejemplo2.txt.

11. wall

El comando wall permite enviar un mensaje a todos los usuarios activos en el sistema en un momento de­te­r­mi­na­do. Para invocar al programa se escribe en la consola:

wall
bash

Confirma con [Enter] y escribe tu mensaje, que también puedes confirmar con [Enter] y enviar con el atajo de teclado [CTRL]+[D]. Todos los usuarios activos en ese momento en el sistema reciben la no­ti­fi­ca­ción en el terminal como mensaje broadcast. Ten en cuenta que para poder recibir mensajes de otros usuarios tienes que permitir su acceso de escritura a tu terminal. Utiliza para ello el comando mesg:

Si quieres enviar contenido de un archivo a todos los usuarios activos, utiliza wall con un operador de re­di­re­c­ción < y el nombre del archivo co­rre­s­po­n­die­n­te:

wall &lt; NOMBRE DEL ARCHIVO
bash

12. watch

Con el comando watch se puede ejecutar un comando en periodos regulares y se le invoca por medio de la sintaxis:

watch [OPCIONES] COMANDO
bash

El intervalo de tiempo en el cual se ha de ejecutar el comando enviada con watch se define con la opción -n (en segundos). Se finaliza watch con la co­m­bi­na­ción [CTRL] + [C].

13. wc

El comando de Linux wc (word count) pro­po­r­cio­na la cantidad de líneas, palabras, letras, ca­ra­c­te­res o bytes de un archivo de texto cuando se necesita.

wc [OPCIONES] ARCHIVO
bash

Si wc se escribe sin opción, la salida equivale al esquema LÍNEAS PALABRAS CARACTERES ARCHIVO, pero el comando soporta otras opciones con las que filtrar la salida: -l (líneas), -C (bytes), -m (caracteres),-L (longitud de la línea más larga) y -w (palabras).

14. xargs

El comando de Linux xargs permite entregar la salida de un comando a otro comando como argumento. Ge­ne­ra­l­me­n­te se utiliza para ello la barra vertical (|) como operador de re­di­re­c­ción. xargs se utiliza con esta sintaxis:

COMANDO1 | xargs [OPCIONES] COMANDO2
bash

El comando xargs se utiliza, por ejemplo, con find: en el siguiente ejemplo, find determina todos los archivos del di­re­c­to­rio actual que se ajustan al patrón *.tmp y emite sus nombres en la salida estándar, donde se entregan al comando rm como argumento.

$ find . -name '*.tmp' | xargs rm
bash

Esta lista de comandos de Linux no aspira a co­n­ve­r­ti­r­se en una lista completa de todos ellos, sino que solo abarca los comandos es­tri­c­ta­me­n­te fu­n­da­me­n­ta­les y explica algunos ejemplos de su apli­ca­ción diaria en sistemas unixoides. Si buscas una de­s­cri­p­ción completa de todos estos comandos, así como de los demás, tendrás que dirigirte a las páginas del manual de tu sistema operativo, del cual en­cue­n­tras una versión online en el proyecto Linux man-pages de Michael Kerrisk.

Ir al menú principal