23
                   Academia de Software Libre                                         Curso:GNU/Linux Unidad III: Sistema de Archivos Archivos y Directorios  Un archivo es un conjunto de información al que se le ha asignado un nombre. Por ejemplo, un documento, una imagen o un programa. Esencialmente, cualquier cosa salvada en disco es guardada como un archivo individual. Un directorio es una colección de archivos que sirve para ordenarlos o agruparlos.

Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

  • Upload
    vukhue

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Curso:GNU/Linux Unidad III: Sistema de Archivos

Archivos y Directorios  

Un archivo es un conjunto de información al que se le ha asignado un nombre. Por ejemplo, undocumento, una imagen o un programa.

Esencialmente, cualquier cosa salvada en disco es guardada como un archivo individual.

Un directorio es una colección de archivos que sirve para ordenarlos o agruparlos.

Page 2: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Los directorios además de archivos pueden contener otros directorios, estos se conectan unos a otros ycrean una estructura de árbol.

En el directorio “raíz” es donde comienza toda la estructura jerárquica del sistema operativo Linux, estedirectorio se denota por la barra (/).

No debemos confundir el concepto de directorio con el de partición. Ambos permiten organizar lainformación dentro de un disco duro, pero con ciertas diferencias entre ellos:  

Las Particiones Los Directorios

Son divisiones de tamaño fijo dentro del disco duro. Son divisiones de tamaño variable dentro de una partición .

Su información la almacenan de forma contigua dentro deldisco duro.

Generalmente, almacenan los datos esparcidos por toda unapartición.

En cada partición del disco se puede tener un sistema dearchivos distinto.

Todos los directorios dentro de la partición usan el mismosistema de archivos.

Page 3: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Los archivos y directorios tienen algunas propiedades que los caracterizan, tales como:.......................................El nombre,.......................................El propietario,.......................................La fecha y hora en que se modificaron por última vez,.......................................El tamaño (generalmente expresado en bytes) y.......................................Los permisos.

Los permisos permiten o restringen el acceso tanto a un archivo como a un directorio. Estos indicanquienes pueden acceder a un archivo y que pueden hacer con él.

Los nombres de los archivos y directorios son un aspecto importante dentro del sistema operativo Linux.A través de los nombres se puede acceder a un directorio y al contenido de los archivos dentro de él. Losnombres de los directorios nos permiten movernos dentro del árbol de directorios del sistema de archivos,usando los caminos. Estos conceptos se describen a continuación.

Page 4: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Árbol de Directorios

La mayoría de los archivos en Linux sigue una distribución estándar, que permite localizarlos fácilmente.

Esta distribución es conocida como árbol de directorios.

El árbol de directorios comienza por el directorio raíz (/) y por debajo de él se ubican otros directoriosimportantes que pueden contener otros archivos o directorios.

Estos son los que permiten mantener y ejecutar el sistema.

Entre los directorios más comunes del árbol de directorios de Linux, tenemos:

Directorio Función

/bin Contiene importantes programas ejecutables del sistema (archivos binarios). /dev Guarda los archivos de los dispositivos del sistema, tales como: unidad de disco duro, unidad de diquetes,tarjetas de sonido o impresoras. /etc Contiene los archivos de configuración del sistema.

Page 5: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

/home Almacena los directorios y archivos de los usuarios regulares del sistema. /lib Dentro de él estan las librerias necesarias para ejecutar los programas. /root Almacena los archivos del superusuario del sistema. /tmp Contiene información temporal. Información que no necesita mantenerse en el sistema por mucho tiempo./usr El directorio con más contenido. Usualmente incluye programas, documentación y código fuente. /var En él se guardan archivos cuyo contenido cambia con frecuencia, es decir, archivos variables.

Page 6: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Caminos (Path)

Los archivos se pueden referenciar de acuerdo a su ubicación en el árbol de directorios. Indicando lasecuencia de directorios que se deben pasar para llegar hasta donde está el archivo.

Esta secuencia es conocida como ruta de acceso o camino (en inglés, path).

El nombre de la ruta de acceso es considerado el “nombre completo” que se le da a un archivo odirectorio.

En algunas ocasiones, sólo con el nombre no será suficiente para localizar un archivo o directorio,necesitamos el nombre de la ruta.

Page 7: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Nombres de rutas o caminos

En cualquier momento un usuario siempre se ubica en un determinado directorio y, a menos que seindique lo contrario, todos los archivos se buscan o se crean dentro de él. Este directorio es conocidocomo directorio de trabajo actual y se representa por el carácter punto “.”. Cuando un usuario inicia susesión en Linux, el directorio de trabajo actual siempre es su directorio personal (/home/usuario).

El directorio de trabajo actual es considerado un punto de referencia, en la construcción de los nombresde rutas o caminos. Con respecto a este directorio, los nombres de ruta pueden ser:

Page 8: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Operaciones sobre archivos y directorios

Los archivos y directorios dentro del sistema operativo Linux, son susceptibles a operaciones de:Creación, Consulta, Copiado, Borrado, Renombrado y Movimiento

Page 9: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Las siguientes lecciones describen cómo manipular los archivos a través de la interfaz de línea decomando.

