Beruflich Dokumente
Kultur Dokumente
El sistema de archivos es un conjunto de programas que se encargan de realizar todas las operaciones relacionadas con el almacenamiento y manipulacin de los archivos. Son las funciones que tratan con los dispositivos fsicos de almacenamiento del computador, como el disco duro, funciones como escribir, leer, borrar.
El sistema de archivos parte de una misma raz, a la cual nos referiremos con el carcter / (slash), es el origen de todo el sistema de archivos y slo existe una. Para organizar los archivos adecuadamente, se utiliza la estructura jerrquica basada en rboles de directorios y archivos, como la siguiente figura:
readme, REadme y rEadme por ejemplo son archivos distintos y por lo tanto al ser nombres distintos pueden estar en el mismo directorio. En Linux los archivos no tiene por qu tener una extensin. La suelen tener a modo orientativo, pero no es en absoluto necesario. Linux sabe qu contiene cada archivo independientemente de cul sea su extensin. Por comodidad, podremos llamar a todos nuestros archivos de texto con la extensin .texto, o a todos nuestros documentos con la extensin .documento, de esta manera, podremos luego agruparlos ms fcilmente. Los archivos y directorios ocultos en Linux comienzan su nombre por un punto (.) Los nombres de archivos o directorios pueden ser muy largos, de ms de 200 caracteres, lo cual nos da bastante flexibilidad para asociar el nombre de un archivo con lo que contiene. Para referencia a un archivo que contenga un espacio en su nombre deber precederlos con 1 back flash \ o con apstrofes simples ().
Comodines
Los comodines vlidos para cualquier archivo: "*" y "?" * : RESTO/TODO: Solo sustituye a TODOS los archivos, delante/detras/en medio del archivo todo lo que coincida con l. ? : CUALQUIER CARCTER: que coincida con el resto que est escrito.
Tipos de archivos
Regular. Son aquellos que almacenan informacin: cartas, listas, cdigos. Directorios. Son una tabla con nmeros de inodos y nombres de archivos, sirven para organizar los archivos y directorios. Archivos especiales. Pueden ser dispositivo tipo carcter o dispositivo de bloques. El manejo de estos archivos depende del dispositivo en particular: disco duro, disquete, cinta magntica, etc. Fifo son pipes con nombre. Son propios de System V. Enlaces simblicos (symbolic links). Son archivos que contiene un puntero a otro archivo que podra perfectamente estar en un sistema de archivos distinto. El Socket es un archivo especial de 4.3 BSD y se utiliza para comunicar procesos que pueden estar en mquinas distintas. Enlaces rgidos (hard links). Realmente es un nico archivo que puede ser visto con distintos nombres dentro de un mismo sistema de archivos. La
informacin reside en un mismo lugar y lo que ocurra aparentemente en un sitio ocurrir instantneamente en el otro lugar. Los enlaces de este tipo no pueden ocurrir entre sistemas de archivos distintos. No todos los sistemas de archivos soportan hard links ya que es un concepto muy ligado a los SO tipo Unix.
$ ls -hl /etc $ ls -R /usr $ ls -al $ ls -ali .. Comando cd: Se utiliza para cambiar el directorio actual. $ cd /tmp $ cd $ cd $ cd .. $ cd ~ $ cd ~pepe
# cambia hacia el directorio home del usuario actual # cambia hacia el directorio anterior # cambia hacia el directorio padre # cambia hacia el directorio base del usuario actual. Igual a cd. # cambia hacia el directorio base del usuario pepe
Comando pwd: Muestra el camino absoluto del directorio en el cual nos encontramos actualmente. $ pwd
Comando touch: Crea un archivo vaco, tambin se utiliza para cambiar la fecha de acceso y/o modificacin a un archivo. Algunas opciones: -a : Cambia solamente el tiempo de acceso. -c : No crear archivos que no existan antes. -d fecha : Usar fecha en lugar de la fecha actual. El formato de fecha es el siguiente: MMDDHHMMAAAA, por ejemplo para representar el 7 de abril de 2001 a la 1:00 a.m., se escribir: 040701002001. Si el ao a usar es el ao actual, se puede obviar, entonces el ejemplo anterior quedara as: 04070100. $ touch carta Comando mkdir : Se utiliza para crear directorios. $ mkdir bin $ mkdir -p # se crean los directorios intermedios si es docs/linuxdocs/howtos/pdf necesario. Comando rmdir : sirve para borrar directorios vacos. $ rmdir bin $ rmdir linuxdocs/howtos/pdf # se borra el directorio pdf si estuviera vaco. Comando mv: Mueve un archivo hacia otro, o varios archivos hacia un directorio, permite renombrar archivos o directorios. Algunas opciones: -i : ejecuta el comando de forma interactiva, o sea, pregunta ante de sobrescribir el destino si existiera. -u : actualiza (upgrade) el destino con el fuente solo si este es ms reciente. $ mv mail.cf mail.cf.old $ mv -i *.txt /tmp $ mv bin/ exe $ mv -u program.c src/ # renombra un archivo # mueve archivos terminados en .txt al directorio /tmp # renombra un directorio. Si existe el destino mueve el fuente hacia este # actualiza el archivo destino si es menos reciente que el fuente
Comando cp: Permite copiar un archivo en otro, o varios archivos en un directorio. Algunas opciones:
-p : si es posible preserva los atributos (dueo, grupo y permisos) de los archivos originales en las copias. -d : preserva los enlaces simblicos en lugar de copiar los archivos a los que estos apuntan. Actualmente es as por defecto. -L : no preserva los enlaces simblicos, o sea copia los archivos a los que estos apuntan. -R : copia recursivamente un directorio -a : es equivalente a las opciones -dpR. -i : utiliza una forma interactiva (pregunta antes de sobrescribir el destino). -l : hace enlaces fuertes a los archivos fuentes en lugar de copiarlos. $ cp /etc/passwd . $ cp -a /etc/mail mailb/ # copia el archivo al directorio actual # copia recursivamente un directorio preservando atributos y enlaces
$ cp -i /usr/bin/*sh # copia interactivamente los archivos terminados en /tmp sh al directorio /tmp $ cp -l /bin/* bin/ # hace enlaces fuertes a todos los archivos en un directorio
Comando rm: Se utiliza para borrar (desenlazar) archivos. Algunas opciones: -r : borra recursivamente un directorio. -f : borra forzosamente en caso de que no se tenga permiso de escritura en forma directa. -i : ejecuta el comando de forma interactiva.
Enlaces
Un enlace es un puente a un archivo o directorio perteneciente al sistema; una referencia que podemos poner en cualquier sitio que nos interese y que acta como un acceso directo a cualquier otro. Ejemplo: Un usuario ingresa frecuentemente al directorio /usr/share/man/man3/, en lugar de escribir un largo comando cada vez que se desea ingresar a ese directorio creamos un enlace en nuestro propio home.
$ ln -s /usr/share/man/man3 mmm En enlace que se cre se llama mmm y cada que vez que ingresemos alli automticamente el sistema lo redimir hacia /usr/share/man/man3/. Comando ln : Sirve para establecer enlaces entre archivos. Un enlace puede ser rgido o simblico. -d : Permite al super-usuario hacer enlaces rgidos a directorios. -s : Crear enlace simblico. -f : Borrar los archivos de destino que ya existen. $ ln -s /etc/passwd usuarios $ ln /var/log/messages mensajes # Creando enlace simblico usuarios. # Creando enlace rgido mensajes.
Comando file: Determina con cierto grado de precisin el tipo de un archivo que se le pasa como argumento.
$ file /usr/sbin/useradd /usr/sbin/useradd: ELF 32-bit LSB executable, Intel 80386, versin 1, dynamically linked (uses shared libs), stripped