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

Algunos comandos relacionados son: comm y diff

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:
comm [OPCIÓN]... FICHERO1 FICHERO2

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

Algunos comandos relacionados son: diff y cmp

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:
dd [if=] [of=] [bs=] [count=] [conv=], sync

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.
Si está seguro de que su disco no contiene errores, puede continuar usando un tamaño de bloque más grande, lo que aumentará la velocidad de copiado. Por ejemplo, el cambio de 512k a 64K aumentará la velocidad de 35MB/s a 120MB/s en un Celeron de 2.7GHz. Pero tenga en cuenta, que los errores de lectura en el disco de origen van a terminar como errores de bloque en el disco de destino, es decir, 512 bytes error de lectura de origen se transformaran en bloque de salida 64k con error.


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:
ddrescue [options] infile outfile [logfile]

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 :
ddrescue -R -n --force /dev/sda /dev/sdb /root/logfile.log

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

# 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:
ddrescue -b 2048 /dev/cdrom ./cdimage /root/logfile


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:
dd_rescue [options] infile outfile [logfile]


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.
Usar + en vez de - desactiva el atributo en vez de activarlo.

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:
depmod [modulo]

Páginas

 

Solicita Asistencia

Llámenos al:+54-9-11-32788353

Envíenos un e-mail: consultas@ ---Para enviar el SPAM--- francisconi.org

Skype Status for francisconi.hugo.adrian
 

Suscríbete

Suscríbete y recibe las últimas actualizaciones, noticias y más ...