Post

Comandos básicos de Linux

Comandos Básicos de Linux

Navegación y Gestión de Archivos

  • cd: Cambia el directorio actual (cd /home/user cambia al directorio /home/user)
  • pwd: Muestra la ruta del directorio actual
  • ls: Lista los archivos y carpetas del directorio actual
  • mkdir: Crea un nuevo directorio (mkdir mydir crea un nuevo directorio llamado mydir)
  • rmdir: Borra un directorio vacío (rmdir mydir borra el directorio mydir)
  • rm: Borra un archivo o directorio (rm myfile.txt borra el archivo myfile.txt)
  • cp: Copia un archivo o directorio (cp myfile.txt /home/user/ copia el archivo myfile.txt al directorio /home/user)
  • mv: Mueve o renombra un archivo o directorio (mv myfile.txt /home/user/ mueve el archivo myfile.txt al directorio /home/user)

Gestión de Permisos

  • chmod: Cambia los permisos de acceso a un archivo o directorio (chmod 755 myfile.txt cambia los permisos de acceso del archivo myfile.txt)
  • chown: Cambia el propietario y/o grupo de un archivo o directorio (chown user:group myfile.txt cambia el propietario y grupo del archivo myfile.txt)

Procesos y Sesiones

  • ps: Muestra la lista de procesos actuales
  • kill: Borra un proceso (kill 1234 borra el proceso con PID 1234)
  • bg: Envía un proceso al fondo (bg myprogram envía el programa myprogram al fondo)
  • fg: Trae un proceso al primer plano (fg myprogram trae el programa myprogram al primer plano)

Edición y Manipulación de Texto

  • cat: Muestra el contenido de un archivo (cat myfile.txt muestra el contenido del archivo myfile.txt)
  • grep: Busca una cadena específica en un archivo o directorio (grep "hello" myfile.txt busca la cadena "hello" en el archivo myfile.txt)
  • less: Muestra el contenido de un archivo página a página (less myfile.txt muestra el contenido del archivo myfile.txt página a página)
  • more: Muestra el contenido de un archivo página a página (more myfile.txt muestra el contenido del archivo myfile.txt página a página)

Sistema y Configuración

  • date: Muestra la fecha actual
  • uptime: Muestra el tiempo desde que se inició el sistema
  • whoami: Muestra el nombre de usuario actual
  • hostname: Muestra el nombre del sistema
  • man: Muestra la ayuda para un comando o función (man ls muestra la ayuda para el comando ls)
  • help: Muestra la ayuda para un comando o función (help ls muestra la ayuda para el comando ls)

Otros Comandos

  • exit: Cierra la sesión actual
  • clear: Limpia la pantalla
  • history: Muestra la lista de comandos ejecutados anteriormente
  • !!: Ejecuta el último comando ejecutado
  • !n: Ejecuta el n-ésimo comando en la historia

Comandos Intermedios de Linux

Gestión de Procesos y Sesiones

  • top: Muestra la lista de procesos actuales, incluyendo su uso de CPU y memoria
  • htop: Una versión más avanzada del comando top
  • pkill: Busca y mata un proceso específico (pkill -9 firefox mata el proceso firefox)
  • pgrep: Busca un proceso específico por patrón de nombre (pgrep -f "myprogram" busca el proceso con el nombre que contiene la cadena "myprogram")

Gestión de Archivos y Permisos

  • tar: Crea o extrae archivos en formato tar (tar -cvzf myfile.tar.gz /home/user/myfile.txt crea un archivo tar comprimido llamado myfile.tar.gz)
  • gzip y gunzip: Comprime y descomprime archivos con gzip (gzip myfile.txt compres el archivo myfile.txt, y gunzip myfile.txt.gz descompres el archivo myfile.txt.gz)
  • chattr: Modifica los atributos de un archivo o directorio (chattr +i myfile.txt establece el archivo myfile.txt como inmutable)
  • lsof: Muestra la lista de archivos abiertos por procesos (lsof -p 1234 muestra la lista de archivos abiertos por el proceso con PID 1234)