Pero todas estas operaciones también las podemos ejecutar intuitivamente con la interfaz gráfica.

Para ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus. Estosadministradores se describen en la Unidad 4 de este curso.

Crear (touch, mkdir) touch: Los archivos se pueden crear a través de aplicaciones (como editores de texto) o usando comandoscomo éste.

El comando touch crea un archivo vacío al que se le puede agregar texto o datos. Si el archivo ya existeno lo sobrescribe.

La sintaxis del comando touch es: touch [opcion(es)] nombre_archivo(s)

Para crear un nuevo directorio a través del shell, se utiliza el comando mkdir.

mkdir: toma uno o más nombres como argumento y crea directorios con esos nombres. Permite utilizarnombres de rutas para los directorios. Es particularmente útil a la hora de organizar los archivos delsistema.

La sintaxis del comando mkdir es: mkdir [opcion(es)] nombre_directorio(s)

Los directorios creados con el comando mkdir son directorios vacíos.

Page 10: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Copiar (cp)

El comando cp se usa para realizar una copia de un archivo. Generalmente, se utiliza cuando vamos amodificar un archivo y queremos respaldarlo o cuando deseamos tener una copia exacta de un archivo enotro directorio.

La sintaxis del comando cp es la siguiente: cp [opcion(es)] archivo_origen destino

Este comando necesita de dos argumentos.

Primer argumento : el nombre del archivo que se desea copiar, el que ya existe,

Segundo argumento : corresponde al destino. En caso de ser un nombre de archivo, este nombreindicará como se llamará el “archivo copia” y éste se creará dentro del mismo directorio. Si el destinoespecifica una ruta, se creará un archivo con el mismo nombre del archivo origen, en el directorioindicado.

Page 11: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Mover y renombrar (mv)El comando mv se puede utilizar con dos propósitos:

............................. Cambiar el nombre de un archivo o directorio o

............................. Mover archivos de un directorio a otro.

Dependiendo de su uso, la sintaxis del comando varía:

Para renombrar la sintaxis es: mv [opcion(es)] nombre1 nombre2

....... Para mover el formato usado es: mv [opcion(es)] nombre(s) directorio

Sólo se puede mover y renombrar a la vez, cuando el comando mv se usa con un solo archivo.

Para hacerlo el primer argumento debe ser el nombre actual del archivo y el segundo debe ser eldirectorio destino seguido del nuevo nombre del archivo.

Por ejemplo, si queremos mover el archivo propuesta al directorio cursoLinux , pero deseamos llamarlopropuestaCursoLinux , el comando que debemos usar es el siguiente:

[carmen@localhost cursos]$ mv propuesta cursoLinux/propuestaCursoLinux

Page 12: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Las opciones principales del comando mv son:

-i pide confirmación antes de sobreescribir un archivo cuando mueve los archivos de undirectorio a otro. Ayuda a prevenir errores.

-f sobreescribe los archivos en el destino sin pedir confirmación al usuario.

-v Muestra en pantalla información sobre los archivos que están siendo movidos.

Eliminar (rm, rmdir)

A medida que se utiliza el sistema, el número de archivos que se crea aumenta muy fácilmente yterminamos llenando nuestro disco duro con mucha información, que en algunos casos no necesitamos.Para liberar espacio en el disco debemos eliminar archivos y directorios.

Con los comandos rm y rmdir podemos hacerlo.

rm El comando rm permite borrar tanto archivos como directorios. Pero debe usarse con precauciónporque es irrevocable. Una vez que eliminemos un archivo o directorio con rm no podremos restaurarlo.

Su sintaxis es: rm [opcion(es)] nombre(s)

rmdir El comando rmdir solamente sirve para eliminar directorios vacíos. Es equivalente a utilizar elcomando rm con la opción -r.

Su sintaxis es: rmdir [opcion(es)] directorio(s)

Page 13: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Comandos útiles para el manejo de archivos

Después de crear los archivos o directorios, a menudo cualquier usuario necesita manipular lainformación del sistema.

Para hacerlo Linux dispone de muchos comandos flexibles que facilitan la gestión típica de archivos ydirectorios. En este apartado trataremos los siguientes comandos:

Comando pwd

El comando pwd muestra el nombre del directorio de trabajo actual. Es útil cuando navegamos a travésdel árbol de directorios y queremos saber exactamente dónde estamos.

Este comando no incluye opciones, ni argumentos.

La sintaxis del comando es la siguiente: pwd

Page 14: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Comando ls

El comando ls se usa para listar los nombres de archivos y directorios. Es un comando esencial para laadministración de archivos que comprende muchas opciones.

La sintaxis del comando es: ls [opcion(es)] [directorio]

Entre las opciones más comunes tenemos:

Page 15: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

-l muestra una lista detallada, con las propiedades y atributos de los archivos ydirectorios.

-a despliega por pantalla los archivos ocultos dentro de un directorio. Los nombresde los archivos ocultos siempre comienzan con un punto, por ejemplo: .bashprofile, .nautilus, etc.

-s incluye en la lista el tamaño de los archivos expresados en unidades de 512 bytes.

