Está en la página 1de 30

Comandos en sistemas GNU/Linux

El uso de la lnea de comandos es una de las habilidades que cualquier administrador de


Resumen: sistemas debe dominar. Este documento no pretende ser una introduccin a la shell de Linux,
sino a los comandos que se pueden utilizar desde la shell.
Autor: Alejandro Roca Alhama
Licencia:

Creative Commons Attribution-ShareAlike License

v.0.5 (10/febrero/2014)
Versin: v.0.4 (20/mayo/2013)
v.0.3 (28/marzo/2013)
A falta de: Ms ejemplos, descripcin detallada de ms comandos.

ndice de contenido
Requerimientos.............................................................................................................1
Qu es un intrprete de comandos?.............................................................................1
Ventajas y desventajas..............................................................................................2
Buscando comandos.....................................................................................................3
Comandos....................................................................................................................3
Comandos bsicos.....................................................................................................4
Trabajando con ficheros.............................................................................................5
Manipulando texto....................................................................................................9
Administrando el sistema de ficheros........................................................................14
Copias de seguridad................................................................................................17
Gestin de procesos................................................................................................19
Administracin del sistema.......................................................................................20
Manejo de ejecutables.............................................................................................23
Usuarios y grupos (apuntes Bash)............................................................................24
Hardware................................................................................................................25
Redes TCP/IP..........................................................................................................26
Gestin de software................................................................................................28
Multimedia..............................................................................................................29
Bibliografa..................................................................................................................30

Requerimientos
Para el seguimiento de este documento se recomienda el uso de cualquier distribucin 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 intrprete de comandos?
Un intrprete 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

Se pueden utilizan como sinnimos los siguientes trminos:


Intrprete de rdenes.
CLI (Command-line interface).
Shell.

Ventajas y desventajas
Entre las ventajas en el uso del intrprete de comandos destacamos las siguientes:
Siempre estn disponibles.
En caso de problemas siempre se cuenta con el intrprete de comandos, incluso en
el caso de que la interfaz grfica no est disponible. Tambin se cuenta con ella en
el caso de que las cosas vayan realmente mal.
Solucin de problemas.
A la hora de resolver problemas, es muy probable que estos lleguen de la mano de
la ejecucin de comandos a travs de la shell. En multitud de foros, la solucin a los
problemas se indica a travs de la ejecucin de comandos.
Administracin remota.
A la hora de administrar servidores de forma remota, las herramientas grficas o
consumen mucho ancho de banda o ni siquiera estn disponibles. Una shell remota
consume muy poco ancho de banda y siempre puede estar disponibles a travs de
protocolos seguros como SSH.
Soportan todas las caractersticas.
Muchas herramientas grficas son simples front-ends grficos 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.
Programacin de scripts.
Varios comandos se pueden incluir en un fichero de texto para su ejecucin como
un todo, a estos ficheros se les llaman scripts y es una de las ventajas principales
en el uso de intrpretes de comandos.
Herramienta productiva.
Una vez superada la curva de aprendizaje, la interfaces de usuario basadas en
comandos son unas de las herramientas ms productivas que un administrador de
sistemas puede utilizar.
En cuanto a las desventajas, tenemos:
Dificultad en el aprendizaje.
La curva de aprendizaje de la lnea de comandos de cualquier distribucin 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 intrprete de
comandos. Distribuciones como Debian, Ubuntu o Fedora usan Bash como shell por
Comandos en sistemas GNU/Linux

defecto, y la gran mayora de comandos aparecen de forma idntica 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 (gestin de software,
arranque y parada, gestin de los niveles de ejecucin, etc.).

Buscando comandos
A continuacin se detalla una lista de comandos genricos que nos pueden ayudar a la
hora de buscar comandos:
Comando
Accin
echo $PATH

Muestra el contenido de la variable de entorno 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 pgina


man.

locate mount

Busca el comando mount a travs del programa locate.


El comando locate necesita que se haya construido
previamente su base de datos a travs del comando
updatedb.

man mount

Muestra la ayuda (pgina man) del comando mount.

apt-cache search mount

Busca la cadena mount en la base de datos de paquetes


del sistema APT.

dpkg-query -S mount

