Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
which apt-get
whereis mount
locate mount
man mount
dpkg-query -S mount
dpkg -L mount
apt-get update
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>
Comandos bsicos
Como comandos bsicos para el trabajo diario en un terminal contamos con los siguientes:
Comando
Accin
cd [options] [dir]
ls [options][file]...
pwd [options]
Crea directorios.
rm [options] file...
findutils
. -iname *.jpg
todos los ficheros con extensin .jpg .JPG.
. -size +10M
todos los ficheros con un tamao mayor de 10 MB.
mlocate
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
perl
chown
chown [options] [owner][:[group]] file...
chown [options] --reference=rfile file...
Comandos en sistemas GNU/Linux
coreutils
-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
coreutils
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.
watch
procps
coreutils
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
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
coreutils
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
-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
coreutils
10
tail
coreutils
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
coreutils
wc [options] [file]...
Muestra las
-c
-m
-l
-w
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
12
Muestra el fichero passwd ordenado por el tercer campo (los campos del fichero passwd
estn delimitador por el carcter ':').
tr
coreutils
coreutils
sed
gawk
13
diff
diffutils
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
tofrodos
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
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.
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
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
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.
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.
19
Gestin de procesos
Para la gestin de procesos se cuenta con los siguientes comandos:
Comando
Accin
ps
pstree
pidof
fuser
uptime
top
kill
coreutils
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
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
Accin
users
groups
adduser
deluser
Elimina usuarios.
useradd
24
userdel
y eliminar usuarios.
passwd
usermod
addgroup
delgroup
groupmod
id
lid
who
logname
ac
last
lastlog
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
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.
Accin
28
apt-get update
apt-get upgrade
apt-get dist-upgrade
Instala un paquete.
Desinstala un paquete
apt-get clean
apt-get autoremove
Accin
NombrePaquete_Version-Release_Arq.deb
dpkg -i fichero.deb
Instala el paquete.
dpkg -r NombrePaquete
dpkg --remove NombrePaquete
dpkg -P NombrePaquete
dpkg --purge NombrePaquete
dpkg -l [expr_regular]
dpkg --list [expr_regular]
dpkg -S fichero
dpkg --search fichero
dpkg -I fichero.deb
dpkg --info fichero.deb
dpkg -L NombrePaquete
dpkg --listfiles NombrePaquete
dpkg -c fichero.deb
dpkg --contents fichero.deb
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/
30