Listado de Comandos de Linux
Comando | Descripción |
---|---|
clear |
Borra la pantalla del terminal, también se puede usar la combinación de teclas Crtl + l |
cmp |
Encuentra la primera posición en donde dos archivos difieren (sean de texto o no). Si son iguales no dice nada; si difieren: indica la línea y el número byte. Los valores de retorno son 0 si los archivos son iguales, 1 si difieren. También existe en su versión zcmp para archivos comprimidos. cmp pepe.txt pepe3.txt compara los archivos pepe.txt y pepe3.txt cmp -s cmp pepe.txt pepe3.txt devuelve solamente un valor de retorno, sin escribir nada (se usa para hacer script en bash). Ejemplo de uso: # ls -l total 4 -rw-r--r-- 1 root root 5 abr 3 22:42 pepe2.txt -rw-r--r-- 1 root root 0 abr 3 22:44 pepe3.txt -rw-r--r-- 1 root root 0 abr 3 22:29 pepe.txt # cmp pepe.txt pepe3.txt # cmp pepe.txt pepe2.txt cmp: fin de fichero encontrado en pepe.txt # cmp -s pepe.txt pepe2.txt |
comm |
Compara el contenido de los ficheros. Es muy útil cuando por ejemplo deseamos obtener las filas (o líneas) que se encuentran en ambos ficheros o solo las líneas que no estén presentes en el otro fichero. Antes de poder usar este comando ambos archivos deben estar ordenados, para lo cual podemos usar el comando sort para ordenarlos Su sintaxis es de la forma: Sin ninguna opción, produce un resultado en tres columnas. La columna uno contiene las líneas únicas al FICHERO1, la columna dos contiene las líneas únicas al FICHERO2, y la columna tres contiene las líneas comunes a ambos ficheros. Sus opciones son: -1 suprime la columna 1 (líneas que sólo están en FICHERO1). -2 suprime la columna 2 (líneas que sólo están en FICHERO2). -3 suprime la columna 3 (líneas que aparecen en los dos). --check-order comprueba que la entrada está correctamente ordenada --output-delimiter=CAD separa columnas con CAD Estas opciones se pueden combinar, por ejemplo, si queremos que muestre las líneas que sólo están en FICHERO1 usaremos la opción -23 muestra las líneas que sólo están en FICHERO1 Ejemplo de uso: $ cat 1.txt carlos juan pepe $ cat 2.txt juan laura pedro $ comm 1.txt 2.txt carlos juan laura pedro pepe $ comm -23 1.txt 2.txt carlos pepe |
cp |
Copia ficheros y directorios; por defecto no copia directorios. Alguno de sus parámetros son: -d copia enlaces simbólicos como tales. -f forzoso, sobrescribe archivos destino si existen. -i avisa antes de sobrescribir archivos existentes. -l crea enlaces hard en lugar de copiar los archivos. -p preserva dueño, grupo, permiso y fecha. -r recursivo, copia directorios y sus archivos. -s crea enlaces simbólicos en lugar de copiar los archivos. -t indica el directorio destino, se usa cuando se quiere copiar múltiples archivos a un solo destino. -v verboso, escribe el nombre de cada archivo que copia. Ejemplo: cp -r ./* ../ copia todo el contenido de la carpeta actual y subcarpetas en el directorio ../ (el directorio de nivel inferior). cp -r ./pepe ./pepe1 ./pepe2 -t ../destino/ copia las carpetas pepe, pepe1, pepe2, y sus contenidos, sobre la carpeta destino. Con lo cual estamos copiando varias carpetas a la vez, a un solo destino. cp -r lander/!(log|pepe) /media/clientes/2-Trabajando/172/cc/ copia todo el contenido de la carpeta lander y subcarpetas en el directorio /media/clientes/2-Trabajando/172/cc/ excluyendo las carpetas y/o archivos cuyo nombre sea log o pepe |
cut |
Extrae las partes seleccionadas de cada fichero en la salida estándar. Por defecto usa el tabulador como separador de campo. cut -f 11 selecciona solamente el campo 11 cut -d " " usa un espacio, en vez del carácter tabulador para delimitar los campos. cut -d: -f1 /etc/passwd lista los usuarios del sistema. ifconfig | grep HW | cut -d " " -f 11 muestra la dirección MAC Ejemplo de la salida del comando cut -d " " -f 2 archivo.txt en el cual usa un espacio como separador de campo -d " " y se selecciona el segundo campo. # cat archivo.txt hola1 hola-1 hola-2 hola2 hola-1 hola-2 hola3 hola-1 hola-2 hola4 hola-1 hola-2 hola5 hola-1 hola-2 # cut -d " " -f 2 archivo.txt hola-1 hola-1 hola-1 hola-1 hola-1 En el siguiente ejemplo se ejecuta cut -f 2- -d " " archivo.txt el cual muestra todas las columnas excepto la primera. Algo similar (no igual, ya que presenta un espacio delante) también se podría haber logrado con el comando awk ejecutando awk '{$1=""; print}' # cat archivo.txt hola1 hola-1 hola-2 hola2 hola-1 hola-2 hola3 hola-1 hola-2 hola4 hola-1 hola-2 hola5 hola-1 hola-2 # cut -f 2- -d " " archivo.txt hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 # awk '{$1=""; print}' archivo.txt hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 hola-1 hola-2 Este comando suele usarse en conjunto con los comandos: sort, grep, awk, sed y cualquier otro del tipo filtro. |
date |
Muestra/Modifica fecha y hora. Su estructura es: date {mmddhhmiyyyy.ss}, donde: mm – Mese dd – Día hh – Hora en formato 24hs. mi – Minutos yyyy – Año ss – segundos Ejemplos de uso: date -s "01/31/2009 22:19:53" cambia la fecha y la hora. date +%T -s "22:19:53" cambia la hora. date --set "2007-05-27 17:27" cambia fecha y la hora. |
dd |
Convierte y copia un fichero. Copia un fichero (de la entrada estándar a la salida estándar, por omisión) con un tamaño de bloque seleccionable por el usuario, a la par que, opcionalmente, realiza sobre él ciertas conversiones. Generalmente utilizado para realizar imágenes de discos/particiones. Su sintaxis es de la forma: De los cuales: if es de donde se tomaran los datos /dev/zero (todos ceros), /dev/random (de forma aleatoria), /dev/sdb1 (una partición, para ser clonada). of nombre de la salida del archivo. bs el tamaño de bloque en bytes, por defecto es 512 bytes el cual es el tamaño de bloque “clásico“ para los discos duros. Si y sólo si los discos duros tienen un tamaño de bloque de 4K, puede utilizar “4096“ en lugar de “512“. Este parámetro influye en la propagación del error (en caso de que ocurra). count la cantidad de veces que obtendremos esos bloques bs de información. conv=noerror para continuar la operación, haciendo caso omiso de todos los errores de lectura. El comportamiento por defecto para dd es detener en cualquier error. sync llena bloques de entrada con ceros si hubo errores de lectura, por lo que los desplazamientos de datos se mantienen en sincronía. Nota: La utilidad dd técnicamente tiene un “tamaño de bloque de entrada“ (SII) y un “tamaño de bloque de salida“ (OBS). Cuando se establece bs, se establece de manera efectiva tanto SII y OBS. Normalmente, si el tamaño de bloque es, por ejemplo, 1M, dd leerá bytes de 1M y escribirá bytes de 1M. Pero si se produce un error de lectura, las cosas saldrán mal. Muchas personas piensan que dd “llena errores de lectura con ceros“ si utiliza las opciones noerror,sync, pero esto no es así. Según la documentación, al llenar el OBS a tamaño SII, lo que significa la adición de ceros al final del bloque. Esto significa, que efectivamente todo el 1M se convertiría en mal estado a causa de un solo 512 bytes de error de lectura en el inicio de la lectura. dd if=/dev/zero of=test.img bs=1M count=120 crea el archivo test.img que contiene todos ceros /dev/zero en el directorio actual con un tamaño de 120 Megabyte # dd if=/dev/zero of=test.img bs=1M count=120 120+0 registros leídos 120+0 registros escritos 125829120 bytes (126 MB) copiados, 0,377277 s, 334 MB/s # ls -lh test.img -rw------- 1 root root 120M abr 30 00:36 test.img dd if=/dev/urandom of=test.img bs=1M count=120 crea el archivo test.img que contiene datos aleatorios /dev/urandom en el directorio actual con un tamaño de 120 Megabyte. Se ve que el tiempo es considerablemente mayor. # dd if=/dev/urandom of=test.img bs=1M count=120 120+0 registros leídos 120+0 registros escritos 125829120 bytes (126 MB) copiados, 9,72611 s, 12,9 MB/s # ls -lh test.img -rw------- 1 root root 120M abr 30 01:52 test.img Si quisiéramos crear una archivo de 1 GB, sería: # dd if=/dev/zero of=pp bs=1G count=1 1+0 registros leídos 1+0 registros escritos 1073741824 bytes (1,1 GB) copiados, 3,40085 s, 316 MB/s # ls -lh pp -rw------- 1 root root 1,0G abr 30 02:02 pp dd if=/dev/urandom of=/dev/sda bs=4kLlena el disco /dev/sda con datos aleartorios dd if=/dev/urandom of=/media/ bs=4096Llena la partición /dev/sda con datos aleartorios dd if=/dev/sdb1 of=/home/adrian/copiapendrive/pendrive.dd crea un imagen del pendrive (para montarlo sería mount -o loop pendrive.dd /home/adrian/montapendrive) dd if=/dev/hda of=/dev/hdd bs=512 conv=noerror,sync clonar el disco hdd sobre el disco hdb # dd if=/dev/sda of=/dev/sdd bs=32M dd: leyendo «/dev/sda»: Error de entrada/salida 96+1 registros leídos 96+1 registros escritos 3245854720 bytes (3,2 GB) copiados, 48,1042 s, 67,5 MB/s Se ejecuta el mismo comando con los parámetros bs=512 conv=noerror,sync para que no se detenga y nos deje clonar el disco. Igual si l disco presenta fallas lo mejor es usar el comando ddrescue # dd if=/dev/sda of=/dev/sdd bs=512 conv=noerror,sync 4777377+0 registros leídos 4777377+0 registros escritos 2446017024 bytes (2,4 GB) copiados, 99,7815 s, 24,5 MB/s 5674721+0 registros leídos 5674720+0 registros escritos 2905456640 bytes (2,9 GB) copiados, 123,243 s, 23,6 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+0 registros leídos 6339568+0 registros escritos 3245858816 bytes (3,2 GB) copiados, 146,171 s, 22,2 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+1 registros leídos 6339569+0 registros escritos 3245859328 bytes (3,2 GB) copiados, 148,805 s, 21,8 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+2 registros leídos 6339570+0 registros escritos 3245859840 bytes (3,2 GB) copiados, 151,438 s, 21,4 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+3 registros leídos 6339571+0 registros escritos 3245860352 bytes (3,2 GB) copiados, 154,071 s, 21,1 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+4 registros leídos 6339572+0 registros escritos 3245860864 bytes (3,2 GB) copiados, 156,704 s, 20,7 MB/s dd: leyendo «/dev/sda»: Error de entrada/salida 6339568+5 registros leídos 6339573+0 registros escritos ........ ........ dd if=/dev/sda of=MBR-backup bs=512 count=1 realizó un backup del MBR dd if=MBR-backup of=/dev/sda bs=512 count=1 restauro mi MBR con la copia. Si el disco presenta fallas lo mejor es usar el comando ddrescue, igualmente también existen otros como: dd_rescue, testdisk, photorec, scalpel, magicrescue, safecopy, y foremost. |
ddrescue |
Comando para crear imágenes de unidades (discos, memorias, CD, etc) dañadas muy similar al comando scalpel el cual también permite recuperar información Su sintaxis es de la forma: Alguna de sus opciones son: -R empieza a clonar desde la partes posterior del disco (clonado inverso), útil para que no use la cache del disco. -r# reintentar número, cada vez que se encuentra un error cuántas veces se volverá a intentar -n no copiar las areas problematicas Por ejemplo, para clonar un disco, copiando primero las áreas libres de error (se usa con la opción -n), hay que utilizar el parámetro --force cuando se desea clonar de disco a disco : root@kali:~# ddrescue -R -n --force /dev/sda /dev/sdd /root/Desktop/logfile.log GNU ddrescue 1.16 Press Ctrl-C to interrupt rescued: 2602 MB, errsize: 0 B, current rate: 13893 kB/s ipos: 317470 MB, errors: 0, average rate: 13210 kB/s opos: 317470 MB, time since last successful read: 0 s Copying non-tried blocks... Lo siguiente es un ejemplo de la salida del comando, en donde se le dice que se haga una imagen de la partición /dev/sdc5 en el archivo datos.img # ddrescue -R -n /dev/sdc5 /media/clientes/87/datos.img /media/clientes/87/logfile.log GNU ddrescue 1.16 Press Ctrl-C to interrupt rescued: 2862 MB, errsize: 0 B, current rate: 6291 kB/s ipos: 103490 MB, errors: 0, average rate: 8806 kB/s opos: 103490 MB, time since last successful read: 0 s ^Cpying non-tried blocks... Interrupted by user Presionamos Ctrl + c e interrumpimos la tarea y luego se puede ejecutar la misma orden y se continuará desde donde dejó. # ddrescue -R -n /dev/sdc5 /media/clientes/87/datos.img /media/clientes/87/logfile.log GNU ddrescue 1.16 Press Ctrl-C to interrupt Initial status (read from logfile) rescued: 2862 MB, errsize: 0 B, errors: 0 Current status rescued: 6739 MB, errsize: 0 B, current rate: 3342 kB/s ipos: 99612 MB, errors: 0, average rate: 6059 kB/s opos: 99612 MB, time since last successful read: 0 s Copying non-tried blocks... Es es la gran diferencia con el comando dd_rescue y otros. Ya que un disco inestable es factible que se cuelgue, y si lo hacemos con otro comando podemos perder todo el trabajo Luego tratamos de recuperar los sectores defectuosos: # ddrescue -R -r5 /dev/sdc5 /media/clientes/87/datos.img /media/clientes/87/logfile.log GNU ddrescue 1.16 Press Ctrl-C to interrupt Initial status (read from logfile) rescued: 106352 MB, errsize: 109 kB, errors: 7 Current status rescued: 106352 MB, errsize: 16896 B, current rate: 0 B/s ipos: 3221 MB, errors: 4, average rate: 318 B/s opos: 3221 MB, time since last successful read: 1 m Retrying bad sectors... Retry 1 Podemos intentar realizar más pasadas, si lo vemos conveniente, o cambiar la dirección de copiado, para intentar recuperar más información # ddrescue -R -r9 /dev/sdc5 /media/clientes/87/datos.img /media/clientes/87/logfile.log GNU ddrescue 1.16 Press Ctrl-C to interrupt Initial status (read from logfile) rescued: 106352 MB, errsize: 12288 B, errors: 2 Current status rescued: 106352 MB, errsize: 8192 B, current rate: 0 B/s ipos: 3221 MB, errors: 1, average rate: 5 B/s opos: 3221 MB, time since last successful read: 3.3 m Finished Para intentar rescatar a un cdrom se usa: Para más información puede ver la documentación en español del creador del programa en: http://www.gnu.org/software/ddrescue/ddrescue_es.html Nota 1: El paquete para instalar este comando es gddrescue. Nota 2: Este comando NO es igual al comando dd_rescue el cual no puede reiniciar la recuperación si el proceso se detiene. Algunos comandos relacionados son: dd_rescue, testdisk, photorec, scalpel, magicrescue, safecopy, y foremost. |
dd_rescue |
Comando para crear imágenes de unidades (discos, memorias, CD, etc) dañadas muy similar al comando scalpel el cual también permite recuperar información Su sintaxis es de la forma: Nota 1: El paquete para instalar este comando es ddrescue. Nota 2: Este comando no es igual al comando ddrescue el cual tiene la ventaja de poder reiniciar la recuperación si el proceso se detiene. Algunos comandos relacionados son: ddrescue, testdisk, photorec, scalpel, magicrescue, safecopy, y foremost. |
declare |
Orden interna de bash utilizada para declarar variables o darles atributos. Si no se dan nombres, entonces muestra los valores de las variables. declare [-afFirx] [-p] [nombre[=valor]] declare -i UID="500" la variable UID se tratará como un entero. declare -p mostrará los atributos y valores de cada nombre. declare -x visualiza las variables exportables (es equivalente a ejecutar export). declare -r muestra las variables que son de solo lectura, constante simbólica. declare -ir muestra todas las variables enteras y no modificables. Existen otros comandos similares como: typeset, export, env, printenv, set, etc. |
deluser |
Remueve usuarios de grupos. deluser pepe admin remueve al usuario pepe del grupo admin |
depmod |
Comprueba las dependencias de módulos. Su sintaxis es de la forma: |