miércoles, 24 de mayo de 2017

15. Descripción de archivos y directorios


Los archivos se utilizan para almacenar datos como texto, gráficos y programas. Los directorios (AKA, "carpetas") se utilizan para proporcionar una estructura de organización jerárquica. Esta estructura es algo diferente de lo que podría estar acostumbrado a si ha trabajado previamente en sistemas Microsoft Windows.

En un sistema Windows, el nivel superior de la estructura de directorios se denomina Mi PC. Cada dispositivo físico (unidad de disco duro, unidad de DVD, unidad flash USB, unidad de red, etc.) aparece en Mi PC, cada uno asignado una letra de unidad, como C: o D :. Una representación visual de esta estructura:


Al igual que Windows, una estructura de directorios de Linux tiene un nivel superior, sin embargo, no se llama Mi PC, sino el directorio raíz y está simbolizado por el carácter /. También no hay unidades en Linux; Cada dispositivo físico es accesible bajo un directorio, no una letra de unidad. Una representación visual de una estructura típica de directorios de Linux:


Esta estructura de directorio es llamada el sistema de archivos por la mayoría de los usuarios de Linux.

Para ver el sistema de archivos raíz, escriba ls /:

sysadmin@localhost:~$ ls /                                            
bin   dev  home  lib    media  opt   root  sbin     selinux  sys  usr  
boot  etc  init  lib64  mnt    proc  run   sbin???  srv   tmp  var

Ruta de directorio

Usando el gráfico en la sección anterior como un punto de referencia, verá que hay un directorio llamado sound bajo un directorio llamado etc, que está en el directorio /. Una manera más fácil de decir esto, es referirse a la ruta.

Una ruta le permite especificar la ubicación exacta de un directorio. Para el directorio de sonido, la ruta sería /etc/sound. El primer carácter / representa el directorio raíz(root), mientras que cada carácter / se utiliza para separar los nombres de directorio.

Este tipo de ruta se denomina ruta absoluta. Con una ruta absoluta, siempre proporciona direcciones a un directorio (o un archivo) a partir de la parte superior de la estructura de directorios, el directorio raíz. Más adelante, se cubrirá un camino diferente llamado ruta relativa.

El siguiente gráfico muestra tres rutas absolutas adicionales:

Directorio Home

El directorio de inicio del término a menudo causa confusión a los usuarios principiantes de Linux. Para empezar, en la mayoría de las distribuciones de Linux hay un directorio llamado home bajo el directorio raíz: /home.

En este directorio /home habrá un directorio para cada usuario en el sistema. El nombre del directorio será el mismo que el nombre del usuario, por lo que un usuario llamado "bob" tendría un directorio home llamado /home/bob.

Su directorio home es un directorio muy importante. Para empezar, cuando abra un shell, debe colocarse automáticamente en su directorio de inicio, ya que aquí es donde va a hacer la mayor parte de su trabajo.

Además, su directorio de inicio es uno de los pocos directorios donde tiene el control total para crear y eliminar archivos y directorios adicionales. La mayoría de los otros directorios de un sistema de archivos Linux están protegidos con permisos de archivo, un tema que se tratará en detalle en un capítulo posterior.

En la mayoría de las distribuciones de Linux, los únicos usuarios que pueden acceder a los archivos de su directorio principal son usted y el administrador del sistema (el usuario root). Esto se puede cambiar utilizando permisos de archivo.

Su directorio home tiene incluso un símbolo especial que puede utilizar para representarlo: ~. Si su directorio home es /home/sysadmin, simplemente puede escribir ~ en la línea de comandos en lugar de /home/sysadmin. También puede referirse al directorio de inicio de otro usuario utilizando la notación ~user, donde user es el nombre de la cuenta de usuario cuyo directorio home al que desea hacer referencia. Por ejemplo, ~bob sería el mismo que /home/bob. Aquí, vamos a cambiar al directorio de inicio del usuario:

sysadmin@localhost:~$ cd ~                                             
sysadmin@localhost:~$ ls                                               
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  
Videos      
sysadmin@localhost:~$

Directorio actual

Su directorio actual es el directorio donde está trabajando actualmente en un terminal. Cuando abre un terminal por primera vez, el directorio actual debe ser su directorio personal, pero esto puede cambiar a medida que explora el sistema de archivos y cambia a otros directorios.

