Comandos esenciales de Linux: Ejercicios resueltos y explicaciones
Clasificado en Informática
Escrito el en español con un tamaño de 4,79 KB
1. Listar archivos con permisos de ejecución
Escribir el comando Linux que permita listar todos los archivos del directorio actual que tengan permiso de ejecución habilitados para el dueño y el grupo.
Respuesta:
ls -l | grep "^-.{2}x.{2}x"
2. Encontrar y borrar archivos
Escribir el comando Linux que permita encontrar y borrar uno a uno todos los archivos .avi
en el directorio actual y que pesen más de 10M.
Respuesta:
find . -size +10000k -name "*.avi" -exec rm {} \;
3. Listar archivos con nombres específicos y redireccionar la salida
Utilizando piping, escribir el comando Linux que permita listar del directorio /root/examen todos los archivos cuyos nombres tengan 5 caracteres, comiencen con la letra h (minúscula o mayúscula), y que terminen con la letra s (minúscula). Guardar el resultado en un archivo llamado listado en la raíz de la cuenta y desestimar los mensajes de errores que pudieran producirse.
Respuesta:
ls /root/examen | grep "^[hH]...s$" > /listado 2> /dev/null
Otra opción válida sería:
ls /root/examen/[hH]???s > /listado 2> /dev/null
4. Ordenar un archivo de forma inversa
Suponga que se tiene un archivo llamado empleados.dat que tiene registros (o líneas) de 27 caracteres de largo, y se encuentra ubicado en el directorio /root. Escribir el comando Linux que permita ordenar el archivo empleados.dat en forma inversa y almacenar este resultado en el archivo emp.dat del directorio actual.
Respuesta:
sort -r /root/empleados.dat > emp.dat
Otra opción válida sería:
sort -r /root/empleados.dat > ./emp.dat
5. Crear un alias
Especificar el comando Linux que permita crear el alias listar que permita limpiar la pantalla, poner la hora del día en formato HH:MM, y listar solo los archivos del directorio actual cuyos nombres empiezan con a y terminan en 1.
Respuesta:
alias listar='clear; date +%H:%M; ls a*1'
6. Redirección de entrada y salida
Explicar brevemente cómo podría interpretarse el siguiente comando Linux:
foo < archivo1 > archivo2
Respuesta:
El comando foo
procesa el archivo archivo1
(lee los datos que hay en él y los procesa) y el resultado del procesamiento lo envía al archivo archivo2
.
7. Mostrar líneas no vacías
Suponga que se tiene el archivo arch1.txt en el directorio /root. Escribir el comando Linux que permita mostrar todas las líneas del archivo arch1.txt que NO están vacías.
Respuesta:
grep -v "^$" /root/arch1.txt
8. Variable de entorno PATH
Dado el siguiente contenido de la variable de ambiente PATH:
/usr/local/bin:.:/bin:/usr/bin
Si tengo un comando llamado lista
en el directorio actual y otro llamado de la misma forma en el directorio /usr/bin
, ¿cuál sería el seleccionado al ejecutar lista
simplemente en el prompt?. Justifique su respuesta.
Respuesta:
Se ejecutaría el comando lista
del directorio actual (denotado por .
), pues el directorio actual aparece antes que /usr/bin
en la variable PATH.
9. Búsqueda de archivos con find
Describir brevemente lo que permite realizar el siguiente comando Linux:
find . -size 0 -type f -name "*[1-2,5]?"
Respuesta:
Busca (find
) en el directorio actual (.
) todos los archivos regulares (-type f
), vacíos (-size 0
) y cuyo nombre termine en 1, 2 o 5, seguido de cualquier carácter (-name "*[1-2,5]?"
).
10. Enlaces simbólicos
Suponga se ha creado el enlace simbólico llamado liga
, el cual apunta al archivo arch1
. Si se elimina el archivo arch1
, explique breve y justificadamente lo que sucede.
Respuesta:
Si se elimina el archivo original arch1
, el enlace simbólico liga
se rompe. Esto significa que el enlace simbólico seguirá existiendo, pero ya no apuntará a ningún archivo. Al intentar acceder al contenido a través de liga
, se obtendrá un error indicando que el archivo no existe.