Title: Lección consola
Course: Digitalización 4ESO

Q: Manual

El comando man permite acceder al manual de un comando. El manual se muestra página a página. Se avanza con la tecla espaciadora y se sale con la letra q (quit).

Visualiza el manual de ls y escribe copia y pega la línea que aparece con la opción -a [...]

En la consola no funciona la combinación control+c para copiar. Hay que usar el botón derecho > copiar para poder hacerlo.
A: -a Incluye en el listado ficheros cuyos nombres empiecen por `.'. / *-a*Incluye*en*el*listado*ficheros*cuyos*nombres*empiecen*por*`.'.*

Q: Desde la consola se pueden abrir aplicaciones escribiendo el nombre de la misma.  Por ejemplo para abrir pluma (editor de texto plano) simplemente tienes que escribir pluma en la consola. Entonces se abrirá esta aplicación. Puedes escribir algo en la aplicación y guardarlo en la carpeta que desees en archivo>guardar como.

Si escribes en la consola

pluma nombre

El archivo que se abrirá con pluma ya tiene ese nombre asignado. Si pinchas en guardar, se guardará con ese nombre en el directorio de trabajo. Si quieres cambiarle el nombre o guardarlo en otro directorio, deberás  pinchar en guardar como.

Mientras pluma esté abierto, esa consola no permite trabajar. Cuando cerramos pluma, ya podremos trabajar otra vez con la consola. Si cerramos la consola, los programas que hayamos abierto con ella, también se cerrarán.

Escribe en la consola:

pluma pepe

Escribe en el archivo

Hola

Guárdalo.

escribe en la consola

cat pepe

Lo que devuelve es [...]

Escribe en la consola

pluma juan

 Escribe en el archivo

mundo

Guárdalo. Escribe en la consola

cat pepe juan

 lo que devuelve es [...] (copia y pega de la consola)

cat es un comando que sirve  para ver el contenido de archivos. Si se ponen varios nombres, muestra el contenido de uno tras otro.
A: Hola; Hola mundo / Hola mundo / Hola mundo

Q: Los nombres de los archivos no son algo que resida en el archivo en sí. En los directorios se asocian nombres de archivo a direcciones de memoria donde están los datos. Esto permite tener un archivo con varios nombres.

Crea un directorio y entra en él.

Crea un archivo con en nombre antonio. Escribe en él

Hola mundo

ejecuta ls   el resultado es [...]

Escribe en la consola desde el directorio del archivo

ln antonio maria

ejecuta ls El resultado es (copia y pega el resultado de la consola) [...]

Abre el archivo maria con pluma:

pluma maria

Observa que el contenido es el mismo que el que había en el archivo antonio. Añade al archivo en otra línea

Adios mundo

Guardalo.

Para ver el contenido del archivo ejecuta

cat antonio

 La salida de la consola es [...]

los archivos antonio y maria son... [...]

Si ejecutas ls -l entre los permisos y el propietario hay un número en este caso es [...]. Ese es el numero de nombres que tiene ese archivo

Crea un nuevo directorio con el nombre dir2

Ejecuta

ln  antonio dir2/maria

El número de nombres del archivo ahora es [...]. Comprueba que dentro de dir2 se ha creado otro archivo con nombre maria que tiene el mismo contenido que los otros y que si lo modificas, se modifican todos ellos.

El comando rm sirve para borrar archivos. La sintaxis es

rm nombre

Para borrar el archivo antonio escribimos [...]

Borra el archivo antonio y ejecura ls -l. El número de nombres es ahora [...]

Mientras quede un nombre, el archivo no se pierde
A: antonio; *antonio*maria*; Hola mundo Adios mundo; un solo archivo dos nombres; 2; 3; rm antonio; 2
Gap 4 offers: un solo archivo dos nombres; dos archivos independientes

Q: Comodines

Los comodines nos permiten trabajar con varios archivos de forma simultánea. El comodín  asterisco * remplazar  cualquier cadena de texto. El comodín interrogación ? se sustituye por cualquier carácter.

