004. Archivos y directorios

004. Archivos y directorios 4.1 Creando directorios 4.2 Visualizando 4.3 Diferentes nombres para un mismo archivo 4.1 Creando directorios. Para crear

4 downloads 177 Views 121KB Size

Recommend Stories


Archivos, carpetas y discos Archivos
Archivos, carpetas y discos Archivos El disco duro de un ordenador o la memoria de un Smartphone almacenan miles de archivos. Y estos archivos son muy

GESTIÓN DE FICHEROS Y DIRECTORIOS EN LINUX
GESTIÓN DE FICHEROS Y DIRECTORIOS EN LINUX 1   1.-­‐Organización  de  la  información  en  Linux  .................................................

Story Transcript

004. Archivos y directorios 4.1 Creando directorios 4.2 Visualizando 4.3 Diferentes nombres para un mismo archivo

4.1 Creando directorios. Para crear un directorio vamos a utilizar la orden mkdir. $ mkdir Si no indicamos el nombre del directorio que queremos crear no funcionará. Vamos a crear un directorio llamado personajes en nuestro home. En mi caso en /home/fanta/ $ mkdir personajes Una vez creado el directorio personajes vamos a entrar usando cd. $ cd personajes Hemos entrado al directorio personajes y ahora vamos a crear 2 directorios. Uno llamado Stallman y otro llamado Linus (sin la x). $ mkdir Stallman $ mkdir Linus Hemos creado esos 2 directorios y ahora vamos a crear otros 2 llamados Jackson y Anderson pero vamos a hacerlo del tirón: $ mkdir Jackson Anderson Si separamos con un espacio los nombres de los directorios podemos indicar la creación de varios “del tirón”. Como ya conocemos la orden pwd podemos saber en todo momento donde estamos. Ahora estamos dentro del directorio personajes y es el momento de crear archivos y aprender a visualizar directorios y su contenido.

4.2 Creando directorios. Estamos dentro del directorio personajes. Vamos a acceder al directorio Stallman así: $ cd Stallman Y una vez dentro vamos a crear varios archivos sin nada en su interior. Es el momento de usar

touch. $ touch archivo1.txt Eso generará un fichero llamado archivo1.txt sin nada en su interior. Touch no se usa solamente para crear archivos pero eso lo veremos luego. Ahora vamos a crear 5 archivos llamados: archivo2.txt archivo3.txt archivo4.txt archivo5.txt $ touch archivo2.txt archivo3.txt archivo4.txt archivo5.txt Como puede verse se puede hacer de uno en uno o separando los nombres de archivo con un espacio para hacerlo de golpe. Ahora es cuando vamos a ver como visualizar los archivos que existen dentro de un directorio. No solamente archivos, veremos que podemos visualizar también cualquier directorio. $ ls La salida del comando ls mostrará todos los 5 archivos. Mostrará solamente los nombres. Como sabemos ya crear directorios vamos a crear también un directorio llamado imagenes. $ mkdir imagenes Eso generará un directorio llamado imagenes. Si utilizamos ahora el comando ls vamos a ver que existen los 5 ficheros y también el directorio imagenes. Dependiendo del terminal que estemos usando vamos incluso a ver en diferente color lo que es un archivo y un directorio.

De todos modos es posible que no sea así y aparte no estamos viendo nada relativo a cada uno de los archivos y directorios, es decir, solo conocemos usando ls de esta forma el nombre. Para ver más información podemos usar argumentos. $ ls -l Tras escribir ls metemos un espacio y luego -l (un guión y una ele minúscula). Ahora vamos a ver que sale mucha más información. No es el momento de entender ahora mismo todo lo que sale pero si al menos algunas columnas. De la primera columna hemos de comentar y saber que eso raro que se ve son los permisos de ese archivo. No hace falta que lo entendamos pero si hemos de conocer que si comienza con una d se trata de un directorio. Tenemos 5 archivos y un directorio por tanto y aparte de eso sabemos la fecha en la que han sido creados esos archivos así como el tamaño que tienen. Los archivos creados con touch ocupan 0

mientras que los directorios ocuparán 4096 por defecto. La realidad es que todo ocupa incluso los nombres. Esto depende del sistema de ficheros que estemos usando. El comando ls y otra serie de comandos que veremos ahora después no tienen en cuenta el tamaño de los nombres de archivo pero esto en realidad esta ocupando espacio. En GNU/linux puedes instalar el sistema en muchísimos sistemas de ficheros pero lo normal será usar a nivel de usuario sistemas de ficheros ext2 ext3 ext4 mientras que por ejemplo en sistemas operativos como windows el sistema de ficheros empleado será NTFS. Lo que importa es conocer que antes de que windows usase NTFS se usaba FAT8, FAT16 y FAT32. En sistemas operativos como MSdos y los primeros Windows los nombres de archivos solamente podían tener 8 caracteres + 3. Eso es lo que se llamaba el 8.3 y significaba que el archivo solamente podía tener 8 caracteres para el nombre y 3 para la extensión. En GNU/Linux son 255 bytes lo que puede ocupar de máximo el nombre y pese a que comandos como ls y otros no muestran lo que realmente esta ocupando el nombre hemos de saber que todo ocupa espacio. Esto nos sirve para conocer el limite del nombre de archivo que podemos darle. ext2 ext3 ext3cow ext4 FAT32 NTFS

255 255 255 255 8.3 255

bytes bytes bytes bytes (255 UCS-2 code units with VFAT LFNs)[22] characters

