0% encontró este documento útil (0 votos)
50 vistas30 páginas

Comando S Linux

Este documento proporciona una guía de los comandos más comunes en sistemas GNU/Linux, organizados en categorías como comandos básicos, manejo de archivos, administración del sistema de archivos, copias de seguridad y más. Incluye descripciones detalladas de los comandos y ejemplos de su uso.

Cargado por

PEPE Calzonazos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
50 vistas30 páginas

Comando S Linux

Este documento proporciona una guía de los comandos más comunes en sistemas GNU/Linux, organizados en categorías como comandos básicos, manejo de archivos, administración del sistema de archivos, copias de seguridad y más. Incluye descripciones detalladas de los comandos y ejemplos de su uso.

Cargado por

PEPE Calzonazos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 30

Comandos en sistemas GNU/Linux

El uso de la línea de comandos es una de las habilidades que cualquier administrador de


Resumen: sistemas debe dominar. Este documento no pretende ser una introducción a la shell de Linux,
sino a los comandos que se pueden utilizar desde la shell.
Autor: Alejandro Roca Alhama
Creative Commons Attribution-ShareAlike License
Licencia:

v.0.5 (10/febrero/2014)
Versión: v.0.4 (20/mayo/2013)
v.0.3 (28/marzo/2013)
A falta de: Más ejemplos, descripción detallada de más comandos.

Índice de contenido
Requerimientos.............................................................................................................1
¿Qué es un intérprete de comandos?.............................................................................1
Ventajas y desventajas..............................................................................................2
Buscando comandos.....................................................................................................3
Comandos....................................................................................................................3
Comandos básicos.....................................................................................................4
Trabajando con ficheros.............................................................................................5
Manipulando texto....................................................................................................9
Administrando el sistema de ficheros........................................................................14
Copias de seguridad................................................................................................17
Gestión de procesos................................................................................................19
Administración del sistema.......................................................................................20
Manejo de ejecutables.............................................................................................23
Usuarios y grupos (apuntes Bash)............................................................................24
Hardware................................................................................................................25
Redes TCP/IP..........................................................................................................26
Gestión de software................................................................................................28
Multimedia..............................................................................................................29
Bibliografía..................................................................................................................30

Requerimientos
Para el seguimiento de este documento se recomienda el uso de cualquier distribución de
Linux, como por ejemplo:
• Ubuntu 12.04.2 LTS. (Precise Pangolin)
• Debian 7.0.0. (Wheezy)
• Fedora 18. (Spherical Cow)

A lo largo del documento se usará Bash como shell.

¿Qué es un intérprete de comandos?


Un intérprete de comandos es un programa que acepta comandos que se teclean desde
un terminal y los convierte en instrucciones para el sistema operativo.

Comandos en sistemas GNU/Linux 1


Se pueden utilizan como sinónimos los siguientes términos:
• Intérprete de órdenes.
• CLI (Command-line interface).
• Shell.

Ventajas y desventajas
Entre las ventajas en el uso del intérprete de comandos destacamos las siguientes:
✔ Siempre están disponibles.
En caso de problemas siempre se cuenta con el intérprete de comandos, incluso en
el caso de que la interfaz gráfica no esté disponible. También se cuenta con ella en
el caso de que las cosas vayan realmente mal.
✔ Solución de problemas.
A la hora de resolver problemas, es muy probable que estos lleguen de la mano de
la ejecución de comandos a través de la shell. En multitud de foros, la solución a los
problemas se indica a través de la ejecución de comandos.
✔ Administración remota.
A la hora de administrar servidores de forma remota, las herramientas gráficas o
consumen mucho ancho de banda o ni siquiera están disponibles. Una shell remota
consume muy poco ancho de banda y siempre puede estar disponibles a través de
protocolos seguros como SSH.
✔ Soportan todas las características.
Muchas herramientas gráficas son simples front-ends gráficos de comandos. Estos
front-ends no suelen implementar todas las opciones.
✔ Gran multitud de comandos.
Los sistemas Linux actuales cuentan con miles de comandos para monitorizar y
gestionar cualquier aspecto del sistema.
✔ Programación de scripts.
Varios comandos se pueden incluir en un fichero de texto para su ejecución como
un todo, a estos ficheros se les llaman scripts y es una de las ventajas principales
en el uso de intérpretes de comandos.
✔ Herramienta productiva.
Una vez superada la curva de aprendizaje, la interfaces de usuario basadas en
comandos son unas de las herramientas más productivas que un administrador de
sistemas puede utilizar.

En cuanto a las desventajas, tenemos:


✗ Dificultad en el aprendizaje.
La curva de aprendizaje de la línea de comandos de cualquier distribución Linux
actual es un poco elevada. Hay una cantidad de comandos abrumadora, y cada uno
de ellos con su forma de utilizarlos y su lista de opciones propia. A pesar de todo
eso, las ventajas obtenidas para cualquier administrador bien merecen la pena el
sacrificio.
✗ Incompatibilidad entre distribuciones.
Las mayores diferencias entre las distribuciones no residen en el intérprete de
comandos. Distribuciones como Debian, Ubuntu o Fedora usan Bash como shell por

Comandos en sistemas GNU/Linux 2


defecto, y la gran mayoría de comandos aparecen de forma idéntica en casi todas
las distribuciones. A pesar de eso, es posible que hayan diferencias en
determinadas opciones de algunos comandos y que las distribuciones opten por
comandos diferentes para realizar determinadas tareas (gestión de software,
arranque y parada, gestión de los niveles de ejecución, etc.).

Buscando comandos
A continuación se detalla una lista de comandos genéricos que nos pueden ayudar a la
hora de buscar comandos:
Comando Acción
Muestra el contenido de la variable de entorno PATH.
echo $PATH Esta variable guarda un listado de todos los directorios
donde el sistema buscará comandos a para ejecutar.

which apt-get Busca si el comando se encuentra el alguno de los


directorios indicados en el PATH.

find /usr -iname mount Busca a partir del directorio /usr todos los ficheros que
coincidan con el nombre mount.

whereis mount Localiza para el comando mount, su ejecutable y página


