100 Ejercicios de Consola Unix#
Nota
Aquí tienes 100 ejercicios básicos para aprender a manejar una consola Unix (Repaso de Consola Unix). Lo ideal es que trates de resolver la pregunta sin ver la respuesta. Ya sé que te da pereza, pero si quieres aprender inténtalo. Te darn una idea de tu nivel de usuario básico. Deberías tener al menos 85 bien. Si me invitas a un café quizá me de para hacer 100 más.
También puedes ver un documento en PDF . Muchas preguntas en el documento son diferentes a las de aquí y no publico las respuestas que para aprender hay que trabajar.
¿Cómo se le llama al intérprete de comandos?
Hay diferentes intérpretes, que según esté configurado para cada usuario, se lanza al entrar en el terminal (proceso de login). El más habitual es bash.
En consola, ¿cómo puedo autocompletar?
Pulsando dos veces el tabulador (TAB). Se usa sobre todo para comandos, pero vale también para usar el sistema de archivos.
En consola, ¿puedo moverme por lo que escribo?
Sí, hay varias opciones por ejemplo ir a principio de línea (Ctl + A), o ir al final (Ctl + E), o borrar una palabra (Alt+D) o una línea (Ctl+K). Hay muchos
Atajos de teclado usando bash
¿Cómo veo los archivos en el directorio actual?
ls (o ls ./ también vale)
¿Cómo hago para ver los archivos del directorio anterior?
ls ../
¿Cómo hago para ver los archivos del directorio raíz?
ls /
¿Cómo puedo crear archivos en Unix?
touch
¿Cómo salgo de la consola?
exit
¿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.
¿En que directorios se guardan generalmente los programas?
Generalmente en /bin /sbin y /usr/sbin, aunque depende también de la distribución.
¿Cómo denomina Unix a los disco duros IDE?
Los denomina como hd (de Hard Disk). Canal Primario: hda (Maestro) y hdb (Esclavo) Canal Secundario: hdc (Maestro) y hdd (Secundario)
¿Cómo puedo obtener un listado de los procesos que tengo en ejecución?
Con el comando ps y varias opciones (por ejemplo -axf). También, de forma interactiva con el comando top o htop
¿De qué forma puedo averiguar el uso de memoria que consume mi ordenador?
Comando free.
¿Cómo se cambia al propietario de un fichero?
Con el comando chown
¿Cómo puedo saber el orden de ejecución de mis procesos?
Mediante el comando ps y observando el nº que aparece al lado del proceso (PID)
¿Con qué comando se monitorea la memoria?
Comando top o htop (porque monitorea periódicamente)
¿Cómo puedo ver el contenido de un archivo sin abrirlo?
¿ Cuál es el comando para saber donde estás?
pwd
¿Cómo se quien soy?
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
Y también se pueden tener consolas remotas, o consolas virtuales (dentro de un editor de texto por ejemplo).
¿Existen físicamente todos los dispositivos que hay en /dev?
No
¿Cómo asignar una IP a mi ordenador?
ifconfig [interface] nº de IP
¿ Qué comando reinicia el equipo?
shutdown -r (y tiene otras opciones interesantes)
¿Qué comando me sirve para apagar mi ordenador?
shutdown -h
¿Cómo borro la pantalla?
Con el comando clear
¿Con qué comando puedo empaquetar y desempaquetar un conjunto de archivos o directorios?
Con el comando tar (y sus múltiples opciones)
¿Con qué comando genérico de UNIX puedo comprimir y descomprimir archivos y directorios?
Con el comando gzip (y sus múltiples opciones).
En realidad, cada algoritmo de compresión tiene sus comandos (bziz, rar, etc)
¿Cómo sé los usuarios conectados a mi máquina?
who
¿Cómo puedo obtener información detallada de un comando?
Hay varias opciones, de la más rápida a la más lenta:
#. Usar la opción -h o --help del comando. Por ejemplo: ls -h o ls --help
#. Usar el comando man
#. Usar el comando info (en algunos casos)
¿ Donde se escriben los comandos?
En el intérprete de comandos, por ejemplo sh bash. Se muestra el prompt y a continuación el intérprete queda a la espera de comandos.
`prompt`_
¿Cómo un archivo sin posibilidad de recuperación?
shred (otra opción es sobreescribir con ceros)
¿Cómo creo un enlace?
Con ln. Hay diferentes tipos de enlaces (duros y simbólicos). Lo habitual es usar ln -s archivo enlace
¿Cómo borrar directorios con todos sus archivos dentro?
Con las opciones r y f del comando rm. rm -rf directorio.
¿Cómo averiguar la cantidad de disco utilizado?
En realidad el comando du en realidad muestra el uso de diferentes fuentes de almacenamiento, no sólo los discos
¿Cómo se le llaman a los drivers en UNIX?
Depende del sistema pero en general los drivers son los módulos del kernel.
¿Cómo puedo matar un proceso?
En realidad más que matar, implica enviarle una señar a un proceso. Típicamente kill -15 PID (usando la señal de código 15)
¿Cómo se que versión del kernel tengo?
Con uname -r. Todos los valores del sistema sería con uname -a
Dónde se guardan los archivos de configuración del sistema?
Depende de la distribución concreta, pero lo más habitual es en /etc
¿Cómo diferencio entre ruta absoluta y ruta relativa?
Con el carácter / delante de la ruta (absoluta). Por ejemplo ls /home/user . Si no tiene / o hay un ./, sería una ruta relativa al directorio actual (que se obtiene con pwd). Por ejemplo ls user/ejemplo1/archivo.txt o ls ./user/ejemplo1/archivo.txt
¿Dónde se guardan los archivos de usuario?
Depende de la distribución pero generalmente en /home hay un subdirectorio por cada usuario (activo). No todos los usuarios tienen un subdirectorio home. La variable de entorno HOME guarda la carpeta de referencia del usuario, y se puede ver con echo "$HOME"
¿Cómo puedo ver los detalles de un archivo?
Con la opción -l del comando ls. Es decir ls -l
¿Cómo ejecuto un proceso en 2º plano?
Con el comando bg
¿Cómo veo los procesos que se están ejecutando en 2º plano y en ese termianl?
Con el comando jobs
¿Cómo traer un proceso en 2º plano al 1º?
Con el comando fg
¿Cómo puedo saber en qué directorio está un comando determinado?
Con el comando whereis
¿Puede haber 2 archivos o más con la misma ruta absoluta?
No. En el caso de los enlaces, puede ser el mismo archivo, pero las rutas absolutas son diferentes.
¿Cómo visualizo la fecha y hora del sistema?
Con el uso del comando date
¿Puedo ver la fecha en un formato determinado?
Sí, el comando date tiene diferentes opciones y posibilidades.
Uso de formato con comando date.
¿Qué letra significa permiso de ejecución?
En el sistema de permisos UGO la x indica permiso de ejecución
`Permisos UGO`_
¿A que se refiere cuando se dice que los entornos Unix son CASE SENSITIVE?
Pues que distingue entre mayúsculas y minúsculas
¿Cómo puedo ver más allá de la pantalla?
Shift+Av Pág, para avanzar Shift+Re Pág, para retroceder
¿Cómo consulto el historial de comandos?
Con el comando history
¿Cómo accedo a la consola desde el modo gráfico?
Pues puedo abrir un emulador de terminal (una aplicación) o ir a una de las consolas (con Alt + Fn en algunos casos).
¿Cómo se los grupos a los que pertenezco?
Con el comando groups. Sirve también para conocer los grupos a los que pertenece un usuario
¿Qué hace el comando echo?
Pues enviar a la salida estándar, los argumentos que se le pasan. Por ejemplo >echo "hola"
¿Cómo puedo saber en que consola me encuentro?
Con el comando tty, y te indicará el dispositivo en el que te encuentras. Por ejemplo /dev/ttys001
¿Cómo hago un enlace en el directorio dir a un archivo en el directorio actual?
ln -s archivo.ejemplo dir/
Si no pongo el nombre de archivo el enlace tendrá el mismo nombre
¿Cómo hago para ir al final de línea en una consola?
Pulsando Ctl + e
Atajos de teclado usando bash
¿Cómo hago para avanzar hacia atrás, palabra a palabra, en una consola?
Pulsando Alt + b
Atajos de teclado usando bash
¿Cómo hago para borrar desde el cursor hasta el final de línea?
Pulsando Ctl + k
Atajos de teclado usando bash
¿Cómo hago para borrar la palabra siguiente?
Pulsando Alt + d
Atajos de teclado usando bash
Si quiero ver cual es la diferencia horaria de mi sesión con UTC (UTC+00), ¿cómo hago?
Con la opción R del comando date (formato RFC 8222). Sería date -R
¿Cómo sé cual es el nombre de la máquina en la que estoy conectado?
Con el comando hostname. Acuérdate de distinguir el nombre de host del nombre completo (lo que se llama FQDN).
¿Cómo hago para ver las variables de entorno de mi sesión?
Con el comando env. Recuerda que son variables creadas previamente y cuyo valor puedes usar con $VAR, por ejemplo echo $HOME.
Puedo ejecutar un comando que no esté en mi directorio actual
Sí claro, usando la ruta relativa o absoluta. Por ejemplo /bin/echo o ../bin/echo
Y la otra opción es que, si el comando se encuentra en un directorio que está en la variable de entorno PATH, no hay que usar la ruta absoluta (lo hace automáticamente el intérprete).
¿Cómo muestro el contenido de la variable PATH?
echo $PATH
¿Cómo hago para escribir en consola, sin parar, «Hola, soy yo»?
Con el comando yes, en concreto; yes "Hola, soy yo".
¿Cómo hago para copiar archivo1 a archivo2 que está en el directorio dir?
(waiting)
Eestoy esperando a ver si me invitas a un café, aún me quedan algunos ejercicios por resolver)
Quiero construir un archivo suma que tenga el contenido de A1 y A2, cómo hago?
(waiting)
¿Cómo sé cuantas líneas tiene un archivo?
(waiting)
Suponiendo que tengo el archivo software.tar.gz y el archivo de firma MD5 software.tar.gz.md5, cómo compruebo que es correcta?
(waiting)
¿Cómo hago para extraer campos de texto de un archivo
(waiting)
¿Cómo redirecciono la salida estándar de error?
(waiting)
cómo hago para cancelar la operación de un comando?
(waiting)
¿Cómo hago para enviar el caracter EOF a la entrada estándar?
(waiting)
Puedo descomprimir un archivo ZIP Windows en Linux?
(waiting)
¿Cómo hago para saber el tiempo que tarda en ejecutarse un comando?
(waiting)
Si quiero crear el directorio dir11 dentro de dir1, y dir1 no existe, ¿cómo lo hago con una sola instrucción?
(waiting)
¿Cómo hago para encontrar si hay un usuario que se llame pepe?
(waiting)
¿Cómo mostrar todas las líneas de un archivo de texto que NO contengan la palabra hola?
(waiting)
¿Cómo hago para ver qué usuarios no tienen una shell asignada?
(waiting)
Como encuentro los archivos terminados en .txt en mi directorio actual?
(waiting)
Quiero ver el contenido de los archivos de texto que empiecen por a, seguidos de un 3 o un 4, y terminados en .sh, como hago?
(waiting)
Estoy perdido en el árbol de directorios, cómo vuelvo a mi HOME?
(waiting)
Quiero ver cuanto espacio ocupa mi home, cómo hago?
(waiting)