Title: Lección consola
Course: Ciencias de la Computación 1º ESO (25-26)

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* / 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: 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 / *├── dir1*│ └── archivo1*└── dir2*; mv archivo1 archivo2; cp archivo2 archivo3; . ├── dir1 │ ├── archivo2 │ └── archivo3 └── dir2 / .*├── dir1*│ ├── archivo2*│ └── archivo3*└── dir2*

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 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 en ej_consola 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: ./*./dir1*./dir1/dir11*./dir1/dir12*./dir2*./dir2/dir21*./dir2/dir22 / ./*./dir2*./dir2/dir22*./dir2/dir21*./dir1*./dir1/dir11./dir1/dir12* / ./*./dir2*./dir2/dir21*./dir2/dir22*./dir1*./dir1/dir11./dir1/dir12 / ./*./dir2*./dir2/dir21*./dir2/dir22*./dir1*./dir1/dir11*./dir1/dir12; find ./ -name nombre1.jpg; :./dir2/dir22/nombre1.jpg*./dir2/dir21/nombre1.jpg*./dir1/dir11/nombre1.jpg*./dir1/dir12/nombre1.jpg / ./dir2/dir21/nombre1.jpg*./dir2/dir22/nombre1.jpg*./dir1/dir11/nombre1.jpg*./dir1/dir12/nombre1.jpg; Sí; find ./dir2/dir21 -name \*.jpg / 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.l

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. Hacerlo manualmente 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
A: backup

Q: pwd

El comando pwd indica el directorio de trabajo.

Ejecuta este comando. El resultado es

[...]
A: /home/alumno

Q: Consola

Abre una consola. Aparece un pequeño texto y el cursos parpadeando esperando a que escribas algo. Ese texto se llama pront. ¿Qué pront aparece en tu consola? [...] Puedes selecionar el texto y copiarlo pinchando con el botón derecho.
A: alumno@*

Q: mkdir

El comando mkdir (make dir) crea directorios Otra palabra para directorio es:[...].

Escribe:

mkdir py

Se crea el directorio llamado py (para python)

cd

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

Ejecuta:

cd py

para entrar en el directorio que has creado

Comprueba que efectivamente estás en él usando el comando pwd. El resultado que da es [...]
A: carpetas; /home/alumno/py
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: 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.

Los permisos son:

- r -> permiso de lectura (read)
- w -> permiso de escritura (write)
- x -> permiso de ejecución (exe)

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 ./
Gap 1 offers: sí; no; depende del grupo

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.

La opción ls muestra:[...]
A: -a Incluye en el listado ficheros cuyos nombres empiecen por `.'. / *-a*Incluye*en*el*listado*ficheros*cuyos*nombres*empiecen*por*`.'.*; todos los archivos y directorios, incluídos los ocultos y el directorio actual y el directorio padre
Gap 2 offers: todos los archivos y directorios, incluídos los ocultos y el directorio actual y el directorio padre; solo los archivos ocultos; solo el directorio actual y el padre; únicamente los directorios o archivos que empiezan por un punto; los directorios y archivos que no comienzan con un punto

Q: Consola

La consola o terminal es una forma de trabajar con un ordenador sin una interfaz gráfica de usuario  lo que habitualmente llamamos escritorio.

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 instalado un escritorio

El escritorio tiene un emulador de consola, esto es, una consola o terminal 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.

¿Todos los ordenadores tienen escritorio? [...]

¿Todos los ordenadores tienen consola? [...]
A: no; sí
Gap 1 offers: no; sí
Gap 2 offers: sí; no

Q: ls

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

ls

ejecuta

mkdir carpeta
cd carpeta
touch a b
ls

el resultado es [...] esto significa que en el directorio actual tienes dos archivos uno llamado a y uno llamado b. Puedes abrir el navegador de archivos y comprobarlo.
A: a*b*