Gestión de Redes y Comunicación

  • netstat: Muestra la información sobre las conexiones TCP y UDP (netstat -an muestra la información sobre todas las conexiones TCP y UDP)
  • ss: Muestra la información sobre las conexiones TCP, UDP y Unix domain sockets (ss -antp muestra la información sobre todas las conexiones TCP, UDP y Unix domain sockets)
  • nc: Establece una conexión con un host y puerto específico (nc localhost 8080 establece una conexión con el host localhost en el puerto 8080)
  • curl: Hace una solicitud HTTP o HTTPS a un servidor web (curl -v http://example.com hace una solicitud GET a la URL http://example.com)

Gestión de Disco y Particiones

  • fdisk: Edita las particiones del disco duro (fdisk /dev/sda1 edita la partición /dev/sda1)
  • ` parted: Edita las particiones del disco duro (parted /dev/sda1 edita la partición /dev/sda1`)
  • fsck: Verifica y corrige errores en el sistema de archivos (fsck /dev/sda1 verifica y corrige errores en la partición /dev/sda1)
  • dumpe2fs: Muestra la información detallada sobre un sistema de archivos ext2, ext3 o ext4 (dumpe2fs -b /dev/sda1 muestra la información detallada sobre la partición /dev/sda1)

Otros Comandos Intermedios

  • diff: Compara dos archivos y muestra las diferencias entre ellos (diff myfile.txt myotherfile.txt compara los archivos myfile.txt y myotherfile.txt)
  • patch: Aplica un patch a un archivo o directorio (patch -p1 < patchfile.patch aplica el patch patchfile.patch al archivo actual)
  • make: Compila un proyecto de desarrollo (make all compila todos los archivos del proyecto)
  • gpg: Gestiona las claves GPG y los mensajes criptográficos (gpg -e -o myencryptedfile.txt myfile.txt encripta el archivo myfile.txt con la clave actual)

Comandos Avanzados de Linux

Gestión de Procesos y Sesiones

  • strace: Muestra la traza de sistema de un proceso (strace -f -o trace.log myprogram muestra la traza de sistema del programa myprogram)
  • ltrace: Muestra la traza de bibliotecas compartidas de un proceso (ltrace -f -o ltrace.log myprogram muestra la traza de bibliotecas compartidas del programa myprogram)
  • pstack: Muestra el stack de un proceso (pstack 1234 muestra el stack del proceso con PID 1234)
  • gcore: Captura el core dump de un proceso (gcore -o corefile myprogram captura el core dump del programa myprogram y lo almacena en el archivo corefile)

Gestión de Archivos y Permisos

  • xfsdump: Realiza una copia de seguridad de un sistema de archivos XFS (xfsdump -f /dev/sda1 > backup.xfs realiza una copia de seguridad del sistema de archivos /dev/sda1)
  • xfsrestore: Restaura una copia de seguridad de un sistema de archivos XFS (xfsrestore -f /dev/sda1 < backup.xfs restaura la copia de seguridad del sistema de archivos /dev/sda1)
  • tune2fs: Configura y ajusta el sistema de archivos ext2, ext3 o ext4 (tune2fs -i 10000 /dev/sda1 configura el sistema de archivos /dev/sda1 para que tenga un tamaño máximo de 10 GB)
  • e2fsck: Verifica y corrige errores en el sistema de archivos ext2, ext3 o ext4 (e2fsck -f /dev/sda1 verifica y corrige errores en la partición /dev/sda1)

Gestión de Disco y Particiones

  • ddrescue: Realiza una copia de seguridad de un disco duro y restaura los datos en caso de fallo (ddrescue -b 4096 /dev/sda1 /dev/sdb1 > backup.dd realiza una copia de seguridad del disco duro /dev/sda1 y restaura los datos en caso de fallo)
  • mdadm: Gestiona las configuraciones RAID (mdadm --create --name=0 --level=5 /dev/sda1 /dev/sdb1 /dev/sdc1 > raid.conf crea una configuración RAID 5 con los dispositivos /dev/sda1, /dev/sdb1, y /dev/sdc1)
  • partprobe: Recarga la tabla de particiones del sistema (partprobe -f /dev/sda1 recarga la tabla de particiones de la partición /dev/sda1)

