Diferencia entre revisiones de «Introducción al intérprete de órdenes»
(→grep) |
(→ssh) |
||
(No se muestran 19 ediciones intermedias del mismo usuario) | |||
Línea 8: | Línea 8: | ||
* Acceso a variables. | * Acceso a variables. | ||
− | = | + | = Navegación por el árbol de directorios = |
− | |||
− | |||
− | |||
− | |||
− | |||
== ls == | == ls == | ||
Línea 19: | Línea 14: | ||
Lista el contenido de una carpeta. | Lista el contenido de una carpeta. | ||
− | * -a, mostrar todo, incluído "ocultos". | + | * -a, mostrar todo, incluído los ficheros que empiezan por '.' (en alguna bibliografía se refieren a estos ficheros y directorios como "ocultos"). |
* -l, formato largo: rwx. | * -l, formato largo: rwx. | ||
− | |||
− | |||
− | |||
− | + | Los permisos de un fichero se interpretan de la siguiente manera: | |
+ | |||
+ | * r (read), permite leer del fichero. | ||
+ | * w (write), permite modificación y del contenido del fichero, así como su borrado. | ||
+ | * x (execute), permite la ejecución de un fichero (ya se binario ejecutable o un script). | ||
− | + | Para los directorios, la interpretación es diferente: | |
− | + | * r (read), se puede listar el contenido del directorio. | |
+ | * w (write), se pueden añadir nuevos fichero al directorio, así como borrar ficheros. | ||
+ | * x (execute), se puede acceder al directorio mediante la orden ''cd''. | ||
− | + | == cd == | |
− | + | Cambia el directorio de trabajo actual. | |
− | + | == pwd == | |
− | + | usuario@pc:~$ pwd | |
+ | /home/profesor | ||
− | + | = Manejo de ficheros y directorios = | |
== mkdir == | == mkdir == | ||
Línea 79: | Línea 78: | ||
La opción '-r' me permite realizar copias recursivas, es decir, de una carpeta y su contenido. | La opción '-r' me permite realizar copias recursivas, es decir, de una carpeta y su contenido. | ||
− | = cat = | + | == cat == |
Muestra el contenido de un fichero de texto plano. | Muestra el contenido de un fichero de texto plano. | ||
Línea 97: | Línea 96: | ||
cat lista-clase.txt lista-clase2.txt | sort > lista-clase-ordenada.txt | cat lista-clase.txt lista-clase2.txt | sort > lista-clase-ordenada.txt | ||
− | = grep = | + | == grep == |
Sirve para buscar patrones, por ejemplo: | Sirve para buscar patrones, por ejemplo: | ||
Línea 109: | Línea 108: | ||
sort lista-de-clase.txt | grep Saavedra | sort lista-de-clase.txt | grep Saavedra | ||
− | = wc = | + | == wc == |
Sirve para contar el número de líneas, palabras y caracteres. | Sirve para contar el número de líneas, palabras y caracteres. | ||
Línea 115: | Línea 114: | ||
wc lista-de-clase.txt | wc lista-de-clase.txt | ||
1 3 27 lista-clase.txt | 1 3 27 lista-clase.txt | ||
+ | |||
+ | == curl == | ||
+ | |||
+ | Sirve para descargar ficheros, por ejemplo: | ||
+ | |||
+ | curl http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz -O | ||
+ | |||
+ | == touch == | ||
+ | |||
+ | Crea un fichero vacío. | ||
+ | |||
+ | == echo == | ||
+ | |||
+ | Imprime mensaje en pantalla | ||
+ | |||
+ | = Documentación = | ||
+ | |||
+ | == man == | ||
+ | |||
+ | Muestra página de manual | ||
+ | |||
+ | = Manejo de procesos = | ||
+ | |||
+ | == ps == | ||
+ | |||
+ | Muestra la lista de procesos en ejecución. | ||
+ | |||
+ | == kill == | ||
+ | |||
+ | Termina con la ejecución de un proceso. | ||
+ | |||
+ | kill 4356 | ||
+ | |||
+ | o de manera abrupta con: | ||
+ | |||
+ | kill -KILL 4356 | ||
+ | |||
+ | == top == | ||
+ | |||
+ | Monitoriza el uso de los recursos del sistema. | ||
+ | |||
+ | = Manejo de usuarios y grupos = | ||
+ | |||
+ | == adduser == | ||
+ | |||
+ | == deluser == | ||
+ | |||
+ | == addgroup == | ||
+ | |||
+ | = Manejo de permisos = | ||
+ | |||
+ | == chmod == | ||
+ | |||
+ | == chown == | ||
+ | |||
+ | == chgrp == | ||
+ | |||
+ | = Administración general del sistema = | ||
+ | |||
+ | == ssh == | ||
+ | |||
+ | Para acceder al sistema 'regula.lsi.us.es' con el usuario prueba: | ||
+ | |||
+ | ssh prueba@regula.lsi.us.es | ||
+ | |||
+ | Para copiar el fichero 'debian-9.5.0-amd64-netinst.iso' a regula.lsi.us.es con el usuario ''prueba'': | ||
+ | |||
+ | scp debian-9.5.0-amd64-netinst.iso prueba@regula.lsi.us.es: | ||
+ | |||
+ | Muy importante los ':' del final en la línea anterior. | ||
+ | |||
+ | == apt == | ||
+ | |||
+ | = Ejercicios = | ||
+ | |||
+ | #1 Crear un arbol de directorios en la carpeta home con esta pinta: | ||
+ | |||
+ | carpeta1 | ||
+ | | | ||
+ | |------ carpeta2 | ||
+ | | | ||
+ | |------ carpeta3 | ||
+ | fichero.txt | ||
+ | fichero2.txt | ||
+ | |||
+ | Donde fichero.txt contiene la cadena "Probando 1 2 3" y fichero2.txt contiene la cadena "Hola Mundo". | ||
+ | |||
+ | #2 Mover el fichero2.txt al temporal con el nombre fichero3.txt | ||
+ | |||
+ | #3 Contar el número de lineas del fichero fichero3.txt | ||
+ | |||
+ | #4 Concatenar el contenido de fichero.txt y fichero2.txt en un fichero en el home que se llame fichero4.txt | ||
+ | |||
+ | Solución | ||
+ | |||
+ | mkdir carpeta1 | ||
+ | mkdir carpeta1/carpeta2 | ||
+ | mkdir carpeta1/carpeta3 | ||
+ | echo "Probando 1 2 3" > carpeta1/carpeta3/fichero.txt | ||
+ | echo "Hola Mundo" > carpeta1/carpeta3/fichero2.txt | ||
+ | |||
+ | mv carpeta1/carpeta3/fichero2.txt /tmp/fichero3.txt | ||
+ | |||
+ | wc -l /tmp/fichero3.txt | ||
+ | |||
+ | cat carpeta1/carpeta3/fichero.txt /tmp/fichero3.txt > fichero4.txt |
Revisión actual del 16:03 25 oct 2018
- Presentación de clase Archivo:Laboratorio-01.pptx
Contenido
Interprete de órdenes
- Autocompletado.
- Ctrl-L, limpia el contenido de la pantalla.
- Definición de variables.
- Acceso a variables.
ls
Lista el contenido de una carpeta.
- -a, mostrar todo, incluído los ficheros que empiezan por '.' (en alguna bibliografía se refieren a estos ficheros y directorios como "ocultos").
- -l, formato largo: rwx.
Los permisos de un fichero se interpretan de la siguiente manera:
- r (read), permite leer del fichero.
- w (write), permite modificación y del contenido del fichero, así como su borrado.
- x (execute), permite la ejecución de un fichero (ya se binario ejecutable o un script).
Para los directorios, la interpretación es diferente:
- r (read), se puede listar el contenido del directorio.
- w (write), se pueden añadir nuevos fichero al directorio, así como borrar ficheros.
- x (execute), se puede acceder al directorio mediante la orden cd.
cd
Cambia el directorio de trabajo actual.
pwd
usuario@pc:~$ pwd /home/profesor
Manejo de ficheros y directorios
mkdir
Crea un directorio
rm
Borrado de ficheros y directorio (con contenido).
Por ejemplo:
rm fichero.txt
Para borrar un directorio hay que usar la opción '-r':
rm -r xyz
La orden 'rmdir' sirve para borrar directorios vacíos. No muy útil :-(, mejor usar 'rm'.
sort
Ordena un fichero de manera alfanumérica.
cp
Copia ficheros o carpetas.
Por ejemplo, copia el fichero 'fichero1.txt' al directorio temporal.
cp fichero1.txt /tmp
Otro ejemplo, copia una carpeta y su contenido al directorio temporal.
mkdir xyz echo "hola mundo" > xyz/fichero.txt cp -r xyz /tmp
La opción '-r' me permite realizar copias recursivas, es decir, de una carpeta y su contenido.
cat
Muestra el contenido de un fichero de texto plano.
cat fichero.txt
También se puede usar para concatenar ficheros:
cat lista-clase.txt lista-clase2.txt
Y podríamos combinarlo con el mecanismo de tuberías para obtener una lista ordenada:
cat lista-clase.txt lista-clase2.txt | sort
Y volcar esa salida a ordenada a un fichero con la redirección de salida:
cat lista-clase.txt lista-clase2.txt | sort > lista-clase-ordenada.txt
grep
Sirve para buscar patrones, por ejemplo:
grep Saavedra lista-de-clase.txt
El primer parametro es el patrón a buscar, el segundo es el fichero en que se se busca el patrón.
Como viene siendo habitual, se puede combinar grep con tuberias, por ejemplo:
sort lista-de-clase.txt | grep Saavedra
wc
Sirve para contar el número de líneas, palabras y caracteres.
wc lista-de-clase.txt 1 3 27 lista-clase.txt
curl
Sirve para descargar ficheros, por ejemplo:
curl http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz -O
touch
Crea un fichero vacío.
echo
Imprime mensaje en pantalla
Documentación
man
Muestra página de manual
Manejo de procesos
ps
Muestra la lista de procesos en ejecución.
kill
Termina con la ejecución de un proceso.
kill 4356
o de manera abrupta con:
kill -KILL 4356
top
Monitoriza el uso de los recursos del sistema.
Manejo de usuarios y grupos
adduser
deluser
addgroup
Manejo de permisos
chmod
chown
chgrp
Administración general del sistema
ssh
Para acceder al sistema 'regula.lsi.us.es' con el usuario prueba:
ssh prueba@regula.lsi.us.es
Para copiar el fichero 'debian-9.5.0-amd64-netinst.iso' a regula.lsi.us.es con el usuario prueba:
scp debian-9.5.0-amd64-netinst.iso prueba@regula.lsi.us.es:
Muy importante los ':' del final en la línea anterior.
apt
Ejercicios
- 1 Crear un arbol de directorios en la carpeta home con esta pinta:
carpeta1 | |------ carpeta2 | |------ carpeta3 fichero.txt fichero2.txt
Donde fichero.txt contiene la cadena "Probando 1 2 3" y fichero2.txt contiene la cadena "Hola Mundo".
- 2 Mover el fichero2.txt al temporal con el nombre fichero3.txt
- 3 Contar el número de lineas del fichero fichero3.txt
- 4 Concatenar el contenido de fichero.txt y fichero2.txt en un fichero en el home que se llame fichero4.txt
Solución
mkdir carpeta1 mkdir carpeta1/carpeta2 mkdir carpeta1/carpeta3 echo "Probando 1 2 3" > carpeta1/carpeta3/fichero.txt echo "Hola Mundo" > carpeta1/carpeta3/fichero2.txt
mv carpeta1/carpeta3/fichero2.txt /tmp/fichero3.txt
wc -l /tmp/fichero3.txt
cat carpeta1/carpeta3/fichero.txt /tmp/fichero3.txt > fichero4.txt