práctica 2: introducción al uso del terminal en...

12
Escuela Superior de Informática Práctica 2: Introducción al uso del terminal en GNU/Linux 19 de febrero de 2019

Upload: others

Post on 11-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Práctica 2: Introducción al uso del terminalen GNU/Linux

19 de febrero de 2019

Page 2: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Objetivo

El objetivo de esta práctica es servir de guión para dar nuestros primeros pasos en un terminal GNU/Linux.

Inicio

Podemos iniciar el terminal pulsando directamente sobre el icono de la barra de tareas o bien desde el menú inicial:

Al abrir un terminal tendremos disponible el interprete de órdenes textuales llamado shell. La shell haráde intermediario entre el usuario y el sistema operativo.

P2 – Introducción al uso del terminal en GNU/Linux 1

Page 3: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

¿Donde estoy? pwd (print working directory)

Lo primero que vemos en nuestro terminal es un texto con nuestro nombre de usuario, en nuestro caso “pi” y el nombre del PC, en nuestro caso “raspberrypi”. Este texto situado justo antes del cursor recibe el nombre de prompt.

Nuestro lugar inicial de trabajo será una carpeta con nuestro nombre de usuario, “pi”. Esta carpeta es conocida como “home”.

Para que el terminal nos muestre la ruta en la que nos encontramos podemos utilizar el comando pwd:

¿Qué hay aquí? ls (list directory)

Con el comando ls podemos ver el contenido de un directorio.

Si no indicamos ningún argumento se mostrará el contenido del directorio actual, pero podemos indicar que liste un directorio en concreto.

Un buen aliado man (manuales de referencia)

Si tenemos dudas de cualquier comando, podemos utilizar el comando man tecleando man[nombre de comando] como por ejemplo man man:

IMPORTANTE: para salir hay que pulsar la tecla q

P2 – Introducción al uso del terminal en GNU/Linux 2

Page 4: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Tenemos más opciones de ayuda como whatis o la opción ­h /­­help de los comandos, de modo que podemos utilizar:

man lsls ­­helpwhatis ls

¿Puedes notar la diferencia entre las distintas opciones?

Rutas entre directorios

Llamamos ruta a la jerarquía de directorios. En los sistemas GNU/Linux esta jerarquía comienza en el directorio / (directorio raíz). Podemos utilizar el comando ls para listar cualquier directorio indicando su ruta, por ejemplo ls /bin:

Si queremos listar el contenido de los directorios con más detalle podemos utilizar las opciones del comando ls (recuerda pedir ayuda a tu amigo man si lo necesitas). Las opciones suelen ir precedidas de un guión, por ejemplo para listar todo el contenido, incluyendo archivos ocultos podemos utilizar la opción ­A , sí que remos una lista larga y detallada ­l y podemos utilizar varias opciones a la vez:

P2 – Introducción al uso del terminal en GNU/Linux 3

Page 5: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Moviéndonos entre directorios

Para cambiar de directorio utilizaremos el comando cd . Su uso es similar a ls . Podemos ir a un directorio concreto, como por ejemplo cd /bin, podemos volver al directorio anterior con cd ­ ,podemos ir al directorio anterior en la jerarquía con cd .. , pero al final no hay lugar como ~ . El carácter especial ~ equivale a la ruta del home del usuario activo.

No hay que olvidar que estas rutas son las mismas con las que trabajamos en nuestro explorador de archivos:

Creando nuevos directorios mkdir (make directories)

Con el comando mkdir solamente tenemos que elegir un nombre para crear un nuevo directorio:

P2 – Introducción al uso del terminal en GNU/Linux 4

Page 6: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Nuestro nuevo mejor amigo, el tabulador.

Pulsando la tecla tabulador el terminal autocompletará tanto nombres de directorios como nombres de comandos. En caso de que haya más de una opción, si lo pulsamos dos veces el terminal nos mostrará las opciones posibles.

Caracteres comodín.

Los caracteres especiales *, ? nos pueden facilitar mucho nuestras tareas. * se interpreta como cualquier cadena de caracteres (incluso la cadena vacía), por ejemplo con ls D* listaremos todos los directorios que comiencen por D:

Y el carácter ? Se interpreta como cualquier carácter individual (solamente uno), por ejemplo si creamos tres directorios “temporal”, “temporal1” y “temporal2” el comando ls temporal? nosdevuelve:

P2 – Introducción al uso del terminal en GNU/Linux 5

Page 7: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Editando desde el terminal, editores básicos. nano

En la instalación base de cualquier sistema GNU/Linux siempre disponemos de unos editores para modificar texto. Es recomendable tener algunas nociones para saber como guardar y salir de estos editores.

Opciones (^ => Ctrl , M- => Alt):

Ctrl + X Salir

Ctrl + O Guardar

Ctrl + K Cortar

Ctrl + U Pegar

Gatos, cabezas y colas cat, head, tail

Para ver el contenido de los archivos podemos utilizar more o less, que nos permitirá navegar por el texto. Pero también tenemos las opciones de utilizar cat para imprimir en el terminal el contenido del archivo, si no queremos ver todo podemos utilizar head o tail para ver tan solo elinicio o el final del archivo.

P2 – Introducción al uso del terminal en GNU/Linux 6

Page 8: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Copiar, mover y eliminar archivos y directorios

