Comandos Linux
Comandos Linux
Una terminal es un programa cuyo objetivo principal es leer comandos y ejecutar otros programas.
Las principales ventajas de la terminal son su alta relación acción-tecla, su soporte para la automatización de tareas
repetitivas, y que puede utilizarse para acceder a otras máquinas en una red.
Las desventajas principales de la terminal son su naturaleza primordialmente textual y que sus comandos y operación
pueden llegar a ser muy crípticos.
Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
Manipulación de texto
1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulación de
texto utilizando PIPE, STDIN y STDOUT.
2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt: sintaxis general para manipular un texto
de un fichero y escribir el resultado en un fichero nuevo.
3. cat file1 | command( sed, grep, awk, grep, etc…) » result.txt: sintaxis general para manipular un texto
de un fichero y añadir resultado en un fichero existente.
4. grep Aug /var/log/messages: buscar palabras “Aug” en el fichero ‘/var/log/messages’.
5. grep ^Aug /var/log/messages: buscar palabras que comienzan con “Aug” en fichero ‘/var/log/messages’
6. grep [0-9] /var/log/messages: seleccionar todas las líneas del fichero ‘/var/log/messages’ que contienen
números.
7. grep Aug -R /var/log/*: buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo.
8. sed ‘s/stringa1/stringa2/g’ example.txt: reubicar “string1” con “string2” en ejemplo.txt
9. sed ‘/^$/d’ example.txt: eliminar todas las líneas en blanco desde el ejemplo.txt
10. sed ‘/ *#/d; /^$/d’ example.txt: eliminar comentarios y líneas en blanco de ejemplo.txt
11. echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’: convertir minúsculas en mayúsculas.
12. sed -e ‘1d’ result.txt: elimina la primera línea del fichero ejemplo.txt
13. sed -n ‘/stringa1/p’: visualizar solamente las líneas que contienen la palabra “string1”.
Apagar (Reiniciar Sistema o Cerrar Sesión)
Archivos y Directorios
1. find / -name file1: buscar fichero y directorio a partir de la raíz del sistema.
2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario ‘user1’.
3. find /home/user1 -name \*.bin: buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1’.
4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los últimos 100 días.
5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los últimos 10 días.
6. find / -name \*.rpm -exec chmod 755 ‘{}’ \;: buscar ficheros con extensión ‘.rpm’ y modificar permisos.
7. find / -xdev -name \*.rpm: Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como
cdrom, pen-drive, etc.…
8. locate \*.ps: encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’.
9. whereis halt: mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está
el comando ‘halt’.
10. which halt: mostrar la senda completa (el camino completo) a un binario / ejecutable.
Espacio de Disco
Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
Salvas (Backup)
1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio ‘/home’.
2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio ‘/home’.
3. restore -if /tmp/home0.bak: restaurando una salva interactivamente.
4. rsync -rogpav –delete /home /tmp: sincronización entre directorios.
5. rsync -rogpav -e ssh –delete /home ip_address:/tmp: rsync a través del túnel SSH.
6. rsync -az -e ssh –delete ip_addr:/home/public /home/local: sincronizar un directorio local con un
directorio remoto a través de ssh y de compresión.
7. rsync -az -e ssh –delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un
directorio local a través de ssh y de compresión.
8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’: hacer una salva de un disco duro en
un host remoto a través de ssh.
9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco duro
es “sda” y el fichero “file1”).
10. tar -Puf backup.tar /home/user: hacer una salva incremental del directorio ‘/home/user’.
11. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’: copiar el contenido
de un directorio en un directorio remoto a través de ssh.
12. ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’: copiar un directorio local
en un directorio remoto a través de ssh.
13. tar cf – . | (cd /tmp/backup ; tar xf – ): copia local conservando las licencias y enlaces desde un directorio a
otro.
14. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents:
encontrar y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro.
15. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con
extensión ‘.log’ y hacer un archivo bzip.
16. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco
floppy.
17. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada en
un floppy.
Trabajo con la RED ( LAN y Wi-Fi)