Busca la cadena mount en la lista de todos los ficheros


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 continuacin se muestra un listado ms o menos detallado de los comandos de uso ms
frecuente. Es difcil clasificar los comandos en categoras completamente excluyentes, as
que como primera aproximacin se han utilizado las siguientes:
Comandos bsicos.
Trabajando con ficheros.
Manipulando texto.
Administracin del sistema de ficheros.
Comandos en sistemas GNU/Linux

Copias de seguridad.
Gestin de procesos.
Administracin del sistema de ficheros.
Manejo de ejecutables.
Usuarios y grupos.
Hardware.
Redes TCP/IP.
Gestin 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 pgina man.>


<Descripcin del comando y opciones ms usuales.>
opcion1
Descripcin opcin 1.
opcion2
Descripcin opcin 2.
...
<Ejemplo 1>
<Descripcin del ejemplo 1.>
<Ejemplo 2>
<Descripcin del ejemplo 2.>
...

Comandos bsicos
Como comandos bsicos para el trabajo diario en un terminal contamos con los siguientes:
Comando

Accin

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 estn vacos).

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

acceso y fecha de modificacin).


Si el fichero no existe lo crea.
ln [options] target link

Crea enlaces (fsicos o simblicos) entre


ficheros.

cat [ptions] [file]...

Concatena ficheros y los muestra por la salida


estndar.

more [options] [file]...

Filtro que permite ver un fichero de texto en


pantalla pgina a pgina.

less [options] [file]...

Similar a more pero mucho ms avanzado.

Trabajando con ficheros


Hay una mxima 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 informacin sobre el
fichero: propietario, permisos de acceso, fecha de modificacin, tamao, etc. Adems de
los comandos ya comentados, existen muchos ms, destacando los siguientes:
find

findutils

find [options] [path...] [expression]


Busca ficheros
de bsqueda.
-name
-iname
-mtime
-size
-exec
find
Busca
find
Busca

a travs de la jerarqua de directorios que cumplan con ciertos requisitos


Permite especificar el nombre del fichero a buscar.
Igual que la anterior pero insensible a maysculas/minusculas.
Busca ficheros segn su fecha de modificacin.
Busca ficheros segn el tamao.
Permite ejecutar un comando para cada fichero encontrado.

. -iname *.jpg
todos los ficheros con extensin .jpg .JPG.
. -size +10M
todos los ficheros con un tamao mayor de 10 MB.

find . -name *~ -exec rm {} \;


Busca todos los ficheros cuyo nombre acabe con el carcter '~' y los borra.
locate
locate [options] [pattern]...

mlocate

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

locate -i *.jpg
Busca todos los ficheros con extensin 'jpg' 'JPG'.
updatedb
Actualiza la base de datos del comando locate.

ls
ls [options] [file]...

coreutils

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 modificacin, primero el ms nuevo.
-lu
Ordena los ficheros por fecha de acceso, primero el accedido en menos
tiempo.
-lS
Ordena los ficheros por tamao, primero el ms 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 tamaos de los ficheros de forma mucho ms legible.
-lR
Muestra los ficheros y directorios recursivamente.
ls -liSr
Muestra los ficheros en listado extendido, mostrando adems 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 travs de una expresin Perl.
rename 'y/A-Z/a-z/' *
Cambia el nombre de todos los ficheros del directorio actual cambiando maysculas por
minsculas.
rename 's/\.bak$//' *.bak
Elimina la extensin .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
extensin '.jpg'.

chown
chown [options] [owner][:[group]] file...
chown [options] --reference=rfile file...
Comandos en sistemas GNU/Linux

coreutils

Cambia el usuario (y opcionalmente el grupo) propietario de un fichero.


-R
Realiza los cambios de forma recursiva.
-v
Modo verbose.
chown
chown
chown
Cambia
chown
Cambia

-R root:root /root
-R root.root /root
-R root. /root
el propietario y el grupo al directorio /root y a todo su contenido recursivamente.
root /home
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
chmod [options] mode[,mode]... file...
chmod [options] modo-octal file...
chmod [options] --reference=rfile file...

coreutils

Cambia los permisos de un fichero.


-R
Realiza los cambios de forma recursiva.
-v
Modo verbose.
chmod u+x fichero
Da permisos de ejecucin al usuario propietario.
chmod 644 fichero
Da los siguientes permisos al fichero: rw-r--r-umask
umask [options] [mode]

