Comandos básicos de Linux
Comandos Básicos de Linux
Navegación y Gestión de Archivos
cd: Cambia el directorio actual (cd /home/usercambia al directorio/home/user)pwd: Muestra la ruta del directorio actualls: Lista los archivos y carpetas del directorio actualmkdir: Crea un nuevo directorio (mkdir mydircrea un nuevo directorio llamadomydir)rmdir: Borra un directorio vacío (rmdir mydirborra el directoriomydir)rm: Borra un archivo o directorio (rm myfile.txtborra el archivomyfile.txt)cp: Copia un archivo o directorio (cp myfile.txt /home/user/copia el archivomyfile.txtal directorio/home/user)mv: Mueve o renombra un archivo o directorio (mv myfile.txt /home/user/mueve el archivomyfile.txtal directorio/home/user)
Gestión de Permisos
chmod: Cambia los permisos de acceso a un archivo o directorio (chmod 755 myfile.txtcambia los permisos de acceso del archivomyfile.txt)chown: Cambia el propietario y/o grupo de un archivo o directorio (chown user:group myfile.txtcambia el propietario y grupo del archivomyfile.txt)
Procesos y Sesiones
ps: Muestra la lista de procesos actualeskill: Borra un proceso (kill 1234borra el proceso con PID 1234)bg: Envía un proceso al fondo (bg myprogramenvía el programamyprogramal fondo)fg: Trae un proceso al primer plano (fg myprogramtrae el programamyprogramal primer plano)
Edición y Manipulación de Texto
cat: Muestra el contenido de un archivo (cat myfile.txtmuestra el contenido del archivomyfile.txt)grep: Busca una cadena específica en un archivo o directorio (grep "hello" myfile.txtbusca la cadena"hello"en el archivomyfile.txt)less: Muestra el contenido de un archivo página a página (less myfile.txtmuestra el contenido del archivomyfile.txtpágina a página)more: Muestra el contenido de un archivo página a página (more myfile.txtmuestra el contenido del archivomyfile.txtpágina a página)
Sistema y Configuración
date: Muestra la fecha actualuptime: Muestra el tiempo desde que se inició el sistemawhoami: Muestra el nombre de usuario actualhostname: Muestra el nombre del sistemaman: Muestra la ayuda para un comando o función (man lsmuestra la ayuda para el comandols)help: Muestra la ayuda para un comando o función (help lsmuestra la ayuda para el comandols)
Otros Comandos
exit: Cierra la sesión actualclear: Limpia la pantallahistory: 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 memoriahtop: Una versión más avanzada del comandotoppkill: Busca y mata un proceso específico (pkill -9 firefoxmata el procesofirefox)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.txtcrea un archivo tar comprimido llamadomyfile.tar.gz)gzipygunzip: Comprime y descomprime archivos con gzip (gzip myfile.txtcompres el archivomyfile.txt, ygunzip myfile.txt.gzdescompres el archivomyfile.txt.gz)chattr: Modifica los atributos de un archivo o directorio (chattr +i myfile.txtestablece el archivomyfile.txtcomo inmutable)lsof: Muestra la lista de archivos abiertos por procesos (lsof -p 1234muestra 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 -anmuestra 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 -antpmuestra 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 8080establece una conexión con el hostlocalhosten el puerto8080)curl: Hace una solicitud HTTP o HTTPS a un servidor web (curl -v http://example.comhace una solicitud GET a la URLhttp://example.com)
Gestión de Disco y Particiones
fdisk: Edita las particiones del disco duro (fdisk /dev/sda1edita la partición/dev/sda1)- ` parted
: Edita las particiones del disco duro (parted /dev/sda1edita la partición/dev/sda1`) fsck: Verifica y corrige errores en el sistema de archivos (fsck /dev/sda1verifica 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/sda1muestra 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.txtcompara los archivosmyfile.txtymyotherfile.txt)patch: Aplica un patch a un archivo o directorio (patch -p1 < patchfile.patchaplica el patchpatchfile.patchal archivo actual)make: Compila un proyecto de desarrollo (make allcompila todos los archivos del proyecto)gpg: Gestiona las claves GPG y los mensajes criptográficos (gpg -e -o myencryptedfile.txt myfile.txtencripta el archivomyfile.txtcon 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 myprogrammuestra la traza de sistema del programamyprogram)ltrace: Muestra la traza de bibliotecas compartidas de un proceso (ltrace -f -o ltrace.log myprogrammuestra la traza de bibliotecas compartidas del programamyprogram)pstack: Muestra el stack de un proceso (pstack 1234muestra el stack del proceso con PID 1234)gcore: Captura el core dump de un proceso (gcore -o corefile myprogramcaptura el core dump del programamyprogramy lo almacena en el archivocorefile)
Gestión de Archivos y Permisos
xfsdump: Realiza una copia de seguridad de un sistema de archivos XFS (xfsdump -f /dev/sda1 > backup.xfsrealiza 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.xfsrestaura 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/sda1configura el sistema de archivos/dev/sda1para 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/sda1verifica 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.ddrealiza una copia de seguridad del disco duro/dev/sda1y 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.confcrea 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/sda1recarga 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.logprueba el módulo de autenticación PAM con el usuario 1234 y almacena los resultados en el archivotest.log)gdb: Realiza depuración y análisis de un programa (gdb myprograminicia la depuración del programamyprogram)systemtap: Captura información sobre el rendimiento y la actividad del sistema (systemtap -c 10 > performance.stpcaptura 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.oprorealiza 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:
- Redirección de salida (>): Permite cambiar el destino de la salida de un comando.
- 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.