-t muestra una lista de los archivos en orden cronológico.

-help : muestra todas las opciones y argumentos disponibles para el comando. Si no se le especifica ningún directorio, el comando ls mostrará el contenido del directorio de trabajoactual.

Comando cd

cd sirve para cambiarnos de directorio. Este comando nos permite navegar todo el árbol de directorios delsistema.

La sintaxis del comando es la siguiente: cd [nombre_directorio]

El nombre del directorio puede especificarse con nombres de rutas absolutos o relativos, o a través desímbolos especiales, como:

Page 16: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

El punto punto (..), sirve para subir un nivel en la jerarquía de directorios, nos cambia al padre deldirectorio actual

El tilde (~) : nos mueve al directorio personal del usuario (/home/usuario)

La barra inclinada (/) nos mueve hasta el directorio raíz del sistema.

Comando cat

Es un comando muy versátil que sirve para visualizar y concatenar archivos. Como visualizadordespliega todo el contenido de un archivo en la pantalla. Como concatenador permite agrupar variosarchivos. Es útil cuando necesitamos ver rápidamente que contiene un archivo de texto o para combinararchivos en uno solo.

La sintaxis del comando es: cat [opcion(es)] archivo [archivo2]...[archivon]

Page 17: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Comando more

También se usa para visualizar el contenido de un archivo de texto en la pantalla.

Si el archivo es grande es mejor emitir el comando more y utilizar la barra espaciadora para avanzar porel archivo.

La sintaxis del comando es la siguiente: more [opciones] archivo [archivo2]... [archivon]}

Comando head y tail También son comandos para visualizar archivos, pero muestran sólo un conjunto de líneas.

Con el comando head se muestran las primeras líneas del archivo.

Con el comando tail se despliegan las últimas.

Por defecto, muestran las 10 primeras o las 10 últimas líneas respectivamente. Pero a través de lasopciones podemos indicarle que muestre un número diferente de líneas.

La sintaxis para head es: head [opcion(es)] archivoLa sintaxis para tail es: tail [opcion(es)] archivo

Page 18: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Actividades

Dada la siguiente estructura de archivos, responda los siguientes ítems:

Page 19: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

1. Escriba el nombre de ruta absoluto para el directorio src dentro de usr.

usr/srcsrc/usr/src

2. Escriba el nombre de ruta absoluto para el archivo martes.txt

/homero/informes/martes.txt/home/homero/informes/martes.txt home/homero/informes/martes.txt

3. Escriba el nombre de ruta relativo al directorio informes dado que está trabajando en eldirectorio home

/home/homero/informeshomero/informes /homero/informes

Page 20: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

4. Escriba el nombre de ruta relativo al directorio docs dado que está trabajando en el directorio /(raíz)

home/homero/docs /home/homero/docshomero/docs

5.- Te invito a realizar la siguiente actividad. Seleccione la respuesta correcta.

● Crea un archivo vacío al que se le puede agregar texto o datos. Si el archivo ya existe no losobrescribe

● Se usa para realizar una copia de un archivo

● Toma uno o más nombres como argumento y crea directorios con esos nombres. Permite utilizarnombres de rutas para los directorios.

● Permite borrar tanto archivos como directorios. Este comando acepta cualquier número denombres de archivos o de directorios, por lo tanto podemos especificar varios y eliminarlossimultáneamente

Page 21: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

6.- Seleccione la respuesta correcta.

● Muestra el nombre del directorio de trabajo actual. Es útil cuando navegamos

Es un comando esencial para la administración de archivos que comprende muchas opciones.

● Sirve para cambiarnos de directorio.

● Este comando nos permite navegar todo el árbol de directorios del sistema

● Como visualizador despliega todo el contenido de un archivo en la pantalla. Como concatenadorpermite agrupar varios archivos. Es útil cuando necesitamos ver rápidamente que contiene un archivode texto o para combinar archivos en uno solo.

● Se usa cuando el archivo es grande, es recomendableemitir el comando more y utilizar la barraespaciadora para avanzar por el archivo. Se usa para visualizar el contenido de un archivo de texto en lapantalla.

Page 22: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

Nombre de ruta que comienza desde el directorio raíz (/) y describe completamente TODOS losdirectorios a lo largo del camino, hasta llegar al destino. RelativoGeneralAbsolutoDependiente

2.- Nombre de ruta que comienza desde el directorio de trabajo actual y sólo describe losdirectorios que hacen falta para llegar hasta el destino.

RelativoGeneralAbsolutoDependiente

3.- El comando: touch registros

Copia el archivo registros al directorio actual.Crea un archivo vacío llamado registros.Borra el archivo registros.Mueve el archivo registros al directorio actual.

Page 23: Academia de Software Libre - index-of.co.ukindex-of.co.uk/SISTEMAS-OPERATIVOS/Modulo_3.pdfPara ello Linux incluye varios administradores de archivos, tales como Konkeror y Nautilus

 

                  Academia de Software Libre     

                                    

4.- El comando: more examen

Despliega el contenido del archivo examen, una pantalla a la vez. Nos cambia al directorio examen.Crea el archivo examen el directorio actual.Muestra las primeras líneas del archivo examen.