man.
Busca el comando mount a través del programa locate.
locate mount El comando locate necesita que se haya construido
previamente su base de datos a través del comando
updatedb.
man mount Muestra la ayuda (página man) del comando mount.

apt-cache search mount Busca la cadena mount en la base de datos de paquetes


del sistema APT.
Busca la cadena mount en la lista de todos los ficheros
dpkg-query -S mount instalados en el sistema, mostrando el paquete y la ruta
del fichero.

dpkg -L mount Muestra todos los ficheros que conforman el paquete


mount.

apt-get update Actualiza la lista de paquetes instalables desde los


repositorios.

Comandos
A continuación se muestra un listado más o menos detallado de los comandos de uso más
frecuente. Es difícil clasificar los comandos en categorías completamente excluyentes, así
que como primera aproximación se han utilizado las siguientes:
● Comandos básicos.
● Trabajando con ficheros.
● Manipulando texto.
● Administración del sistema de ficheros.

Comandos en sistemas GNU/Linux 3


● Copias de seguridad.
● Gestión de procesos.
● Administración del sistema de ficheros.
● Manejo de ejecutables.
● Usuarios y grupos.
● Hardware.
● Redes TCP/IP.
● Gestión de software.
● Multimedia.
● Otros comandos interesantes.

Para cada comando se proporciona una tabla con los siguientes campos:

<comando> <paquete que lo proporciona>


<Sintaxis tal como aparece en la página man.>
<Descripción del comando y opciones más usuales.>
opcion1 Descripción opción 1.
opcion2 Descripción opción 2.
...
<Ejemplo 1>
<Descripción del ejemplo 1.>
<Ejemplo 2>
<Descripción del ejemplo 2.>
...

Comandos básicos
Como comandos básicos para el trabajo diario en un terminal contamos con los siguientes:

Comando Acción
cd [options] [dir] Cambia el directorio actual de la shell.
ls [options][file]... Muestra el contenido de directorios.
pwd [options] Muestra el directorio actual.
mkdir [options] dir... Crea directorios.
rmdir [options] dir... Elimina directorios (si están vacíos).
cp [options] source target
cp [options] file... dir Copia ficheros y directorios.

mv [options] source target


mv [options] file... dir Mueve y renombra ficheros.

rm [options] file... Elimina ficheros y directorios.


file [options] file... Muestra el tipo de fichero.
touch [options] file... Modifica los timestamps del fichero (fecha de

Comandos en sistemas GNU/Linux 4


acceso y fecha de modificación).
Si el fichero no existe lo crea.

ln [options] target link Crea enlaces (físicos o simbólicos) entre


ficheros.

cat [ptions] [file]... Concatena ficheros y los muestra por la salida


estándar.

more [options] [file]... Filtro que permite ver un fichero de texto en


pantalla página a página.
less [options] [file]... Similar a more pero mucho más avanzado.

Trabajando con ficheros


Hay una máxima en sistemas UNIX que dice: “En UNIX todo son ficheros, si algo no
es un fichero es que se trata de un proceso”. Esto se traduce en que en sistemas Linux
todo se puede ver y tratar como si fuera un fichero, esto incluye a: los propios ficheros,
los directorios, los dispositivos, los enlaces, … Asociado a cada fichero existe una
estructura de datos, denominada nodo-i, que contiene toda la información sobre el
fichero: propietario, permisos de acceso, fecha de modificación, tamaño, etc. Además de
los comandos ya comentados, existen muchos más, destacando los siguientes:

find findutils
find [options] [path...] [expression]
Busca ficheros a través de la jerarquía de directorios que cumplan con ciertos requisitos
de búsqueda.
-name Permite especificar el nombre del fichero a buscar.
-iname Igual que la anterior pero insensible a mayúsculas/minusculas.
-mtime Busca ficheros según su fecha de modificación.
-size Busca ficheros según el tamaño.
-exec Permite ejecutar un comando para cada fichero encontrado.
find . -iname “*.jpg”
Busca todos los ficheros con extensión .jpg ó .JPG.
find . -size +10M
Busca todos los ficheros con un tamaño mayor de 10 MB.
find . -name “*~” -exec rm {} \;
Busca todos los ficheros cuyo nombre acabe con el carácter '~' y los borra.

locate mlocate
locate [options] [pattern]...
Busca ficheros por nombre.
locate apt-file
Busca todos los ficheros que contengan en su ruta la cadena 'apt-file'.

Comandos en sistemas GNU/Linux 5


locate -i “*.jpg”
Busca todos los ficheros con extensión 'jpg' ó 'JPG'.
updatedb
Actualiza la base de datos del comando locate.

ls coreutils
ls [options] [file]...
Muestra el contenido de directorios.
-l Muestra un listado extendido.
-a Muestra todos los ficheros, incluyendo los ocultos.
-lt Ordena los ficheros por fecha de modificación, primero el más nuevo.
-lu Ordena los ficheros por fecha de acceso, primero el accedido en menos
tiempo.
-lS Ordena los ficheros por tamaño, primero el más grande.
-lSr Invierte el orden.
-r Invierte el orden.
-i Muestra el nodo-i asociado a cada fichero.
-ln Muestra el UID y GID en vez del nombre de usuario y de grupo.
-lh Muestra los tamaños de los ficheros de forma mucho más legible.
-lR Muestra los ficheros y directorios recursivamente.
ls -liSr
Muestra los ficheros en listado extendido, mostrando además el nodo-i asociado y
ordenando los ficheros de menor a mayor.

rename perl
rename [options] perlexpr [files]
Cambia el nombre a los ficheros en grupo. La forma de sustituir un nombre por otro
viene dada a través de una expresión Perl.
rename 'y/A-Z/a-z/' *
Cambia el nombre de todos los ficheros del directorio actual cambiando mayúsculas por
minúsculas.
rename 's/\.bak$//' *.bak
Elimina la extensión .bak a todos los ficheros del directorio actual que la tengan.
rename 's/foto/FOTO/' *.jpg
Sustitute la palabra 'foto' por 'FOTO' en todos los ficheros del directorio actual que tengan
extensión '.jpg'.

