Posted by q3it on sábado, agosto 13, 2022 in Linux
En este post voy a hablar sobre los caracteres especiales, y es que su funcionalidad es distinta a lo que representa, por ejemplo cuando nosotros vimos como ejecutar comandos para indicar las opciones hablábamos del guion. Este es un carácter especial, sabemos que después de este guion lo que vamos a indicar son opciones, si nosotros ponemos ls -l el comando no está esperando a que haya un directorio que se llame guion l, sabe que al indicarle el guion se refiere a una opción y que tiene que interpretarlo como una opción.
Otro carácter especial que ya hemos visto pero que no es muy popular cuando se explican linux, es el espacio, el espacio lo que separa son opciones, argumentos o entre opciones y argumentos o entre comandos, opciones y argumentos.
Por ejemplo cuando nosotros ejecutamos el comando ls -a /tmp aquí tenemos tres caracteres especiales, dos espacios y el guion indicando una opción.
Además el espacio en este caso separa argumentos que también tenemos que es un carácter especial que nosotros vamos a tener que tratarlo como tal. Por ejemplo si nosotros tenemos un fichero llamado james bond y nosotros queremos listarlo con el comando ls nos dará un error, porque intentará listar los datos del fichero james y los datos del fichero bond, aquí son dos argumentos, cuando nosotros queremos quitarle los poderes a estos caracteres especiales pues tendremos que utilizar otro caracter especial que es la contra barra /.
Otro carácter especial que ya hemos visto pero que no es muy popular cuando se explican linux, es el espacio, el espacio lo que separa son opciones, argumentos o entre opciones y argumentos o entre comandos, opciones y argumentos.
Por ejemplo cuando nosotros ejecutamos el comando ls -a /tmp aquí tenemos tres caracteres especiales, dos espacios y el guion indicando una opción.
Además el espacio en este caso separa argumentos que también tenemos que es un carácter especial que nosotros vamos a tener que tratarlo como tal. Por ejemplo si nosotros tenemos un fichero llamado james bond y nosotros queremos listarlo con el comando ls nos dará un error, porque intentará listar los datos del fichero james y los datos del fichero bond, aquí son dos argumentos, cuando nosotros queremos quitarle los poderes a estos caracteres especiales pues tendremos que utilizar otro caracter especial que es la contra barra /.
- Este carácter especial lo que hace es quitar su especialidad a estos caracteres, lo que se denomina escapar a un carácter, en este caso simplemente delante del carácter especial le ponemos la contra barra y lo que hace es que se convierte en un carácter normal. Por ejemplo aquí antes del espacio ponemos la contra barra y aquí tendremos un argumento en vez de tener dos.
Si lo vemos en consola, yo hago ls -l veremos que tengo un directorio llamado bond y otro james. Si pongo simplemente ls james espacio bond vemos que nos da un error porque intenta acceder a un fichero llamado James y otro llamado bond, en cambio si yo listo de forma larga y escapo a este espacio, veremos que se lista el directorio que se llama james espacios bond, por eso normalmente Linux es importante que los directorios no contengan espacios para evitar estos problemas.
Otros caracteres especiales importantes que vamos a ver en este post son:
- El asterisco * indica uno o más caracteres, si nosotros queremos listar todo el contenido de un directorio, podemos utilizar simplemente ls o como todos los ficheros van a tener al menos uno o más caracteres, podemos poner un asterisco, y además, podemos poner por ejemplo el comando ls y que el filtro empiece por una letra como podría ser la M y este listará todos los ficheros que empiezan por M.
Si queremos añadirle un nuevo argumento por ejemplo la letra C* este sería el resultado.
- Cuando queremos especificar sólo un carácter pues utilizaremos el carácter especial interrogación ?. Podemos por ejemplo utilizarlos con el ls para listar los ficheros que contengan sólo cinco letras, pero si ponemos cinco interrogantes el sistema lo que buscará son archivos que en su nombre contengan cinco letras.
Hay tres ficheros que tienen cinco letras: Enero, Lunes y Marzo y los podemos combinar estos caracteres especiales por ejemplo si queremos que al menos tenga cinco o más caracteres podemos poner los cinco interrogaciones y luego un asterisco.
- Cuando nosotros a veces queremos agrupar, por ejemplo, como hemos hecho antes de empezar por M o por C nosotros en vez de poner varios argumentos podemos utilizar los corchetes [], cuando les abrimos los corchetes decimos porque letras queremos que empiece por ejemplo MC, y luego ponemos el asterisco nos arrojará lo mismo que hemos hecho antes de poner dos argumentos.
También lo que nos permite los corchetes hacer rangos, es decir podemos especificar de una letra a otra y para esto utilizaremos un guion dentro de los corchetes, por ejemplo, el de la A a la L y luego también el asterisco en este caso.
- Si no queremos escapar los caracteres especiales como puede ser el espacio o el guion podemos utilizar comillas dobles "" o comillas simple '' veremos las diferencias entre las dos. Para empezar, cuando nosotros queremos que un directorio tenga algún carácter especial o simplemente tiene algún caracter que nosotros no sabemos si es especial o no, pero queremos estar seguros, y para ello podemos utilizar las comillas simples y en la siguiente imagen vemos que nos lista de una manera de no tener que utilizar la contra barra para escapar los caracteres especiales.
- Y otros dos caracteres especiales que los iremos viendo más adelante es, mayor > y < menor, que nos sirve para redireccionar la salida o la entrada de los comandos.