Apuntes Linux 2 Metacaracteres, crear, borrar, mover
*** (asterísco) --> cualquier cosa (antes,después...)**
ls *s.txt → que termine en S y extensión .txt
ls s* → que comience en s
ls *i* → que contengan una i
ls *.*_1EVAL.pdf --> muestra solo los que llevan un . por medio y terminan por _1EVAL.pdf
ej: luis.solsona-trabajoSOM_1EVAL.pdf SI que lo mostraria
ej: luissolsona-trabajoSOM_primera-1EVAL.pdf NO lo mostraria
**? (interrogante) --> equivale a 1 caracter**
ls ????*.txt → muestra ficheros con 4 caracteres y extensión .txt
ls *.??? → muestra fichero con extensión con 3 caracteres
**{} (llaves) --> equivale a varias opciones separadas por comas**
ls {az,ro}* → muestra lo que empieza por az o por ro
****
**[] (corchetes) --> es válido lo que haya dentro (lista, rango)**
ls [123]*.* → muestra solo los que empiecen por 1 o 2 o 3
ls [aA]*.* → muestra solo los que empiecen por a o A
ls [0-9]* → muestra un rango del 0 al 9 (del más bajo al más alto)
ls [a-z]* → muestra todos los que comienzan entre a y z (OJO mayúsculas no muestra!)
ls [A-Z]* → muestra todos los que comienzan entre A y Z (OJO mínusculas no muestra!)
ls [A-z]* → muestra todos los que comienzan entre A y z
**! (exclamación)--> negación / lo contrario**
ls [!A-z]* → muestra todo lo que NO comience por una letra min o may.
ls [!aeiou0-9]* → muestra todo lo que NO empiece por vocales o del 0 al 9
**^ ("sombrerito") --> empieza por. Tecla dcha de la P**
ls -a | grep "^s" → lista todo y filtra lo que empiece por s
ls -l /dev ¿Qué hace?
| Se llama PIPE (tubería). Su función: La salida estándar (lo que saldría por pantalla, al ejecutar el comando) se convierte en entrada para el siguiente comando.
< Redirecciona la entrada estándar por el archivo que se le indique
> Redirecciona la salida estándar al fichero que se le indique (borra todo lo que lleve dentro ese fichero, lo sustituye. Si no esta creado lo crea)
>> Como el anterior >, pero esta ve no lo borra, sino que lo añade al final
2> Redirecciona la salda de ERRORES (los fallos que puedan aparecer al ejecutarlo) al fichero que se indique, borra todo lo que lleve dentro ese fichero, lo sustituye. Si no esta creado lo crea)
2>> Como el anterior 2>, pero esta ve no lo borra, sino que lo añade al final
2> errores.txt
2>>/dev/null
&> Redirecciona tanto la salida estándar como la de errores a un fichero, borra todo lo que lleve dentro ese fichero, lo sustituye. Si no esta creado lo crea)
&>> Como el anterior &>, pero esta ve no lo borra, sino que lo añade al final
mkdir → crear directorio (carpeta)
mkdir -p → para crear cadenas de directorios de una vez (parents)
ej: mkdir a
mkdir a/b/c -p
rmdir → borrar directorios **vacios**
ej: rmdir a/b/c → borra el último directorio
rmdir a/b/c -p → borra todos
rm → eliminar directorios o ficheros
rm -i → te pide confirmación (interaction)
rm -r → lo hace recursivo (OJO! si es un directorio usar siempre -r)
ej: rm a -r → borra todos
mv → cambia el nombre al fichero / directorios
ej fichero: mv prueba1.txt nombre2.txt
ej directorio: mv Spiderman ../../DC/
mv → mueve directorios
ej: mv spiderman ../../DC/
<aside> 💡 EJERCICIOS CREAR DIRECTORIOS, metacaracteres
[ ] Posiciónate en tu home. Crea el directorio Súper.
[ ] Crea todos estos directorios con un solo comando y en una sola línea

[ ] Crea los ficheros .txt de diferentes maneras (touch, cat, nano, echo…)
[ ] Completa la siguiente tabla sobre los metacaracteres:

[ ] Copia el fichero Vengadores.txt en DC llamándolo Enemigos-Vengadores.txt
[ ] Investiga e indica cómo se fuerza la copia de un archivo?
[ ] ¿Para que se usa la opción -r al copiar ?
[ ] Posiciónate en DC. Copia el fichero oscuro.txt a Pixar usando rutas absolutas.
[ ] Posiciónate en Marvel. Mueve el fichero oscuro.txt de Pixar a Batman usando rutas relativas.
[ ] Crea una copia en /$HOME de toda la rama de ficheros y directorios de /Súper que se llame COPIA_Súper
[ ] Posiciónate en COPIA_Súper/Marvel. Elimina el contenido del directorio Spiderman (araña.txt) pero no el directorio.
[ ] Mueve el directorio y el contendio de /$HOME/COPIA_Súper a /COPIA_Súper (la raíz)
[ ] Borra COPIA_Súper y todos los directorios y ficheros de su interior. </aside>
touch nombre-fichero.extension → Crea un fichero vacío
ej: touch prueba.txt
touch .oculto.txt → Crea el fichero pero oculto (. al principio)
echo "Hola soy un texto que voy dentro de un fichero" > prueba.txt
(crear fichero de 1 linea)
echo "Adios" > prueba.txt → añade al final del fichero
cat > nombre-fichero.extensión → Crea un fichero con varias líneas
*para salir ctrl+d*
ej: cat > prueba2.txt
Hola soy un texto
con varias lineas
funcion o comandos > prueba3.txt → Crea un fichero con el resultado de la función
o esos comandos
ej: tree . > prueba3.txt
cp Spiderman ../../DC/ -r
OJO! importante añadir el modificador -r
y la / al final del directorio
cat nombre-fichero.extensión → Muestra el contenido de ese fichero
ej: cat pruba3.txt
salir: ctrl + D
head nombre-fichero.extensión → Muestra las primeras 10 línea del fichero
tail nombre-fichero.extension → Muestra las últimas 10 lineas del fichero
podemos añadir el modificador -n que no muestra ese número de lineas
ej: head -3 prueba.txt (muestra las 3 primeras líneas)
tail -4 prueba.txt (muestra las 4 últimas líenas)
nano nombre-fichero.extensión --> Muestra el contenido de ese fichero y lo permite editar
En la ayuda y los atajos para usar nano la letra Ctrl se representa por un acento
circunflejo (^). La tecla Alt se presenta mediante una M.
Resumen de atajos:
^G → Mostrar ayuda
^X → Salir del nano / Cerrar el fichero mostrado
^O → Guardar
^J → Justificar el párrafo actual
^W → Buscar una cadena o expresión regular
^M → Insertar un retorno de carro en la posición del cursor
MG → Ir a un número de línea en concreto
MB → Respaldar ficheros
<aside> 💡 EJERCICIOS uso manuales de ayuda comandos