chown coreutils
chown [options] [owner][:[group]] file...
chown [options] --reference=rfile file...

Comandos en sistemas GNU/Linux 6


Cambia el usuario (y opcionalmente el grupo) propietario de un fichero.
-R Realiza los cambios de forma recursiva.
-v Modo verbose.
chown -R root:root /root
chown -R root.root /root
chown -R root. /root
Cambia el propietario y el grupo al directorio /root y a todo su contenido recursivamente.
chown root /home
Cambia el propietario del directorio /home.

chgrp coreutils
chgrp [options] group file...
chgrp [options] --reference=rfile file...
Cambia el grupo propietario de un fichero.
-R Realiza los cambios de forma recursiva.
-v Modo verbose.
chgrp root /home
Cambia el grupo propitario del directorio /home.

chmod coreutils
chmod [options] mode[,mode]... file...
chmod [options] modo-octal file...
chmod [options] --reference=rfile file...
Cambia los permisos de un fichero.
-R Realiza los cambios de forma recursiva.
-v Modo verbose.
chmod u+x fichero
Da permisos de ejecución al usuario propietario.
chmod 644 fichero
Da los siguientes permisos al fichero: rw-r--r--

umask comando interno de Bash


umask [options] [mode]
Muestra o establece la máscara que se utilizará para fijar los permisos de un fichero
durante la creación de éstos.
-S Muestra la máscara de forma simbólica en vez de en octal.
umask
Muestra la máscara
umask 0022
Fija la máscara de creación al valor octal 0022.

Comandos en sistemas GNU/Linux 7


watch procps
watch [options] command
Ejecuta un comando de forma periódica, mostrando la salida del comando en pantalla. El
comando watch se ejecutará de forma ininterrumpida hasta que se pulse Ctrl+C.
-n Permite fijar el número de segundos. Por defecto son dos.
-d Muestra las diferencias entre dos ejecuciones.
watch df -h
Ejecuta el comando 'df -h' cada dos segundos, mostrando la salida en pantalla.
watch -d -n 10 uptime
Ejecuta el comando 'uptime' cada 10 segundos y resaltando las diferencias entre
ejecuciones.

mknod coreutils
mknod [options]... name type [major minor]
El comando mknod crea ficheros de dispositivos, tanto de caracteres como de bloques.
Actualmente la gestión de los ficheros de dispositivos se realiza de forma
automática a través del demonio udev.
mknod sda b 8 0
Crea el dispositivo de bloques sda.

dd coreutils
dd [operands]
Convierte y copia un fichero.
if Fichero de entrada.
of Fichero de salida.
bs Número de bytes a leer/escribir.
count Número de bloques a copiar.
dd if=/dev/zero of=/dev/sda bs=8192
Borra completamente el disco sda.
dd if=/dev/sda of=/dev/sdb bs=8192
Realiza una copia idéntica del disco sda al disco sdb.
dd if=/dev/sda of=/root/mbr.dsk count=1 bs=512
Copia el MBR del disco sda a un fichero.
dd if=/dev/sdc of=/tmp/copiaUSB.dsk bs=8192
Vuelca el contenido de la memoria USB sdc a un fichero.

od coreutils
od [options] [file]...
od [options] [file] [[+]offset[.][b]]
Muestra ficheros volcándolos en octal u otros formatos
-t Selecciona el tipo de formato.

Comandos en sistemas GNU/Linux 8


od -t x2 fichero.bin
Realiza un volcado en hexadecimal del fichero indicado, grupos de 2 bytes.
od -t o1 fichero.bin
Realiza un volcado en octal del fichero indicado, grupos de 1 byte.

lsattr e2fsprogs
lsattr [options] [file]...
Muestra los atributos especiales de un fichero en sistemas de ficheros ext2/ext3/ext4.
lsattr *
Muestra todos los atributos de todos los ficheros.

md5sum coreutils
sha1sum
sha256sum
sha512sum
md5sum [options] [file]...
sha1sum [options] [file]...
sha256sum [options] [file]...
sha512sum [options] [file]...
Calculan la función hash (MD5/SHA1/SHA256/SHA512) del fichero proporcionado. Los
cuatro son algoritmos de resumen de mensaje (message digest).
sha256sum ubuntu-12.04.2-server-amd64.iso
Calculan el hash de la imagen ISO del instalador de Ubuntu 12.04.2 server 64 bits.

Manipulando texto
Para el trabajo diario con la shell, se hace imprescindible el uso de un editor de texto en
modo consola. De todos los editores destacamos:
Editor Paquete Ubuntu Web
vim vim http://www.vim.org
emacs emacs http://www.gnu.org/software/emacs/
nano nano http://www.nano-editor.org/
jed jed http://www.jedsoft.org/jed/
joe joe http://joe-editor.sourceforge.net/

Además de los siguientes comandos muy útiles a la hora de trabajar con ficheros de texto:

echo comando interno de Bash


echo [options] [arg]...
Muestra los argumentos (texto) por la salida estándar.
-n No imprime al final un retorno de carro.

Comandos en sistemas GNU/Linux 9


-e Activa la interpretación de caracteres de escape.
-E Desactiva la interpretación de caracteres de escape.
Los caracteres de escape más importantes son:
\n Nueva línea.
\t Tabulador.
echo Hola a todos
echo “Hola a todos”
Muestra el mensaje “Hola a todos” en pantalla
echo -n “Hola”
Muestra “Hola” pero sin retorno de carro al final.
echo
Muestra un retorno de carro.
echo -e “Hola\n\ta todos\n”
Muestra el mensaje utilizando \t como tabulador y \n como retorno de carro.

cat coreutils
cat [options] [file]...
Concatena ficheros y los muestra por la salida estándar.
-n Numera las líneas del fichero.
-E Muestra el carácter $ al final de cada línea.
-s Agrupa varias líneas en blanco en una sola.
cat
Copia la entrada estándar en la salida estándar hasta que se pulse Ctrl+D.
cat /etc/passwd
Muestra el fichero por pantalla.
cat f1.txt f2.txt
Muestra el fichero f1.txt en pantalla y después el fichero f2.txt.
cat f1.txt f2.txt > todo.txt
Concatena los ficheros f1.txt y f2.txt en el fichero todo.txt.