Descarga este archivo y descomprímelo. Tendrás una carpeta llamada ej_consola con un conjunto de archivos dentro. Entra en ej_consola. Ejecuta ls para ver los archivos.

Para listar únicamente los archivos jpg escribiremos ls *.jpg. Para listar los archivos gif escribiremos [...].

Cambia al directorio dir1/dir11

Para listar los archivos con nombre1 escribiremos [...].

Para borrar todos los archivos png escribiremos [...].

Escribe ls nombre1.??g la salida es [...]

Para borrar todos los archivos escribiremos [...]
A: ls *.gif / ls +gif; ls nombre1* / ls nombre1.*; rm *.png / rm *png; nombre1.jpg nombre1.png; rm *

Q: Descárgate este archivo comprimido y descomprímelo. Aparecerá una carpeta llamada ej_consola con un conjunto de directorios y archivos en ella. Entra en ej_consola y ejecuta tree -d para ver el árbol de directorios. Ejecuta tree para ver directorios y archivos

Buscar archivos

Uno de los comandos más interesantes de la consola es el comando find que sirve para buscar archivos. La sintaxis es:

find directorio [opciones]

El directorio es el directorio en el que se va a buscar. Cuando queremos buscar en el directorio en el que estamos, habrá que escribir ./ (punto barra) Las opciones son muchas. Las más usadas son

- -name nombre Esta opción buscará los archivos que coincidan con el nombre. Se pueden usar comodines.
- -type tipo Donde tipo puede ser f para ficheros ordinarios y d para directorios

Ejecuta desde ej_consola find ./ -type d el resultado es [...]

Para buscar en el directorio en el que estamos los archivos llamados nombre1.jpg ejecutamos: [...] el resultado es [...]

¿El comando find entra en subdirectorios? [...]

Para encontrar todos los archivos jpg que hay en dir21 desde ej_consola ejecutamos: [...]

¿Cuántos archivos tenemos con la extensión .jpg ? [...]

Usando el comando find se pueden borrar de manera selectiva archivos pero esto es un uso avanzado. Simplemente para que veas su potencia pero sin que intentes entenderlo ejecuta desde ej_consola

find ./ -name *.jpg -exec rm {} \;

Ahora busca a ver cuántos archivos jpg quedan.
A: ./ ./dir2 ./dir2/dir21 ./dir2/dir22 ./dir1 ./dir1/dir12 ./dir1 /dir11; find ./ -name nombre1.jpg; :/dir2/dir21/nombre1.jpg ./dir2/dir22/nombre1.jpg ./dir1/dir12/nombre1.jpg ./dir1/dir11/nombre1.jpg; Sí; find ./dir2/dir21 -name *.jpg; 12
Gap 4 offers: Sí; No; Depende del lugar de origen

Q: Copias de seguridad

Las copias de seguridad también llamadas copias de respaldo o [...] son extraordinariamente importantes. Hay que tener la costumbre de realizarlas con cierta frecuencia.

Si cuando las hacemos, copiamos todos los archivos, eso consume mucho tiempo y espacio. Es mucho mejor hacer una sincronización. Es decir, copiar únicamente lo que se ha modificado. EManualmente es tanto trabajo que es prácticamente impracticable. Pero hay una opción de consola rápida y sencilla con el comando rsyn. El comando adecuado es

rsync -avtz origen destino

Para simplificarte las cosas cuando hagas un backup de tus archivos del ordenador del instituto, pincha un dispositivo USB en el que guardar los archivos. Abre el navegador de archivos,  pincha sobre ese dispositivo con el botón derecho y selecciona copiar ruta  ejecuta. Esa será la dirección de destino. Desde tu directorio principal ejecuta

rsync -avtz ./ destino/backup

Sustituye destino por lo que has copiado antes

