ADMINISTRACION DE SERVIDORES II
INTEGRANTES:
-RIOJAS SUCLUPE JUNIOR EXEQUIEL
-CARLOS AUGUSTO VILLEGAS YANCUL
PROFESOR
MARCO AURELIO PORRO CHULLI
Observe que no hay ninguna salida al finalizar con éxito, aunque podría usar echo $? para confirmar que el código de salida es realmente 0.
Si en lugar de eso, deseara crear un subdirectorio anidado, tal como d1/d2/d3, fallaría porque los directorios d1 y d2 no existen. Afortunadamente,mkdir tiene una opción -p que le permite crear cualquier directorio matriz requerido, como se muestra en el Listado 7.
Listado 7. Creación de los directorios matrices
I.TEMA: ADMINISTRACION DE DIRECTORIOS
1.DEFINICON:
Un directorio es un conjunto de archivos, que a su vez pueden contener otros directorios. Los directorios también poseen permisos, y eso es muy importante para evitar que los usuarios sin experiencia, borren o modifiquen algo que no deban. El árbol de directorios nos ayuda a saber dónde se encuentra un archivo.
A diferencia de los sistemas MS-DOS/Windows, en los sistemas UNIX no se dividen los directorios entre las distintas unidades físicas (C:, D:, etc.). Al contrario, para UNIX todos son ficheros y directorios. Éste considerará un disco duro o una disquetera como directorios. Por tanto, no tiene sentido escribir en la consola "C:", sino que nos iremos al directorio asociado a esa partición.
Todos los ficheros y directorios de un sistema UNIX cuelgan de un directorio principal llamado "raíz", que se representa como "/". El directorio raíz es la base para todo el arbol de directorios, es allí donde están contenidos todos lo directorios del sistema.
Cuando el usuario accede a una sesión, Linux "envía" al usuario a su directorio de trabajo, que es su directorio personal (/home/nombre-usuario). En donde el usuario tiene la libertad absoluta para hacer lo que quiera con sus ficheros y directorios ubicados ahí. Sin embargo no podrá hacer todo lo que quiera en el directorio de otro usuario, ya que Linux tiene un sistema de permisos que concede o restringe libertades sobre los directorios y ficheros que hay en Linux. Aunque existe un usuario "root", que sí tiene permiso de hacer cualquier cosa en Linux.
Estructura de Directorios en Linux
Pero no solo el sistema de archivos de nuestro sistema operativo Linux es importante para conocer aspectos que afectan al rendimiento de nuestro equipo, también es importante que conozcamos la forma en la que esta estructurado el sistema de directorios.
El estándar utilizado por GNU/Linux para organizar la información se denomina FHS (Filesystem Hierarchy Standard), y éste sistema se encarga de organizar la información de forma jerárquica.
Partiendo de un “raiz” encontraremos los siguientes directorios:
| /bin | almacena las aplicaciones (comandos) básicas del sistema. |
| /boot | aquí se encontrarán los archivos necesarios para el inicio del sistema, así como los correspondientes al cargador de arranque. |
| /dev | cada uno de los archivos representa a un dispositivo del sistema. |
| /etc | es el directorio donde se encontrarán la mayoría de los archivos de configuración del sistema y de otras aplicaciones importantes. |
| /home | donde se encontrarán los directorios personales de los usuarios del sistema. |
| /lib | bibliotecas compartidas necesarias para la ejecución del sistema. |
| /mnt | se trata del directorio en el que se solían ‘montar’ los distintos dispositivos de almacenamiento (discos duros externos, pen-drive), pero que ahora ha quedado obsoleto porque se utiliza el nuevo directorio “/media” para dicha función. |
| /proc | mantiene ficheros que almacenan el estado (procesos, dispositivos) del sistema. |
| /root | es el directorio personal del administrador del sistema. |
| /sbin | comandos de administración del sistema. |
| /tmp | carpeta donde el sistema almacena información temporal. |
| /usr | ubicación que normalmente se dedica para instalar las aplicaciones de usuario. |
| /var | su contenido no se explica brevemente, ya que en él podremos encontrar los archivos de registro del sistema, archivos temporales del servicio de correo, o el directorio de trabajo del servidor de páginas web. |
EJEMPLOS1:
| Comando |
Resultado
|
| [felix@localhost felix]$ pwd | /home/felix/ |
Para cambiar de directorio...
Emplearemos el comando cd (Change Directory)
Ejemplo:
| Comando |
Resultado
|
| [felix@localhost Comandos]$ cd /etc | Nos vamos al directorio /etc |
Nota: Si simplemente escribimos cd, sin especificar el nombre del directorio, esto será igual que escribir cd /home/nombre-usuario, es decir, me envía a mi propio directorio de trabajo.
EJEMPLO2:
Listado de los directorios
Todos los archivos en los sistemas de Linux y UNIX® son accedido como parte de un gran sistema de archivos único estructurado en árbol que tiene la raíz en /. Puede agregar más ramas a este árbol montándolas y quitándolas desmontándolas. Montar y desmontar será tratado en el artículo sobre Montar y desmontar los sistemas de archivos (ver la series roadmap).
Listado de los ingresos al directorio
En este artículo, practicaremos los comandos utilizando los archivos creados en dicho artículo "Learn Linux 101: Text streams and filters." Si leyó el artículo, creó un directorio, lpi103-2, en su directorio raíz. Si no lo hizo, entonces puede utilizar otro directorio en su sistema para practicar los comandos de los que se habla en este artículo.
Los nombres de los archivos y de los directorios son absolutos, es decir, comienzan con una /, o son relativos al directorio de trabajo actual, es decir, no comienzan con una /. La vía absoluta de un archivo o directorio consiste en una / seguida de una serie de ceros o nombres de más directorios, cada uno seguido de otra / y luego un nombre final.
El nombre de un archivo o de un directorio dado que sea relativo al actual directorio de trabajo, simplemente concatena el nombre absoluto del directorio de trabajo, una /, y el nombre relativo. Por ejemplo, el directorio, lpi103-2, que creamos en el anterior artículo fue creado en mi directorio raíz, /home/ian, de manera que es completo, o absoluto, la vía es /home/ian/lpi103-2.
Usted puede mostrar el nombre del actual directorio de trabajo con el comando pwd. También está generalmente disponible en la variable del entorno PWD. El listado 1 muestra el uso del comando pwd, y las tres formas diferentes de utilizar el comando ls para listar los archivos en este directorio.
Listado 1. Listado de los ingresos al directorio
[ian@echidna lpi103-2]$ pwd /home/ian/lpi103-2 [ian@echidna lpi103-2]$ echo "$PWD" /home/ian/lpi103-2 [ian@echidna lpi103-2]$ ls sedtab text1 text2 text3 text4 text5 text6 xaa xab yaa yab [ian@echidna lpi103-2]$ ls "$PWD" sedtab text1 text2 text3 text4 text5 text6 xaa xab yaa yab [ian@echidna lpi103-2]$ ls /home/ian/lpi103-2 sedtab text1 text2 text3 text4 text5 text6 xaa xab yaa yab
Como puede ver, usted puede darle un nombre al directorio relativo o absoluto como un parámetro del comando ls, y listará el contenido de ese directorio.
Listado de los detalles
En un dispositivo de almacenamiento, un archivo o directorio está contenido en un conjunto de bloques. La información acerca de un archivo está contenida en un inode que registra la información tal como el propietario, cuándo fue la última vez que se accedió al archivo, qué longitud tiene, si se trata de un directorio o no, y quién puede leer o grabar en él. El número del inode también es conocido como el número de serie del archivo y es exclusivo dentro de un determinado sistema de archivos. Podemos utilizar el -l (o --format=long) la opción para mostrar algo de la información almacenada en el inode.
Por omisión, el comando ls no lista los archivos especiales, aquéllos cuyos nombres comienzan con un punto (.). Cada directorio que no sea el raíz tiene por lo menos dos entradas especiales: el directorio en sí mismo (.) y el directorio matriz (..). El directorio raíz no tiene un directorio matriz.
El listado 2 usa las opciones -l y -a para mostrar un listado de formato largo de todos los archivos incluyendo la entradas de directorio . y .. .
Listado 2. Mostrar un listado de directorio largo
[ian@echidna lpi103-2]$ ls -al total 52 drwxrwxr-x. 2 ian ian 4096 2009-08-11 21:21 . drwx------. 35 ian ian 4096 2009-08-12 10:55 .. -rw-rw-r--. 1 ian ian 8 2009-08-11 21:17 sedtab -rw-rw-r--. 1 ian ian 24 2009-08-11 14:02 text1 -rw-rw-r--. 1 ian ian 25 2009-08-11 14:27 text2 -rw-rw-r--. 1 ian ian 63 2009-08-11 15:41 text3 -rw-rw-r--. 1 ian ian 26 2009-08-11 15:42 text4 -rw-rw-r--. 1 ian ian 24 2009-08-11 18:47 text5 -rw-rw-r--. 1 ian ian 98 2009-08-11 21:21 text6 -rw-rw-r--. 1 ian ian 15 2009-08-11 14:41 xaa -rw-rw-r--. 1 ian ian 9 2009-08-11 14:41 xab -rw-rw-r--. 1 ian ian 17 2009-08-11 14:41 yaa -rw-rw-r--. 1 ian ian 8 2009-08-11 14:41 yab
Y el campo final contiene el nombre del archivo o del directorio.
La opción -i del comando ls le mostrará los números de inode. Usted verá nuevamente los inodes luego en este artículo y también en el artículoCreate and change hard and symbolic links (ver la series roadmap).
Archivos múltiples
También podrá especificar los parámetros múltiples para el comando ls, donde cada nombre corresponde al nombre de un archivo o directorio. Para los nombres de directorio, el comando ls lista el contenido del directorio en lugar de la información acerca del mismo. tEn nuestro ejemplo, supongamos que deseamos la información sobre la entrada al directorio lpi103-2 según está listada en el directorio matriz. El comando ls -l ../lpi103-2 nos daría un listado como el anterior ejemplo. El Listado 3 muestra cómo agregar la opción -dpara listar la información sobre las entradas al directorio en lugar del contenido de los directorios, y también cómo listar las entradas para los archivos o directorios múltiples.
Listado 3. Uso del ls -d
[ian@echidna lpi103-2]$ ls -ld ../lpi103-2 sedtab xaa drwxrwxr-x. 2 ian ian 4096 2009-08-12 15:31 ../lpi103-2 -rw-rw-r--. 1 ian ian 8 2009-08-11 21:17 sedtab -rw-rw-r--. 1 ian ian 15 2009-08-11 14:41 xaa
Observe que el tiempo de modificación para lpi103-2 es diferente del de la lista anterior. También, como en el listado anterior, es diferente de los tiempo de cualquiera de los archivos en el directorio. ¿Es esto lo que usted esperaría? Generalmente no. Sin embargo, durante el desarrollo de este artículo, creé algunos modelos extras y luego los eliminé, de manera que los sellos del tiempo del directorio reflejen ese hecho. Hablaremos más acerca de los tiempos de los archivos luego en Manejo de los archivos y directorios múltiples.
Clasificación de la salida
Por omisión, ls lista los archivos alfabéticamente. Existe una cantidad de opciones para clasificar la salida. Por ejemplo, ls -tla clasificará por momento de la modificación (de la más reciente a la más antigua) mientras que ls -lS producirá un largo listado por tamaño (de la más larga a la más pequeña). El agregado de -r revertirá el orden de la clasificación. Por ejemplo, utilice ls -lrt para producir un largo listado clasificado de la más antigua a la más reciente. Consulte la página man para obtener otras formas en las que puede listar los archivos y los directorios.
Copia, traslado y eliminación de los archivos
Ahora hemos aprendido algunas formas para crear archivos, pero supongamos que deseemos hacer copias de los archivos, renombrarlos, moverlos alrededor de la jerarquía del sistema de archivos, o incluso eliminarlos. Utilizamos tres comandos breves a estos fines.cpes utilizado para hacer una copia de uno o más archivos o directorios. Usted debe dar uno (o más nombres fuente y un nombre destino. Los nombres fuente o destino pueden incluir la especificación de vía. Si el destino es un directorio existente, entonces todas las fuentes son copiadasen el destino. Si el destino es un directorio que no existe, entonces la (única) fuente también deberá ser un directorio y una copia del directorio fuente y de su contenido será hecha con el nombre destino como el nuevo nombre. Si el destino es un archivo, entonces la (única) fuente deberá ser también un archivo y una copia del archivo fuente será hecha con el nombre destino como el nuevo nombre, reemplazando cualquier archivo existente con el mismo nombre. Observe que no existe ningún supuesto por omisión del destino que sea el directorio actual como en los sistemas operativos de DOS y Windows.
mvrm
es utilizado para eliminar uno o más archivos. Veremos cómo quitar los directorios en breve.
es utilizado para mover o renombrar uno o más archivos o directorios. En general, los nombres que usted pueda usar siguen las mismas normas que para copiar con cp; puede renombrar un único archivo o mover un grupo de archivos a un nuevo directorio. Dado que el nombre es sólo una entrada al directorio que se vincula a un inode, no debería ser una sorpresa que el número del inode no cambie salvo que el archivo sea movido a otro sistema de archivos, en cuyo caso moverlo se comporta más como una copia seguida de la eliminación del original.
- primero hacemos una copia de nuestro archivo text1 como text1.bkp.
- Luego decidimos crear un subdirectorio de backup usando el comando
mkdir - Hacemos una segunda copia de backup de text 1, esta vez en el directorio de backup, y mostramos que los tres archivos tienen diferentes inodes.
- Luego movemos nuestro text1.bkp al directorio de backup y después de eso lo renombramos para que sea más consistente con el segundo backup. Mientras que podríamos haber hecho esto con un único comando, usamos dos para ilustrarlo.
- Verificamos nuevamente los inodes y confirmamos que text1.bkp con el inode 934193 ya no es más nuestro directorio lpi103-2, sino que ese inode corresponde a text1.bkp.1 en el directorio de backup.
Listado 4. Copiar y mover archivos
[ian@echidna lpi103-2]$ cp text1 text1.bkp [ian@echidna lpi103-2]$ mkdir backup [ian@echidna lpi103-2]$ cp text1 backup/text1.bkp.2 [ian@echidna lpi103-2]$ ls -i text1 text1.bkp backup 933892 text1 934193 text1.bkp backup: 934195 text1.bkp.2 [ian@echidna lpi103-2]$ mv text1.bkp backup [ian@echidna lpi103-2]$ mv backup/text1.bkp backup/text1.bkp.1 [ian@echidna lpi103-2]$ ls -i text1 text1.bkp backup ls: cannot access text1.bkp: No such file or directory 933892 text1 backup: 934193 text1.bkp.1 934195 text1.bkp.2
Normalmente, el comando cp copiará un archivo sobre una copia existente, si el archivo existente fuera factible de ser grabado. Por otro lado,mvmoverá o renombrará un archivo si el destino existe. Hay varias opciones útiles para este comportamiento de cp y mv.-f o --forceharán que cp intente eliminar un archivo destino existente aun si no fuera factible de ser grabado.-i o --interactivepedirá la confirmación antes de intentar reemplazar un archivo existente-b o --backuprealizará un backup de cualquier archivo que fuera reemplazado.
Como es habitual, consulte la página man para obtener los detalles completos de éstas y de otras opciones para copiar y mover.
El listado 6 muestra la copia con backup y la eliminación del archivo.
Listado 5. Hacer copias de backup y eliminar archivos
[ian@echidna lpi103-2]$ cp text2 backup [ian@echidna lpi103-2]$ cp --backup=t text2 backup [ian@echidna lpi103-2]$ ls backup text1.bkp.1 text1.bkp.2 text2 text2.~1~ [ian@echidna lpi103-2]$ rm backup/text2 backup/text2.~1~ [ian@echidna lpi103-2]$ ls backup text1.bkp.1 text1.bkp.2
Observe que el comando rm también acepta -i (interactive) y -f (force options).Una vez que haya eliminado un archivo usando rm, el sistema de archivos ya no tendrá acceso a él. Algunos sistemas definen un valor por omisión para establecer un alias alias rm='rm -i' para el usuario raíz a fin de ayudar a prevenir la eliminación inadvertida de los archivos. Ésta también es una buena idea, para los usuarios comunes si está nervioso pensando en que podría eliminar alguno accidentalmente.
Antes de dejar este tema, se deberá observar que el comando cp crea, por omisión, una nueva marcación de tiempo para el y los nuevos archivos. El propietario y el grupo también son definidos para el propietario y el grupo del usuario que esté haciendo la copia. La opción -p puede ser utilizada para preservar los atributos seleccionados. Observe que el usuario raíz puede ser el único usuario que puede preservar la propiedad. Vea la página man para obtener más detalles.
Crear y eliminar directorios
Ya hemos visto cómo crear un directorio con mkdir. Ahora veremos más en mkdir y presentaremos a rmdir, su análogo para eliminar los directorios.
Mkdir
Supongamos que estamos en nuestro directorio lpi103-2 y que deseamos crear los subdirectorios dir1 y dir2. mkdir, así como los comandos que acabamos de revisar, manejará las solicitudes múltiples para la creación de los directorios en un paso como se muestra en el Listado 6.
Listado 6. Crear múltiples directorios
[ian@echidna lpi103-2]$ mkdir dir1 dir2
Observe que no hay ninguna salida al finalizar con éxito, aunque podría usar echo $? para confirmar que el código de salida es realmente 0.
Si en lugar de eso, deseara crear un subdirectorio anidado, tal como d1/d2/d3, fallaría porque los directorios d1 y d2 no existen. Afortunadamente,mkdir tiene una opción -p que le permite crear cualquier directorio matriz requerido, como se muestra en el Listado 7.
Listado 7. Creación de los directorios matrices
[ian@echidna lpi103-2]$ mkdir d1/d2/d3 mkdir: cannot create directory `d1/d2/d3': No such file or directory [ian@echidna lpi103-2]$ echo $? 1 [ian@echidna lpi103-2]$ mkdir -p d1/d2/d3 [ian@echidna lpi103-2]$ echo $? 0
Rmdir
Eliminar los directorios usando el comando rmdir es lo opuesto a crearlos. Nuevamente, existe una opción -p para eliminar los matrices también. Usted puede eliminar un directorio con rmdir sólo si está vacío y no hay ninguna opción para forzar la eliminación. Veremos otra forma de lograr ese truco cuando veamos el manejo repetitivo. Una vez que aprenda esto, tal vez raramente utilice rmdir en la línea de comandos, pero aún así es bueno conocerlo.
A fin de ilustrar la eliminación del directorio, copiamos nuestro archivo text1 al directorio d1/d2 de manera que ya no esté vacío. Luego usamosrmdir para eliminar todos los directorios que acabamos de crear con mkdir. Como puede ver, d1 y d2 no fueron eliminados porque d2 no estaba vacío. Los otros directorios fueron eliminados. Una vez que eliminemos la copia de text1 de d2, podremos eliminar d1 y d2 con una única invocación de rmdir -p.
Listado 8. Eliminación de los directorios
[ian@echidna lpi103-2]$ cp text1 d1/d2 [ian@echidna lpi103-2]$ rmdir -p d1/d2/d3 dir1 dir2 rmdir: failed to remove directory `d1/d2': Directory not empty [ian@echidna lpi103-2]$ ls . d1/d2 .: backup sedtab text2 text4 text6 xab yab d1 text1 text3 text5 xaa yaa d1/d2: text1 [ian@echidna lpi103-2]$ rm d1/d2/text1 [ian@echidna lpi103-2]$ rmdir -p d1/d2
2.RESUMEN:
Un directorio es un conjunto de archivos, que a su vez pueden contener otros directorios. Los directorios también poseen permisos, y eso es muy importante para evitar que los usuarios sin experiencia, borren o modifiquen algo que no deban. El árbol de directorios nos ayuda a saber dónde se encuentra un archivo.
A diferencia de los sistemas MS-DOS/Windows, en los sistemas UNIX no se dividen los directorios entre las distintas unidades físicas (C:, D:, etc.). Al contrario, para UNIX todos son ficheros y directorios. Éste considerará un disco duro o una disquetera como directorios. Por tanto, no tiene sentido escribir en la consola "C:", sino que nos iremos al directorio asociado a esa partición.
Todos los ficheros y directorios de un sistema UNIX cuelgan de un directorio principal llamado "raíz", que se representa como "/". El directorio raíz es la base para todo el arbol de directorios, es allí donde están contenidos todos lo directorios del sistema.
3.SUMMARY
A directory is a set of files, which in turn may contain other directories. The directories also have permissions, and that is very important to prevent inexperienced users, deleted or modified something that should not be. The directory tree helps us to know where a file is located.
Unlike MS-DOS / Windows, UNIX systems where the directories are not divided between different physical drives (C :, D :, etc.). Instead, for UNIX are all files and directories. This considered a hard drive or a floppy drive as directories. Therefore, it makes no sense to write in the "C" console, but we'll go to the directory associated with that partition.
All files and directories on a UNIX system hanging from a main directory called "root", which is represented as "/". The root directory is the base for the entire directory tree, this is where all the system directories are contained.
4.CONCLUSIONES
*Utilizando la línea de comando no hará falta cargar en el sistema librerías adicionales que no estén aún cargadas para las aplicaciones gráficas.
*Alias es una gran característica de bash que permite a un usuario crear uno o más comandos utilizando un comando sencillo, fácil de escribir, llamado alias. La capacidad de utilizar esto a menudo hace que el trabajo sea más fácil.
5.RECOMENDACIONES
*Se recomienda que directorios como ‘/tmp’, ‘/var’ y ‘/home’ posean una partición propia, ya que si se produce un crecimiento desmesurado de los datos almacenados en ellas no afectarán al resto del sistema.
*También se aconseja que el directorio ‘/home’ se encuentre en una partición aparte para que en el caso de una actualización del sistema, ésta pueda mantenerse inalterada.
*Se considere al directorio ‘/etc’ como el más importante (junto con el directorio ‘/home’ porque almacena los datos de usuario), por lo que se aconsejan copias de seguridad del mismo.
6.APRECIACION DEL EQUIPO
Quizas utilizar los comandos a traves del terminal de ubuntu se pueda acceder mas rapido a archivos, carpetas y directorios, lo que sera mas favorable para el desarrollo de actividades, siempre y cuando conozcamos los comandos adecuados.
7.GLOSARIO DE TERMINOS
*man: Provee documentación de un comando linux específico.
*mkdir: crear uno o más directorios.
*mv: mover o renombrar archivos y directorios
*pwd: Muestra el directorio donde estamos ubicados como camino absoluto.
*cp: Realiza una copia del archivo fuente como archivo destino.
*grep: Busca en uno o más archivos, línea por línea, un patrón determinado. Este patrón puede ser un conjunto de caracteres consecutivos o una expresión regular
8.LINKOGRAFIA
*http://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-3/
*http://www.digitallearning.es/blog/administracion-linux-sistemas-de-archivos/
*http://docencia.udea.edu.co/cci/linux/dia4/directorio.htm