head coreutils
head [options] [file]...
Muestra en pantalla el principio del fichero.
-c Permite especificar el número de bytes a mostrar.
-n Permite especificar el número de líneas a mostrar (10 por defecto).
...
head /etc/passwd
Muestra las primeras 10 líneas del fichero.
head -n 20 /etc/passwd
Muestra las primeras 20 líneas del fichero.

Comandos en sistemas GNU/Linux 10


tail coreutils
tail [options] [file]...
Muestra en pantalla el final del fichero.
-c Permite especificar el número de bytes a mostrar.
-n Permite especificar el número de líneas a mostrar (10 por defecto).
-f Va mostrando líneas del fichero conforme el fichero sigue creciendo.
tail /etc/passwd
Muestra las últimas 10 líneas del fichero.
tail -n 20 /etc/passwd
Muestra las últimas 20 líneas del fichero.
tail -f /var/log/syslog
Muestra las últimas 10 líneas del fichero, y seguirá mostrando líneas conforme el fichero
sigue creciendo.

grep grep
grep [options] pattern [file]...
grep [options] [-e pattern | -f file] [file]...
Muestra las líneas de un fcihero que coincidan con un patrón determinado. El patrón se
especifica a través de expresiones regulares (RE).
-E Interpreta el patrón como una expresión regular extendida.
-i Ignora mayúsculas y minúsculas.
-v Invierte el sentido, mostrando las líneas que no coincidan con el patrón.
-w Selecciona las líneas que coincidan con el patrón completamente
--color Controla si se resaltan las coincidencias en color o no.
-i Ignora mayúsculas y minúsculas.
-n Muestra el número de línea del fichero.
-l Muestra el nombre del fichero en vez de la línea.
-r
-R Realiza la búsqueda de forma recursiva.
Minitutorial sobre expresiones regulares:
caracter Cada carácter representa una RE que coincide con él mismo.
. Coincide con un carácter.
[] Permite especificar un conjunto de caracteres de los que coincidirá uno.
[^] Permite negar el conjunto de caracteres que se especifica.
^ Coincide con el principio de la línea.
$ Coincide con el final de la línea.
* Coincide con 0 o más repeticiones de la RE que le precede.
+ Coincide con 1 o más repeticiones de la RE que le precede.
? Coincide con 0 o 1 repetición de la RE que le precede.
{n} Coincide con n repeticiones de la RE que le precede.
{n,}Coincide con n o más repeticiones de la RE que le precede.
{n,m}Coincide con entre n y m repeticiones de la RE que le precede.
| Coincide con una RE u otra.

Comandos en sistemas GNU/Linux 11


cat /etc/passwd | grep root
grep root /etc/passwd
Muestra todas las líneas del fichero /etc/passwd que contengan la palabra root.
grep -R -l Linux *
Muestra todos los ficheros que contienen la palabra Linux.
cat /etc/network/interfaces | grep -v "^#" | grep -v "^$"
Muestra el fichero interfaces sin comentarios y sin líneas vacías.
dmesg | grep eth[01]
Muestra todos los mensajes del kernel que tienen que ver con las interfaces de red eth0
ó eth1
grep -E [0-9]\{8\}[A-Z] prueba.txt
Muestra todas las líneas del fichero que contienen un número de DNI válido.

wc coreutils
wc [options] [file]...
Muestra las líneas, bytes y palabras que tiene un fichero.
-c Muestra solo el número de bytes.
-m Muestra solo el número de caracteres.
-l Muestra solo el número de líneas.
-w Muestra solo el número de palabras.
wc f1.txt
Muestra el número de líneas, palabras y bytes del fichero f1.txt.
wc -l /etc/passwd
cat /etc/passwd | wc -l
Muestra cuántos usuarios hay dados de alta en el sistema.

sort coreutils
sort [options] [file]...
Ordena ficheros de texto.
-g Ordena números según su valor, no por su carácter ASCII.
-r Invierte la ordenación.
-c No ordena, simplemente comprueba si el fichero está ordenado.
-k Permite especificar el campo o la posición a utilizar como clave de
ordenación.
-t Permite especificar el carácter de separación de campo.
-u Elimina duplicados.
sort /etc/passwd
cat /etc/passwd | sort
Muestra el contenido del fichero /etc/passwd ordenado.
ls -l | sort -gk 5
Muestra todos los ficheros del directorio actual ordenados por tamaño.
cat /etc/passwd | sort -gk 3 -t :

Comandos en sistemas GNU/Linux 12


Muestra el fichero passwd ordenado por el tercer campo (los campos del fichero passwd
están delimitador por el carácter ':').

tr coreutils
tr [options] set1 [set2]
Sustituye o elimina caracteres.
-d No sustitute los caracteres, sino que borra los definidos en el set1.
cat nombres.txt | tr [:lower:] [:upper:]
Muestra el fichero nombres.txt con todos los caracteres en mayúsculas.
cat nombres.txt | tr '\n' ' '
Muestra el fichero nombres.txt sustituyendo los retornos de carro por espacios.

cut coreutils
cut [options] [file]...
Muestra partes de cada una de las líneas que forman un fichero.
-f Permite especificar campos.
-d Permite especificar el carácter delimitador de los campos.
-b Permite especificar bytes.
-c Permite especificar caracteres.
-s No muestra las líneas que no contengan delimitadores.
cat /etc/passwd | cut -d : -f 1,3
cut -d : -f 1,3 /etc/passwd
Muestra el campo 1 y 3 del fichero passwd (nombre de usuario y UID).
ifconfig eth0 | grep inet: | cut -d : -f 2 | cut -d “ “ -f 1
Tomamos la dirección IP asignada a la interfaz eth0.
who | cut -d ' ' -f 1 | sort -u | tr '\n' ' '
Mostramos en una sola línea todos los usuarios que tienen una sesión iniciada en el
sistema.

