Ejemplos de comandos de Linux para gestión de archivos y directorios

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

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

Ejemplos de comandos de Linux

Gestión de archivos

Clasificar un archivo por un campo específico

Para clasificar el archivo paises por "CONTINENTE" (primer campo) y mostrar la salida por pantalla:

cat paises.txt | sort -t ";" -k1,1

Filtrar y contar líneas de un archivo

Para visualizar por pantalla el número de líneas del archivo paises correspondientes a "AMERICA" y guardar la información de dichas líneas en el archivo inter:

cat paises.txt | grep -i "america" | tee inter.txt | wc -l

Ordenar un archivo por múltiples campos

Para ordenar el archivo inter por idioma y capital, en orden inverso:

cat inter.txt | sort -rt ":" -k4,4 -k3,3

Para ordenar el archivo paises por continente, idioma y país:

cat paises.txt | sort -t ":" -k1,1 -k4,4 -k2,2

Extraer columnas de un archivo

Para visualizar la 1ª y 3ª columna del fichero paises ordenada descendentemente por la 3ª columna:

cat paises.txt | cut -d ":" -f1,3 | sort -t ":" -k2,2

cat paises.txt | sort -rt ":" -k3,3 | cut -d ":" -f1,3

Cambiar el carácter separador de un archivo

Para crear un archivo paisesb a partir del fichero paises con el carácter separador "*":

cat paises.txt | tr -s ":" "*" >paisesb.txt

Mostrar las últimas líneas de un archivo

Para visualizar las dos últimas líneas del fichero paises ordenadas por continente:

cat paises.txt | tail -2 | sort -t ":" -k1,1

Extraer campos de las primeras líneas de un archivo

Para extraer los campos país e idioma de las 5 primeras líneas del fichero paises:

cat paises.txt | cut -d ":" -f2,4 | head -5

Extraer un campo desde una línea específica

Para extraer el campo capital desde la tercera línea hasta el final del fichero paises:

cat paises.txt | tail --lines=+3 | cut -d ":" -f3

Gestión de directorios y permisos

Crear un directorio y modificar permisos

Para crear el directorio carpeta en el directorio HOME y quitarle todos los permisos de lectura:

mkdir ~/carpeta

chmod a-r ~/carpeta/

Buscar directorios y guardar la salida en un archivo

Para buscar todos los directorios que cuelgan del directorio propio y guardarlos en el archivo direc:

find ~ -type d > direc.txt 2>/dev/null

Redireccionar errores a un archivo

Para realizar la búsqueda anterior y redireccionar los errores al fichero malos:

find ~ -type d > direc.txt 2> malos.txt

Crear directorios y verificar permisos

Para crear los directorios dir2 y dir3 en el directorio actual y verificar los permisos de dir2:

mkdir dir3

mkdir dir2

ls -l

Modificar permisos con notación simbólica y octal

Para eliminar todos los permisos de escritura de dir2 con notación simbólica:

chmod a-w dir2

Para eliminar el permiso de lectura de dir2 para otros usuarios con notación octal:

chmod 551 dir2

Otorgar permisos y crear subdirectorios

Para conceder permiso de escritura en dir2 e intentar crear un subdirectorio:

chmod 751 dir2 o chmod u+w dir2

mkdir dir2/dir21

Crear un archivo, modificar permisos e intentar acceder

Para crear el fichero uno con cat >, comprobar los permisos, quitarle todos los permisos de lectura e intentar abrirlo y borrarlo:

cat > uno.txt

ls -l

chmod a-r uno.txt

ls -l

cat uno.txt (no deja)

rm uno.txt (sí deja)

Modificar permisos de un directorio

Para quitarle todos los permisos de paso al directorio dir2 y otorgarle todos los demás:

chmod a=rw- dir2

Borrar directorios con un patrón específico

Para posicionarse en el directorio personal y borrar los directorios que cuelgan de fuentes que acaben en un número que no sea el 1:

cd

rm -r fuentes/*[!1]

Buscar un archivo y ver su fecha de modificación

Para ver si existe el archivo tty2 en el directorio dev y en caso de que exista ver su fecha de creación o actualización:

find /dev -name "tty2" -exec ls -l "{}" ";"

Ver los permisos de archivos con un patrón específico

Para ver los permisos que tienen los archivos que empiecen por tt del directorio /dev:

ls -l /dev/tt*

Listar archivos ordinarios en un directorio

Para visualizar la lista de los archivos ordinarios que están en el directorio /usr/bin:

find /usr/bin/ -type f

Listar directorios a un nivel de profundidad

Para visualizar la lista de todos los directorios que cuelgan del raíz, sólo un nivel:

find / -maxdepth 1 -type d

Listar archivos de un usuario específico

Para visualizar la lista de todos los ficheros que pertenezcan a root:

find / -user root -type f

Buscar archivos con una extensión específica

Para visualizar la lista de todos los ficheros .h del directorio /usr/include:

find /usr/include/ -type f -name "*.h"

Buscar un archivo y mostrar su contenido

Para buscar el archivo news.notice y visualizar su contenido:

find / -name "news.notice" -exec cat "{}" ";"

Ejecutar comandos con un patrón específico

Para ejecutar todos los comandos que empiecen por ls del directorio /bin:

find /bin -name "ls*" -exec "{}" ";"

ls /bin/ls*

Crear un directorio con permisos específicos

Para crear el directorio uno con permisos de escritura y paso para el propietario, de lectura y paso para el grupo y ningún permiso para otros:

mkdir -m 350 uno

Crear un subdirectorio con permisos específicos

Para crear el directorio uno1 dentro de uno con todos los permisos para el usuario, ninguno para el grupo y permiso de escritura para otros:

mkdir uno/uno1

chmod u=rwx,g=,o=w uno/uno1

Copiar archivos de un usuario a un directorio

Para copiar todos los ficheros propiedad de un usuario conocido que acaben en 1, en el directorio menus:

find / -name "*1" -user "dam19" -exec cp "{}" "correo/menus" ";"

Buscar archivos con permisos de ejecución para otros

Para buscar los ficheros y directorios del directorio propio que tengan permiso de ejecución para otros usuarios:

find ~ -perm -001

Entradas relacionadas: