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