sed sed
sed [options] {script} [file]...
Editor de flujos para el filtrado y transformación de texto.
-i Edita el propio fichero.
-r Usa expresiones regulares extendidas.
sed 's/alex/luis/g' /etc/passwd
Muestra el fichero /etc/passwd sustituyendo la cadena alex por luis.
sed -i 's/alex/luis/' agenda.txt
Sustituye en el fichero agenda.txt todas las ocurrencias de la cadena alex por luis.

awk gawk
awk [options] file...

Comandos en sistemas GNU/Linux 13


gawk [options] file...
Lenguaje de análisis y procesamiento de patrones.
-F Permite definir el carácter de separación de campos.
awk -F: ' { print $1 "("$3")" } ' /etc/passwd
Muestra el nombre de usuario y el UID de todos los usuarios del sistema.

diff diffutils
diff [options] file1 file2
Compara ficheros línea a línea y muestra las diferencias. diff no muestra ninguna salida si
los ficheros son idénticos.
-q No muestra las líneas distintas, solo un resumen.
-y Muestra la salida en dos columnas.
diff fichero1.txt fichero2.txt
Muestra las diferencias entre los dos ficheros.

strings binutils
strings [options] file...
Muestra las cadenas de texto en ficheros binarios (como un ejecutable o una imagen).
-n Permite especificar la longitud mínima de la cadena (4 por defecto).
-e Permite especificar la codificación de las cadenas (ASCII, UTF-8, …).
strings -n 10 /bin/bash | less
Extrae del ejecutable /bin/bash todas las cadenas de más de 10 caracteres.

fromdos Tofrodos
fromdos [options] file...
Convierte ficheros de texto con formato DOS/Windows a ficheros de texto Unix.
fromdos fichero.txt
Convierte el fichero a fichero de texto Unix.

todos tofrodos
todos [options] file...
Convierte ficheros de texto con Unix a ficheros de texto DOS/Windows.
todos fichero.txt
Convierte el fichero a fichero de texto DOS/Windows.

Administrando el sistema de ficheros


Para la gestión del sistema de fichero destacan los siguientes comandos:

Comandos en sistemas GNU/Linux 14


e2label
Sintaxis
e2label device [label]
Resumen
Permite cambiar la etiqueta en un sistema de ficheros ext2/ext3/ext4.

mkfs.ext2 e2fsprogs
mkfs.ext3 e2fsprogs
mkfs.ext4 e2fsprogs
mkfs.xfs xfsprogs
mkfs.ntfs ntfs-3g
mkfs.vfat dosfstools
mkfs.ext2 [options] device
mkfs.ext3 [options] device
mkfs.ext4 [options] device
mkfs.xfs [options] device
mkfs.ntfs [options] device
mkfs.vfat [options] device
Formatean un dispositivos bajo el sistema de ficheros correspondiente.
mkfs.ext4 /dev/sda1
Formatea la primera partición del dispositivo sda con el sistema de ficheros ext4.
mkfs.xfs /dev/sda1
Formatea la primera partición del dispositivo sda con el sistema de ficheros XFS.
mkfs.ntfs -f /dev/sda1
Formatea la primera partición del dispositivo sda con el sistema de ficheros NTFS. La
opción -f realiza un formateo rápido, ya que por defecto el comando sobrescribe todos los
bloques de datos con ceros.
mkfs.vfat /dev/sda1
Formatea la primera partición del dispositivo sda con el sistema de ficheros FAT.

tune2fs
Sintaxis
tune2fs [options] device
Resumen
Permite ajustar algunos parámetros de configuración en sistemas de ficheros
ext2/ext3/ext4.

dumpe2fs
Sintaxis
dumpe2fs [options] device
Resumen
Muestra información detallada del sistema de ficheros ext2/ext3/ext4 del dispositivo
especificado.

mount

Comandos en sistemas GNU/Linux 15


Sintaxis
mount -a [options]
mount [options] device | dir
mount [options] device dir
Resumen
Monta un sistema de ficheros. La operación de montaje permite que un sistema de
ficheros esté disponible en el sistema. En SSOO Linux, el directorio raíz del sistema de
ficheros se monta sobre un directorio en el árbol principal de directorios de Linux.

umount
Sintaxis
umount [-hV]
umount -a [options]
umount [options] {dir | device}...
Resumen
Desmonta un sistema de ficheros. Al desmontar un SF, éste queda separado del
árbol de directorios del sistema.

fsck.*
Sintaxis
fsck.ext2 [options] device
fsck.ext3 [options] device
fsck.ext4 [options] device
xfs_check [options] device
ntfsfix [options] device
fsck.vfat [options] device
Resumen
Chequea y repara un sistema de ficheros.

debugfs
Sintaxis
debugfs [options] [device]
Resumen
Depurador interactivo para los sistemas de ficheros ext2/ext3/ext4. Permite
examinar y cambiar el estado del sistema de ficheros.

badblocks
Sintaxis
badblocks [options] device [last-block] [first-block]
Resumen
Permite buscar sectores defectuosos sobre un dispositivo (normalmente una
partición).

df coreutils
df [options] [file|device]
Muestra un informe sobre el uso de espacio en disco de los sistemas de ficheros.
-a Incluye todos los sistemas de ficheros.

Comandos en sistemas GNU/Linux 16


-h Muestra los tamaños en un formato más legible (K, M, G, …).
-H Igual que -h, pero con potencias de 10.
--total Muestra un resumen total de espacio.
-i Muestra un informe sobre el uso de nodos-i en vez de espacio en disco.
-t Permite especificar un tipo de SF (ext4, xfs, …).
df -h
Muestra un resumen sobre los sistemas de ficheros del sistema.
df -h /dev/sda1
Muestra un resumen del sistema de ficheros del dispositivo sda.
df -h /etc/passwd
Muestra un resumen sobre el sistema de ficheros donde se encuentra el fichero
/etc/passwd.

du coreutils
du [options] [file]...
Realiza una estimación sobre el uso de espacio en disco.
-c Produce un resumen total.
-h Muestra los tamaños con un formato más legible (K, M, G...).
-s Muestra un resumen para cada uno de los argumentos.
du -h
Muestra el uso del disco desde el directorio actual.
du -sch *
Muestra el uso del disco mostrando un resumen de todos los ficheros y directorios desde
el directorio actual y un resumen al final.