comando interno de Bash

Muestra o establece la mscara que se utilizar para fijar los permisos de un fichero
durante la creacin de stos.
-S
Muestra la mscara de forma simblica en vez de en octal.
umask
Muestra la mscara
umask 0022
Fija la mscara de creacin al valor octal 0022.

Comandos en sistemas GNU/Linux

watch

procps

watch [options] command


Ejecuta un comando de forma peridica, 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 nmero 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 gestin de los ficheros de dispositivos se realiza de forma
automtica a travs 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
Nmero de bytes a leer/escribir.
count Nmero 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 idntica 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
od [options] [file]...
od [options] [file] [[+]offset[.][b]]

coreutils

Muestra ficheros volcndolos en octal u otros formatos


-t
Selecciona el tipo de formato.
Comandos en sistemas GNU/Linux

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
lsattr [options] [file]...

e2fsprogs

Muestra los atributos especiales de un fichero en sistemas de ficheros ext2/ext3/ext4.


lsattr *
Muestra todos los atributos de todos los ficheros.
md5sum
sha1sum
sha256sum
sha512sum

coreutils

md5sum [options] [file]...


sha1sum [options] [file]...
sha256sum [options] [file]...
sha512sum [options] [file]...
Calculan la funcin 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

nano

nano

http://www.nano-editor.org/

jed

jed

http://www.jedsoft.org/jed/

joe

joe

http://joe-editor.sourceforge.net/

http://www.gnu.org/software/emacs/

Adems 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 estndar.
-n
No imprime al final un retorno de carro.
Comandos en sistemas GNU/Linux

-e
Activa la interpretacin de caracteres de escape.
-E
Desactiva la interpretacin de caracteres de escape.
Los caracteres de escape ms importantes son:
\n
Nueva lnea.
\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 estndar.
-n
Numera las lneas del fichero.
-E
Muestra el carcter $ al final de cada lnea.
-s
Agrupa varias lneas en blanco en una sola.
cat
Copia la entrada estndar en la salida estndar 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 despus 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 nmero de bytes a mostrar.
-n
Permite especificar el nmero de lneas a mostrar (10 por defecto).
...
head /etc/passwd
Muestra las primeras 10 lneas del fichero.
head -n 20 /etc/passwd
Muestra las primeras 20 lneas del fichero.

Comandos en sistemas GNU/Linux

10

tail

coreutils

tail [options] [file]...


Muestra en pantalla el final del fichero.
-c
Permite especificar el nmero de bytes a mostrar.
-n
Permite especificar el nmero de lneas a mostrar (10 por defecto).
-f
Va mostrando lneas del fichero conforme el fichero sigue creciendo.
tail /etc/passwd
Muestra las ltimas 10 lneas del fichero.
tail -n 20 /etc/passwd
Muestra las ltimas 20 lneas del fichero.
tail -f /var/log/syslog
Muestra las ltimas 10 lneas del fichero, y seguir mostrando lneas conforme el fichero
sigue creciendo.
grep
grep [options] pattern [file]...
grep [options] [-e pattern | -f file] [file]...

grep

Muestra las lneas de un fcihero que coincidan con un patrn determinado. El patrn se
especifica a travs de expresiones regulares (RE).
-E
Interpreta el patrn como una expresin regular extendida.
-i
Ignora maysculas y minsculas.
-v
Invierte el sentido, mostrando las lneas que no coincidan con el patrn.
-w
Selecciona las lneas que coincidan con el patrn completamente
--color
Controla si se resaltan las coincidencias en color o no.
-i
Ignora maysculas y minsculas.
-n
Muestra el nmero de lnea del fichero.
-l
Muestra el nombre del fichero en vez de la lnea.
-r
-R
Realiza la bsqueda de forma recursiva.
Minitutorial sobre expresiones regulares:
caracter Cada carcter representa una RE que coincide con l mismo.
.
Coincide con un carcter.
[] 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 lnea.
$
Coincide con el final de la lnea.
*
Coincide con 0 o ms repeticiones de la RE que le precede.
+
Coincide con 1 o ms repeticiones de la RE que le precede.
?
Coincide con 0 o 1 repeticin de la RE que le precede.
{n} Coincide con n repeticiones de la RE que le precede.
{n,}Coincide con n o ms 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 lneas 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 lneas vacas.
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 lneas del fichero que contienen un nmero de DNI vlido.
wc