Realiza copias de seguridad de tus archivos en un pendrive. Para ello introduce un pendrive. Ábrelo con el navegador de archivos y verás su ruta que empezará con /media.... Dependiendo te tu usuario y de la etiqueta del pendrive, esto continuará de una forma u otra.

El comando para hacer un backup sera [...] /media....
A: backup; rsync -avt .*

Q: Consola

La consola o terminal es una forma de trabajar con un ordenador sin una interfaz gráficia de usuario [...] lo que habitualmente llamamos escritorio. Se trata de una interfaz en linea de comandos [...].

La consola es una herramienta extraordinariamente potente. Permite realizar cosas que no se puede hacer en entorno gráfico. En muchos ordenadores, por ejemplo los servidores remotos, es la única forma de trabajar, ya que no tienen instalada una [...].

El escritorio tiene un emulador de consola, esto es, una consola o [...] que se abre como una ventana. La forma de trabajar es idéntica a si tuviéramos un ordenador sin escritorio. Para trabajar, deberemos escribir comandos y comprender la información que nos muestra la pantalla, que nunca serán gráficos, sino texto.

El objetivo no es el de ser un usuario avanzado de la consola. Aprenderemos a hacer cosas muy básicas, pero algunas de ellas tiene gran importancia y te serán muy útiles.

Cuando realices estos ejercicios, toma nota de lo que haces para que no tengas que volver a leerlo todo cuando quieras realizar algo concreto. Aunque existe un manual de los comandos, normalmente es complicado para utilizarlo como herramienta de aprendizaje. Sirve más para ayudarte cuando no recuerdas algo, que para aprender.
A: GUI; CLI; GUI; terminal
Gap 1 offers: GUI; CLI; KUI
Gap 2 offers: GUI; CLI; KUI
Gap 3 offers: GUI; CLI; KUI
Gap 4 offers: terminal; ventana; ordenador; pantalla

Q: Sintaxis

Los comandos tiene la siguiente sintaxis:

comando [ -opciones] [ argumento]

Cuando en el manual veas algo entre corchetes [ ] significa que no es algo obligatorio. Puede estar presente o no.

Cuando en las explicaciones dentro de este curso veas algo con fondo amarillo, significa que lo que tienes que escribir no es exactamente esa palabra. Normalmente lo usamos paras indicar argumentos. Los argumentos son datos que introducimos al comando.

Abre la consola. Verás que aparece el nombre del usuario que lo ha abierto, seguido de [...] y el nombre del ordenador. También verás que aparece el símbolo virgulilla ~. Este símbolo representa la dirección del directorio del usuario logeado. También verás el símbolo de dolar $ que significa que el usuario logeado no es un superusuario. Cuando el superusuario es el que ha abierto la consola, en lugar de ~ aparecerá #. Cuando en manuales o buscando por internet veas ese símbolo antes de un comando, significa que el comando en cuestión debe realizarlo el superusuario.

supongamos que en el ordenador host1 el usuario que ha abierto la consola es el usuario alumno. Lo que veremos al abrir la consola será: [...]:~$
A: @; alumno@host1

Q: pwd

El comando pwd indica el directorio de trabajo.

Ejecuta este comando u comprueba el resiltado. Ahora supón que el usuario alumno hubiera entrado en su cuenta y hubiera ejecutado el comando. el resultado sería:

[...]
A: /home/alumno

Q: mkdir

El comando mkdir (make dir) crea directorios ([...]).

Escribe:

 mkdir nombre

Nombre puede ser el nombre que quieras.  Se crea una carpeta en el directorio con el nombre que has indicado. Comprueba con el navegador de archivos que esto es así.

cd

El comando cd (cambiar de directorio) permite cambiar de directorio

Ejecuta:

cd nombre

para entrar en el directorio que has creado

Comprueba que efectivamente estás en él usando el comando [...]

No desorganices tus archivos. Puedes hacer estos ejercicios desde  la cuenta alumno. Si estás trabajando con el usuario alumno, abre un terminal y trabaja normalmente. Si estás trabajando desde tu cuenta personal, abre un terminal y escribe:

cd /home/alumno
su alumno

Si quieres trabajar desde tu cuenta, no te olvides de borrar los archivos creados para no desorganizar tus carpetas. o bien, crea una carpeta especial para los ejercicios.
A: carpetas; pwd
Gap 1 offers: carpetas; archivos; documentos

Q: Rutas

Las rutas son una cadena de texto que indica la localización de un directorio o de un archivo. La ruta completa incluye también el nombre del archivo o el directorio. Cuando no lo incluye, entonces es la ruta del directorio que lo contiene.

En las rutas el símbolo / indica el separador entre elementos de la ruta. Por ejemplo, la ruta /carpeta1/carpeta2/archivo.txt nos indica que el archivo.txt está dentro de la carpeta2 y esa dentro de la carpeta1.

Ejecuta el comando pwd observa la ruta que aparece. ¿Cuál es el directorio que contiene tu directorio de usuario? [...]

Rutas absolutas y relativas

Las rutas pueden ser absolutas o relativas. Las rutas absolutas siempre comienzan con el símbolo /. Las relativas nunca comienzan con ese símbolo.

El sistema de archivos de un sistema linux está formado por un árbol de directorios. La ruta absoluta indica la localización del archivo en desde la raíz de ese árbol. La ruta relativa indica la localización del archivo desde otro de referencia.

La siguiente ruta /nivel1/nivel2/archivo es [...]

Supón que estamos en nivel1, entonces la ruta relativa del archivo es: [...]

Si estamos en el directorio nivel2 la ruta absoluta del archivo es: [...]
A: home / /home; absoluta; nivel2/archivo / ./nivel2/archivo; /nivel1/nivel2/archivo
Gap 2 offers: absoluta; relativa; ni absoluta ni relativa

Q: ls

El comando ls (lista) muestra el contenido de un directorio. La sintaxis es:

ls [directorio]

Donde directorio es la ruta del directorio que queremos inspeccionar. Si no se pone nada, entonces será el directorio actual.

Crea un directorio llamado nivel1 dentro de él otro llamado nivel2  y dentro de él otro llamado nivel3

Sitúate en el directorio nivel1 y ejecuta ls. El  resultado es: [...].

El comando para listar nivel2 es: [...] y el resultado es [...]

Crea un directorio llamado carpeta de prueba como está aquí escrito, es decir con espacios. Ejecuta ls y observa qué carpeta se ha creado. ¿Qué se ha creado[...] ¿Entiendes ahora por qué no se pueden usar espacios en los nombres de archivos?
A: nivel2; ls nivel2; nivel3; tres carpetas
Gap 4 offers: tres carpetas; dos carpetas; la carpeta llamada "carpeta de prueba"

Q: Opciones de ls

Ejecutas ls en tu directorio principal. ¿Ves los archivos ocultos? [...]

. no verás los archivos ocultos. Para poder verlos usamos la opción ls -a (all).

Ejecuta ls -a. ¿Ves los archivos ocultos? {1:=MCS:=sí~no}

La opción -a significa all

Sitúate en nivel3 que está vacío y ejecuta ls -a. El resultado es [...]

un  punto se refiere al directorio actual y dos puntos es el directorio superior al actual.

Ejecuta cd ../..

¿En que directorio estás ahora? [...]

 La cadena ../.. [...]

Sitúate en nivel1 y ejecuta ls -l (long). Este comando da mucha información sobre el contenido del directorio en cuestión. sale algo de este tipo

drwxr-xr-x 2 usuario grupo 4096 sep 26 17:34 nivel2.

La primera letra indica el tipo de archivo. si es una d es un directorio si es un guión, es un archivo normal.

La siguientes 9 letras o guiones nos indican los permisos del propietario (primeras tres letras) el grupo (de la 4 a la 6) y de los otros usuarios (las 3 últimas). r significa permiso de lectura (read) w significa permiso de escritura, (write) y x significa permiso de ejecución.

