GNU/Linux – Bash ( Debian/Ubuntu) ­ Consolas virtuales: Están en /etc/event.d/ y se accede a ellas con Ctrl+Alt+[F1...F6] (F7 para volver al entorno gráfico) ­ Reiniciar entorno gráfico: Ctrl+Alt+Backspace (o $ sudo /etc/init.d/gdm restart) ­ Apagar o reiniciar el equipo: $ sudo shutdown ­h (­r: reiniciar) now / $ shutdown ­h 22:55 / $ shutdown ­h +35 (minutos) ­ Limpiar la pantalla de la terminal / Reiniciarla / Nueva pestaña: $ clear (o pulsar CTRL+L) / $ reset / SHIFT+CTRL+T ­ Calculadora / Calendario / Fecha actual: $ bc (quit: sale) / $ cal (calendario de marzo del 2010: $ cal 03 2010) / $ date ­ Mostrar procesos en ejecución: $ top (q: salir, k: matar proceso) / $ ps aux / $ pstree / $ sudo gnome­system­monitor ­ Finalizar o matar un proceso: $ pkill <una_parte_del_nombre_proceso> / killall ­9 (matar proceso) <nombre_proceso> / $ kill ­9 <PID> (para saber el PID: $ pidof <nombre_proceso> / $ top / $ ps ­aux | grep <nombre_proceso>) ­ Ver los mensajes del buffer del kernel generados durante el arranque y depuración de aplicaciones: $ dmesg ­ Ayuda/Info de comandos: $ man (­k busca palabra en el manual) <cmd> (“q” salir, “/” para buscar) / $ whatis <cmd> ­ Mostrar la salida de un comando paginada / en orden alfanumérico: $ comando |less (q para salir) / $ comando |sort ­ Redirigir la salida de un comando a un archivo: $ comando > archivo (para que no sobreescriba el archivo: >>) (para redirigir los errores: 2> archivo) (para que no muestre mensajes en la consola: $ comando > /dev/null 2> /dev/null) ­ Ejecutar comandos en background: $ <comando> & (<comando>, <CTRL+Z>, $ bg) (Listar los procesos que se están ejecutando: $ jobs) (Volver a un comando en background: $ fg <número del proceso>) (Matar un proceso: $ kill %1 %2 etc.) ­ Ejecutar un comando a continuación de otro: $ cmd1; cmd2 (Ejecutar cmd2 solo en el caso de que cmd1 se haya completado con éxito: $ cmd1 && cmd2) (Ejecutar cmd2 solo si cmd1 ha fallado: $ cmd1 || cmd2) ­ Ejecutar un comando cada 2 segundos y mostrar los cambios: $ watch ­d <comando> ($ watch ­d cat /proc/loadavg) ­ Relacionar la salida de un comando con la entrada de otro: $ comando1 | comando2 (es como si la salida/información del primer comando pasara por una tubería al segundo comando) ­ Retrasar la ejecución de un comando: $ sleep 10 (retrasa 10 segundos) (12m: 12 minutos, 2h: 2 horas etc.) ­ Crear nombre alternativo para un comando: $ alias byebye=”shutdown ­h now” (añadir al final de /etc/bash.bashrc) ­ Historial de comandos: $ history ($ !84 para ejecutar el comando #84 del historial) ($ !rm para pedir el último “rm”) (Si pulsamos CTRL+R, según vamos escribiendo nos va indicando el comando del histórico que cumple el patrón dado) ­ Buscar la ubicación de un comando: $ whereis <comando> ­ Buscar un comando si no te acuerdas del nombre: $ apropos <palabra_clave> (ej: Para buscar “df” $ apropos space) ­ Listar contenido de un directorio: $ ls (­lh listado largo y tamaño de los archivos de forma entendible para los humanos) (­a muestra ocultos) (­R muestra subdirectorios) (­S ordena por tamaño) (­X ordena por extensión) (­F añade <*> <@> </>) ­ Buscar ficheros o directorios: $ sudo find <ruta> ­name <fichero/directorio> (Archivos con +/­ de x KB: ­size +­ número) ­ Buscar texto en los archivos: $ grep “texto” <archivo> (No case sensitive: ­i) (Recursivo: ­r) (Mostrar solo el fichero: ­l) ­ Mostrar las diferencias entre dos archivos: $ diff (­i: no case sensitive) <arch1> <arch2> (También podemos usar $ sdiff) ­ Listar tamaño de un archivo o directorio / de las particiones: $ du ­hs / $ df ­h ­ Copiar: $ cp ­ir (pedir confirmación para sobreescribir) (copiar un directorio) <Origen> <Destino> (­p: recursivo) ­ Mover o renombrar: $ mv ­i (si queremos que nos pida confirmación) <Origen> <Destino> ­ Borrar / Borrar directorios vacios: $ rm ­ir (pide confirmación y borra directorios) / $ rmdir <directorio> (­p: recursivo) ­ Destruir datos: $ shred ­z ­u <fichero/partición> (sobreescribir con datos aleatorios 25 veces + paso de ceros + eliminar) ­ Crear directorio: $ mkdir <directorio> (­p: recursivo, para crear “$ mkdir uno/dos/3/cuatro” si el directorio /uno no existe) ­ Cambiar permisos de un fichero/directorio: $ chmod ­R (recursivo) 722 (propietario, grupo, otros) <fichero/directorio> (Permisos: 4 = “lectura”, 2 = “escritura”, 1 = “ejecución”, 0 = “sin permiso”) ­ Cambiar propietario/grupo de un fichero/directorio: $ chown ­R (recursivo) <propietario:grupo> <fichero/directorio> ­ Mostrar el contenido de un archivo: $ cat, $ more, $ less <archivo> ­ Mostrar las 10 últimas/primeras líneas de un fichero: $ tail (­n número de líneas) <fichero> / $ head <fichero> ­ Editor de ficheros: $ nano, $ pico, $ vim (o con el escritorio Gnome: $ gedit) ­ Mostrar tipo de fichero: $ file <fichero> (o $ file *) ­ Dividir un archivo en varios más pequeños: $ split <archivo> ­b 1m/k (divide en archivos de 1 Mb/Kb) ­ Unir archivos divididos con split: $ cat archa archb archc archd > archivo (o también: $ cat arch[abcd] > archivo) ­ Encriptar / desencriptar archivos: $ gpg ­c <archivo> / $ gpg <archivo.gpg> ­ Comprimir / Descomprimir: $ rar a ­r (recursivo) ­p (con password) <archivo.rar> <ruta> / $ rar e <archivo.rar> ­ Sincronizar dos carpetas: $ rsync ­aR ­­delete ­­exclude /tmp/ <directorio_origen> <directorio_destino> ­ Apt: $ sudo aptitude install / reinstall / remove / purge (elimina paquetes y sus archivos de configuración) / update / upgrade / clean (elimina los ficheros de paquetes descargados /var/cache/apt/arhives/) / autoclean (borra los paquetes obsoletos) / hold (no actualizar un programa). Nota: Para añadir y quitar repositorios hay que editar el archivo /etc/apt/sources.lst ­ Buscar el nombre exacto de un paquete: $ apt­cache search <palabra / descripción / posible nombre del paquete> ­ Instalar paquetes .deb: $ dpkg ­i <paquete> (­r: desisntalar) (­­purge: desinstalar y eliminar sus archivos de configuración) ­ Listar ruta de los archivos de un paquete instalado: $ dpkg­query ­L <paquete> (­W para información del paquete) ­ Descargar ficheros desde http o ftp: $ wget (­c Para continuar con un archivo parcialmente descargado) <URL> $ wget ­k ­r ­p ­erobots=off ­U mozilla <URL> (Descargar toda una página y convertir enlaces para verlos localmente) $ wget ­r ­p ­erobots=off ­U mozilla ­A.jpg <URL> (Para descargar solo los archivos .jpg) ­ Cambiar a usuario root en la consola: $ sudo ­s ­ Mostrar usuarios activos / información del usuario actual / últimos logins: $ w / $ id / $ last ­ Mostrar los procesos que están usando un puerto / fichero: $ fuser ­v <puerto>/tcp / $ lsof +D <ruta_del_fichero> ­ Mostrar conexiones activas / puertos escuchando: $ sudo netstat ­napt / $ sudo netstat ­putall / $ gnome­nettool ­ Ver la ruta que siguen los paquetes de un host a otro: $ traceroute (­I: trazar ruta con paquetes ICMP) <host> ­ Tiempo que tardan los paquetes en ir a un host y volver: $ ping <host> ­ Ver datos del propietario de un dominio: $ sudo whois <dominio/IP> (el dominio sin “www.”) ­ Mostrar información del Hardware (en HTML) / dispositivos USB/PCI: $ sudo lshw ­html > archivo / $ lsusb / $ lspci ­ Mostrar unidades montadas: $ mount | column ­t (para mostrar alineado en columnas) ­ Mostrar información sobre los discos duros: $ sudo hdparm – I <dispositivo> ­ Listar tabla de particiones: $ sudo fdisk ­l ­ Información sobre el sistema de archivos / listar espacio usado: $ df ­Th (T: muestra tipo de sistema de ficheros) ­ Nomenclatura de unidades y particiones: Unidades: si son IDE: /dev/hd(a,b,c...) y si son SATA: /dev/sd(a,b,c...) Particiones: /dev/hda(1,2,3...) /dev/hde(1,2,3...) /dev/sda(1,2,3...) ­ Montar unidades: $ sudo mount ­t <sistema_archivos> <dispositivo> <punto_de_montaje> ­o <opciones> ­Sistemas de archivos habituales: vfat, ntfs, ext3, swap, iso9660 (auto: para que autodetecte el sistema de archivos) ­Opciones más usadas: ro (solo lectura), rw (lectura y escritura), exec/noexec (permite/no permite la ejecución de comandos) auto (las particiones se montan automáticamente en el arranque del sistema), user/nouser (cualquier usuario puede/no puede montar la partición) defaults (rw, suid, dev, exec, auto, nouser, async). ­Para que se monte una unidad automáticamente al iniciar el sistema hay que editar el archivo '/etc/fstab' y añadirla ahí. Y para montar las unidades del fstab sin reiniciar el sistema hacemos: $ sudo mount ­a (solo se montarán las particiones que no tengan puesta la opción noauto) ­ Desmontar unidades: $ sudo umount <dispositivo / punto_de_montaje> ­ Formatear disco: $ sudo mkfs.vfat/ext3/etc. <dispositivo> / $ sudo gparted (Primero hay que desmontar la unidad) ­ Clonar disco/CD: $ dd if=/dev/cdrom of=imagen.img conv=noerror,sync (muestra mensajes de error pero no se detiene) ­ Montar una imágen ISO: $ sudo mount ­t iso9660 ­o loop <archivo.iso> <punto_de_montaje> ­ Crear una imágen ISO de un directorio: $ mkisofs ­r ­J ­o file.iso <directorio> (­r: extensión Rockridge: los archivos mantienen sus atributos y permisos originales en Linux) (­J: extensión Joliet: Los archivos pueden tener nombres largos) ­ Grabar en un CD una imágen ISO: $ cdrecord ­scanbus (para buscar el dispositivo) / $ cdrecord dev=x,x,x imágen.iso ­ Borrar un CD regrabable: $ cdrecord ­v dev=/dev/cdrom blank=fast ­force ­ Rippear un CD de audio y pasarlo a MP3: $ cdparanoia ­B / $ lame <archivo.wav> <archivo.mp3> ­ Reproducir un MP3 / Controlar el volumen: $ mpg321 ­z (reproducción aleatoria) ­v <archivo/s.mp3> / $ alsamixer ­ Convertir imágenes: $ convert (­resize 1024x768 para redimensinoarla) <imagen.png> <imagen.jpg> ­ Comodines: (*) cualquier sucesión de caracteres, (?) único carácter, [aei58] conjunto de caracteres, [^aei58] se cumple para cualquier caracter no encerrado en los corchetes, (~) directorio /home. ­ Información sobre la estructura de directorios en GNU/Linux: $ man hier mikelete ­ 05/09/09