coreutils

wc [options] [file]...
Muestra las
-c
-m
-l
-w

lneas, bytes y palabras que tiene un fichero.


Muestra solo el nmero de bytes.
Muestra solo el nmero de caracteres.
Muestra solo el nmero de lneas.
Muestra solo el nmero de palabras.

wc f1.txt
Muestra el nmero de lneas, palabras y bytes del fichero f1.txt.
wc -l /etc/passwd
cat /etc/passwd | wc -l
Muestra cuntos usuarios hay dados de alta en el sistema.
sort

coreutils

sort [options] [file]...


Ordena ficheros de texto.
-g
Ordena nmeros segn su valor, no por su carcter ASCII.
-r
Invierte la ordenacin.
-c
No ordena, simplemente comprueba si el fichero est ordenado.
-k
Permite especificar el campo o la posicin a utilizar como clave de
ordenacin.
-t
Permite especificar el carcter de separacin 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 tamao.
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
estn delimitador por el carcter ':').
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 maysculas.
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 lneas que forman un fichero.
-f
Permite especificar campos.
-d
Permite especificar el carcter delimitador de los campos.
-b
Permite especificar bytes.
-c
Permite especificar caracteres.
-s
No muestra las lneas 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 direccin IP asignada a la interfaz eth0.
who | cut -d ' ' -f 1 | sort -u | tr '\n' ' '
Mostramos en una sola lnea todos los usuarios que tienen una sesin iniciada en el
sistema.
sed
sed [options] {script} [file]...

sed

Editor de flujos para el filtrado y transformacin 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
awk [options] file...

gawk

Comandos en sistemas GNU/Linux

13

gawk [options] file...


Lenguaje de anlisis y procesamiento de patrones.
-F
Permite definir el carcter de separacin 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 lnea a lnea y muestra las diferencias. diff no muestra ninguna salida si
los ficheros son idnticos.
-q
No muestra las lneas distintas, solo un resumen.
-y
Muestra la salida en dos columnas.
diff fichero1.txt fichero2.txt
Muestra las diferencias entre los dos ficheros.

strings
strings [options] file...

binutils

Muestra las cadenas de texto en ficheros binarios (como un ejecutable o una imagen).
-n
Permite especificar la longitud mnima de la cadena (4 por defecto).
-e
Permite especificar la codificacin de las cadenas (ASCII, UTF-8, ).
strings -n 10 /bin/bash | less
Extrae del ejecutable /bin/bash todas las cadenas de ms 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
todos [options] file...

tofrodos

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 gestin 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
mkfs.ext3
mkfs.ext4
mkfs.xfs
mkfs.ntfs
mkfs.vfat

e2fsprogs
e2fsprogs
e2fsprogs
xfsprogs
ntfs-3g
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 particin del dispositivo sda con el sistema de ficheros ext4.
mkfs.xfs /dev/sda1
Formatea la primera particin del dispositivo sda con el sistema de ficheros XFS.
mkfs.ntfs -f /dev/sda1
Formatea la primera particin del dispositivo sda con el sistema de ficheros NTFS. La
opcin -f realiza un formateo rpido, ya que por defecto el comando sobrescribe todos los
bloques de datos con ceros.
mkfs.vfat /dev/sda1
Formatea la primera particin del dispositivo sda con el sistema de ficheros FAT.
tune2fs
Sintaxis
tune2fs [options] device
Resumen
Permite ajustar algunos parmetros de configuracin en sistemas de ficheros
ext2/ext3/ext4.
dumpe2fs
Sintaxis
dumpe2fs [options] device
Resumen
Muestra informacin 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 operacin de montaje permite que un sistema de
ficheros est disponible en el sistema. En SSOO Linux, el directorio raz 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
particin).
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 tamaos en un formato ms 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
du [options] [file]...
Realiza una
-c
-h
-s

coreutils

estimacin sobre el uso de espacio en disco.