sync coreutils
sync [options]
Vacía (flush) los buffers de los sistemas de ficheros.
sync
Vacía los buffers del sistema de ficheros volcando todo a disco.

Copias de seguridad
tar tar
tar [-] A | c | d | r | t | u | x [options] [pathname ...]
tar almacena y extrae ficheros desde una unidad de cinta o fichero en disco. El comando
tar se utiliza para empaquetar/desempaquetar un conjunto de ficheros en/desde otro.
c Crea un nuevo fichero tar empaquetando los ficheros y directorios.
x Extrae los ficheros empaquetados en un fichero tar.
t Muestra (y chequea) los ficheros que se encuentran dentro del tar.
-f Permite utilizar un fichero o dispositivo concreto.
-z Utiliza el programa zip para comprimir/descomprimir.

Comandos en sistemas GNU/Linux 17


-j Utiliza el programa bzip2 para comprimir/descomprimir.
-v Va mostrando en pantalla los ficheros procesados.
-a Usa la extensión del fichero para determinar el programa de compresión.
-C Cambia de directorio.
--exclude Excluye ficheros que sigan un patrón.
tar cvzf /tmp/Backup.tar.gz /home
tar -cvzf /tmp/Backup.tar.gz /home
Realiza una copia de todo el directorio /home en el fichero /tmp/Backup.tar.gz
tar -tvzf /tmp/Backup.tar.gz
Muestra (chequea) los ficheros contenidos en /tmp/Backup.tar.gz
tar -xvzf /tmp/Backup.tar.gz
Desempaqueta el contenido del fichero en el directorio actual.

gzip/gunzip
Sintaxis
gzip [options] [file]...
guzip [options] [file]...
Resumen
Comprime y descomprime ficheros en formato Lempel-Ziv (LZ77).

zip/unzip
Sintaxis
zip [options] [zipfile [file ]...]
unzip [options] file[.zip] [file]...
Resumen
Comprime y descomprime ficheros en formato ZIP.

bzip2/bunzip2
Sintaxis
bzip2 [options] [file]...
bunzip2 [options] [file]...
Resumen
Comprime y descomprime ficheros utilizando el algoritmo Burrows-Wheeler.

7z
Sintaxis
7z [options] [7z_file] [file]...
Resumen
Comprime y descomprime ficheros en formato 7z.

rar/unrar
Sintaxis
rar command [options] rar_file [files]...
unrar command [options] rar_archive [files]... [path]...
Resumen
Comprime y descomprime ficheros en formato RAR.

Comandos en sistemas GNU/Linux 18


rsync
Sintaxis
Local:
rsync [options] src... [dest]
Remota:
rsync [options] [user@]host:src... [dest]
rsync [options] src... [user@]host:dest
A través del demonio rsync:
rsync [options] [user@]host::src... [dest]
rsync [options] rsync://[user@]host[:port]/src... [dest]
rsync [options] src... [user@]host::dest
rsync [options] src... rsync://[user@]host[:port]/dest
Resumen
Herramienta que permite copiar/sincronizar directorios tanto locales como remotos.

genisoimage (antes mkisofs)


Sintaxis
genisoimage [options] [-o filename] pathspec [pathspec ...]
Resumen
Herramienta que permite crear sistemas de ficheros ISO9660/Joliet/HFS con
atributos opcionales Rock Ridge.

volname
Sintaxis
volname [device]
Resumen
Devuelve el nombre del volumen de un CD o imagen ISO.

isoinfo
Sintaxis
isoinfo [options]
Resumen
Permite mostrar y extraer los ficheros que se encuentran en una imagen ISO.

wodim (antes cdrecord)


Sintaxis
wodim [options] track1..trackN
Resumen
Permite escribir datos y pistas de audio a un dispositivo óptico: CD y DVD.

growisofs (antes cdrecord)


Sintaxis
growisofs [options] /dev/dvd genisoimage-options
Resumen
Originalmente era un frontend del programa genisoimage, actualmente soporta la
escritura de DVD y Blu-ray.

Comandos en sistemas GNU/Linux 19


Gestión de procesos
Para la gestión de procesos se cuenta con los siguientes comandos:

Comando Acción

ps Muestra un listado de todos los procesos que se encuentran


actualmente en ejecución.
Muestra un árbol de todos los procesos que se encuentran actualmente
pstree en ejecución indicando de forma “gráfica” la relación entre padres e
hijos.

pidof Dado el nombre de un programa encuentra los PIDs (Process


Identifiers) de todos los procesos asociados.

fuser A partir de un fichero o socket, el comando fuser identifica los procesos


que hacen uso de él.

uptime Muestra información sobre el sistema, concretamente el tiempo que el


sistema lleva online así como la carga media.

top Muestra de forma interactiva información sobre los procesos que están
en ejecución.
kill Permite enviar señales a los procesos. Por defecto termina procesos.

Administración del sistema


stat coreutils
stat [options] file...
Muestra información sobre el fichero.
--printf Permite modificar la forma en la que el comando muestra la
información.
stat /bin/bash
Muestra información detallada sobre el fichero /bin/bash.
stat --printf="%n: UID=%u\n" /bin/bash
Muestra el nombre del fichero y el ID del usuario propietario.

ulimit
Sintaxis
ulimit [options] limit
Resumen
Permite mostrar y modificar los límites de recursos de la shell.

free
Sintaxis
free [options]
Resumen
Muestra la cantidad de memoria libre y usada del sistema.

Comandos en sistemas GNU/Linux 20


sar
Sintaxis
sar [options]
Resumen
Recoge, graba y procesa información sobre la actividad del sistema.

vmstat
Sintaxis
vmstat [options]
Resumen
Muestra estadísticas de uso de la memoria virtual.

iostat
Sintaxis
iostat [options]
Resumen
Muestra información estadísticas sobre la CPU e información estadística sobre los
dispositivos y las particiones.

dstat
Sintaxis
dstat [options]
Resumen
Herramienta versátil para la generación de estadísticas sobre los recursos del
sistema.

