Práctica 2: Introducción al uso del terminal en...
Transcript of Práctica 2: Introducción al uso del terminal en...
Escuela Superior de Informática
Práctica 2: Introducción al uso del terminalen GNU/Linux
19 de febrero de 2019
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
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
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
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
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
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
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
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
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
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
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