Produce un resumen total.
Muestra los tamaos con un formato ms legible (K, M, G...).
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]
Vaca (flush) los buffers de los sistemas de ficheros.
sync
Vaca 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 extensin del fichero para determinar el programa de compresin.
-C
Cambia de directorio.
--exclude Excluye ficheros que sigan un patrn.
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 travs 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

Gestin de procesos
Para la gestin de procesos se cuenta con los siguientes comandos:
Comando

Accin

ps

Muestra un listado de todos los procesos que se encuentran


actualmente en ejecucin.

pstree

Muestra un rbol de todos los procesos que se encuentran actualmente


en ejecucin indicando de forma grfica la relacin 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 informacin sobre el sistema, concretamente el tiempo que el


sistema lleva online as como la carga media.

top

Muestra de forma interactiva informacin sobre los procesos que estn


en ejecucin.

kill

Permite enviar seales a los procesos. Por defecto termina procesos.

Administracin del sistema


stat
stat [options] file...

coreutils

Muestra informacin sobre el fichero.


--printf
Permite modificar la forma en la que el comando muestra la
informacin.
stat /bin/bash
Muestra informacin 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 lmites 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 informacin sobre la actividad del sistema.
vmstat
Sintaxis
vmstat [options]
Resumen
Muestra estadsticas de uso de la memoria virtual.
iostat
Sintaxis
iostat [options]
Resumen
Muestra informacin estadsticas sobre la CPU e informacin estadstica sobre los
dispositivos y las particiones.
dstat
Sintaxis
dstat [options]
Resumen
Herramienta verstil para la generacin de estadsticas 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 travs de un servidor NTP (Network Time
Protocol).
uname
Sintaxis
uname [options]
Resumen
Muestra informacin del sistema: versin 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 mdulos cargados por el kernel de Linux.
modinfo
Sintaxis
modinfo [options] [modulename|filename]...
Resumen
Muestra informacin sobre el mdulo del kernel que se especifique.
procinfo
Sintaxis
procinfo [options]
Resumen
Comandos en sistemas GNU/Linux

22

Muestra informacin sobre el kernel obtenida desde el pseudodirectorio /proc.


lsdev
Sintaxis
lsdev
Resumen
Muestra informacin 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 parmetros de configuracin del kernel de Linux en
tiempo de ejecucin.
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 tamaos de las secciones que conforman un ejecutable y el total.
readelf
Sintaxis
readelf [options] elffile...
Resumen
Muestra informacin sobre ficheros ejecutables ELF (32 y 64 bits).
objdump
Sintaxis
Comandos en sistemas GNU/Linux

23

objdump [options] objfile...


Resumen
Muestra informacin sobre ficheros objeto.
strip
Sintaxis
objdump [options] objfile...
Resumen
Elimina smbolos (informacin de depuracin, secciones, etc) de un ejecutable o de
un fichero objeto.
ldd
Sintaxis
ldd [options]... file...
Resumen
Muestra las libreras de enlace dinmico que un ejecutable necesita.
nm
Sintaxis
nm [options]... [objfile]...
Resumen
Muestra los smbolos de un fichero objeto.
strace
Sintaxis
strace [options]... [command [arg]...]
Resumen
Realiza un seguimiento (traza) de las llamadas al sistemas y las seales.
ltrace
Sintaxis
ltrace [options]... [command [arg]...]
Resumen
Realiza un seguimiento (traza) de las llamadas a las libreras.

Usuarios y grupos (apuntes Bash)


Comando

Accin

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.


Tambin permite aadir un usuario a un grupo.

deluser

Elimina usuarios.

useradd

Son herramientas de ms bajo nivel que adduser y deluser para aadir

Comandos en sistemas GNU/Linux

24

userdel

y eliminar usuarios.

passwd

Permite modificar la contrasea del usuario.

usermod

Modifica una cuenta de usuario ya existente.

addgroup

Aade un grupo al sistema.

delgroup

Elimina un grupo del sistema.

groupmod

Permite modificar un grupo ya existente.

id

Muestra informacin sobre un usuario y su pertenencia a grupos.

lid
who

Muestra los usuarios que han iniciado sesin en la mquina.

Muestra los usuarios que han iniciado sesin en la mquina y el


comando que estn ejecutando.

logname

