Capitulo V Comandos para manipulación de archivos y directorios – Parte II Sistema de archivos en linux “ext, ext2, ext3, ext4” Un sistema de archivo es la forma en la que se estructuran y organizan los datos en una unidad de almacenamiento. El término es mal referido para nombrar a particiones, siendo éstas, divisiones en unidades de almacenamiento, una misma unidad de almacenamiento, puede contener varias particiones y éstas particiones diferentes sistemas de archivos, Windows por ejemplo utiliza el sistema de archivo ntfs (New Technology File System) y los nombra con letras a partir de la letra “c”(Asignada al sistema operativo) hasta la “z”,(Asignadas a unidades de almacenamiento) la letra “a” y “b” están reservada al diskette (Cintas magnéticas utilizadas anteriormente para guardar datos). El sistema de archivo utilizado en la actualidad por Linux es el “ext4” (fourth extended filesystem o cuarto sistema de archivo extendido) esto se tratará con profundidad en el siguiente capitulo. Comprobar espacio disponible en el disco duro “df” La estructura y organización del sistema de archivos en Linux es de tipo Árbol. El punto principal de la estructura es el directorio “/”, también conocido como directorio raíz, todos los dispositivos y particiones de discos duros se montan en directorios. Para poder acceder al sistema de archivo que posea un dispositivo, el dispositivo debe estar montado. “Montado”, esto se refiere a que el dispositivo debe estar asociado a un directorio dentro de la estructura de directorios, en la siguiente figura se pueden observar los distintos dispositivos montados en directorios diferentes. /home /jorge /juan / /etc /dev /cd-room /dev/sda /media /var /pendrive /www/web Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil El comando “df” se utiliza para visualizar el espacio en disco, punto de montaje y los diferentes sistemas de archivos que puedan contener las unidades de discos duros montados en el sistema. La sintaxis del comando es la siguiente: $ df [Opciones] [sistema-de-archivo..] Si no se especifica algún argumento, df mostrará en pantalla información acerca de todos los sistemas de archivos montados en funcionamiento. Algunas de las funciones más relevantes son: • sin argumentos: $ df S.ficheros 1K-blocks Usados Disponibles Uso% Montado en /dev/sda1 472389912 416154720 32216096 93% / none 4 0 4 0% /sys/fs/cgroup udev 4009304 4 4009300 1% /dev tmpfs 805000 1288 803712 1% /run none 5120 0 5120 0% /run/lock none 4025000 8 4024992 1% /run/shm none 102400 28 102372 1% /run/user • • • • $ df -k: Muestra los tamaños de archivos en bloques 1024 bytes. $ df -i: Muestra la utilización de inodos en lugar de bloques $ df -h: Muestra el espacio en unidades en formato legible por humanos (KB, MB GB). $ df -T: Muestra el el tipo de filesystem(sistema de archivo) Otro comando utilizado para visualizar la información de espacio en disco es “du”. Es generalmente utilizado cuando deseamos conocer el tamaño que ocupa en disco y todo el contenido, de un determinado directorio. Ejemplo: • Si deseamos saber todo el espacio que ocupa un determinado directorio: $ du -sk /home: Muestra el tamaño total utilizado por el directorio del usuario del sistema en este caso home • Si deseamos saber el tamaño que ocupa el directorio acutal: $ du -sk: Muestra el tamaño total en kilobytes. Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil Crear Archivos y Directorios, comandos “touch”y “mkdir” El comando “touch”, es utilizado para actualizar o modificar la fecha y hora de un archivo. También es utilizado para crear archivos sin contenido. Su sintaxis es: $ touch [opciones] <nombre_del_archivo> Algunos de los argumentos fundamentales son: $ touch nombre_del_archivo: Si no se especifica algún argumento, se creará un nuevo archivo sin ningún contenido $ touch -a <nombre_del_archivo>: Modifica la fecha de acceso $ touch -m <nombre_del_archivo>: modificación del archivo Cambia la fecha de $ touch -am -t YYMMDDhhmm.ss <nombre_del_archivo>: Cambia la fecha de acceso y modificación del fichero a la fecha indicada Comando “mkdir”: “mkdir” (MaKe DIRectory, Crear directorio) se usa para crear directorios. Su sintaxis: mkdir [opciones] <directorio> [directorio …] $ mkdir -p: Crea un directorio padre si es que aún no existe Borrar Archivos y Directorios, comandos “rm” El comando “rm” (ReMove, Remover) es utilizado para eliminar archivos o directorios. Su sintaxis es la siguiente: rm [opciones] <archivo|directorio> [archivo|directorio...] Algunos argumentos fundamentales son: $ rm -r o -R: Borra archivos o directorios recursivamente. Debemos especificar esta opción para borrar un directorio esté o no con algún contenido. También se puede utilizar el comando “rmdir” para remover un solo directorio si el mismo se encuentra vacío Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil $ rm -i: archivo El argumento solicita una aprobación para remover el $ rm -f: El argumento fuerza el borrado de un archivo o directorio sin necesidad de aprobación del usuario. $ rm -v: El argumento muestra el nombre de cada archivo antes de borrarlo Algunos ejemplos prácticos: • Eliminar archivos cuya extensión termine con ppt, pertenecientes a la carpeta “presentaciones”, del directorio personal, se solicita al usuario que confirme la eliminación de los archivos. $ rm -i home/user/presentaciones/*.ppt • Forzar la eliminación del contenido del sub-directorio “recycler” del directorio “archivos” situado en el directorio personal del usuario $ rm -Rf home/user/archivos/recycler/* Mover un archivo, comandos “mv” El comando “mv” es utilizado a la hora de querer mover o renombrar archivos. La sintaxis del comando mv (MoVe, mover) es la siguiente: mv [opciones] <archivo|dir.> [archivo|dir. ...] <destino> Algunos argumentos fundamentales son: $ mv -f <nombre_del_archivo>: El comando fuerza la operación, y en caso de que el archivo ya exista lo sobre escribe $ mv -i <nombre_del_archivo>: El comando solicita confirmación para sobre-escribir si es que existe un archivo $ mv -v <nombre_del_archivo>: El comando muestra los cambios realizados con el archivo manipulado Algunos ejemplos prácticos: $ mv juan juanito: El comando cambiará en nombre del archivo juan por juanito mv -vf archivo* imagenes/ trasher/: Moverá los archivos que Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil comiencen con archivo sin solicitar confirmación al directorio trasher Copiar archivos y directorios, comandos “cp” El comando “cp” (CoPy, Copiar), este comando permite realizar copias de archivos y directorios. Su sintaxis es la que sigue: cp [opciones] <archivo|dir.> [archivo|dir. ...] <destino> Algunos argumentos fundamentales son: $ cp -R <nombre_del_archivo>: El comando copia recursivamente un directorio, a pesar de estar vacio $ cp -i <nombre_del_archivo>: El comando solicita confirmación para sobre-escribir si es que existe un archivo $ cp -f <nombre_del_archivo>: El comando hace lo opuesto a -i, reemplaza cualquier archivo, sin pedir confirmación $ cp -v <nombre_del_archivo>: El comando muestra el nombre de cada archivo antes de copiarlo $ cp -p <nombre_del_archivo>: El comando preserva los permisos, el grupo y los tiempos de los ficheros originales Ejemplos Prácticos: $ cp -vR documentos/ /home/juan/mp3/* backups/: Copia todo el directorio documentos más todos los archivos del directorio /heme/juan/mp3 al directorio backups ubicado en el directorio actual. Ver contenido de archivos en pantalla, comando “cat” Con el comando “cat”, viene de “concat” (concatenar), con el que se puede visualizar en pantalla el contenido del un archivo invocado. Su sintaxis es la que sigue: $ cat <nombre_del_archivo>: Argumentos utilizables con “cat” More: Es la primera versión de un paginador utilizado en UNIX, un paginador permite al usuario ver el contenido de un archivo por páginas, muy útil a la hora de utilizarlo con archivos muy extensos. Las teclas de control son: Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil • • • • • • • • • La Barra espaciadora: Permite al usuario avanzar una página a la vez La tecla “b”: Permite retroceder una página a la vez La tecla “enter”: Le permite al usuario, avanzar por linea. La tecla “q”: Utilizada para salir del paginador. Less: Paginador que permite ver archivos largos pantalla por pantalla. Las teclas de control son: La Barra espaciadora: Permite al usuario avanzar una página a la vez La tecla “b”: Permite retroceder una página a la vez La tecla “enter”: Le permite al usuario, avanzar por linea. La tecla “q”: Utilizada para salir del paginador. La tecla “/”: Utilizado a la hora de buscar una palabra. Presione “/” y luego la palabra que desea buscar. Para avanzar en la siguiente palabra encontrada presione “n”, para ir a la coincidencia anterior la tecla “N” Tipos de Archivos en Linux, comando “file” El comando “file” es utilizado para clasificar el tipo de archivo. En Linux todo es un archivo, hasta algunos de los dispositivos montados, como discos, puertos de entrada y salida. Existen dos tipos de archivos: • Archivos convencionales: Son generalmente informaciones utilizados por los programas de aplicaciones • Archivos especiales: Son aquellas que proveen una interfaz entre las aplicaciones y la interacción entre los dispositivos de Entrada y Salida. Los archivos especiales pueden dividirse en: • Archivos Regulares, Símbolo: (-): Son aquellos archivos comunes utilizados por el sistema operativo, de tipo ASCII o Binario. • Directorio, Símbolo: (d): Conocidas como carpetas, sirven para contener a otros archivos • Tuberías, Símbolo: (p): Archivos que permiten el intercambio de información entre procesos. • Enlaces, Símbolo: (l): Tipo de archivos (link) que hace referencia a otro archivo, situado en otros directorios. • En bloques, Simbología (b): Archivos que se relacionan con los Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil • • dispositivos de entrada y salida por bloques y de forma aleatoria, como unidades de almacenamiento. Socket, Simbología (s): Archivos que se relacionan con una conexión de red Archivos especial de carácter, Simbología: (c): Archivos que permiten se relacionan con el acceso a dispositivos de entrada y salida al sistema en forma secuencial y por carácter, como las terminales, teclado y mouse. Lic. Nelson D. Bordón A. Investigación en Tecnologías Informáticas Libres ITIL www.utic.edu.py/itil