Ejercicios y preguntas teóricas Linux
Ejercicios y preguntas teóricas Linux
Aquí están 100 ejercicios básicos para aprender a manejar una consola Unix. Encontrarás las preguntas teóricas detalladas en la parte final.
Consola y Comandos Básicos
| Pregunta / Objetivo | Comando / Respuesta |
|---|---|
| ¿Cómo asignar una IP a mi ordenador? | ifconfig [interface] nº de IP |
| ¿Cómo hago para ver los archivos del directorio anterior? | ls ../ |
| ¿Cómo sé en qué directorio estoy? | pwd |
| ¿Como veo los archivos en un directorio? | ls |
| ¿Cómo puedo crear archivos en Unix? | Con el comando touch seguido del nombre de archivo que quiero crear. |
| ¿Cómo puedo iniciar y cerrar sesión con mi nombre de usuario? | Introduzco mi nombre de usuario (login:) y mi clave (password:). Utilizo exit para salir de una consola. |
| ¿Cómo puedo crear uno o varios directorios? | Con el comando mkdir seguido del nombre o nombres, separados por espacio, de los directorios que quiero crear. |
| ¿Con qué comando se monitorea la memoria? | Comando top |
| ¿Cómo puedo ver el contenido de un archivo sin abrirlo? | Utilizando el comando cat |
| ¿Cuál es el comando para saber donde estás? | pwd |
| ¿Cómo se quien soy? | Utilizando el comando whoami |
| ¿Puedo tener más de una consola abierta? | Sí. Y se puede alternar entre ellas con el atajo de teclado Alt + F1, F2, F3 según a la consola que queramos cambiar. |
| ¿Existen físicamente todos los dispositivos que hay en /dev? | No |
| ¿Qué comando reinicia el equipo? | reboot |
| ¿Comando para apagar mi ordenador? | halt o también shutdown -h |
| ¿Cómo borro la pantalla? | clear |
| ¿Con qué comando puedo empaquetar y desempaquetar un conjunto de archivos o directorios? | Empaquetar: tar -c | Desempaquetar: tar -x |
| ¿Con que comando genérico de UNIX puedo comprimir y descomprimir archivos y directorios? | gzip y gunzip |
| ¿Cómo sé los usuarios conectados a mi máquina? | who |
| ¿Cómo puedo obtener información detallada de un comando? | Con el comando man "nombrecomando" |
| ¿Donde se escriben los comandos? | En el prompt. |
| ¿Cómo borro un archivo sin posibilidad de recuperación? | Con shred |
| ¿Cómo creo un enlace? | Con ln |
| ¿Cómo borrar directorios con todos sus archivos dentro? | rm -r |
| ¿Cómo averiguar la cantidad de disco utilizado? | du |
| ¿Cómo se le llaman a los drivers en UNIX? | Módulos |
| En consola, ¿cómo puedo autocompletar? | Con la tecla TAB |
| ¿Cómo puedo matar un proceso? | Con kill |
| ¿Qué es el kernel? | Es el núcleo del sistema operativo. |
| ¿Cómo se que versión del kernel tengo? | uname -r |
| ¿Cómo cargo y descargo un módulo? | insmod y rmmod |
| ¿Cómo visualizo los módulos cargados? | lsmod |
| ¿Cómo obtengo la información sobre un módulo determinado? | Con modinfo |
| ¿Cómo se le llama al intérprete de comandos? | bash |
| ¿Cómo ver lo que hacen los usuarios que están conectados en la red? | Comando w |
| ¿Dónde se guardan los archivos de configuración del sistema? | En /etc |
| ¿Cómo diferencio entre ruta absoluta y ruta relativa? | Si hay una barra (/) delante de la ruta es absoluta. |
| ¿Dónde se guardan los archivos de usuario? | En /home |
| ¿Cómo puedo ver los detalles de un archivo? | Con ls -i |
| ¿De qué forma puedo crear, eliminar o modificar particiones en UNIX? | Con fdisk |
| ¿Cuántos niveles de ejecución tiene linux? | 5 |
| ¿Cómo ejecuto un proceso en 2º plano? | Agregando el carácter & al final del comando. |
| ¿Cómo traer un proceso en 2º plano al 1º? | Con fg %n_proceso |
| ¿Cómo puedo buscar la ubicación de un comando determinado? | whereis comando |
| ¿Cómo borro un directorio vacío? | Con el comando rmdir |
| ¿Puede haber 2 archivos o más con la misma ruta absoluta? | No |
| ¿Cómo situar el cursor al principio de una línea? | Con Ctrl + A |
| ¿Cómo visualizo la fecha y hora del sistema? | Comando date |
| ¿Cómo puedo obtener ayuda acerca de un comando? | Comando seguido de --help |
| ¿Qué letra significa permiso de ejecución? | La letra x |
| ¿A que se refiere cuando se dice que los entornos Unix son CASE SENSITIVE? | Que distingue de forma estricta entre mayúsculas y minúsculas. |
| ¿Qué significa ./ ? | Directorio actual. |
| ¿Qué significa ../ ? | Directorio anterior. |
| ¿Qué significan las letras FHS? | Es un estándar de jerarquía de archivos: File Hierarchy System. |
| ¿Qué es un archivo con extensión .rpm? | Sistema gestor de paquetes (RPM: RedHat Package Manager). |
| ¿Qué es una consola? | Es un intérprete de comandos. |
| ¿Cómo puedo ver más allá de la pantalla en consola pura? | Shift + Av Pág para avanzar, Shift + Re Pág para retroceder. |
| ¿Cómo consulto el historial de comandos? | Con los cursores (flechas arriba y abajo). |
| ¿Qué es pts? | Es un emulador de la terminal de consola en modo gráfico. |
| ¿Cómo accedo a la consola desde el modo gráfico? | Ctrl + Alt + Fx (donde x será el número de la consola tty a la que se quiera acceder). |
| ¿Cómo sé los grupos a los que pertenezco? | Utilizando el comando groups |
| ¿Qué hace el comando echo? | Muestra los argumentos por pantalla. |
| ¿Cómo puedo saber en qué consola me encuentro? | Con el comando tty |
| ¿Cómo se hace un enlace simbólico? | ln -s origen nombre_enlace |
| ¿Cómo hago un enlace en el directorio dir a un archivo en el directorio actual? | ln -s archivo.ejemplo dir/ (Si no se especifica nombre de destino, conserva el original). |
| ¿Cómo hago para ir al final de línea en una consola? | Ctrl + E |
| ¿Cómo hago para avanzar hacia atrás, palabra a palabra, en consola? | Alt + B (La tecla META suele ser ALT en plataformas PC). |
| ¿Cómo hago para borrar desde el cursor hasta el final de línea? | Ctrl + K |
| ¿Cómo hago para borrar la palabra siguiente? | Alt + D |
| ¿Cómo sé cuál es el nombre de la máquina en la que estoy conectado? | hostname o también uname -n |
| ¿Cómo hago para ver las variables de entorno de mi sesión? | env (También vale printenv o set). |
| ¿Puedo ejecutar un comando que no esté en mi directorio actual? | Sí, poniendo la ruta absoluta o relativa (ej: /sbin/comando) o si está en la variable PATH. |
| ¿Cómo muestro el contenido de la variable PATH? | echo $PATH |
| ¿Cómo hago para escribir en consola, sin parar, «Hola, soy yo»? | yes "Hola, soy yo" |
| ¿Cómo hago para copiar archivo1 a archivo2 que está en el directorio dir? | cp archivo1 ./dir/archivo2 |
| Quiero construir un archivo suma que tenga el contenido de A1 y A2, ¿cómo hago? | cat A1 A2 > suma |
| ¿Cómo sé cuántas líneas tiene un archivo? | wc -l |
| Suponiendo que tengo software.tar.gz y su MD5 software.tar.gz.md5, ¿cómo compruebo su integridad? | md5sum -cv software.tar.gz.md5 |
| ¿Cómo hago para extraer campos de texto de un archivo? | Con el comando cut delimitando las columnas por sus correspondientes caracteres especiales. |
| ¿Cómo redirecciono la salida estándar de error? | Con el operador 2>. Ejemplo: comando 2> archivo_error |
| ¿Cómo hago para cancelar la operación de un comando en ejecución? | Ctrl + C |
| ¿Cómo hago para enviar el carácter EOF a la entrada estándar? | Ctrl + D |
| ¿Puedo descomprimir un archivo ZIP Windows en Linux? | Sí, con el comando unzip. También existe unrar para formato RAR. |
| ¿Cómo hago para saber el tiempo que tarda en ejecutarse un comando? | time comando |
| Si quiero crear el directorio dir11 dentro de dir1, y dir1 no existe, ¿cómo lo hago en una instrucción? | mkdir -p dir1/dir11 |
| ¿Cómo hago para encontrar si hay un usuario que se llame pepe? | grep pepe /etc/passwd |
| ¿Cómo mostrar todas las líneas de un archivo que NO contengan la palabra hola? | grep -v hola archivo.txt |
| ¿Cómo hago para ver qué usuarios no tienen una shell asignada? | grep ":$" /etc/passwd |
| ¿Cómo encuentro los archivos terminados en .txt en mi directorio actual? | ls *.txt o también find ./ -name "*.txt" |
| Quiero ver el contenido de los archivos de texto que empiecen por a, seguidos de 3 o 4, y terminen en .sh: | cat a[34]*.sh |
| Estoy perdido en el árbol de directorios, ¿cómo vuelvo a mi HOME? | cd o bien cd ~ |
| Quiero ver cuánto espacio ocupa mi home, ¿cómo hago? | du -sh ~ |
Laboratorio de Ficheros y Permisos Básicos
| Objetivo del Ejercicio | Comando a utilizar |
|---|---|
| Situarnos en nuestro directorio de usuario | cd ~ |
| Crear un directorio | mkdir nueva_carpeta |
| Acceder a un directorio | cd nueva_carpeta |
| Crear un archivo vacío | touch archivo_nuevo.txt |
| Cambiar el nombre de un archivo | mv archivo_nuevo.txt archivo_viejo.txt |
| Añadir texto a un archivo desde la terminal | echo "Nueva línea de texto" >> archivo_viejo.txt |
| Dar permisos totales (lectura, escritura y ejecución para todos) | chmod 777 archivo_viejo.txt |
| Subir un nivel de directorio | cd .. |
| Crear un enlace simbólico hacia el archivo | ln -s nueva_carpeta/archivo_viejo.txt enlace.ln |
| Eliminar una carpeta junto con todo su contenido | rm -R nueva_carpeta |
PREGUNTAS TEÓRICAS GENERALES
¿Por qué decimos que “Linux” es solamente el kernel del sistema operativo que utilizamos?
Linux es únicamente el núcleo (kernel) encargado de gestionar el hardware. El sistema operativo de escritorio completo que utilizamos incluye un conjunto masivo de utilidades, compiladores y librerías desarrolladas bajo el proyecto GNU. Por ello, el nombre formal y correcto del sistema operativo es GNU/Linux.
¿Qué representa cada una de las columnas que vemos por pantalla al ejecutar un
ls -l?Ejemplo de salida típica: -rw-r--r-- 1 sera sera 0 2005-02-08 00:42 test
- Columna 1: Tipo de archivo (
-normal,dcarpeta,lenlace) y sus permisos correspondientes divididos para propietario, grupo y otros. - Columna 2: Cantidad de enlaces físicos que apuntan al inodo.
- Columna 3 y 4: Propietario (dueño) y el grupo asignado al archivo.
- Columna 5: Tamaño total medido en bytes.
- Columna 6: Fecha y hora de la última modificación del archivo.
- Columna 7: Nombre del archivo o directorio en cuestión.
¿Qué es Gnome?
GNOME es un completo entorno gráfico y de escritorio diseñado para sistemas Unix/Linux. Forma parte del proyecto de software libre de GNU, iniciado originalmente por Miguel de Icaza en 1997, para proveer una interfaz gráfica de usuario sencilla, limpia y sumamente amigable.
¿Qué son los comodines? ¿Para qué se utilizan? Cita algunos ejemplos.
Son caracteres especiales interpretados por la shell antes de pasar argumentos a los comandos ejecutados. Ejemplos de uso práctico:
ls *: El asterisco actúa listando todos los ficheros sin excepción del directorio actual.ps ax > procesos: El comodín redirige la salida del comando de procesos a un archivo físico.ls -l ?????: El signo de interrogación restringe la búsqueda a elementos con exactamente 5 caracteres de longitud.(sleep 300; echo "Mensaje") &: Envía el proceso completo en segundo plano liberando la consola inmediatamente.
¿Qué es Nautilus en Gnome?
Es el gestor de archivos e interfaz gráfica estándar del escritorio GNOME, utilizado para organizar, copiar, renombrar, mover y eliminar archivos del disco duro de forma visual.
¿Cómo se determina en Linux el tipo de un archivo?
En GNU/Linux el tipo de archivo se detecta por su contenido y firmas internas, no por su extensión. El comando
file analiza estas firmas directamente para determinar de qué tipo es (por ejemplo: file octubre.txt).¿En qué consiste el dispositivo /dev/tty1 y el tty2?
Representan las consolas virtuales nativas integradas directamente en el sistema operativo. Se puede saltar entre ellas utilizando los atajos de teclado
Ctrl + Alt + F1, F2, etc. El dispositivo /dev/tty representa las consolas físicas directas.¿Quién es TUX?
TUX es la mascota oficial de Linux, el popular pingüino diseñado por Larry Ewing en 1996.
¿Qué es Ubuntu?
Es una distribución basada en Debian que integra el núcleo Linux junto con componentes de software de GNU para proveer un sistema operativo moderno, accesible y enfocado en el usuario de escritorio común.
Ejercicios Resueltos de Manejo de Ficheros y Directorios
1. Crea un subdirectorio que se llame ejercicioslinux en tu directorio personal.
Solución:
mkdir ejercicioslinux2. Crea otro subdirectorio que se llame documentos en tu directorio personal.
Solución:
mkdir documentos3. Copia los ficheros que comienzan por carta y que se encuentran en el directorio /sera/ en el subdirectorio documentos.
Solución:
cp /sera/carta* documentos/4. Copia los ficheros que terminan por .txt y que se encuentran en el directorio /sera en el subdirectorio ejercicioslinux.
Solución:
cp /sera/*.txt ejercicioslinux/5. Comprueba tu situación actual.
Solución:
pwd6. Entra en el subdirectorio ejercicioslinux.
Solución:
cd ejercicioslinux o bien cd /home/usuario/ejercicioslinux7. Vuelve a comprobar tu situación actual.
Solución:
pwd8. Visualiza el contenido del directorio, de forma que sólo aparezcan los nombres de los ficheros.
Solución:
ls9. Vuelve a visualizar el contenido del directorio, pero esta vez deben de aparecer los nombres de los ficheros, sus permisos, fechas… (formato largo).
Solución:
ls -l10. Suponiendo que existe el fichero ej1.txt. Borra el fichero ej1.txt de tal forma que se confirme el borrado del mismo.
Solución:
rm -i ej1.txt (la bandera -i activa el modo interactivo para pedir confirmación).11. Suponiendo que existe el fichero ej2.txt con permisos 777. Elimina todos los permisos de ejecución del fichero ej2.txt.
Solución:
chmod a-x ej2.txt12. Visualiza el contenido del directorio en formato largo y comprueba que se han denegado dichos permisos.
Solución:
ls -l13. Otorga el permiso de escritura de usuario al fichero ej2.txt.
Solución:
chmod u+w ej2.txt14. Regresa a tu directorio personal.
Solución:
cd $HOME (o alternativamente cd ~)15. Elimina el fichero ej3.txt que se encuentra en el subdirectorio ejercicioslinux sin cambiar de directorio.
Solución:
rm ejercicioslinux/ej3.txt¿De qué manera podemos evitar que los otros usuarios puedan ver el contenido de un directorio?
Si el directorio se llama «secretos», podemos ejecutar
chmod 711 secretos, retirando el permiso de lectura pero permitiendo el acceso directo al contenido conocido, o blindarlo del todo retirando todos los accesos al grupo y externos mediante chmod go-rwx secretos.¿Cómo podemos hacer para que el archivo “documento” tenga los siguientes permisos específicos?
- De lectura y escritura, solo para el dueño del archivo: chmod 600 documento
- De lectura y ejecución para todos los usuarios: chmod 555 documento
- Lectura para todos los usuarios, y escritura solo para el dueño: chmod 644 documento
¿Qué permisos asigna el comando “chmod 755 /bin”? ¿Por qué, cuando ejecutamos este comando, nos dice que no poseemos los permisos necesarios?
Asigna control total al propietario (root) y permisos de lectura/ejecución al resto. Deniega la orden a usuarios comunes porque solo el administrador (root) tiene permisos de edición sobre carpetas de sistema como
/bin; se debe anteponer el prefijo sudo.Explica qué permisos asignan o desasignan los siguientes comandos:
chmod o+r carta: Da permiso de lectura sobre el archivo «carta» a los usuarios externos (otros).chmod 755 /bin: Da todos los permisos al dueño y lectura/ejecución al resto de usuarios.chmod 644 /etc/passwd: Otorga lectura/escritura al dueño de la cuenta y permisos de solo lectura al resto.chmod go-rw,a+x agenda: Quita el permiso de leer y escribir al grupo y externos, y les asigna permiso de ejecución general a todos.
Sobre el directorio /usr/bin ¿Qué tipo de archivos hay en ese directorio y cuáles son sus permisos?
Alberga programas ejecutables del sistema. Para consultar sus permisos empleamos
ls -ld /usr/bin, mostrando generalmente permisos equivalentes al valor octal 755 (drwxr-xr-x), dando control completo al propietario administrador y de ejecución a los demás usuarios.Sobre el directorio /etc ¿Qué tipo de archivos hay en ese directorio?
En este directorio se almacenan los archivos e instrucciones de configuración del sistema operativo.
Espero que os sea de ayuda.
Gracias por tu visita.
📱 ¡Comparte en tus redes!
Gracias por visitar apuntesjulio.com
¿Te ha servido este apunte? ¡Puntúalo! 👇
(Nota: 5 - 1 votos)