lsof
Sintaxis
lsof [options] [names]
Resumen
Muestra un listado de todos los ficheros abiertos.

date
Sintaxis
date [options] [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Resumen
Permite mostrar y fijar la fecha y hora del sistema.

hwclock
Sintaxis
hwclock [function] [options]
Resumen
Permite mostrar y fijar la fecha y hora del reloj hardware del sistema.

cal, ncal
Sintaxis

Comandos en sistemas GNU/Linux 21


cal [options]
ncal [options]
Resumen
Muestra un calendario.

ntpdate
Sintaxis
ntpdate [options] server...
Resumen
Permite fijar la fecha y hora del sistema a través de un servidor NTP (Network Time
Protocol).

uname
Sintaxis
uname [options]
Resumen
Muestra información del sistema: versión del kernel, arquitectura, etc.

arch
Sintaxis
arch [options]
Resumen
Muestra la arquitectura del sistema (x86-64, i386, i486, i586, i686, armv6l,
mips, ...).

dmesg
Sintaxis
dmesg [options]
dmesg command
Resumen
Muestra y permite controlar el comportamiento del buffer de mensajes del kernel.

lsmod
Sintaxis
lsmod
Resumen
Muestra el estado de los módulos cargados por el kernel de Linux.

modinfo
Sintaxis
modinfo [options] [modulename|filename]...
Resumen
Muestra información sobre el módulo del kernel que se especifique.

procinfo
Sintaxis
procinfo [options]
Resumen

Comandos en sistemas GNU/Linux 22


Muestra información sobre el kernel obtenida desde el pseudodirectorio /proc.

lsdev
Sintaxis
lsdev
Resumen
Muestra información sobre el hardware del sistema (puertos de E/S, interrupciones
y canales DMA).

sysctl
Sintaxis
sysctl [options] variable...
sysctl [options] -w variable=value...
sysctl [-n] [-e] [-q] -p [filename]
sysctl [options] -[a|A]
Resumen
Permite mostrar y configurar parámetros de configuración del kernel de Linux en
tiempo de ejecución.

halt/poweroff/reboot
Sintaxis
halt [options]
poweroff [options]
reboot [options]
Resumen
Permiten apagar y reiniciar el sistema.

shutdown
Sintaxis
shutdown [options] time [message]
Resumen
Permiten apagar y reiniciar el sistema.

Manejo de ejecutables
size
Sintaxis
size [options] [objfile]...
Resumen
Muestra los tamaños de las secciones que conforman un ejecutable y el total.

readelf
Sintaxis
readelf [options] elffile...
Resumen
Muestra información sobre ficheros ejecutables ELF (32 y 64 bits).

objdump
Sintaxis

Comandos en sistemas GNU/Linux 23


objdump [options] objfile...
Resumen
Muestra información sobre ficheros objeto.

strip
Sintaxis
objdump [options] objfile...
Resumen
Elimina símbolos (información de depuración, secciones, etc) de un ejecutable o de
un fichero objeto.

ldd
Sintaxis
ldd [options]... file...
Resumen
Muestra las librerías de enlace dinámico que un ejecutable necesita.

nm
Sintaxis
nm [options]... [objfile]...
Resumen
Muestra los símbolos de un fichero objeto.

strace
Sintaxis
strace [options]... [command [arg]...]
Resumen
Realiza un seguimiento (traza) de las llamadas al sistemas y las señales.

ltrace
Sintaxis
ltrace [options]... [command [arg]...]
Resumen
Realiza un seguimiento (traza) de las llamadas a las librerías.

Usuarios y grupos (apuntes Bash)

Comando Acción

users Muestra los nombres de los usuarios actualmente logueados en el


sistema.
groups Muestra los grupos a los que un usuario pertenece.

adduser Crea un usuario en el sistema.


También permite añadir un usuario a un grupo.
deluser Elimina usuarios.
useradd Son herramientas de más bajo nivel que adduser y deluser para añadir

Comandos en sistemas GNU/Linux 24


userdel y eliminar usuarios.
passwd Permite modificar la contraseña del usuario.
usermod Modifica una cuenta de usuario ya existente.
addgroup Añade un grupo al sistema.
delgroup Elimina un grupo del sistema.
groupmod Permite modificar un grupo ya existente.
id Muestra información sobre un usuario y su pertenencia a grupos.
lid
who Muestra los usuarios que han iniciado sesión en la máquina.

w Muestra los usuarios que han iniciado sesión en la máquina y el


comando que están ejecutando.
logname Muestra el username (login name) del usuario.
ac
last Muestra un listado de los últimos inicios de sesión.

lastlog Muestra un listado de todos los usuarios con el último inicio de sesión
de cada uno de ellos.

Hardware
cat /proc/cpuinfo
Sintaxis
cat /proc/cpuinfo
Resumen
/proc es un pseudo sistema de ficheros utilizado por el kernel de Linux para
mostrar información sobre el sistema y sobre los procesos. /proc/cpuinfo es un fichero de
este sistema de ficheros en el que se muestra información detalladas de las CPU del
sistema.

dmidecode
Sintaxis
dmidecode [options]
Resumen
Muestra un volcado legible de la tabla DMI del sistema. La tabla DMI (también
llamada SMBIOS) contiene una descripción de los componentes hardware del sistema, así
como otra información como el número de serie y la revisión de la BIOS.
Ejemplos:
dmidecode -s bios-version
dmidecode -s bios-release-date
dmidecode --type 17

lspci
Sintaxis

Comandos en sistemas GNU/Linux 25


lspci [options]
Resumen
Muestra un listado de todos los dispositivos PCI del sistema.

lsusb
Sintaxis
lsusb [options]
Resumen
Muestra un listado de todos los dispositivos USB del sistema.

lshw
Sintaxis
lshw [options]
Resumen
Muestra información detallada sobre el hardware de la máquina.

hdparm/sdparm
Sintaxis
hdparm [options] [device]...
Resumen
Permite fijar y mostrar determinados parámetros en dispositivos SATA/PATA.

Redes TCP/IP
ethtool
Sintaxis
ethtool device
ethtool option device [options]
Resumen
Permite consultar el estado de un dispositivo de red así como fijar ciertas
configuraciones hardware.

mii-tool
Sintaxis
mii-tool [options] [interface]...
Resumen
Permite comprobar y fijar el estado de la unidad MII (Media-Independet Interface)
de la interfaz de red.

ifconfig
Sintaxis
ifconfig [options] [interface]
ifconfig [-v] interface [aftype] options | address ...
Resumen
Permite configurar las interfaces de red.

iwconfig
Sintaxis
iwconfig [interface]

Comandos en sistemas GNU/Linux 26


iwconfig interface [option [value]]...
Resumen
Permite configurar las interfaces de red inalámbricas.

route
Sintaxis
route [options]
route [options] add [options]
route [options] del [options]
Resumen
Permite mostrar y manipular la tabla de enrutamiento IP.

netstat
Sintaxis
netstat [options]
Resumen
Muestra información de red muy variada como conexiones de red, tablas de
enrutamiento, estadísticas de la interfaz, conexiones enmascaradas y miembros de tráfico
multicast.

host
Sintaxis
host [options] name [server]
Resumen
Permite realizar consultas DNS.

dig
Sintaxis
dig [@server] [options] [name] [type] [class] [queryopt...]
Resumen
Permite realizar consultas DNS de una forma más completa a como lo hace el
comando host.

hostname
Sintaxis
hostname [options] [hostname]
Resumen
Permite mostrar o fijar el nombre de la máquina.

ping
Sintaxis
ping [options] destination
Resumen
Envía a un host de la red paquetes ICMP de solicitud de eco (ECHO_REQUEST).

nc (netcat)
Sintaxis
nc [options] [-p source_port] [-s source_ip_address][hostname]

Comandos en sistemas GNU/Linux 27


[port[s]]
Resumen
La utilidad netcat (nc) permite la realización de diversas operaciones a través de los
protocolos TCP/UDP, tales como: abrir conexiones TCP, enviar paquetes UDP, escuchar en
cualquier puerto, realizar un escaneo de puertos, etc.

wget
Sintaxis
wget [options] [URL]...
Resumen
wget es un potente gestor de descargas en línea de comandos.

curl
Sintaxis
wget [options] [URL]...
Resumen
curl es una herramienta que permite transfer datos desde/hacia un servidor sin
nigún tipo de iteracción. Soporta los siguientes protocolos: DICT, FILE, FTP, FTPS,
GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP,
SMTP, SMTPS, TELNET y TFTP.

ftp
Sintaxis
ftp [options] [host [port]]
Resumen
Cliente simple de consola para el intercambio de ficheros con un servidor a través
del protocolo FTP.

nmap
nmap [Scan Type...] [options] {target specification}
Resumen
Nmap (“Network Mapper”) es una herramienta que permite la exploración y
auditoría de redes de ordenadores.

tcpdump
tcpdump [options] [expression]
Resumen
Permite mostrar una descripción detallada de todos los paquetes de red que
atraviesen una interfaz de red y que cumplan un conjunto de requisitos.

Gestión de software
La gestión de paquetes se puede realizar con el sistema APT (Advanced Packaging Tool) o
directamente con el comando dpkg manejando directamente los ficheros .deb.

• Resumen de comandos APT:


Comando Acción

Comandos en sistemas GNU/Linux 28


apt-get update Actualiza la lista de paquetes desde los repositorios.
Permite actualizar los paquetes instalados en el sistema a
apt-get upgrade
la versión más nueva que haya en los repositorios.
Además de realizar las operaciones de upgrade, trata
apt-get dist-upgrade inteligentemente los cambios de dependencias debidos a
las nuevas versiones de los paquetes.
apt-get install <paquete> Instala un paquete.
apt-get remove <paquete> Desinstala un paquete
Igual que la opción remove, pero elimina además
apt-get purge <paquete>
cualquier fichero de configuración.
Instala un paquete como hace la opción install, pero
apt-get source <paquete>
instala el paquete del código fuente en vez del binario.
Borra la caché (repositorio local) de paquetes
apt-get clean
descargados.
Elimina aquellos paquetes que se instalaron para
apt-get autoremove
satisfacer dependencias pero que ya no son necesarios.
Permite buscar información sobre la descripción de todos
apt-cache search <busqueda>
los paquetes.
apt-cache show <paquete> Muestra información detallada de un paquete concreto.

• Resumen de comandos y opciones de dpkg:


Comando Acción
-formato nombre paquete- NombrePaquete_Version-Release_Arq.deb
dpkg -i fichero.deb Instala el paquete.
dpkg -r NombrePaquete Desinstala el paquete manteniendo ciertos ficheros de
dpkg --remove NombrePaquete configuración.
dpkg -P NombrePaquete
Desinstala el paquete completamente.
dpkg --purge NombrePaquete
dpkg -l [expr_regular] Muestra una lista de todos los paquetes instalados.
dpkg --list [expr_regular] Se puede filtrar la lista a través de una expr. regular.
dpkg -S fichero Muestra el paquete al que pertenece el fichero.
dpkg --search fichero Solo se realiza la búsqueda en paquetes instalados.
dpkg -I fichero.deb
Información sobre el paquete.
dpkg --info fichero.deb
dpkg -L NombrePaquete Listado de los ficheros que forman el paquete
dpkg --listfiles NombrePaquete instalado.
dpkg -c fichero.deb
Listado de los ficheros que forman el paquete.
dpkg --contents fichero.deb

Comandos en sistemas GNU/Linux 29


Multimedia
Listado de comandos multimedia: mpg321, ogg123, play, sox, alsamixer, cdparanoia,
oggenc, ogginfo, flac, lame, identify, convert.

Bibliografía
➢ C. Negus, F. Caen. The Linux Command Line. A complete introduction. Ed.
No Starch Press. 1ªed. 2012.
➢ C. Negus, F. Caen. Ubuntu Linux Toolbox: 1000+ Commands for Ubuntu
and Debian Power Users. Ed. Wiley. 1ªed. 2007.
➢ GNU/Linux Manpages. http://www.kernel.org/doc/man-pages/

Comandos en sistemas GNU/Linux 30

También podría gustarte