El sistema de archivos de Linux es un árbol jerárquico, con el directorio de nivel superior llamado /, o una raíz directorio. Cualquier otro directorio es un subdirectorio que se encuentra debajo de este directorio superior. La mayor parte de la estructura de directorios de las distribuciones de Linux sigue las pautas establecidas por el Estándar de jerarquía del sistema de archivos o FHS , creado en 1994 para evitar la confusión entre diferentes diseños de directorios en diferentes distribuciones.
En Microsoft Windows, tenemos discos que se denominan C:, D: , y así sucesivamente, y no hay ningún directorio encima de ellos. En Linux, incluso si tenemos unidades diferentes, todavía tenemos un directorio raíz. Discos adicionales (o más generales:dispositivos ) se puede adjuntar o montar en algunos de sus subdirectorios.
Por ejemplo, podemos agregar un disco, formatearlo en consecuencia y montarlo en cualquier directorio que hayamos creado, por ejemplo, /newdisk . Sigue siendo un subdirectorio de un directorio raíz.
No debemos confundir el directorio raíz con /root/ directorio, que es la carpeta de inicio del usuario raíz .
En Aprender Linux de hoy artículo, le enseñaremos cómo crear, eliminar y administrar los directorios usando líneas de comando desde la Terminal de Linux. Se aplica a todas las distribuciones de Linux. Siempre existe la forma de GUI en Linux también, utilizando el menú contextual del botón derecho del ratón desde el entorno de escritorio, que es sencillo. Esta guía es para hacer las cosas desde la línea de comandos.
Creación de directorios
La forma más sencilla de crear un directorio en el directorio actual es usando mkdir comando:
[root@fosslinux ~]# mkdir foss
Acabamos de crear una carpeta llamada foss en nuestro directorio actual.
También podemos especificar un directorio usando una ruta absoluta, por ejemplo, para crear un directorio llamado foss1 en tmp / directorio, usaríamos:
[root@fosslinux ~]# mkdir /tmp/foss1
Si necesitamos crear varios directorios con el mismo comando, también podemos hacerlo, el siguiente comando creará los directorios foss2 y foss3 al mismo tiempo, en nuestro directorio actual.
[root@fosslinux ~]# mkdir foss2 foss3
También hay un pequeño truco, llamado expansión de llaves, que puede ayudarlo a crear varios directorios siguiendo un patrón. Lo siguiente creará directorios foss4, foss5, fossa y fossb .
[root@fosslinux ~]# mkdir foss{4,5,a,b}
Incluso puede especificar un rango entre llaves, como el siguiente comando, creando foss6 –foss10 directorios.
[root@fosslinux ~]# mkdir foss{6..10}
El rango también se aplica a las letras, así que esto también funcionará:
[root@fosslinux ~]# mkdir foss{d..f}
Te dije que podríamos usar rutas absolutas al crear directorios, pero ¿qué pasa si falta un enlace? Por ejemplo, queremos crear una carpeta dentro de una carpeta que no existe, llamada missing. ?
[root@fosslinux ~]# mkdir missing/foss11 mkdir: cannot create directory `missing/foss11': No such file or directory
Con razón informa un error. Afortunadamente, hay una opción para mkdir , eso creará ese directorio faltante, y ese es -p como en padre . Intentémoslo de nuevo:
[root@fosslinux ~]# mkdir -p missing/foss11 [root@fosslinux ~]# ls missing/foss11
Crea no solo uno, sino múltiples directorios faltantes si es necesario. Eso es todo lo que necesita saber sobre la creación de directorios en Linux.
Eliminación de directorios
Hemos hecho un gran lío y tenemos que eliminar algunos de los foss directorios que creamos.
Usando el habitual rm que usamos borrar campos nos traerá lo siguiente:
[root@fosslinux ~]# rm foss rm: cannot remove `foss': Is a directory
Para eliminarlo, necesitamos usar -r interruptor, r como en recursivo . Si lo intentamos, tendremos éxito.
[root@fosslinux ~]# rm -r foss/ rm: remove directory `foss'? Y
Puede ver que el sistema nos ha pedido que confirmemos la eliminación.
Hemos eliminado con éxito un directorio vacío. Si tiene algún contenido, archivos o directorios, esta es una historia diferente. Creemos un archivo y un directorio dentro de foss1 directorio.
[root@fosslinux ~]# mkdir foss1/test_dir [root@fosslinux ~]# touch foss1/test_file
Este es un ejemplo básico, pero el árbol de directorios que estamos tratando de eliminar puede contener cientos o miles de archivos o carpetas.
Si necesitamos eliminarlos todos, sin pasar todo el día confirmándolo, usamos -f, como en fuerza , parámetro.
[root@fosslinux ~]# rm -rf foss1/
Al eliminar un directorio, puede o no tener una barra inclinada ('/') al final del nombre del directorio. Te propongo que no uses slash. ¿Por qué?
Con rm -rf , eliminará el siguiente directorio o directorios. Si escribe mal el comando y pone un espacio extra entre foss1 y '/', eliminará ambos foss1 Y '/', una raíz directorio, destruyendo todo su sistema de archivos Linux sin la capacidad de restaurarlo (la mayoría de las veces).
Este es un comando de muerte. Así que, ¡ten mucho cuidado! Usted ha sido advertido. Un gran poder conlleva una gran responsabilidad, como dicen.
Mover directorios
A veces, necesitamos mover directorios completos a otro directorio. Si, por ejemplo, necesitamos mover todo el directorio foss8 al /tmp /directorio, podemos hacerlo con:
[root@fosslinux ~]# mv foss8 /tmp/
Debería ser suficiente para moverse; no necesitamos especificar el foss8 de nuevo después de /tmp /.
Te diste cuenta de que no necesitamos especificar -r o un argumento similar, automáticamente mueve todo el árbol de directorios.
Pero todavía hay una opción que es similar a rm, y es -f.
Tenemos un foss8 directorio en nuestro /tmp / directorio, veamos qué sucede cuando recreamos foss8 e intente moverlo a /tmp / de nuevo.
[root@fosslinux ~]# mkdir foss8 [root@fosslinux ~]# mv foss8 /tmp/ mv: overwrite `/tmp/foss8'?
Respuesta 'n ' o presione CTRL+C para escapar del comando.
Ves que nos pide sobrescribir el directorio existente, aunque ambos están vacíos. Para evitar esto, use -f opción para forzar la sobrescritura.
[root@fosslinux ~]# mv -f foss8 /tmp/
Renombrar directorios
Probablemente ya sepa que no hay un comando separado para cambiar el nombre de los archivos en Linux. Dado que los directorios en Linux son solo un tipo especial de archivo, el mismo principio se aplica también a los directorios. El cambio de nombre se realiza con mv comando, seguido del directorio de origen y un nombre de directorio de destino. Entonces, si necesitamos cambiar el nombre del directorio foss10 a foss101 , emitiremos el siguiente comando:
[root@fosslinux ~]# mv foss10 foss101
Limpiar el desorden
Ahora, para limpiar todo lo que hemos creado en un solo comando, use * para especificar múltiples directorios comenzando con foss , y también en /tmp / directorio.
[root@fosslinux ~]# rm -rf foss* /tmp/foss*