Chuleta de comandos en GNU

Anuncio
 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
Descargar