comandos linux

Upload: antonio-marin-matallna

Post on 08-Jan-2016

9 views

Category:

Documents


0 download

DESCRIPTION

Documento con los comandos de linux más importantes

TRANSCRIPT

  • Comandos en sistemas GNU/LinuxResumen:

    El uso de la lnea de comandos es una de las habilidades que cualquier administrador de 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

    Versin:v.0.5 (10/febrero/2014)v.0.4 (20/mayo/2013)v.0.3 (28/marzo/2013)

    A falta de: Ms ejemplos, descripcin detallada de ms comandos.

    ndice de contenidoRequerimientos.............................................................................................................1Qu es un intrprete de comandos?.............................................................................1

    Ventajas y desventajas..............................................................................................2Buscando comandos.....................................................................................................3Comandos....................................................................................................................3

    Comandos bsicos.....................................................................................................4Trabajando con ficheros.............................................................................................5Manipulando texto....................................................................................................9Administrando el sistema de ficheros........................................................................14Copias de seguridad................................................................................................17Gestin de procesos................................................................................................19Administracin del sistema.......................................................................................20Manejo de ejecutables.............................................................................................23Usuarios y grupos (apuntes Bash)............................................................................24Hardware................................................................................................................25Redes TCP/IP..........................................................................................................26Gestin de software................................................................................................28Multimedia..............................................................................................................29

    Bibliografa..................................................................................................................30

    RequerimientosPara 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 1

  • Se pueden utilizan como sinnimos los siguientes trminos: Intrprete de rdenes. CLI (Command-line interface). Shell.

    Ventajas y desventajasEntre 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 losproblemas 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 unode 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 2

  • 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 comandosA continuacin se detalla una lista de comandos genricos que nos pueden ayudar a la hora de buscar comandos:

    Comando Accin

    echo $PATHMuestra 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 mountBusca 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 mountBusca 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.

    ComandosA continuacin se muestra un listado ms o menos detallado de los comandos de uso msfrecuente. 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 3

  • 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:

    opcion1 Descripcin opcin 1. opcion2 Descripcin opcin 2. ...

    ...

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

    Comando Accincd [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 targetcp [options] file... dir Copia ficheros y directorios.mv [options] source targetmv [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 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 ficherosHay 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 findutilsfind [options] [path...] [expression]Busca ficheros a travs de la jerarqua de directorios que cumplan con ciertos requisitos de bsqueda. -name Permite especificar el nombre del fichero a buscar. -iname Igual que la anterior pero insensible a maysculas/minusculas. -mtime Busca ficheros segn su fecha de modificacin. -size Busca ficheros segn el tamao. -exec Permite ejecutar un comando para cada fichero encontrado.find . -iname *.jpgBusca todos los ficheros con extensin .jpg .JPG.find . -size +10MBusca 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 mlocatelocate [options] [pattern]...Busca ficheros por nombre.locate apt-fileBusca todos los ficheros que contengan en su ruta la cadena 'apt-file'.

    Comandos en sistemas GNU/Linux 5

  • locate -i *.jpgBusca todos los ficheros con extensin 'jpg' 'JPG'.updatedbActualiza la base de datos del comando locate.

    ls coreutilsls [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 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 -liSrMuestra los ficheros en listado extendido, mostrando adems el nodo-i asociado y ordenando los ficheros de menor a mayor.

    rename perlrename [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$//' *.bakElimina la extensin .bak a todos los ficheros del directorio actual que la tengan.rename 's/foto/FOTO/' *.jpgSustitute la palabra 'foto' por 'FOTO' en todos los ficheros del directorio actual que tenganextensin '.jpg'.

    chown coreutilschown [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 /rootchown -R root.root /rootchown -R root. /rootCambia el propietario y el grupo al directorio /root y a todo su contenido recursivamente.chown root /homeCambia el propietario del directorio /home.

    chgrp coreutilschgrp [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 /homeCambia el grupo propitario del directorio /home.

    chmod coreutilschmod [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 ficheroDa permisos de ejecucin al usuario propietario.chmod 644 ficheroDa los siguientes permisos al fichero: rw-r--r--

    umask comando interno de Bashumask [options] [mode]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.umaskMuestra la mscaraumask 0022Fija la mscara de creacin al valor octal 0022.

    Comandos en sistemas GNU/Linux 7

  • watch procpswatch [options] commandEjecuta 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 -hEjecuta el comando 'df -h' cada dos segundos, mostrando la salida en pantalla.watch -d -n 10 uptimeEjecuta el comando 'uptime' cada 10 segundos y resaltando las diferencias entre ejecuciones.

    mknod coreutilsmknod [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 0Crea el dispositivo de bloques sda.

    dd coreutilsdd [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=8192Borra completamente el disco sda.dd if=/dev/sda of=/dev/sdb bs=8192Realiza una copia idntica del disco sda al disco sdb.dd if=/dev/sda of=/root/mbr.dsk count=1 bs=512Copia el MBR del disco sda a un fichero.dd if=/dev/sdc of=/tmp/copiaUSB.dsk bs=8192Vuelca el contenido de la memoria USB sdc a un fichero.

    od coreutilsod [options] [file]...od [options] [file] [[+]offset[.][b]]Muestra ficheros volcndolos en octal u otros formatos -t Selecciona el tipo de formato.

    Comandos en sistemas GNU/Linux 8

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

    lsattr e2fsprogslsattr [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.

    md5sumsha1sum

    sha256sumsha512sum

    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.isoCalculan el hash de la imagen ISO del instalador de Ubuntu 12.04.2 server 64 bits.

    Manipulando textoPara 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/

    Adems de los siguientes comandos muy tiles a la hora de trabajar con ficheros de texto:

    echo comando interno de Bashecho [options] [arg]...Muestra los argumentos (texto) por la salida estndar. -n No imprime al final un retorno de carro.

    Comandos en sistemas GNU/Linux 9

  • -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 todosecho Hola a todosMuestra el mensaje Hola a todos en pantallaecho -n HolaMuestra Hola pero sin retorno de carro al final.echoMuestra un retorno de carro.echo -e Hola\n\ta todos\nMuestra el mensaje utilizando \t como tabulador y \n como retorno de carro.

    cat coreutilscat [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.catCopia la entrada estndar en la salida estndar hasta que se pulse Ctrl+D.cat /etc/passwdMuestra el fichero por pantalla.cat f1.txt f2.txtMuestra el fichero f1.txt en pantalla y despus el fichero f2.txt.cat f1.txt f2.txt > todo.txtConcatena los ficheros f1.txt y f2.txt en el fichero todo.txt.

    head coreutilshead [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/passwdMuestra las primeras 10 lneas del fichero.head -n 20 /etc/passwdMuestra las primeras 20 lneas del fichero.

    Comandos en sistemas GNU/Linux 10

  • tail coreutilstail [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/passwdMuestra las ltimas 10 lneas del fichero.tail -n 20 /etc/passwdMuestra las ltimas 20 lneas del fichero.tail -f /var/log/syslogMuestra las ltimas 10 lneas del fichero, y seguir mostrando lneas conforme el fichero sigue creciendo.

    grep grepgrep [options] pattern [file]... grep [options] [-e pattern | -f file] [file]...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 rootgrep root /etc/passwdMuestra 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 eth1grep -E [0-9]\{8\}[A-Z] prueba.txtMuestra todas las lneas del fichero que contienen un nmero de DNI vlido.

    wc coreutilswc [options] [file]...Muestra las lneas, bytes y palabras que tiene un fichero. -c Muestra solo el nmero de bytes. -m Muestra solo el nmero de caracteres. -l Muestra solo el nmero de lneas. -w Muestra solo el nmero de palabras.wc f1.txtMuestra el nmero de lneas, palabras y bytes del fichero f1.txt.wc -l /etc/passwdcat /etc/passwd | wc -lMuestra cuntos usuarios hay dados de alta en el sistema.

    sort coreutilssort [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/passwdcat /etc/passwd | sortMuestra el contenido del fichero /etc/passwd ordenado.ls -l | sort -gk 5Muestra 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 coreutilstr [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 coreutilscut [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,3cut -d : -f 1,3 /etc/passwdMuestra el campo 1 y 3 del fichero passwd (nombre de usuario y UID).ifconfig eth0 | grep inet: | cut -d : -f 2 | cut -d -f 1Tomamos 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 sedsed [options] {script} [file]...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/passwdMuestra el fichero /etc/passwd sustituyendo la cadena alex por luis.sed -i 's/alex/luis/' agenda.txtSustituye en el fichero agenda.txt todas las ocurrencias de la cadena alex por luis.

    awk gawkawk [options] file...

    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/passwdMuestra el nombre de usuario y el UID de todos los usuarios del sistema.

    diff diffutilsdiff [options] file1 file2Compara ficheros lnea a lnea y muestra las diferencias. diff no muestra ninguna salida silos ficheros son idnticos. -q No muestra las lneas distintas, solo un resumen. -y Muestra la salida en dos columnas.diff fichero1.txt fichero2.txtMuestra las diferencias entre los dos ficheros.

    strings binutilsstrings [options] file...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 | lessExtrae del ejecutable /bin/bash todas las cadenas de ms de 10 caracteres.

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

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

    Administrando el sistema de ficherosPara la gestin del sistema de fichero destacan los siguientes comandos:

    Comandos en sistemas GNU/Linux 14

  • e2labelSintaxis

    e2label device [label]Resumen

    Permite cambiar la etiqueta en un sistema de ficheros ext2/ext3/ext4.

    mkfs.ext2mkfs.ext3mkfs.ext4mkfs.xfsmkfs.ntfsmkfs.vfat

    e2fsprogse2fsprogse2fsprogsxfsprogsntfs-3g

    dosfstoolsmkfs.ext2 [options] devicemkfs.ext3 [options] devicemkfs.ext4 [options] devicemkfs.xfs [options] devicemkfs.ntfs [options] devicemkfs.vfat [options] deviceFormatean un dispositivos bajo el sistema de ficheros correspondiente.mkfs.ext4 /dev/sda1Formatea la primera particin del dispositivo sda con el sistema de ficheros ext4.mkfs.xfs /dev/sda1Formatea la primera particin del dispositivo sda con el sistema de ficheros XFS.mkfs.ntfs -f /dev/sda1Formatea 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 losbloques de datos con ceros.mkfs.vfat /dev/sda1Formatea la primera particin del dispositivo sda con el sistema de ficheros FAT.

    tune2fsSintaxis

    tune2fs [options] deviceResumen

    Permite ajustar algunos parmetros de configuracin en sistemas de ficheros ext2/ext3/ext4.

    dumpe2fsSintaxis

    dumpe2fs [options] deviceResumen

    Muestra informacin detallada del sistema de ficheros ext2/ext3/ext4 del dispositivoespecificado.

    mount

    Comandos en sistemas GNU/Linux 15

  • Sintaxismount -a [options]mount [options] device | dir mount [options] device dir

    ResumenMonta 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.

    umountSintaxis

    umount [-hV] umount -a [options]umount [options] {dir | device}...

    ResumenDesmonta un sistema de ficheros. Al desmontar un SF, ste queda separado del

    rbol de directorios del sistema.

    fsck.*Sintaxis

    fsck.ext2 [options] devicefsck.ext3 [options] devicefsck.ext4 [options] devicexfs_check [options] devicentfsfix [options] devicefsck.vfat [options] device

    ResumenChequea y repara un sistema de ficheros.

    debugfsSintaxis

    debugfs [options] [device]Resumen

    Depurador interactivo para los sistemas de ficheros ext2/ext3/ext4. Permite examinar y cambiar el estado del sistema de ficheros.

    badblocksSintaxis

    badblocks [options] device [last-block] [first-block]Resumen

    Permite buscar sectores defectuosos sobre un dispositivo (normalmente una particin).

    df coreutilsdf [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 -hMuestra un resumen sobre los sistemas de ficheros del sistema.df -h /dev/sda1Muestra un resumen del sistema de ficheros del dispositivo sda.df -h /etc/passwdMuestra un resumen sobre el sistema de ficheros donde se encuentra el fichero /etc/passwd.

    du coreutilsdu [options] [file]...Realiza una estimacin sobre el uso de espacio en disco. -c Produce un resumen total. -h Muestra los tamaos con un formato ms legible (K, M, G...). -s Muestra un resumen para cada uno de los argumentos.du -hMuestra 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 coreutilssync [options]Vaca (flush) los buffers de los sistemas de ficheros.syncVaca los buffers del sistema de ficheros volcando todo a disco.

    Copias de seguridadtar 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 /hometar -cvzf /tmp/Backup.tar.gz /homeRealiza una copia de todo el directorio /home en el fichero /tmp/Backup.tar.gztar -tvzf /tmp/Backup.tar.gzMuestra (chequea) los ficheros contenidos en /tmp/Backup.tar.gztar -xvzf /tmp/Backup.tar.gzDesempaqueta el contenido del fichero en el directorio actual.

    gzip/gunzipSintaxis

    gzip [options] [file]...guzip [options] [file]...

    ResumenComprime y descomprime ficheros en formato Lempel-Ziv (LZ77).

    zip/unzipSintaxis

    zip [options] [zipfile [file ]...]unzip [options] file[.zip] [file]...

    ResumenComprime y descomprime ficheros en formato ZIP.

    bzip2/bunzip2Sintaxis

    bzip2 [options] [file]...bunzip2 [options] [file]...

    ResumenComprime y descomprime ficheros utilizando el algoritmo Burrows-Wheeler.

    7zSintaxis

    7z [options] [7z_file] [file]...Resumen

    Comprime y descomprime ficheros en formato 7z.

    rar/unrarSintaxis

    rar command [options] rar_file [files]...unrar command [options] rar_archive [files]... [path]...

    ResumenComprime y descomprime ficheros en formato RAR.

    Comandos en sistemas GNU/Linux 18

  • rsyncSintaxis

    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

    ResumenHerramienta 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.

    volnameSintaxis

    volname [device]Resumen

    Devuelve el nombre del volumen de un CD o imagen ISO.

    isoinfoSintaxis

    isoinfo [options]Resumen

    Permite mostrar y extraer los ficheros que se encuentran en una imagen ISO.

    wodim (antes cdrecord)Sintaxis

    wodim [options] track1..trackNResumen

    Permite escribir datos y pistas de audio a un dispositivo ptico: CD y DVD.

    growisofs (antes cdrecord)Sintaxis

    growisofs [options] /dev/dvd genisoimage-optionsResumen

    Originalmente era un frontend del programa genisoimage, actualmente soporta la escritura de DVD y Blu-ray.

    Comandos en sistemas GNU/Linux 19

  • Gestin de procesosPara 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.

    pstreeMuestra 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 sistemastat coreutils

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

    ulimitSintaxis

    ulimit [options] limitResumen

    Permite mostrar y modificar los lmites de recursos de la shell.

    freeSintaxis

    free [options]Resumen

    Muestra la cantidad de memoria libre y usada del sistema.

    Comandos en sistemas GNU/Linux 20

  • sarSintaxis

    sar [options]Resumen

    Recoge, graba y procesa informacin sobre la actividad del sistema.

    vmstatSintaxis

    vmstat [options]Resumen

    Muestra estadsticas de uso de la memoria virtual.

    iostatSintaxis

    iostat [options]Resumen

    Muestra informacin estadsticas sobre la CPU e informacin estadstica sobre los dispositivos y las particiones.

    dstatSintaxis

    dstat [options]Resumen

    Herramienta verstil para la generacin de estadsticas sobre los recursos del sistema.

    lsofSintaxis

    lsof [options] [names]Resumen

    Muestra un listado de todos los ficheros abiertos.

    dateSintaxis

    date [options] [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

    ResumenPermite mostrar y fijar la fecha y hora del sistema.

    hwclockSintaxis

    hwclock [function] [options]Resumen

    Permite mostrar y fijar la fecha y hora del reloj hardware del sistema.

    cal, ncalSintaxis

    Comandos en sistemas GNU/Linux 21

  • cal [options]ncal [options]

    ResumenMuestra un calendario.

    ntpdateSintaxis

    ntpdate [options] server...Resumen

    Permite fijar la fecha y hora del sistema a travs de un servidor NTP (Network TimeProtocol).

    unameSintaxis

    uname [options]Resumen

    Muestra informacin del sistema: versin del kernel, arquitectura, etc.

    archSintaxis

    arch [options]Resumen

    Muestra la arquitectura del sistema (x86-64, i386, i486, i586, i686, armv6l, mips, ...).

    dmesgSintaxis

    dmesg [options]dmesg command

    ResumenMuestra y permite controlar el comportamiento del buffer de mensajes del kernel.

    lsmodSintaxis

    lsmodResumen

    Muestra el estado de los mdulos cargados por el kernel de Linux.

    modinfoSintaxis

    modinfo [options] [modulename|filename]...Resumen

    Muestra informacin sobre el mdulo del kernel que se especifique.

    procinfoSintaxis

    procinfo [options]Resumen

    Comandos en sistemas GNU/Linux 22

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

    lsdevSintaxis

    lsdevResumen

    Muestra informacin sobre el hardware del sistema (puertos de E/S, interrupciones y canales DMA).

    sysctlSintaxis

    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/rebootSintaxis

    halt [options]poweroff [options]

    reboot [options]Resumen

    Permiten apagar y reiniciar el sistema.

    shutdownSintaxis

    shutdown [options] time [message]Resumen

    Permiten apagar y reiniciar el sistema.

    Manejo de ejecutablessizeSintaxis

    size [options] [objfile]...Resumen

    Muestra los tamaos de las secciones que conforman un ejecutable y el total.

    readelfSintaxis

    readelf [options] elffile...Resumen

    Muestra informacin sobre ficheros ejecutables ELF (32 y 64 bits).

    objdumpSintaxis

    Comandos en sistemas GNU/Linux 23

  • objdump [options] objfile...Resumen

    Muestra informacin sobre ficheros objeto.

    stripSintaxis

    objdump [options] objfile...Resumen

    Elimina smbolos (informacin de depuracin, secciones, etc) de un ejecutable o de un fichero objeto.

    lddSintaxis

    ldd [options]... file...Resumen

    Muestra las libreras de enlace dinmico que un ejecutable necesita.

    nmSintaxis

    nm [options]... [objfile]...Resumen

    Muestra los smbolos de un fichero objeto.

    straceSintaxis

    strace [options]... [command [arg]...]Resumen

    Realiza un seguimiento (traza) de las llamadas al sistemas y las seales.

    ltraceSintaxis

    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.lidwho Muestra los usuarios que han iniciado sesin en la mquina.

    w Muestra los usuarios que han iniciado sesin en la mquina y el comando que estn ejecutando.

    logname Muestra el username (login name) del usuario.aclast 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.

    Hardwarecat /proc/cpuinfoSintaxis

    cat /proc/cpuinfoResumen

    /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.

    dmidecodeSintaxis

    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-versiondmidecode -s bios-release-datedmidecode --type 17

    lspciSintaxis

    Comandos en sistemas GNU/Linux 25

  • lspci [options]Resumen

    Muestra un listado de todos los dispositivos PCI del sistema.

    lsusbSintaxis

    lsusb [options]Resumen

    Muestra un listado de todos los dispositivos USB del sistema.

    lshwSintaxis

    lshw [options]Resumen

    Muestra informacin detallada sobre el hardware de la mquina.

    hdparm/sdparmSintaxis

    hdparm [options] [device]...Resumen

    Permite fijar y mostrar determinados parmetros en dispositivos SATA/PATA.

    Redes TCP/IPethtoolSintaxis

    ethtool deviceethtool option device [options]

    ResumenPermite consultar el estado de un dispositivo de red as como fijar ciertas

    configuraciones hardware.

    mii-toolSintaxis

    mii-tool [options] [interface]...Resumen

    Permite comprobar y fijar el estado de la unidad MII (Media-Independet Interface) de la interfaz de red.

    ifconfigSintaxis

    ifconfig [options] [interface] ifconfig [-v] interface [aftype] options | address ...

    ResumenPermite configurar las interfaces de red.

    iwconfigSintaxis

    iwconfig [interface]

    Comandos en sistemas GNU/Linux 26

  • iwconfig interface [option [value]]...Resumen

    Permite configurar las interfaces de red inalmbricas.

    routeSintaxis

    route [options]route [options] add [options]route [options] del [options]

    ResumenPermite mostrar y manipular la tabla de enrutamiento IP.

    netstatSintaxis

    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.

    hostSintaxis

    host [options] name [server]Resumen

    Permite realizar consultas DNS.

    digSintaxis

    dig [@server] [options] [name] [type] [class] [queryopt...] Resumen

    Permite realizar consultas DNS de una forma ms completa a como lo hace el comando host.

    hostnameSintaxis

    hostname [options] [hostname]Resumen

    Permite mostrar o fijar el nombre de la mquina.

    pingSintaxis

    ping [options] destinationResumen

    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 losprotocolos TCP/UDP, tales como: abrir conexiones TCP, enviar paquetes UDP, escuchar en cualquier puerto, realizar un escaneo de puertos, etc.

    wgetSintaxis

    wget [options] [URL]...Resumen

    wget es un potente gestor de descargas en lnea de comandos.

    curlSintaxis

    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.

    ftpSintaxis

    ftp [options] [host [port]]Resumen

    Cliente simple de consola para el intercambio de ficheros con un servidor a travs del protocolo FTP.

    nmapnmap [Scan Type...] [options] {target specification}

    ResumenNmap (Network Mapper) es una herramienta que permite la exploracin y

    auditora de redes de ordenadores.

    tcpdumptcpdump [options] [expression]

    ResumenPermite 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 softwareLa 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 Accin

    Comandos en sistemas GNU/Linux 28

  • apt-get update Actualiza la lista de paquetes desde los repositorios.

    apt-get upgrade Permite actualizar los paquetes instalados en el sistema ala versin ms nueva que haya en los repositorios.

    apt-get dist-upgradeAdems de realizar las operaciones de upgrade, trata inteligentemente los cambios de dependencias debidos a las nuevas versiones de los paquetes.

    apt-get install Instala un paquete.

    apt-get remove Desinstala un paquete

    apt-get purge Igual que la opcin remove, pero elimina adems cualquier fichero de configuracin.

    apt-get source 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 Permite buscar informacin sobre la descripcin de todos los paquetes.

    apt-cache show 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 NombrePaquetedpkg --remove NombrePaquete

    Desinstala el paquete manteniendo ciertos ficheros de configuracin.

    dpkg -P NombrePaquetedpkg --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 ficherodpkg --search fichero

    Muestra el paquete al que pertenece el fichero.Solo se realiza la bsqueda en paquetes instalados.

    dpkg -I fichero.debdpkg --info fichero.deb Informacin sobre el paquete.

    dpkg -L NombrePaquetedpkg --listfiles NombrePaquete

    Listado de los ficheros que forman el paquete instalado.

    dpkg -c fichero.debdpkg --contents fichero.deb Listado de los ficheros que forman el paquete.

    Comandos en sistemas GNU/Linux 29

  • MultimediaListado 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

    RequerimientosQu es un intrprete de comandos?Ventajas y desventajas

    Buscando comandosComandosComandos bsicosTrabajando con ficherosManipulando textoAdministrando el sistema de ficherosCopias de seguridadGestin de procesosAdministracin del sistemaManejo de ejecutablesUsuarios y grupos (apuntes Bash)HardwareRedes TCP/IPGestin de softwareMultimedia

    Bibliografa