Otros Comandos Avanzados

  • pamtester: Prueba el módulo de autenticación PAM (pamtester -t 1234 > test.log prueba el módulo de autenticación PAM con el usuario 1234 y almacena los resultados en el archivo test.log)
  • gdb: Realiza depuración y análisis de un programa (gdb myprogram inicia la depuración del programa myprogram)
  • systemtap: Captura información sobre el rendimiento y la actividad del sistema (systemtap -c 10 > performance.stp captura información durante 10 segundos sobre el rendimiento y la actividad del sistema)
  • oprofile: Realiza análisis de rendimiento y depuración de un programa (oprofile -c 10 > profile.opro realiza análisis de rendimiento y depuración del programa durante 10 segundos)

La redirección (o redirection) en Linux es una técnica que permite cambiar el destino de la salida de un comando, o redirigir la entrada a un comando. Esta función es muy útil para automatizar tareas, realizar pruebas y depuración de programas, y muchos otros propósitos.

Existen dos tipos principales de redirección:

  1. Redirección de salida (>): Permite cambiar el destino de la salida de un comando.
  2. Redirección de entrada (<): Permite cambiar el origen de la entrada para un comando.

Redirección de salida (>)


La sintaxis básica para redirigir la salida de un comando es:

comando > archivo

Donde comando es el comando que se ejecutará y archivo es el nombre del archivo donde se almacenarán los resultados. Por ejemplo:

1
echo "Hello World!" > hello.txt

En este ejemplo, el comando echo imprime la cadena “Hello World!” en la salida estándar (la pantalla), y luego redirige la salida a un archivo llamado hello.txt. El contenido del archivo será igual al texto que se imprimiría en la pantalla si no se hubiera realizado la redirección.

Redirección de entrada (<)


La sintaxis básica para redirigir la entrada de un comando es:

comando < archivo

Donde comando es el comando que se ejecutará y archivo es el nombre del archivo que se utilizará como entrada. Por ejemplo:

1
sort < numbers.txt > sorted_numbers.txt

En este ejemplo, el comando sort ordena la salida de un archivo llamado numbers.txt y luego redirige la salida a otro archivo llamado sorted_numbers.txt. El contenido del archivo sorted_numbers.txt será igual al resultado que se obtenería si se ejecutara el comando sort numbers.txt sin la redirección.

Combinación de redirecciones


Se pueden combinar varias redirecciones para controlar tanto la salida como la entrada de un comando. Por ejemplo:

1
sort < numbers.txt > sorted_numbers.txt 2> error.log

En este ejemplo, el comando sort ordena la salida de un archivo llamado numbers.txt, redirige la salida a otro archivo llamado sorted_numbers.txt, y redirige las salidas de error (errores de ejecución) a un archivo llamado error.log.

Redirección de errores (2>)


La redirección de errores (2>) se utiliza para reenviar los errores que producen los comandos. La sintaxis básica es:

comando 2> archivo

Donde comando es el comando que se ejecutará y archivo es el nombre del archivo donde se almacenarán los errores. Por ejemplo:

1
sort < numbers.txt > sorted_numbers.txt 2> error.log

En este ejemplo, el comando sort ordena la salida de un archivo llamado numbers.txt, redirige la salida a otro archivo llamado sorted_numbers.txt, y redirige las salidas de error (errores de ejecución) a un archivo llamado error.log.

Redirección de errores y salida (>&)


La redirección de errores y salida (>&) se utiliza para reenviar tanto la salida como los errores de un comando. La sintaxis básica es:

comando >& archivo

Donde comando es el comando que se ejecutará y archivo es el nombre del archivo donde se almacenarán tanto la salida como los errores. Por ejemplo:

1
sort < numbers.txt > sorted_numbers.txt &> log.txt

En este ejemplo, el comando sort ordena la salida de un archivo llamado numbers.txt, redirige la salida y los errores a un archivo llamado log.txt.

This post is licensed under CC BY 4.0 by the author.