Para probarlo vamos a tratar de crear un archivo con touch con un nombre muy largo. Ejemplo: $ touch 01234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789.txt Ese nombre de fichero es demasiado largo y por tanto no se va a poder crear. Nos avisará de que el nombre del archivo es demasiado largo (File name too long). Hemos por tanto de tener en cuenta que el limite son 255 caracteres. Realizamos de nuevo un ls con la opción esta vez de -la $ ls -la Esta vez vemos que salen más directorios. Los reconocemos ya que empiezan con la letra d en la columna 1. Esos nuevos directorios siempre están allí y se llaman . y .. Nos vale saber que cuando usamos cd .. cambiamos al directorio inmediatamente superior, es decir, si queremos salir del directorio Stallman en el que nos encontramos podemos usar cd .. pero no vamos a hacerlo. Conocer esto nos sirve para saber que . indica el directorio actual y que .. indicará

el directorio inmediatamente superior. Lo vamos a ver y entender ahora después en la siguiente sección (4.3) con claridad. Ahora que sabemos esto vamos a probar diferentes argumentos de ls que nos sean de utilidad. $ ls -S Muestra la salida ordenando por tamaño. Veremos los archivos o directorios de mayor tamaño antes. $ ls -Sr Eso ordenará por tamaño pero nos lo mostrará a la inversa. Primero los archivos/directorios de menor tamaño. Existen muchas más opciones documentadas si usamos el argumento –help $ ls --help

4.3 Diferentes nombres para un mismo archivo En GNU/Linux vamos a poder darle más de un nombre a un mismo archivo. En la vida real es posible que una persona tenga diferentes nombres. La gente a Manuel lo puede llamar Lolo, Manu, Manolo, … y se refieren a la misma persona. Cada archivo en el sistema está representado por un inodo. Ese inodo es un númerito. Podemos ver el inodo de un archivo o directorio usando ls. Así: $ ls -li Esos numeritos que salen en la primera columna son bloques que almacenan información sobre los archivos/directorios del sistema. De esa forma a cada inodo se le asigna un nombre. Ha de quedar claro por tanto que la información relacionada con el archivo se almacena en un bloque al que se puede acceder gracias a ese numerito. Este bloque al que llamamos inodo contiene esta información: • El número de inodo que identifica al archivo dentro del sistema de archivos • La longitud del archivo en bytes. • El identificador de usuario del creador o un propietario del archivo con derechos diferenciados • El identificador de grupo de un grupo de usuarios con derechos diferenciados • El modo de acceso: capacidad de leer, escribir, y ejecutar el archivo por parte del propietario, del grupo y de otros usuarios. • Las marcas de tiempo con las fechas de última modificación (mtime), acceso (atime) y de alteración del propio inodo (ctime). • El número de enlaces, esto es, el número de nombres de este inodo.

Un inodo no es más que un bloque que almacena información de los archivos, de esta manera a cada inodo podemos asociarle un nombre. A simple vista pareciera que a un mismo archivo no podemos asociarle varios nombres, pero gracias a los enlaces esto es posible. Nos ha de quedar por tanto claro antes de seguir lo siguiente: - Un archivo puede tener muchos nombres y seguir siendo el mismo archivo. - La información relativa al archivo estará en el inode. - Los nombres del archivo y las propiedades de ese archivo son algo diferente. - Los nombres de archivos tienen un limite de 255 bytes.

I-node no lo ha inventado Apple. Un nombre como cualquier otro. Steve Jobs no inventó nada en su vida y desde luego no le puso nombre a esto. El Dr. Dennis Ritchie explicaba lo siguiente referente al nombre de inode:

Realmente, tampoco lo sé. Era simplemente el nombre que comenzamos a utilizar. "Índice" es lo mejor que se me ocurre, debido a la estructura algo inusual de un sistema de ficheros que almacenaba la información del acceso a los archivos como una lista plana en disco, dejando al margen toda la información jerárquica de los directorios. Así el número "i'" es un índice sobre la lista, el nodo "i" es el elemento seleccionado de la lista. (En la primera edición del manual se empleó la notación "i-nodo"; el guion fue desapareciendo poco a poco).

Para entender como asignarle más de un nombre a un mismo archivo vamos a usar el comando ln $ ln Escrito sin argumentos no hace nada. El programa ln es el que invocaremos escribiendo ln y nos servirá para crear enlaces. No vamos a profundizar sobre los tipos de enlaces existentes pero cualquiera puede buscar información sobre enlaces en GNU/Linux y ampliar. Los enlaces son como accesos directos en windows pese a no ser exactamente lo mismo. Antes hemos comentado que el bloque inode de un archivo contiene información sobre cuantos enlaces tiene ese archivo. Eso son el número de enlaces por lo que si escribimos lo siguiente veremos que no tienen nada más que 1. $ ls -li Los archivos llamado archivo1.txt, archivo2.txt, … solamente tienen un enlace. Esto lo veremos en la tercera columna si hemos escrito esa orden. Los directorios los creábamos con mkdir y tendríamos que tener por tanto creado uno llamado imagenes. Veremos que ese no tiene un 1, tiene un 2. Para entender esto primero vamos a crear un enlace al archivo llamado archivo1.txt de esta forma: $ ln archivo1.txt mierda.txt Ahora vamos a hacer ls -li para ver que el número ahora es 2 y vamos a crear unos cuantos enlaces más con diferentes nombres para comprobar que el número va creciendo. El motivo por el que los directorios tienen un 2 y un 1 es por que están enlazados por su propio nombre y por el directorio “especial” del punto: . Cuando hacemos un ls -la veremos que aparecen los directorios . y .. y habíamos dicho que el directorio . nos enlaza al directorio actual y que el directorio .. nos enlaza al directorio inmediatamente superior (nos saca del actual). El contenido de archivo1.txt y mierda.txt será el mismo y vamos a poder acceder al mismo archivo usando los diferentes nombres.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.