Lo siguiente es un número que indica el número de vínculos que tiene ese archivo. Ya veremos mas adelante qué significa eso.

Lo siguiente es el usuario propietario.

Lo siguiente es el grupo propietario.

Lo siguiente indica el tamaño del archivo en bloques

Lo siguiente es la fecha de última modificación del archivo

Lo último es el nombre del archivo

Con los permisos  rwxrw-r-- los miembros del grupo pueden [...] el archivo
A: no; . ..; nivel1; es una ruta relativa; leer and escribir
Gap 1 offers: no; sí
Gap 2 offers: . ..; nada; el directorio está vacio
Gap 4 offers: es una ruta relativa; es una ruta absoluta; no es una ruta
Gap 5 offers: leer; escribir; ejecutar

Q: Permisos

El significado de los permisos es diferente si se trata de un archivo convencional o de un directorio.

Archivos

En archivos el permiso de lectura permite ver el contenido, el de escritura permite cambiar el contenido y el de ejecución permite que el ordenador ejecute las instrucciones escritas en él.

Directorios

En los directorios el permiso de lectura permite ver el contenido, el de escritura permite crear o borrar directorios dentro de ese directorio y el de ejecución permite entrar en los subdirectorios de ese directorio.

¿El usuario alumno puede ver el contenido de tu directorio personal? [...]

chmod

chmod es un comando que permite cambiar los permisos de un archivo. la sintaxis es:

chmod [usuario] [+ -] [rwx] archivo

usuario puede ser u para el propietario, g para el grupo y o para otros

Para prohibir la visualización del archivo llamado rio.txt a los usuarios que no pertencen al grupo escribiremos [...]

Para permitir que esos usuarios escriban ese archivo, el comando será: [...]

Para prohibir que los usuarios del grupo entran en el directorio nivel1 el comando será [...]

Prohíbe que el usuario alumno pueda  entrar en tus documentos. Entra con el usuario alumno y compruébalo

Escribe aquí el comando usado desde tu carpeta raíz y  usando ruta relativa [...]
A: sí; chmod o-r rio.txt; chmod o+w rio.txt; chmod g-x nivel1; chmod o-x ./ / chmod o-x .
Gap 1 offers: sí; no; depende del grupo

Q: Mover archivos

Para mover archivos usamos el comando mv (move). La sintaxis es

mv nombre1 nombre2

Donde nombre es el nombre del archivo incluida la ruta.

 Crea un a estructura de directorios:

└── ej_consola
    ├── dir1
    └── dir2
Crea un archivo llamado archivo1 en ej_consola. Puedes hacerlo ejecutando touch archivo1 desde ej_consola.

Ejecuta tree desde ej_consola para ver que se ha creado ese archivo y dónde está.

Para moverlo a dir1 escribiremos . [...]

Observa que al mover, el archivo ha desaparecido de ej_consola y ahora está en dir1. Puedes comprobarlo ejecutando el comando tree. El resultado es [...] copia y pega la salida de la consola.

El comando mv también sirve para cambiar de nombre. Entra en dir1 y cambia el nombre del archivo archivo1 a archivo2 con mv:  [...]

Copiar archivos

Para copiar archivos usamos el comando cp. La sintaxis es

cp nombre1 nombre2

Funciona de manera anhaloga a mv pero no se elimina el archivo de origen.

Copia el archivo2 con nombre archivo3 con cp. El comando será: [...].

entra en ej_consola y ejecuta tree. el resultado es [...]
A: mv archivo1 dir1/archivo1 / mv archivo1 ./dir1/archivo1 / mv archivo1 ./dir1 / mv archivo1 dir1; .*├── dir1*│ └── archivo1*└── dir2*; mv archivo1 archivo2; cp archivo2 archivo3; .*├── dir1*│ ├── archivo2*│ └── archivo3*└── dir2*