UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

13.4.3. Comandos para gestionar ficheros

El intérprete ofrece los comandos para realizar las operaciones básicas sobre ficheros y el directorio actual. La funcionalidad detallada de cada uno de ellos la puedes acceder mediante el comando man. Los más comunes son:

  • ls (list directory). Muestra los ficheros y directorios contenidos en el directorio actual, o el de la ruta que se escriba tras el nombre del comando. Su sintaxis general es ls [opciones] [ruta] siendo las "opciones" y la "ruta" parámetros opcionales. Algunos de las opciones más relevantes son "-l" para dar un listado con información detallada de los ficheros y directorios (modo, tamaño, número de enlaces, propietario, etc.), "-a" para incluir también ficheros y directorios ocultos en el listado, "-t" para dar el listado en un orden teniendo en cuenta la última modificación del fichero, o "-r" para revertir el orden del listado. Para practicar con este comando, desde la ruta inicial /home/teleco, liste en primer lugar todos los ficheros y directorios que hay allí, sin ninguna información adicional con ls . A continuación, liste todos los ficheros y directorios que hay en otra ruta diferente a la actual, poniendo la ruta absoluta, en concreto todo lo que hay debajo del directorio /bin , ejecutando ls /bin . Para conseguir no sólo un listado de dichos ficheros y directorios sino información precisa sobre ellos, ejecute ls -l y ls -l /bin respectivamente. Finalmente, ejecute ls -lat , ls -lart , ls -lat /bin y ls -lart /bin y observe las diferencias de ordenación de los ficheros.

  • cd (change directory). Cambia el directorio actual por el que se escribe a continuación del comando. Si no se escribe nada, se cambia al directorio del usuario (el que se abrevia como ~). Por ejemplo, ejecute cd /bin para cambiar a un nuevo directorio dado por una ruta absoluta, puede ver en qué directorio se encuentra tras el cambio ejecutando pwd. A continuación, vuelva al directorio del usuario ejecutando cd sin ninguna ruta, que llevará al directorio origen del usuario. Puede corroborarlo, ejecutando pwd

  • mkdir (make a directory). Crea una carpeta en la ruta dada como argumento. Sólo se puede crear la última carpeta de la ruta a no ser que se utilice otra opción para permitir la creación de las carpetas de nivel superior. Estando desde /home/teleco , cree una nueva carpeta que se llame proyecto con mkdir proyecto de esta forma se ha creado pasando una ruta relativa, la carpeta proyecto desde el directorio donde estábamos. A continuación crearemos una nueva carpeta pero pasando una ruta absoluta, de la siguiente forma mkdir /home/teleco/proyecto/grupoA y también una nueva carpeta pasando una ruta relativa de la siguiente forma mkdir /home/teleco/proyecto/grupoB. Observe que ahora debajo del directorio de trabajo, se ha creado la carpeta proyecto y dentro de esta dos subcarpetas denominadas grupoA y grupoB

  • rmdir (remove directory). Borra la carpeta dada como argumento. Si la carpeta no está vacía no se permite su borrado. Desde el directorio /home/teleco borre el subdirectorio grupoB pasando la ruta absoluta del siguiente modo rmdir /home/teleco/proyecto/grupoB ¿Cómo lo habría realizado para hacer el mismo borrado pero utilizando una ruta relativa?

  • touch (touch file). Modifica el tiempo de acceso y modificación de un fichero si el parámetro pasado como argumento de fichero existe, o crea un fichero vacio si no existe. Ejecute touch /home/teleco/proyecto/grupoA/test.txt para crear un fichero vacio. Seguidamente, ejecute ls -lart /home/teleco/proyecto/grupoB/test.txt, seguidamente haga de nuevo touch /home/teleco/proyecto/grupoA/test.txt y al realizar otra vez seguidamente ls -lart /home/teleco/proyecto/grupoB/test.txt observará como la información de tiempos del fichero ha cambiado. En cualquier caso, el contenido del fichero permanece vacío.

  • mv (move file). Mueve o renombra un fichero del nombre dado como primer argumento al segundo. Si sólo se especifican nombres de ficheros, el comando únicamente cambia el nombre de fichero. Pero si el segundo argumento es una ruta, lo cambia de lugar en el árbol de ficheros. Por ejemplo, si desde /home/teleco ejecutamos mv proyecto/grupoA/test.txt proyecto/grupoB/test.txt estaremos moviendo el fichero desde el directorio grupoA al grupoB

  • cp (copy files). Copia un fichero fuente a uno destino o un conjunto de ficheros a una carpeta destino. Por ejemplo, si ejecutamos cp /home/teleco/proyecto/grupoA/test.txt /home/teleco/proyecto/grupoB/test.txt estaremos copiando el fichero del directorio grupoA al grupoB.

  • rm (remove file). Borra el fichero en la ruta dada como argumento. El comportamiento de este comando tiene múltiples variaciones que se invocan inluyendo diferentes opciones (ver sección 13.4.1). Borre el fichero creado anteriormente ejecutando rm /home/teleco/proyecto/grupoA/test.txt , luego haga el listado de dicho directorio con ls y compruebe que dicho fichero ha desaparecido. Especialmente útil es borrar no sólo un fichero sino todos los directorios y ficheros que estén debajo de un determinado directorio. Esto se puede obtener utilizando algunas opciones concretas. Así por ejemplo, ejecutando rm -rf /home/teleco/proyecto se borrará todos los ficheros y directorios que haya debajo de la ruta especificada de un modo recursivo.

A continuación se muestra una sesión con el intérprete. El comando exit termina la ejecución del intérprete y por tanto se cierra la ventana. Te recomendamos que repliques esta sesión en tu ordenador para verificar que los comandos funcionan como esperas.

$ pwd
/home/teleco
$ ls
Descargas Documentos Escritorio
$ mkdir nombre
$ ls
Descargas Documentos Escritorio nombre
$ cd nombre
$ pwd
/home/teleco/nombre
$ ls
$ cd ..
$ pwd
/home/teleco
$ rmdir nombre
$ ls
Descargas Documentos Escritorio
$ exit

El intérprete arranca con la carpeta /home/teleco como directorio actual. A continuación se crea una subcarpeta nombre con el comando mkdir, se cambia el directorio actual a ella, se muestra su contenido con el comando ls (está vacía pues se acaba de crear), se vuelve a la carpeta superior con el comando cd .., se utiliza el comando rmdir para borrar la carpeta (sólo la borra si está vacía) y finalmente muestra de nuevo el directorio actual que no ha cambiado.