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
$