Cambiar dueño y grupo:
- chown [usuario] [nombre_archivo]: Cambia el propietario de un archivo.
- chown -r [usuario] [nombre_directorio]: Cambia el propietario de un directorio y su contenido recursivamente.
- chgrp [grupo] [nombre_archivo]: Cambia el grupo propietario de un archivo.
- chgrp -r [grupo] [nombre_directorio]: Cambia el grupo propietario de un directorio y su contenido recursivamente.
Búsqueda de patrones:
- grep [patrón] [nombre_archivo]: Busca un patrón específico dentro de un archivo.
- grep –r [patrón] [nombre_directorio]: Busca un patrón de forma recursiva en un directorio.
- locate [nombre]: Encuentra todos los archivos y directorios relacionados con un nombre específico.
- find [/carpeta/ubicación] -name [a]: Busca archivos cuyos nombres comienzan con un carácter especificado en una ubicación específica.
- find [/carpeta/ubicación] -size [+100M]: Encuentra archivos más grandes que un tamaño especificado en una carpeta.
Comandos de archivo:
- ls: Lista archivos en el directorio.
- ls -a: Lista todos los archivos, incluyendo los ocultos.
- pwd: Muestra el directorio actual.
Creación y eliminación de archivos y directorios:
- mkdir [directorio]: Crea un nuevo directorio.
- rm [nombre_archivo]: Elimina un archivo.
- rm -r [nombre_directorio]: Elimina un directorio y su contenido de forma recursiva.
- rm -rf [nombre_directorio]: Elimina un directorio y su contenido recursivamente sin necesidad de confirmación.
Copia, movimiento y renombrado de archivos:
- cp [nombre_archivo1] [nombre_archivo2]: Copia el contenido de un archivo en otro archivo.
- cp -r [nombre_directorio1] [nombre_directorio2]: Copia el contenido de un directorio en otro directorio de forma recursiva.
- mv [nombre_archivo1] [nombre_archivo2]: Cambia el nombre de un archivo o mueve un archivo de ubicación.
Operaciones de archivo:
- touch [nombre_archivo]: Crea un nuevo archivo vacío o actualiza el sello de tiempo de acceso y modificación de un archivo existente.
- more [nombre_archivo] o cat [nombre_archivo]: Muestra el contenido de un archivo.
- cat [nombre_archivo1] >> [nombre_archivo2]: Añade el contenido de un archivo al final de otro archivo.
- head [nombre_archivo]: Muestra las primeras 10 líneas de un archivo.
- tail [nombre_archivo]: Muestra las últimas 10 líneas de un archivo.
- cut -d [delimitador] [nombre_archivo]: Corta una sección de un archivo usando un delimitador.
- wc [nombre_archivo]: Muestra el número de palabras, líneas y bytes de un archivo.
- diff [nombre_archivo1] [nombre_archivo2]: Compara dos archivos y muestra las diferencias entre ellos.
Redireccionamiento y almacenamiento de salida:
- [comando] | tee [nombre_archivo] >/dev/null: Almacena la salida de un comando en un archivo y omite la salida de la terminal.
Grupo principal y grupos secundarios:
- Grupo principal: Cada usuario tiene un grupo principal, que se registra en el archivo /etc/passwd.
- Grupos secundarios: Los sistemas GNU/Linux pueden tener un máximo de 15 grupos secundarios, los cuales se almacenan en el archivo /etc/group.
Consulta de Grupos de un Usuario:
- groups [nombre_usuario]: Muestra los grupos a los que pertenece un usuario, incluyendo el grupo principal y los grupos secundarios.
Cambio de grupos:
- usermod -a -G [grupo_secundario] [usuario]: Agregar Usuario a un Grupo Secundario.
- gpasswd –d [usuario] [nombre_grupo]: Eliminar Usuario de un Grupo Secundario.
- newgrp [nombre_grupo]: Cambiar Grupo en la Sesión Actual -> Si el usuario es miembro del grupo especificado, cambia su grupo en la sesión actual.
Administración de grupos:
- groupadd –g [ID_grupo][nombre_grupo]: Crear un Grupo.
- -g [ID_grupo]: Asigna un número de grupo único.
- nombre_grupo: Nombre del nuevo grupo.
- groupdel [nombre_grupo]: Eliminar un Grupo -> Elimina el grupo especificado. Los archivos asociados al grupo deben ser revisados manualmente para su gestión.
Creación de cuentas de usuario:
- useradd nombre_usuario: Crear nuevas cuentas de usuario en sistemas Linux.
- passwd nombre_usuario: Establecer una contraseña para el usuario.
Variables comunes del comando useradd:
Variable | Descripción | Ejemplo |
---|---|---|
-d dir_home | Especifica el directorio de inicio del usuario | useradd prueba -d /home/prueba |
-e fecha | Establece la fecha de caducidad de la cuenta | useradd prueba -e 2022-12-31 |
-s shell | Establece el tipo de shell predeterminado para el usuario | useradd prueba -s /bin/bash |
-f inactivo | Especifica el número de días antes de que la cuenta caduque | useradd prueba -f 10 |
-m | Crea el directorio de inicio del usuario por defecto | useradd prueba -m |
-u | Especifica un ID de usuario diferente al predeterminado | useradd prueba -u 1700 |
-g | Asigna al usuario a un grupo diferente al predeterminado | useradd prueba -g sudo |
Creación de alias temporales y permanentes:
- alias nombre_alias=’comando’: Crear un alias temporal directamente en la línea de comandos.
- alias nombre_alias=’comando’: Para crear un alias permanente se debe editar el archivo ~/.bashrc. Luego, ejecutar source ~/.bashrc para aplicar los cambios inmediatamente o iniciar una nueva sesión de terminal.
Procesos:
- fg: Trae el proceso a primer plano.
- bg: Mueve el proceso a segundo plano.
- jobs: Lista los procesos actuales adjuntos al shell.
- ctrl+z: Combinación de teclas Control + z para dormir el proceso actual.
- &: Inicia el proceso en segundo plano.
- ps awx: Lista los procesos.
- pstree: Muestra los procesos en forma de árbol de manera ordenada.
- top: Muestra las estadísticas en tiempo real.
Comando crontab:
- crontab -e -u usuario: Editar los cron del usuario especificado.
- crontab -l -u usuario: Listar los cron del usuario especificado.
- crontab -r -u usuario: Eliminar los cron del usuario especificado.
Ejemplo de configuración de crontab:
- 0 20 * * * echo «Me ejecuto a las ocho en punto» > /dev/null: Se ejecuta todos los días a las 20:00 horas y imprime el mensaje «Me ejecuto a las ocho en punto». Utiliza la redirección de salida > /dev/null para descartar cualquier salida del comando.
Comodines útiles de crontab:
- @reboot: Ejecuta una vez al iniciarse el equipo.
- @yearly: Ejecuta una vez al año.
- @monthly: Ejecuta una vez al mes.
- @weekly: Ejecuta una vez a la semana.
- @daily: Ejecuta una vez al día.
Ejemplo de uso de un comodín de crontab:
- @yearly /ruta/a/mi_script.sh: Para ejecutar una tarea una vez al año.
Herramientas tar y gzip:
- Tar: Combina varios archivos y/o directorios en un solo archivo.
- tar [Opciones] [Archivo de salida] [Archivo o directorio a ser empaquetado]: Sintaxis básica.
- Gzip: Comprime solo archivos individuales y crea un archivo comprimido para cada archivo dado como entrada, reduciendo el tamaño de este.
- gzip [Opción] [Archivo]: Sintaxis básica.
Tabla de opciones comunes de gzip:
Opción | Descripción | Ejemplo |
---|---|---|
-c | Crea un archivo comprimido sin eliminar el archivo original | gzip -c archivo > archivo.gz |
-v | Muestra información detallada sobre el proceso de compresión | gzip -v archivo |
-r directorio | Comprime todos los archivos del directorio especificado | gzip -r directorio |
-9 | Comprime el archivo con el máximo nivel de compresión (puede ser más lento) | gzip -9 archivo |
-d archivo.gz | Descomprime el archivo especificado | gzip -d archivo.gz |
Ejemplos de comprimir archivos con gzip:
- gzip archivo1: Comprime el archivo1 y lo renombra como archivo1.gz.
- gzip -c archivo2 > archivo2.gz: Comprime el archivo2 y guarda la salida comprimida en archivo2.gz.
- gzip archivo3 archivo4: Comprime los archivos archivo3 y archivo4, reemplazándolos con las versiones comprimidas.
Tabla de opciones comunes de tar:
Opción | Descripción | Ejemplo |
---|---|---|
-c | Crea un nuevo archivo tar | tar -cf archivo.tar archivo1 archivo2 |
-x | Extrae archivos de un archivo tar | tar -xf archivo.tar |
-t | Lista el contenido de un archivo tar | tar -tf archivo.tar |
-v | Muestra información detallada sobre el proceso (verbose) | tar -cvf archivo.tar archivo1 archivo2 |
-f nombre_archivo | Especifica el nombre del archivo tar | tar -cf archivo.tar archivo1 archivo2 |
-z | Comprime el archivo tar con gzip | tar -czf archivo.tar.gz archivo1 archivo2 |
-j | Comprime el archivo tar con bzip2 | tar -cjf archivo.tar.bz2 archivo1 archivo2 |
-r | Añade archivos o directorios al final de un archivo tar existente | tar -rf archivo.tar archivo3 |
-u | Actualiza los archivos existentes en un archivo tar | tar -uf archivo.tar archivo1 |
Ejemplos de crear archivos tar:
- tar -cf archivo1.tar archivo1: Crea un archivo tar llamado archivo1.tar que contiene archivo1.
- tar -czf archivo2.tar.gz archivo2: Crea un archivo tar comprimido llamado archivo2.tar.gz que contiene archivo2.
- tar -czf prueba.tar.gz archivo3 archivo4: Crea un archivo tar comprimido llamado prueba.tar.gz que contiene archivo3 y archivo4.
- tar -tvf prueba.tar.gz: Muestra el contenido del archivo tar comprimido prueba.tar.gz.
- tar -xvf prueba.tar.gz: Extrae el contenido del archivo tar comprimido prueba.tar.gz.