Creación y eliminación

Creando archivos

Comando básico si los hay, es el comando touch.

touch es bastante particular, porque sirve para crear un archivo si es que este no existe, y sino modifica ciertos atributos del mismo. Veamos un ejemplo:

[vkmc@amaterasu linuxchix-taller]$ touch ejemplo-touch
[vkmc@amaterasu linuxchix-taller]$ ls -la
total 12
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:33 .
drwx--x---+ 25 vkmc vkmc 4096 Oct 12 22:32 ..
-rw-rw-r--. 1 vkmc vkmc 0 Oct 12 22:33 ejemplo-touch

Podemos ver que el archivo ejemplo-touch no existía en mi directorio, y al ejecutar el comando, se crea un archivo con el nombre deseado en el directorio actual.

El archivo es de 0 bytes (5ta columna) y tiene horario de manipulación las 22:33. Si yo hiciera touch nuevamente, el horario en el que el archivo fue manipulado cambiaría al horario actual. Veámoslo:

[vkmc@amaterasu linuxchix-taller]$ date
Sat 12 Oct 2019 10:35:57 PM -03
[vkmc@amaterasu linuxchix-taller]$ touch ejemplo-touch
[vkmc@amaterasu linuxchix-taller]$ ls -la
total 12
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:33 .
drwx--x---+ 25 vkmc vkmc 4096 Oct 12 22:32 ..
-rw-rw-r--. 1 vkmc vkmc 0 Oct 12 22:36 ejemplo-touch

Ahora bien, ese archivo no tiene ninguna información sobre su tipo. Este archivo podría ser en su futuro un archivo de texto, un archivo de imagen, un binario.

La definición del tipo del archivo se lo damos cuando empezamos a agregar contenido.

Y eso lo hacemos usando, por ejemplo, un editor de texto o un editor de imagen.

El caso más común es que nos manejemos con archivos de texto plano, sean estos datos, configuración de una aplicación o un programa. Para eso vamos a usar los editores de texto como vim, nano, emacs. Hay muchos para elegir. Después vamos a hablar al respecto.

Eliminando archivos

Si podemos crear... deberíamos poder eliminar también, ¿no? Sino no habrían recursos que aguanten. El comando de eliminación es básico y es universal para cualquier tipo de archivo. Tiene diferentes configuraciones según lo que estemos queriendo eliminar. Estamos hablando del comando rm. Veamos el siguiente ejemplo:

[vkmc@amaterasu linuxchix-taller]$ rm ejemplo-touch
[vkmc@amaterasu linuxchix-taller]$ ls -la
total 12
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:40 .
drwx--x---+ 25 vkmc vkmc 4096 Oct 12 22:32 ..

Acabamos de borrar el archivo que creamos en la sección anterior.

Ahora, ¿qué ocurre si queremos borrar un archivo que está siendo utilizado por algún proceso?

No recomendamos que lo hagan, pero el comando rm tiene el flag -f, que es force, que obliga a la eliminación del mismo.

También usaremos rm para eliminar directorios. Existe un comando rmdir que es más apropiado para el caso, pero hey, acuérdense que les dijimos que en Linux todo es un archivo y si podemos eliminar archivos con rm entonces también podemos eliminar directorios (la recíproca no es verdadera, si quieren crear directorios van a tener que usar mkdir ya lo vamos a ver). Lo que sí, tenemos que indicarle a mi comando rm que borre todos los archivos que estén adentro de ese archivo (era un directorio, así que posiblemente tenga muchos archivos dentro de si). Para eso, ejecutamos:

# rm -rf <ruta>
[vkmc@amaterasu ~]$ rm -rf linuxchix-taller/

CUIDADO. El comando rm -rf es muy peligroso. Imaginen si lo hacen en su directorio raiz, es decir /. rm -rf /. ¡Se quedan sin sistema operativo! O por lo menos, con un sistema operativo dañado. No lo hagan en sus casas (ni en ningún lado)

ACTIVIDAD. Creen un archivo prueba-taller-linuxchix y luego eliminenlo. Verifiquen que fue creado y que fue eliminado usando el comando ls (con los flags adecuados) visto en secciones anteriores.

Creando directorios

Como ya les dijimos anteriormente, existe el comando mkdir que tiene como único objetivo la creación de directorios.

Pueden crear uno, o más directorios, usando las configuraciones de permisos que ustedes quieran.

Por ejemplo:

vkmc@amaterasu ~]$ mkdir robotux-1 robotux-2 robotux-3
[vkmc@amaterasu ~]$ ls -la
total 172
drwx--x---+ 27 vkmc vkmc 4096 Oct 12 22:49 .
drwxr-xr-x. 4 root root 4096 Jul 3 19:24 ..
(...)
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:49 robotux-1
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:49 robotux-2
drwxrwxr-x. 2 vkmc vkmc 4096 Oct 12 22:49 robotux-3
(...)

Los permisos que les comentamos son muy importantes, se aplican tanto a archivos como a directorios, y vamos a dedicarle una sección (más adelante en la guía).

Eliminando directorios

Ya les contamos que pueden usar rm, pero por cuestiones de completitud les mostramos el comando rmdir. Es el complemento a mkdir, todos los comandos necesitan un amigo.

Todos necesitan un amigo

Bueno, rmdir simplemente funciona de la misma forma. Recibe una lista de directorios para eliminar y los elimina. Eliminemos esos directorios que creamos:

[vkmc@amaterasu ~]$ rmdir robotux-1 robotux-2 robotux-3

ACTIVIDAD. Creen tres directorios con el nombre robotux-1, robotux-2 y robotux-3. Verifiquen su creación con el comando ls (y los flags adecuados) que vimos en secciones anteriores. Eliminen estos tres directorios Verifiquen que fueron eliminados correctamente.