Mientras esté en un entorno de línea de comandos, puede determinar el directorio actual mediante el comando pwd:

sysadmin@localhost:~$ pwd                                             
/home/sysadmin                                                         
sysadmin@localhost:~$

Cambio de directorios

Si desea cambiar a un directorio diferente, utilice el comando cd (cambiar directorio). Por ejemplo, el siguiente comando cambiará el directorio actual a un directorio llamado /etc/sound/events:

sysadmin@localhost:~$ cd /etc/sound/events                                    
sysadmin@localhost:/etc/sound/events$
Tenga en cuenta que no hay salida si el comando cd tiene éxito.Si intenta cambiar a un directorio que no existe, recibirá un mensaje de error:

sysadmin@localhost:/etc/sound/events$ cd /etc/junk                           
-bash: cd: /etc/junk: No such file or directory                               
sysadmin@localhost:/etc/sound/events$
Si desea volver a su directorio de inicio, puede escribir el comando cd sin argumentos o utilizar el comando cd con el carácter ~ como argumento:

sysadmin@localhost:/etc/sound/events$ cd                                      
sysadmin@localhost:~$ pwd                                                     
/home/sysadmin                                                                
sysadmin@localhost:~$ cd /etc                                                 
sysadmin@localhost:/etc$ cd ~                                                 
sysadmin@localhost:~$ pwd                                                     
/home/sysadmin                                                                
sysadmin@localhost:~$

Nombres de ruta absolutos vs. relativos

Recuerde que una ruta de acceso es esencialmente una descripción de dónde se encuentra un archivo o directorio en el sistema de archivos. También puede considerar una ruta de acceso como direcciones que indican al sistema dónde encontrar un archivo o directorio. Por ejemplo, el comando cd /etc/perl/Net significa "cambiar al directorio Net, que encontrará en el directorio perl, que encontrará en el directorio etc, que encontrará en el directorio /".

sysadmin@localhost:~$ cd /etc/perl/Net                                 
sysadmin@localhost:/etc/perl/Net$ 
Sin embargo, ¿qué pasaría si estuviera en el directorio /etc/perl y quisiera ir al directorio /etc/perl/Net? Sería tedioso para escribir el camino completo para llegar a un directorio que es sólo un nivel por debajo de su ubicación actual. En una situación como esta, desea utilizar una ruta relativa:

sysadmin@localhost:/etc/perl$ cd Net                                    
sysadmin@localhost:/etc/perl/Net$ 
Una ruta relativa proporciona direcciones utilizando su ubicación actual como punto de referencia. Recuerde que esto es diferente de rutas absolutas, que siempre requieren que utilice el directorio raíz como un punto de referencia.

Hay una práctica técnica de ruta relativa que puede utilizar para subir un nivel en la estructura de directorios: el directorio .. Independientemente del directorio en el que se encuentre, .. siempre representa un directorio más alto que su directorio actual (con la excepción de cuando se encuentra en el directorio /):

sysadmin@localhost:/etc/perl/Net$ pwd                                 
/etc/perl/Net                                                          
sysadmin@localhost:/etc/perl/Net$ cd ..                                
sysadmin@localhost:/etc/perl$ pwd                                      
/etc/perl                                                              
sysadmin@localhost:/etc/perl$

Mientras que el doble punto (..) se utiliza para referirse al directorio por encima del directorio actual, el punto único (.) Se utiliza para referirse al directorio actual. Sería inútil que un administrador se mueva al directorio actual escribiendo cd . (Aunque en realidad funciona). Es más útil referirse a un elemento del directorio actual utilizando la anotación ./ Por ejemplo:

sysadmin@localhost:~$ pwd                                              
/home/sysadmin                                                         
sysadmin@localhost:~$ cd ./Downloads/                                  
sysadmin@localhost:~/Downloads$ pwd                                    
/home/sysadmin/Downloads                                               
sysadmin@localhost:~/Downloads$ cd ..                                  
sysadmin@localhost:~$ pwd                                              
/home/sysadmin                                                         
sysadmin@localhost:~$

Bibliografía

NDG Linux Essentials - Chapter 6 - Working with Files and Directories

No hay comentarios.:

Publicar un comentario