Comandos Esenciales de Gestión de Archivos y Permisos en Linux

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,34 KB

Este documento recopila y explica comandos fundamentales para la administración de sistemas Linux, enfocándose en la manipulación de archivos, directorios y la gestión de permisos.

Gestión de Permisos

Establecer permisos recursivamente

Para establecer permisos de lectura y escritura para el propietario y el grupo, y solo lectura para otros, en el directorio /proyecto/bin y sus contenidos, se utiliza:

chmod -R 664 /proyecto/bin

Permisos Específicos

Los permisos drwxrwx--- indican:

  • Lectura (r), escritura (w) y paso (x) para el usuario propietario.
  • Lectura (r), escritura (w) y paso (x) para el grupo propietario.
  • Sin permisos para los demás usuarios.

Cambio de Permisos Simbólico

Para cambiar los permisos de un fichero llamado léeme.txt a rwxr-xr-x (ejecución para el propietario, lectura y ejecución para el grupo y otros) se usa:

chmod u=rwx,go=rx léeme.txt

Permisos Totales para Todos

Para otorgar permisos de lectura, escritura y ejecución a todos los usuarios sobre el directorio /tmp:

chmod a+rwx /tmp

Modificación de Permisos Específicos

Para eliminar el permiso de paso (ejecución) y añadir el permiso de escritura al grupo sobre un fichero:

chmod g+w,o-x fichero

Permisos Resultantes de umask

Si se ejecuta umask 027, los permisos por defecto para los ficheros creados serán:

640

(Propietario: lectura/escritura, Grupo: lectura, Otros: sin permisos)

Transformación de Permisos por Superusuario

Un superusuario puede modificar permisos de la siguiente manera:

chmod u+x,g+w-r,o-r filename

Manipulación de Contenido de Ficheros

Mostrar un Rango de Líneas

Para mostrar el contenido del fichero fichero.txt desde la línea 12 hasta la 20:

tail +12 fichero.txt | head -n 9

Mostrar Líneas Específicas

El comando less /etc/passwd | head -n -2 indica:

  • Muestra todas las líneas del fichero /etc/passwd excepto las dos últimas.

Mostrar Columnas Específicas

Para mostrar por pantalla las columnas tercera y sexta del fichero /etc/shadow, utilizando el carácter ':' como delimitador:

cut -f 3,6 -d ':' /etc/shadow

Para mostrar por pantalla los campos 2, 3 y 6 del fichero /etc/passwd, usando ':' como delimitador:

cut -f 2,3,6 -d ':' /etc/passwd

Mostrar Contenido con Números de Línea

Para mostrar el contenido del fichero /etc/fstab incluyendo el número de línea:

cat -n /etc/fstab

Mostrar desde una Línea Específica

tail +n muestra el contenido de un fichero desde la línea n hasta el final.

Búsqueda y Filtrado de Información

Buscar Ficheros por Contenido

Para mostrar el nombre de todos los ficheros que contengan la cadena enp0s3 en el directorio /etc y sus subdirectorios:

grep -rl enp0s3 /etc/

Buscar Ficheros por Patrones de Nombre

Para mostrar archivos en el directorio /usr/bin que empiecen por 'k' y tengan una 'a' en la tercera posición:

ls /usr/bin/k?a

Buscar Ficheros por Tamaño

Para buscar ficheros mayores de 25 Mbytes y menores o iguales a 60 Mbytes en el directorio actual y subdirectorios:

find . -size +25M ! -size +60M

Contar Ficheros por Propietario

Para contar todos los ficheros de los que DAI es propietario:

find . -type f -user DAI | wc -l

Expresión Regular para Palabras

La expresión [A-Z].*d (corregida de [A-Z].*$ para mayor precisión si se busca una 'd' al final) coge todas las palabras que empiezan con mayúscula y terminan con 'd'. Si se busca cualquier carácter después de la mayúscula hasta el final, se usaría [A-Z].*.

Operaciones con Archivos y Directorios

Borrar Directorios y su Contenido

Para borrar el directorio /home/Alumno y todos sus archivos de forma recursiva y forzada:

rm -rf /home/Alumno/

Copiar Ficheros con Patrones

Para copiar todos los ficheros cuyo nombre empiece con un número al directorio /tmp:

cp [0-9]* /tmp

Para copiar ficheros del directorio /usr/bin que comiencen por 'g':

cp /usr/bin/g* /ruta/destino/

(Se asume que se desea copiar a alguna ruta de destino, se añade /ruta/destino/ como ejemplo).

Mover y Renombrar Archivos

Para mover el archivo películas.txt, ubicado en multimedia/video, al directorio multimedia y renombrarlo a mis_peliculas.txt:

mv multimedia/video/películas.txt multimedia/mis_peliculas.txt

Crear Estructuras de Directorios

Para crear una estructura de directorios compleja:

mkdir -p programas/c/código_fuente/{uno,dos} programas/c/ejecutables/dos programas/java

Crear Ficheros Vacíos

Para crear cuatro ficheros llamados fi1, fi2, fi3, fi4:

touch fi{1..4}

Crear Enlaces Simbólicos

Un enlace simbólico contiene apuntadores al origen.

Para crear un enlace simbólico llamado potaje que apunte al directorio /bk/olds:

ln -s /bk/olds potaje

Información del Sistema y Comandos de Ayuda

Identificar Usuario Actual

Para saber qué usuario eres:

whoami

Localizar Comandos

Para obtener la orden que muestra la localización del comando ls:

whereis ls

Conceptos Adicionales

Enlaces Simbólicos

Un enlace simbólico actúa como un puntero o atajo a otro archivo o directorio. Contiene la ruta al elemento original.

Uso de Comandos de Visualización

Comandos como cat, less, more, head y tail son fundamentales para visualizar y extraer información de ficheros de texto.

Comandos de Manipulación de Texto

grep para buscar patrones, cut para extraer columnas y sed (no incluido pero relevante) para transformaciones de texto son herramientas poderosas.

Comandos de Administración de Ficheros

cp (copiar), mv (mover/renombrar), rm (eliminar), mkdir (crear directorio), touch (crear fichero vacío) y ln (crear enlaces) son esenciales.

Comandos de Gestión de Permisos

chmod para cambiar permisos, chown para cambiar propietario/grupo (no incluido pero relacionado) y umask para definir permisos por defecto son cruciales para la seguridad.

Entradas relacionadas: