Ahora que ya deberíamos saber movernos cómodamente por estructuras de carpetas, examinar el contenido de ficheros y copiar y moverlos de sitio, vamos a aprender a crear nuevas carpetas y ficheros.
Crear carpetas o ficheros
En muchas ocasiones necesitaremos crear carpetas o ficheros vacíos para posteriormente trabajar con ellos. Para ello, los comandos más habituales son mkdir
y touch
.
Mediante el comando mkdir
(make directory), seguido de un nombre de carpeta, podremos crear nuevas carpetas vacías. Como siempre, lo recomendable es crear carpetas utilizando carácteres en minúsculas, números y guiones. Intenta evitar siempre en lo posible carácteres especiales o espacios:
$ mkdir folder
Si queremos crear una estructura de varias carpetas una dentro de otra, en vez de hacerlo una por una. El siguiente comando crea una carpeta parent
, que dentro tiene una carpeta child
y dentro de ella, una carpeta grandchild
:
$ mkdir -p parent/child/grandchild
De esta forma, nos evitamos tener que escribir 3 comandos por separado para crear la estructura.
De la misma forma que mkdir
permite crear una carpeta vacía, podemos utilizar el comando rmdir
para borrar carpetas vacías. También permite añadir el parámetro -d
para eliminar carpetas vacías recursivamente.
Recuerda que si las carpetas tienen archivos no las borrará. Para ello, tendríamos que utilizar rm
.
Por otro lado, el comando touch
sería la versión de mkdir
orientada a ficheros en lugar de carpetas. Si necesitamos crear un archivo vacío, por ejemplo, para editar más tarde, podemos hacerlo rápidamente con touch
:
touch file.txt
El comando anterior crearía un fichero vacío con nombre file.txt
. Si ya existiera el archivo, simplemente actualiza su fecha de modificación.
Crear ficheros con contenido
Es probable, que en lugar de crear un archivo vacío, nos interese crear un archivo con un cierto contenido de texto, por ejemplo. Normalmente para ello se utilizan editores (lo veremos más adelante), pero de momento vamos a simplificarlo lo máximo posible.
El comando nano
es un editor de texto minimalista que nos permite crear ficheros de forma sencilla, rápida y práctica. Generalmente, no viene instalado, por lo que necesitaremos instalarlo mediante un sudo apt install nano
.
Una vez hecho, simplemente escribimos nano
seguido del fichero de texto a crear:
$ nano fichero.txt
Nos aparecerá una pantalla donde podemos escribir el contenido de texto del archivo y con CTRL+O guardarlo (te vuelve a pedir el nombre del fichero) y con CTRL+X salir, entre otras cosas.
Más adelante hablaremos más sobre
nano
y otros editores de texto.
Una forma sencilla y rápida de crear un contenido de texto es utilizar una redirección. Esto es lo siguiente:
$ echo "Hola a todos, esto es el contenido del fichero" > fichero.txt
$ cat fichero.txt
Hola a todos, esto es el contenido del fichero
Como puedes ver, con el comando echo
muestras el texto que escribes a continuación, sólo que con >
lo redireccionamos al fichero que escribimos a continuación, en este caso, a fichero.txt
.
Crear enlaces con ln
El comando ln
(link names) permite crear enlaces entre ficheros, una especie de referencias o accesos directos a ficheros, rutas o carpetas. Los enlaces pueden ser de dos tipos:
Los enlaces simbólicos (también considerados enlaces blandos). Son un tipo de referencia a otros ficheros, pero esta vez basándose en su ubicación. Se crean utilizando el comando y parámetro ln -s
. De esta forma, cuando accedemos a un enlace simbólico, realmente estamos accediendo al fichero que apunta.
En el siguiente ejemplo, mediante el comando ln
creamos un enlace, y con el parámetro -s
indicamos que queremos que sea simbólico. El primer fichero indicado sería el archivo original al que queremos apuntar, mientras que el segundo fichero indicado sería el enlace simbólico que queremos crear:
$ ln -s original.txt link
$ ls -lh
total 0
lrwxrwxrwx 1 manz manz 12 jul 1 19:37 link -> original.txt
-rw-r--r-- 1 manz manz 0 jul 1 19:37 original.txt
Al hacer un ls
, observaremos que nos indica a donde apunta el enlace simbólico (puede ser un fichero, una carpeta, etc...). En el caso de que el enlace se encuentre correcto, aparecerá en azul cyan, pero si el fichero original a donde apunta no existiera, aparecería en rojo. De la misma forma, si creamos un enlace simbólico y borramos su archivo original, el enlace aparecerá en rojo. Es lo que se considera un enlace simbólico roto.
Estos enlaces pueden ser realmente útiles cuando necesitamos que en la carpeta actual exista el contenido de otra carpeta, pero no queremos duplicar la información (son carpetas con mucho espacio ocupado) o queremos mantenerlo actualizado y simplemente queremos una referencia de una carpeta a otra.
Los enlaces duros. Son los ficheros que apuntan a otro fichero basándose en su número interno (inodo). Se crean utilizando el comando ln
. De esta forma podemos tener varios archivos con el mismo contenido, pero sus copias no duplican el contenido del fichero original, sino que son una referencia al primero.
$ ln file.txt copy.txt
Son menos utilizados que los enlaces simbólicos.