Unix / Linux - Gestión de directorios

En este capítulo, discutiremos en detalle sobre la administración de directorios en Unix.

Un directorio es un archivo cuyo trabajo individual es almacenar los nombres de los archivos y la información relacionada. Todos los archivos, ya sean ordinarios, especiales o de directorio, están contenidos en directorios.

Unix usa una estructura jerárquica para organizar archivos y directorios. Esta estructura se denomina a menudo árbol de directorios. El árbol tiene un único nodo raíz, el carácter de barra (/) y todos los demás directorios se encuentran debajo.

Directorio de inicio

El directorio en el que se encuentra cuando inicia sesión por primera vez se denomina directorio de inicio.

Hará gran parte de su trabajo en su directorio personal y en los subdirectorios que creará para organizar sus archivos.

Puede ingresar a su directorio de inicio en cualquier momento usando el siguiente comando:

$cd ~
$

aquí ~indica el directorio de inicio. Suponga que tiene que ir al directorio de inicio de cualquier otro usuario, use el siguiente comando:

$cd ~username
$

Para ir a su último directorio, puede usar el siguiente comando:

$cd -
$

Nombres de ruta absolutos / relativos

Los directorios se organizan en una jerarquía con la raíz (/) en la parte superior. La posición de cualquier archivo dentro de la jerarquía se describe mediante su nombre de ruta.

Los elementos de un nombre de ruta están separados por /. Un nombre de ruta es absoluto, si se describe en relación con la raíz, por lo que los nombres de ruta absolutos siempre comienzan con /.

A continuación se muestran algunos ejemplos de nombres de archivo absolutos.

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3

Un nombre de ruta también puede ser relativo a su directorio de trabajo actual. Los nombres de ruta relativos nunca comienzan con /. En relación con el directorio de inicio del usuario amrood, algunos nombres de ruta pueden verse así:

chem/notes
personal/res

Para determinar dónde se encuentra dentro de la jerarquía del sistema de archivos en cualquier momento, ingrese el comando pwd para imprimir el directorio de trabajo actual -

$pwd
/user0/home/amrood

$

Listado de directorios

Para listar los archivos en un directorio, puede usar la siguiente sintaxis:

$ls dirname

A continuación se muestra el ejemplo para enumerar todos los archivos contenidos en /usr/local directorio -

$ls /usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

Creando Directorios

Ahora entenderemos cómo crear directorios. Los directorios se crean con el siguiente comando:

$mkdir dirname

Aquí, directorio es el nombre de ruta absoluto o relativo del directorio que desea crear. Por ejemplo, el comando -

$mkdir mydir
$

Crea el directorio mydiren el directorio actual. Aquí hay otro ejemplo:

$mkdir /tmp/test-dir
$

Este comando crea el directorio test-dir en el /tmpdirectorio. losmkdir El comando no produce salida si crea con éxito el directorio solicitado.

Si da más de un directorio en la línea de comando, mkdircrea cada uno de los directorios. Por ejemplo,

$mkdir docs pub
$

Crea los directorios docs y pub en el directorio actual.

Creación de directorios principales

Ahora entenderemos cómo crear directorios principales. A veces, cuando desea crear un directorio, es posible que su directorio o directorios principales no existan. En este caso,mkdir emite un mensaje de error de la siguiente manera:

$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test"; 
No such file or directory
$

En tales casos, puede especificar el -p opción a la mkdirmando. Crea todos los directorios necesarios para ti. Por ejemplo

$mkdir -p /tmp/amrood/test
$

El comando anterior crea todos los directorios principales necesarios.

Eliminar directorios

Los directorios se pueden eliminar usando el rmdir comando de la siguiente manera:

$rmdir dirname
$

Note - Para eliminar un directorio, asegúrese de que esté vacío, lo que significa que no debe haber ningún archivo o subdirectorio dentro de este directorio.

Puede eliminar varios directorios a la vez de la siguiente manera:

$rmdir dirname1 dirname2 dirname3
$

El comando anterior elimina los directorios dirname1, dirname2 y dirname3, si están vacíos. losrmdir El comando no produce salida si tiene éxito.

Cambio de directorios

Puedes usar el cdcomando para hacer más que simplemente cambiar a un directorio de inicio. Puede usarlo para cambiar a cualquier directorio especificando una ruta de acceso absoluta o relativa válida. La sintaxis es la siguiente:

$cd dirname
$

Aquí, dirnamees el nombre del directorio al que desea cambiar. Por ejemplo, el comando -

$cd /usr/local/bin
$

Cambios en el directorio /usr/local/bin. Desde este directorio, puedecd al directorio /usr/home/amrood usando la siguiente ruta relativa -

$cd ../../home/amrood
$

Cambio de nombre de directorios

los mv (move)El comando también se puede utilizar para cambiar el nombre de un directorio. La sintaxis es la siguiente:

$mv olddir newdir
$

Puede cambiar el nombre de un directorio mydir a yourdir como sigue -

$mv mydir yourdir
$

Los directorios. (punto) y .. (punto punto)

los filename .(punto) representa el directorio de trabajo actual; y elfilename .. (punto punto) representa el directorio un nivel por encima del directorio de trabajo actual, a menudo denominado directorio padre.

Si ingresamos el comando para mostrar una lista de los directorios / archivos de trabajo actuales y usamos el -a option para listar todos los archivos y el -l option para proporcionar la lista larga, recibiremos el siguiente resultado.

$ls -la
drwxrwxr-x    4    teacher   class   2048  Jul 16 17.56 .
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..
----------    1    teacher   class   4210  May 1 08:27 .profile
-rwxr-xr-x    1    teacher   class   1948  May 12 13:42 memo
$