Last revised: April 02, 2006
Notas de Clase Para Curso de Programacion: Unix
Andrés Montano Pellegrini


Next:Fundamentos de la Linea de Comandos Up: Contenido Previous: Comandos Sencillos

C. Sistema de Archivos

  1. Convenio de Nombres

    En muchos sistemas de Unix no hay limite para el tamano del nombre de un archivo o directorio.

  2. Directorios
    1. Introduccion

      UNIX organiza todos los archivos en una estructura de directorios de arbol. El directorio raiz es el principal y se refiere a traves de la /. Todos los usuarios tienen su propio home directory. En este directorio estan los archivos de configuracion del usuario y si como sus propios archivos. Este es referido a traves de la ~. Ademas se tiene el directorio actual, que es el directorio en donde se esta trabajando en cierto momento. Este se refiere a traves del .. El directorio al cual pertenece el directorio actual se refiere a traves de ...

    2. Crear Directorios

      Para crear un nuevo directorio se usa el comando mkdir. Por ejemplo, si quiseramos un subdirectorio cartas en el directorio actual escribimos

      mkdir cartas

      Si hubieramos querido el subdirectorio cartas en el home directory, escribimos:

      mkdir ~/cartas
    3. Mostrar Directorios

      Para mostrar el contenido de un directorio utilizamos el comando ls. Sin embargo este no muestra los archivos que comienzan con ., (como .profile o .login) que son por lo general los archivos de configuracion. Para mostrar estos archivos escribimos:

      ls -a

      Esto tambien muestra los archivos . y .. (que representan el directorio actual y el anterior en el arbol jerarquico). Para distinguir entre los subdirectorios, archivos de texto ordinario, ejecutables y enlaces simbolicos escribimos:

      ls -F

      Esto sigue cada nombre con un * si es programa, / si el directorio, @ si es enlace simbolico y nada si es archivo de texto.

      Para mostrar la informacion completa de un archivo se escribe

      ls -l

      Esto muestra los atributos del archivo, el tamano, usuario que lo creo, grupo al que pertenece el usuario, tamano, hora y fecha que fue creado y nombre. Para mostrar el contenido de un directorio, se escribe ls seguido por el nombre del archivo. Por ejemplo para mostrar el contenido del subdirectorio ventas, se escribe

      ls ventas
    4. Cambiando el Directorio actual

      Para cambiar de directorio se utiliza el comando cd seguido por el nombre del directorio. Por ejemplo, para cambiarse al directorio cartas escribimos:

      cd cartas
    5. Moviendo y Renombrando Directorios

      Para renombrar un archivo o directorio escribimos usamos el comando mv de la siguiente forma:

      mv nombre-original nombre-destino

      Por ejemplo, si quisieramos cambiarle el nombre al directorio ventas por ventas.99 escribimos

      mv ventas.act ventas.99

      El comando mv tambien se puede utilizar para mover archivos o directorios a otro directorio. Supongamos que tengamos el archivo ventas.99 y lo querrramos mover al directorio ventas. Lo hacemos de la siguiente forma:

      mv ventas.99 ventas
    6. Eliminando Directorios

      Para eliminar uno o mas directorios utilizamos el comando rmdir. Por ejemplo, si quisieramos eliminar los directorios cuentas, ventas y seguro escribimos

      rmdir cuentas ventas seguro

      Unicamente podemos eliminar directorios vacios. Solo los archivos . y .. (que no pueden ser eliminados) pueden permanecer en el directorio a ser eliminado. Si se intenta eliminar un directorio que no esta vacio, el directorio actual (.) o el directorio padre (..) saldra un mensaje de error.

       

  3. Archivos
    1. Copiando Archivos

      Para copiar archivos utilizamos el comando cp. Este se usa de una manera muy similar a mv. Para copiar el contenido de un archivo en otro escribimos

      cp nombre-archivo-original  nombre-de-archivo-destino

      Tambien podemos utilizar el comando cp para copiar un archivo a otro directorio. Para esto escribimos:

      cp nombre-archivo  nombre-directorio
    2. Permisos

      Para evitar que todos los usuarios del sistema puedan accesar a todos los archivos, Unix asocia a cada archivo un conjunto de permisos. Estos permisos determinan que usuarios tienen privilegios de leer, escribir, modificar o correr programas y si el programa es un ejecutable, correr el programa. Si un usuario tiene permiso de ejecucion sobre un directorio, esto le permite buscar sobre el directorio (no correrlo como un programa). Para ver los permisos sobre los archivos escribimos:

      ls -l

      Esto mostrara en las primeras 10 columnas los permisos de los archivos en el siguiente orden:

      bit  Permiso
      1    Directorio
      2    Leer (r)
      3    Escribir (w)
      4    Ejecutar (x)
      5    Leer (r)
      6    Escribir (w)
      7    Ejecutar (x)
      8    Leer (r)
      9    Escribir (w)
      10   Ejecutar (x)
      

      En donde los bits del 2 al 4 representan los permisos del dueno (u), 5 al 7 los permisos del grupo al que pertenece el dueno (g) y los bits del 8 al 10 representan los permisos del resto de los usuarios del sistema (o). El superuser o root (administrador del sistema) tiene todos los permisos sobre todos los archivos. Para cambiar los atributos de un archivo escribimos:

      chmod usuario+permiso nombre-archivo

      En donde sustituimos usuario por el simbolo de los usuarios a los que queremos darles los permisos. A permiso lo sustituimos por el simbolo de los permisos que queremos dar. Para otorgar permisos usamos + y para quitar permisos usamos -. Por ejemplo si queremos darle el privilegio de leer (r) el archivo graficas a los usuarios del grupo (g) y a el resto de usuario (o) escribimos:

      chmod go+r graficas

      Podemos tambien establecer directamente los privilegios representando en octal los bits de permisos. Si quisieramos por ejemplo que el archivo graficas pueda ser leido y escrito por el dueno, leido por el resto y ejecutado por nadie la combinacion de bits seria: 0110100100. En octal quedaria: 644. Por lo que escribiriamos:

      chmod 644 graficas
    3. Removiendo Archivos

      Para eliminar archivos utilizamos el comando rm. Por ejemplo para eliminar el directorio ventas, escribimos:

      rm ventas
  4. Comodines

    Para cuando queremos trabajar con varios archivos simultaneamente utilizamos los comodines * y ?. El * puede ser sustituido por cualquier grupo de caracteres y el ? puede ser sustituido por un caracter. Algunos ejemplos son

    1. Para referirse a todos los archivos que comiencen con t: t*
    2. Para referirse a todos los archivos que terminen con t: *t
    3. Para referirse a todos los archivos incluyan una t (en cualquier posicion): *t*
    4. Para referirse a todos los archivos que comiencen con pr y terminen con t: pr*t
    5. Para referirse a todos los archivos que tengan a p como primer caracter y r como tercer caracter: p?r*


Next:Fundamentos de la Linea de Comandos Up: Contenido Previous: Comandos Sencillos


Last revised: December 13, 2006
Copyright © 2001-2006 by Andrés Montano Pellegrini
All rights reserved