Para estas acciones tan cotidianas los comandos a utilizar son:

• cp para copiar

• mv para mover

• rm para eliminar

Para copiar y mover es necesario indicar el origen y el destino, por ejemplo si quiero copiar mi archivo prueba1 al directorio temporal2 la instrucción sería:

cp temporal/prueba1 temporal2

Y como es lógico, para borrar solo necesitamos indicar el archivo o directorio que queramos eliminar, es importante tener en cuenta que para borrar directorios debemos utilizar rm ­r (borrado recursivo)

P2 – Introducción al uso del terminal en GNU/Linux 7

Page 9: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Crear archivos touch

Para crear un archivo nuevo podemos utilizar el comando touch. Si utilizamos este comando con un archivo ya existente solamente actualizará su fecha de acceso, pero si lo utilizamos con un nombre de archivo que aún no se esté utilizando lo creará. Es importante recordar que los nombres en GNU/Linux son sensibles a mayúsculas o minúsculas, es decir, prueba2 y Prueba2 serían dos nombres distintos válidos:

Buscar archivos find

Para buscar un archivo el comando find nos será de gran utilidad. Nos da la posibilidad de buscar por nombre con la opción ­name o buscar por tamaño con la opción ­size

Buscando dentro de los archivos grep

Para buscar una determinada cadena dentro de un archivo podemos utilizar el comando grep:

Busca coincidencias (dentro de archivos) con el patrón utilizado, en el lugar indicado. Las opciones más frecuentes son:

-r busca recursivamente dentro de todos los subdirectorios del directorio actual.

-i ignora la distinción entre mayúsculas y minúsculas.

Para consultar más opciones podemos utilizar man grep o grep ­­help

P2 – Introducción al uso del terminal en GNU/Linux 8

Page 10: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

Compartiendo información entre comandos

Una característica muy útil del intérprete de comandos es que podemos combinar comandos, con tuberías, redirigiendo o concatenando. Una tubería nos permite que un comando tome como entrada, la salida de otro, tomemos por ejemplo el comando wc (word count):

podemos redirigir la salida del terminal con > a un nuevo archivo:

y concatenar con >>

Usuarios y permisos

Si intentamos copiar el archivo “lista_binarios” al directorio raiz / o al directorio /home/ no podremos hacerlo, ya que estas carpetas requieren de permisos de administrador para ser manipuladas.

En los sistemas GNU/Linux el usuario administrador es conocido como super-usuario y su nombre es root. Si listamos el directorio raíz veremos como todos los subdirectorios pertenecen a root:

P2 – Introducción al uso del terminal en GNU/Linux 9

Page 11: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

La información que vemos de cada directorio es:

• Primer carácter, en nuestro ejemplo d

representa el tipo de archivo: d para directorios, - para archivos normales, etc

• Los siguientes 9 caracteres son 3 grupos que identifican los permisos de: usuario propietario,grupo y otros. Los caracteres representan: r permisos de lectura, w permisos de escritura, x permisos de ejecución o – sin permisos.

• El número justo antes del propietario indica el número de referencias al archivo.

• Identificador de propietario (en este caso root)

• Identificador de grupo (en este caso también root)

• Tamaño en bytes

• Fecha y hora de creación

El usuario root puede cambiar los permisos con el comando chmod o el grupo dueño con chgrp.

Para obtener temporamente “poderes” de superusuario podemos utilizar el comando sudo. Una buena manera de probarlo es con el comando whoami:

P2 – Introducción al uso del terminal en GNU/Linux 10

Page 12: Práctica 2: Introducción al uso del terminal en GNU/Linuxblog.uclm.es/inocentesanchez/files/2018/07/Intro... · 2019-02-20 · Editando desde el terminal, editores básicos. nano

Escuela Superior de Informática

EJERCICIO PRÁCTICO:

Para reforzar lo aprendido realizaremos los siguientes ejercicios desde el terminal :

• Crear directorio

Crea en tu home un directorio con el nombre “práctica2”

• Moverse entre directorios

Muévete al directorio recién creado “práctica2”

• Crear archivo de texto

Crea un nuevo archivo en el directorio “práctica2” con el nombre “texto”

• Editar archivo

Edita desde el terminal el archivo “texto” y escribe en él tu nombre (o lo primero quese te ocurra)

• Copiar archivo

Haz una copia del archivo “texto” en tu home.

• Ver contenido de archivos

Muestra en la pantalla las primeras líneas del archivo “flippy.py” que se encuentra enel directorio “/usr/share/python_games” (recuerda lo útil que puede llegar a ser el tabulador)

• Combinar comandos

Muestra nuevamente las primeras líneas del archivo “flippy.py” pero en lugar de mostrarlas en pantalla, concatena la salida en el archivo “texto”.

Muestra el contenido del archivo “texto” en pantalla para comprobar que lo has hecho correctamente.

• Buscar dentro de un archivo

Busca dentro del archivo “texto” las líneas en las que aparezca la palabra “python”.

Busca dentro del archivo “texto” las líneas en las que aparezca la palabra “Python” respetando la capitalización.

• Mover se puede utilizar para renombrar

Cambia el nombre del directorio “práctica2” por el de “p2” (recuerda no estar dentro delpropio directorio cuando intentes hacerlo)

P2 – Introducción al uso del terminal en GNU/Linux 11