Muestra el username (login name) del usuario.

ac
last

Muestra un listado de los ltimos inicios de sesin.

lastlog

Muestra un listado de todos los usuarios con el ltimo inicio de sesin


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 informacin sobre el sistema y sobre los procesos. /proc/cpuinfo es un fichero de
este sistema de ficheros en el que se muestra informacin detalladas de las CPU del
sistema.
dmidecode
Sintaxis
dmidecode [options]
Resumen
Muestra un volcado legible de la tabla DMI del sistema. La tabla DMI (tambin
llamada SMBIOS) contiene una descripcin de los componentes hardware del sistema, as
como otra informacin como el nmero de serie y la revisin 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 informacin detallada sobre el hardware de la mquina.
hdparm/sdparm
Sintaxis
hdparm [options] [device]...
Resumen
Permite fijar y mostrar determinados parmetros 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 inalmbricas.
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 informacin de red muy variada como conexiones de red, tablas de
enrutamiento, estadsticas de la interfaz, conexiones enmascaradas y miembros de trfico
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 ms completa a como lo hace el
comando host.
hostname
Sintaxis
hostname [options] [hostname]
Resumen
Permite mostrar o fijar el nombre de la mquina.
ping
Sintaxis
ping [options] destination
Resumen
Enva 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 realizacin de diversas operaciones a travs 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 lnea de comandos.
curl
Sintaxis
wget [options] [URL]...
Resumen
curl es una herramienta que permite transfer datos desde/hacia un servidor sin
nign tipo de iteraccin. 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 travs
del protocolo FTP.
nmap
nmap [Scan Type...] [options] {target specification}
Resumen
Nmap (Network Mapper) es una herramienta que permite la exploracin y
auditora de redes de ordenadores.
tcpdump
tcpdump [options] [expression]
Resumen
Permite mostrar una descripcin detallada de todos los paquetes de red que
atraviesen una interfaz de red y que cumplan un conjunto de requisitos.

Gestin de software
La gestin 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

Comandos en sistemas GNU/Linux

Accin

28

apt-get update

Actualiza la lista de paquetes desde los repositorios.

apt-get upgrade

Permite actualizar los paquetes instalados en el sistema a


la versin ms nueva que haya en los repositorios.

apt-get dist-upgrade

Adems de realizar las operaciones de upgrade, trata


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

apt-get purge <paquete>

Igual que la opcin remove, pero elimina adems


cualquier fichero de configuracin.

apt-get source <paquete>

Instala un paquete como hace la opcin install, pero


instala el paquete del cdigo fuente en vez del binario.

apt-get clean

Borra la cach (repositorio local) de paquetes


descargados.

apt-get autoremove

Elimina aquellos paquetes que se instalaron para


satisfacer dependencias pero que ya no son necesarios.

apt-cache search <busqueda>

Permite buscar informacin sobre la descripcin de todos


los paquetes.

apt-cache show <paquete>

Muestra informacin detallada de un paquete concreto.

Resumen de comandos y opciones de dpkg:


Comando

Accin

-formato nombre paquete-

NombrePaquete_Version-Release_Arq.deb

dpkg -i fichero.deb

Instala el paquete.

dpkg -r NombrePaquete
dpkg --remove NombrePaquete

Desinstala el paquete manteniendo ciertos ficheros de


configuracin.

dpkg -P NombrePaquete
dpkg --purge NombrePaquete

Desinstala el paquete completamente.

dpkg -l [expr_regular]
dpkg --list [expr_regular]

Muestra una lista de todos los paquetes instalados.


Se puede filtrar la lista a travs de una expr. regular.

dpkg -S fichero
dpkg --search fichero

Muestra el paquete al que pertenece el fichero.


Solo se realiza la bsqueda en paquetes instalados.

dpkg -I fichero.deb
dpkg --info fichero.deb

Informacin sobre el paquete.

dpkg -L NombrePaquete
dpkg --listfiles NombrePaquete

Listado de los ficheros que forman el paquete


instalado.

dpkg -c fichero.deb
dpkg --contents fichero.deb

Listado de los ficheros que forman el paquete.

Comandos en sistemas GNU/Linux

29

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

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

Comandos en sistemas GNU/Linux

30

También podría gustarte