Está en la página 1de 19

Mdulo II Uso y Administracin Bsica En este mdulo se empezar a estudiar ms en detalle el uso de Linux, para poder utilizar el sistema

operativo y muchas de sus herramientas en forma mas avanzada y precisa. Metacomodines y comodines Cuando se trabaja en la lnea de comando es muy necesario contar con una herramienta que nos permita integrar varios nombres de archivos, con el uso de uno o ms caracteres especiales. Esta tcnica es muy comn en todos, o la mayora de los shell existentes, pero a pesar de que en Linux los caracteres que se utilizan son muy parecidos a los utilizados en otros sistemas operativos, no siempre tienen el mismo significado y/o resultado. En algunos casos el mal uso de estos metacaracteres puede traernos consecuencias no deseadas. Se entiende por metacaracteres a los caracteres especiales utilizados para reemplazar uno o mas caracteres comunes. El asterco * , metacaracter universal El asterisco "*" reemplaza 0 o mas caracteres alfanumricos incluyendo caracteres especiales como ",", ".", "+", "-". etc. exceptuando el punto "." al inicio de un nombre de archivo o directorio. Ejemplo: (en un directorio existen los archivos ".casa", "c.a.s.a", "casa" y "casa.") [root@SERVER30 tmp]$ ls * c.a.s.a casa casa. [root@SERVER30 tmp]$ ls .* .casa .: c.a.s.a casa casa. ..: InterNet Kde Operador Linux clase-ks.doc tmp Como podemos ver, al ejecutar "ls *" solamente pudimos ver tres archivos (c.a.s.a, casa y casa.), al ejecutar "ls .*", se visualiz, primero, el archivo ".casa", luego el contenido del directorio "." y por ltimo el contenido del directorio "..". Ya explicaremos ms en detalle el por qu de las dos ltimas partes del listado. Como se habr notado no es necesario utilizar "*.*" para reemplazar todos los archivos de un directorio. Es necesario destacar que en Linux no existe el concepto de "extensin de archivo". En Linux, como en todos los Unix, un archivo puede contener varios puntos, al igual que otros caracteres especiales como la coma ",", los dos puntos ":", etc.. Por lo tanto, si ejecutamos "ls *.*" solamente se vern los archivos que contienen un punto (despus del primer carcter) dentro de su nombre. El smbolo de pregunta "?", metacaracter de posicin El smbolo de pregunta "?" reemplaza un nico carcter y en la posicin donde se encuentra el smbolo. Este metacaracter reemplaza cualquier carcter, incluyendo el punto "." a menos que este punto "." sea el primer carcter del nombre del archivo o directorio. Ejemplo: (en un directorio tengo los archivos ".asa", "Kasa", "Pasa..." y "Tasa") [root@SERVER30 tmp]$ ls ?asa*

Kasa Pasa... Tasa. [root@SERVER30 tmp]$ ls .?asa* .casa En este ejemplo notamos que el signo de pregunta "?" reemplazo la letra "K", la "P" y la "T", pero no el ".". Para poder visualizar el archivo ".casa" hubo que poner el punto "." expresamente. Es importante destacar que a diferencia del asterisco "*", el signo de pregunta es un metacaracter de posicin, eso quiere decir que solo reemplazara cualquier carcter que se encuentre en esa posicin y nicamente en esa posicin. Rangos, metacaracteres de posicin Los rangos, expresados con corchetes "[ ]", son metacaracteres de posicin y reemplazan todos los caracteres que estn dentro del rango definido. Los rangos que pueden definirse son letras minsculas, letras maysculas y nmeros del 0 al 9. Un rango no puede ir desde la "a" minscula hasta la "Z" mayscula. Existen formas de definir estos rangos, pero hay que usar "rangos combinados". Ejemplo: (teniendo los archivos "casa.txt", "tasa.txt", "Casa.txt", "Tasa.txt", "0cero.txt", "1uno.txt" y "9nueve.txt" en un directorio) [root@SERVER30 tmp]$ ls [a-z]asa.txt casa.txt tasa.txt [root@SERVER30 tmp]$ ls [A-Z]asa.txt Casa.txt Tasa.txt [root@SERVER30 tmp]$ ls [a-zA-Z]asa.txt Casa.txt Tasa.txt casa.txt tasa.txt [root@SERVER30 tmp]$ ls [0-1]*.txt 0cero.txt 1uno.txt [root@SERVER30 tmp]$ ls [0-2]*.txt 0cero.txt 1uno.txt [root@SERVER30 tmp]$ ls [0-9]*.txt 0cero.txt 1uno.txt 9nueve.txt [root@SERVER30 tmp]$ ls [a-zA-Z0-9]*.txt 0cero.txt 1uno.txt 9nueve.txt Casa.txt Tasa.txt casa.txt tasa.txt [root@SERVER30 tmp]$ En el primer "ls" utilizamos el rango mas amplio de minsculas, de la "a" hasta la "z", por lo tanto reemplaza cualquier letra minscula que se encuentre en la primer posicin del nombre de archivo. En nuestro ejemplo existen dos archivos que cumplen con esas caractersticas y son "casa.txt" y "tasa.txt". "Casa.txt" y "Taza.txt" no fueron reemplazados porque sus primeras letras son maysculas y no minsculas. El segundo "ls" utiliza el rango mximo para letras maysculas, por lo tanto solamente se reemplazan los archivos que cumplen con estas restricciones. Para visualizar los archivos que contengan una letra, sin importar si son minsculas o maysculas se tienen que utilizar "rangos combinados", es ilegal utilizar rangos que vayan de la "a" a la "Z" haciendo [a-Z], para generar un rango de este tamao hay que utilizar rangos combinados [a-zA-Z], como esta expresado en los ejemplos.. Es importante destacar que estos metacaracteres son de posicin, solamente reemplazarn los caracteres que se encuentren en la misma posicin del rango. Por que no se puede reemplazar el punto "." cuando est como primer caracter El punto como primer caracter en archivos y directorios se utiliza generalmente para archivos o directorios de configuracin. La informacin que contienen estos archivos y/o directorios esta

definida como sensible y algo esttica. Digamos que una vez que se configura algo no se modifica ms, al mismo tiempo no es necesario que se listen estos archivos cada vez que se haga un "ls". Por lo tanto los metacaracteres no reemplazan este tipo de archivos y/o directorios. Adems, existen dos directorios muy importantes dentro de cada directorio dentro de toda la jerarqua de directorios del sistema operativo. Estos dos directorios son "." y "..", el directorio corriente y el directorio padre, respectivamente. Si los metacaracteres reemplazaran los primeros puntos de cada archivo y directorio, entonces cuando hiciramos "ls *" el "*" reemplazara tambin el directorio "." y el "..", con lo cual veramos los archivos del directorio corriente, si como tambin los del padre (como sucedi cuando hicimos "ls .*" en el ejemplo de la explicacin del metacaracter "*"). Peor an, si quisiramos borrar los archivos del directorio corriente con "rm *", borraramos los archivos del directorio corriente y tambin los archivos del directorio padre. Pero esto se pondra peor si ejecutramos "rm -fr *", si el "*" reemplazara el punto "." de la primer posicin de cada directorio borraramos todo y absolutamente todo el disco (siempre y cuando tengamos permisos, por supuesto), ya que las opciones "-r" y "-f" del comando "rm" hacen que el comando borre en forma recursiva y forzadamente (no pregunta nada). Comandos de uso general Manipulacin de archivos Linux, as como casi todos los Unix, utilizan texto plano para sus archivos de administracin, de esta forma se facilita el acceso remoto a estos archivos y son accesibles para cualquier administrador. Por esta razn (y algunas ms), existen muchas herramientas para facilitar el manipuleo de archivos de texto plano. Estas son algunas de ellas: Comando: "cat" Uso: cat [opciones] [archivo/s] Descripcin: El comando "cat" se utiliza para mostrar en la salida estandar (stdout) el contenido del mismo. Este comando toma de entrada estandar (stdin). Opciones: "-n": Muestra el nmero de lnea "-t": Muestra los tabs con el smbolo "^I" Comando: "less" Uso: less [opciones] [archivo/s] Descripcin: El comando "less" se utiliza para paginar archivos o caracteres tomados de la entrada estandar (stdin). Modo de uso: Cuando se estn paginando archivos o la entrada estandar utilizando less, se entra en un modo interactivo para permitirle al usuario "navegar" por los caracteres paginados. Se utiliza el teclado y estas son algunas de las letras que generan alguna accin: CTRL-U: sube de a varias lneas a la vez CTRL-D: baja de a varias lneas a la vez "q": finaliza la paginacin "/<patron>": busca <patron> entre los caracteres paginados "m<a-zA-Z>": establece una marca y le asigna la letra "/<a-zA-Z>": dirige el cursor hasta la marca indicada por la letra Comando: "more" Uso: more [opciones] [archivo/s] Descripcin: El comando "more" se utiliza para paginar archivos o caracteres tomados de la entrada estandar

(stdin). Modo de uso: Cuando se estn paginando archivos o la entrada estandar utilizando more, se entra en un modo interactivo para permitirle al usuario "navegar" por los caracteres paginados. Se utiliza el teclado y estas son algunas de las letras que generan alguna accin: "espacio": nueva pgina "q": finaliza "[num]s": salta "[num]" cantidad de lneas "/<patron>": busca <patron> entre los caracteres paginados Comando: "file" Uso: file [opciones] [archivo/s] Descripcin: El comando "file" se utiliza para indicarle al usuario de qu tipo es el archivo pasado por parmetro. Opciones: "-L": sigue los links simblicos hasta su origen Comando: "stat" Uso: stat [archivo/s] Descripcin: El comando "stat" se utiliza para acceder a la informacin del i-nodo del archivo o archivos pasados por parmetro. Comando: "head" Uso: head [opciones] [archivo/s] Descripcin: El comando "head" nos permite ver el encabezado de un archivo y evitarnos as tener que editarlo para ver solo las primeras lneas del archivo. Opciones: "-v": muestra el nombre del archivo primero "-n[num]": imprime hasta la lnea "num" del encabezado Comando: "tail" Uso: tail [opciones] [archivo/s] Descripcin: El comando "tail" nos permite ver la parte final de un archivo. Opciones: "-v": muestra el nombre del archivo primero "-n[num]": imprime las ltimas "num" lneas "-f": imprime las lneas y lo sigue monitoreando Comando: "type" Uso: type [opciones] <comando/s> Descripcin: El comando "type" indica el path absoluto del comando pasado como argumento Opciones: "-p": muestra solo el path absoluto "-a": muestra todos los path absolutos encontrados para ese comando (todos los que se encuentren entre los directorios de la variable $PATH)

Comando: "wc" Uso: wc [opciones] [archivo/s] Descripcin: El comando "wc" muestra la cantidad de caracteres, palabras y lneas encontradas Opciones: "-c": muestra la cantidad de caracteres "-l": muestra la cantidad de lneas "-w": muestra la cantidad de palabras Comando: "diff" Uso: diff [opciones] <archivo 1> <archivo 2> Descripcin: Muestra las diferencias entre los dos archivos Opciones: "-i": ignora maysculas y minsculas "-q": muestra si son diferentes sin mayores detalles Comando: "tar" Uso: tar [opciones] <archivos> Descripcin: Lee o crea paquetes comprimidos, o no, de archivos. Opciones: "-z": Utilizar comprensin o descomprensin. "-x": Extraer archivos de un paquete. "-c": Crear un paquete "-f": Leer o escribir el archivo de paquetes especificado "-v": Muestra informacion sobre la tarea actual. Ejemplos: Para crear un backup comprimido de todos los archivos y subdirectorios de /etc: [root@SERVER30 /] # tar -zcvf etc.tgz /etc/* Para descomprimir y extraer los archivos y subdirectorios de un paquete al directorio actual: [root@SERVER30 tmp] # tar -zxvf archivo.tgz . Cuando bajamos un programa de internet en formato tar.gz o .tgz y lo descomprimimos, es bastante probable que despues debamos compilarlo . Para tal efecto existen unos pasos comunes a casi todo paquete de codigo fuente. Luego de desempaquetar, procederemos a cambiar al directorio donde se han extraido los archivos. Alli, ejecutaremos los siguientes comandos, en secuencia, siempre que el anterior alla terminado sin errores: [root@SERVER30 apache] # ./configure [root@SERVER30 apache] # make [root@SERVER30 apache] # make install Comando "rpm" Uso: rpm [opciones] <archivo.rpm> Descripcion: Utilidad para instalar, desinstalar, verificar y administrar paquetes RPM

Opciones: "-i": Instalar paquete RPM "--force --nodeps": Forzar la instalacion o desinstalacion del paquete RPM "--hash": Mostrar una barra de progreso "-U": Actualizar un paquete RPM "-v": Mostrar informacion sobre la tarea actual. Para actualizar el paquete apache.rpm, mostrando el progreso de la instalacin y mostrando informacion sobre la tarea: [root@SERVER30 /tmp] # rpm -Uv --hash apache.rpm Comando "df": Uso: df [opciones] [directorio] Descripcion: Nos muestra el estado del espacio libre y ocupado del o de los discos especificados. Opciones: "-k": Muestra los valores en kilobytes. "-m": Muestra los valores en megabytes. "directorio " indica a df que calcule el espacio libre de la unidad de disco que contenga dicho directorio o punto de montaje. Comando "du": Uso: du [opciones] [directorio] Descripcion: Calcula el espacio utilizado a partir del directorio especificado, contando tambien los subdirectorios. Opciones: "-k": Muestra los valores en kilobytes. "-m": Muestra los valores en megabytes. "--total": Muestra los totales. Comando "history": Uso: history Descripcion: Emite un listado de los ultimos comandos ingresados. Estos comandos estan guardados en el archivo .bash_history de nuestro Home Directory, que se actualiza al hacer logout. Montar y desmontar sistemas de archivos En este momento ya debera tener una idea de lo que es un sistema de archivos. Pero entonces Cmo se crea un directorio como un sistema de archivos separados? Para montar un sistema de archivos en el rbol de directorios de Linux es necesario tener una particin fsica en disco, el CD-ROM o el disquete que se quiera montar. Tambin hay que asegurarse de que el directorio donde se quiera anexar el sistema de archivos, conocido como el punto de montaje, realmente existe. El hecho de montar un sistema de archivos no crea el directorio de punto de montaje. Este debe existir antes de intentar montar el sistema de archivos. Por ejemplo, supongamos que quiere montar el CD-ROM de la unidad / dev/sro bajo el punto de montaje / mnt. Debe existir un directorio llamado /mnt o el montaje fallar. Despus de montar el sistema de archivos bajo ese directorio, todos los archivos y subdirectorios en el sistema de archivos aparecen bajo el directorio /rnnt; si no se monta el sistema de archivos ese directorio permanece vaco. CONSEJO: Si quiere saber en qu archivos est ubicado un directorio, utilice el comando df. La

salida del comando muestra el sistema de archivos as como el espacio libre disponible. Montaje interactivo de los sistemas de archivos Como habr podido suponer, linux utiliza el comando mount para montar un sistema de archivos. La sintaxis de este comando es la siguiente: Mount device mountpoint Device es el dispositivo fsico que se quiere montar y mountpoint el punto de montaje en el rbol del sistema de archivos donde se desea que aparezca. NOTA: El comando mount slo puede utilizarlo el superusuario. De esta forma se refuerza la seguridad del sistema. Existen varios paquetes de software que permiten a los usuarios montar sistemas de archivos especficos, especialmente disquetes. Mount acepta varios argumentos de lnea de comando adems de los dos mencionados anteriormente. Si necesita un comando no especificado, mount tardar en encontrarlo en el archivo /etc/fstab. Tabla 14.3 Argumentos de lnea de comando para el comando mount. Argumento Descripcin -f Hace que se realicen todas las operaciones excepto la llamada del sistema de montaje en si. "Finge"que se monta el sistema de archivos. -v Modalidad detallada, mount proporciona informacin adicional acerca de lo que est tratando de hacer. -w Se va a montar el sistema de archivos con permiso de lectura y escritura. -r Se va a montar el sistema de archivos slo con permiso de lectura -n Se hace el montaje sin escribir una entrada en el archivo /etc/mtab -t type Especifica el tipo de sistema de archivo que se ha montado. Los tipos vlidos son minux, ext, ext2, xiafs, msdos, hpfs, proc, nfs, umsdos, sysv e iso9660. -a Hace que mount trate de montar todos los sistemas de archivo en etc/fstab -o lista_de_opciones El argumento -o seguido de una lista de operaciones separadas por comas, hace que mount aplique las opciones especificadas al sistema de archivos que se est montando. En este caso, existen muchas opciones disponibles. Para una lista completa, consulte la pgina del comando man para mount. NOTA: Existen varias formas de utilizar el comando mount. mount/dev/hdb3/mnt monta la particin de disco duro /dev/hdb3 bajo el directorio /mnt.mount -r -t iso9660/dev/sr0/mnt monta la unidad de CD-ROM SCSI /dev/sr0 que es slo de lectura y de formatos de archivos ISO 9660, bajo el directorio /mnt. Mount -vat nfs monta todos los archivos NFS listados en el archivo /etc/fstab. CONSEJO: Si un sistema de archivos no se monta correctamente, utilice el comando mont -vf dispositivo puntomontaje para ver qu hace mount. Aparecer un listado detallado y se le indicar a mount que ejecute todos los pasos salvo el montaje del sistema de archivos. De este modo, se puede simular la ejecucin del comando mount y obtener mucha informacin sobre lo que trata de hacer. Montaje de sistemas de archivos durante el arranque En la mayora de los casos, los sistemas de archivos que utiliza un sistema Linux no cambian. Por esta razn, es fcil especificar una lista de archivos que Linux monta al arrancar y que desmonta cuando cuando se apaga. Estos archivos se listan en una archivo especial de configuracin llamado /etc/fstab/, que significa tabla de sistema de archivos. El archivo /etc/fstab/ lista los sistemas de archivos que van a montarse, incluyendo un sistema de

archivos por lnea. Los campos de cada lnea estn separados por espacios o tabuladores. La Tabla 14.4 relaciona los distintos campos del archivo /etc/fstab. Tabla 14.4 Campos en el archivo /etc/fstab Campo Descripcin Especificador del sistema de archivos Especifica el dispositivo especial por bloques o el sistema de archivos remoto que va a montarse. Punto de montaje Especifica el punto de montaje para el sistema de archivos. Para los sistemas de archivos especiales, como los archivos de intercambio, utilice la palabra none, que hace que los archivos de intercambio estn activos pero no visibles en el rbol de archivos. Tipo Especifica el tipo de sistema de archivos que corresponde al sistema especificado. Normalmente, se admiten los siguientes tipos: Minix: Un sistema de archivos local, que admite nombres de archivos de entre 14 y 30 caracteres. Ext: Un sistema de archivos local con nombres de archivos ms largos e inodes ms grandes (este sistema de archivos ha sido reemplazado por el ext2 y no debera utilizarse). Ext2: Un sistema de archivos local con nombres de archivos ms largos, inodes ms grandes y otras caractersticas., hpfs, proc, nfs, umsdos, sysv e iso9660. Xiafs: Un sistema de archivos local. Msdos: Un sistema de archivos local para particiones MS-DOS. Hpfs: Un sistema de archivos local para particiones del sistema de archivos de alto rendimiento de OS/2. Iso9660: Un sistema local de archivos utilizado para unidades CD-ROM. Nfs: Un sistema de srchivos para montar particiones desde sistemas remotos. Swap: Una particin de disco o archivo especial utilizado para intercambio. Umsdos: Un sistema de archivos UMSDOS Sysv: Un sistema de archivos System V. Opciones de montaje Una lista de opciones de montaje, separadas por comas, para el sistema de archivos. Por lo menos debe contener el tipo de montaje para el sistema de archivos. Frecuencia de volcado Especifica la frecuencia con que deben hacerse copias de seguridad del sistema de archivos con el comando dump. Si este campo no existe, dump interpreta que no es necesario hacer copias de seguridad del sistema de archivos. Nmero de secuencia Especifica el rden con que deben comprobarse los sitemas de archivos por el comando fsck cuando se arramca el sistema. El sistema raz de archivos debera tener un valor de 1. El resto de sistemas deberan tener un valor de 2. Si no se especifca un valor, no se comprobar la consistencia del sistema de archivos durante el arranque. CONSEJO: Se recomienda que se monten los sistemas de archivos durante el proceso de arranque, mediante el archivo /etc/fstab, y no utilizando el comando mount. Recuerde que el superusuario puede utilizar mount. A continuacin, se muestra un ejemplo del archivo fstab: # device Directory Type Opcions /dev/hda1 / Ext2 Defaults /dev/hda2

/usr Ext2 Defaults /dev/hda3 None Swap Sw /dev/sda1 /dosc Msdos Defaults /proc /proc Proc none En este ejemplo, se observan varios sistemas de archivos distintos. Para empezar, observe que los comentarios en el archivo van precedidos por el carcter #. En este artculo fstab se montan dos sistemas de archivos Linux normales. Estas son las particiones de disco /dev/hda1 y /dev/hda2. Esas se listan como si fueran de tipo ext2 y se montan bajo el directorio raz, en / y / usr respectivamente. La entrada defaults que aparece bajo los campos de opciones indica que este sistema de archivos debera ser montado utilizando un conjunto comn de opciones predeterminadas. Concretamente que el sistema de archivos se montamcon la lectura/escritura activada; debe interpretarse como un dispositivo especial por bloques; todas las entradas/salidas de archivo deberan hacerse asncronadamente, se permite la ejecucin de binarios; el sistema de archivos puede ser montado por el comando mount -a; en este sistema de archivos se interpretan los bits de conjunto UID (identificador del usuario) y de conjunto GID (identificador de grupo) de los archivos; y a los usuarios normales no se les permite montar el sistema de archivos. Como puede comprobar, es mucho ms fcil escribir defaults para la opcin, en lugar de lo indicado. La particin /dev/hda3 es una particin de intercambio que se utiliza como espacio de intercambio de la memoria virtual del ncleo. Su punto de montaje se especifica como none porque no se quiere que aparezca en el rbol del sistema de archivos. No obstante, debe aparecer en el archivo /etc/fstab para que el sistema sepa donde est ubicado fsicamente. Las particiones de inter cambio tambin se montan con la opcin sw. El sistema de archivos /proc es un sistema de archivos virtual que seala el espacio de informacin de los procesos de memoria. Como puede observarse, no tiene una particin fsica correspondiente para montar. Los sistemas de archivos MS-DOS tambin se pueden montar automticamente, la particin /dev/sdal es la primera particin de disco duro SCSI sda. Al especifica el tipo de msdos, se monta como una particin de MS-DOS. Se proporciona /dosc como punto de montaje. Puede colocar este punto de montaje. Puede colocar este punto de montaje donde desee, puesto que no tiene por qu estar bajo el directorio raz. Desmontar sistemas de archivos Para desmontar los sistemas de archivos, se utiliza el comando umount, Un sistema de archivos puede querer desmontarse por distintas razones: para poder comprobar o reparar el sistemas de archivos montados en NFS en caso de tener problemas de red; o para desmontar un sistema de archivo en un controlador de disquetes. NOTA: Este comando es umount, no "unmount". Asegrese siempre de que lo escribe

correctamente. Hay tres maneras de utilizar el comando umount. La sintaxis bsica del comando umount es: Umount device ? mountpoint Umount -a umount -t fstype Device es el nombre del dispositivo fsico que se va a desmontar y mounpoint es el nombre del directorio del punto de montaje. Slo es necesario especificar uno de los dos. El comando umount tiene slo dos parmetros de lneas de comandos adicionales: -a, que desmonta todos los sistemas de archivos y -t fstype, que acta slo en los sistemas de los archivos del tipo indicado. PRECAUCIN: El comando umount no desmonta los sistemas de archivos que estn en uso. Por ejemplo, si tiene algn sistema de archivo montado bajo, /mnt y escribe: Cd / mnt Umount / mnt Se produce un error que indica que el sistema de archivos est ocupado. Debe cambiarse a otro directorio en otro sistema de archivos para poder desmontar el sistema de archivos montado bajo /mnt. Usuarios y Permisos Siendo Linux un sistema operativo multi-usuario, es necesario tener presente como manejar usuarios y grupos, directamente relacionados, y tambin entender y aplicar los permisos que cada usuario y grupo manejarn. Agregando usuarios y grupos Red Hat y varias otras distribuciones proveen algunos comandos muy tiles, que nos permiten realizar una administracin de usuarios y grupos desde la lnea de comando. Paralelamente, existen interfaces ms amigables para lograr el mismo objetivo. En el caso de Red Hat existe el "userconf", de todas formas, nos concentraremos en las herramientas para la lnea de comando. Comando: "useradd" Uso: useradd [opciones] <nombre_de_usuario> Descripcin: El comando "useradd" se utiliza para agregar usuarios al sistema. Opciones: "-c": Comentario (generalmente el nombre completo) "-m": Crear home directory. (por defecto en algunas distribuciones, incluida RedHat) "-g": Especificar grupo inicial "-G": Especificar grupos suplementarios "-s": Especificar shell o interprete de comandos "-d": Directorio de trabajo del usuario. Comando: "userdel" Uso: userdel [opcion] <nombre_de_usuario> Descripcin: El comando "userdel" se utiliza para borrar usuarios al sistema. Opciones: "-r": Borra todos los archivos que se encuentren en su directorio de trabajo. Comando: "usermod" Uso: usermod [opciones] <nombre_de_usuario> Descripcin: El comando "userdel" se utiliza para modificar datos de los usuarios del sistema. Se utiliza al igual

que useradd, por lo que comparten varios de sus parametros. Opciones (ver useradd tambien): "-c": Comentario (generalmente el nombre completo). "-d": Directorio de trabajo del usuario. "-g": Grupo principal. Es importante tener en cuenta que estas herramientas solamente modifican el contenido de los archivos "/etc/passwd" y "/etc/shadow". El primer archivo que se mencion es fcil de modificar manualmente, aunque no se recomienda esta forma de trabajo ya que es uno de los archivos ms importantes del sistema operativo. Comando: "groupadd" Uso: groupadd [opciones] <nombre_del_grupo> Descripcin: El comando "groupadd" se utiliza para agregar grupos al sistema. Opciones: "-g": Asigna un nmero de GID en particular. Comando: "groupdel" Uso: groupdel <nombre_del_grupo> Descripcin: El comando "groupdel" se utiliza para borrar grupos del sistema. Comando: "groupmod" Uso: groupmod [opciones] <nombre_del_grupo> Descripcin: El comando "groupmod" se utiliza para modificar datos de los grupos del sistema. Opciones: "-g": Asigna un nmero de GID en particular. Es importante tener en cuenta que estas herramientas solamente modifican el contenido de los archivos "/etc/group" y "/etc/gshadow". El primer archivo que se mencion es fcil de modificar manualmente. Permisos Existen comandos muy tradicionales en Unix que se utilizan para hacer cambios en los permisos de los archivos y directorios. Estos comandos trabajan de la misma forma en Linux tambin. Para realizar cualquier cambio sobre los permisos de los archivos, es completamente necesario tener permisos para realizar estas tareas. Los permisos (as como los dueos y grupos) de los archivos y directorios se pueden ver con el comando "ls" utilizando las opciones apropiadas. (ver Modulo 1) Comando: "chown" Uso: chown [opciones] <nombre_de_usuario> <archivo/s> Descripcin: El comando "chown" se utiliza para modificar el dueo de los archivos o directorios pasados como argumento. Opciones: "-R": Cambio recursivo (incluye subdirectorios) Comando: "chgrp" Uso: chgrp [opciones] <nombre_de_grupo> <archivo/s>

Descripcin: El comando "chgrp" se utiliza para modificar el grupo de los archivos o directorios pasados como argumento. Opciones: "-R": Cambio recursivo (incluye subdirectorios) Comando: "chmod" Uso: chmod [opciones] <modo> <archivo/s> Descripcin: El comando "chmod" se utiliza para modificar los permisos de los archivos o directorios pasados como argumento. Opciones: "-R": Cambio recursivo (incluye subdirectorios) modo: Existen dos formas de especificar permisos con este comando, por un lado esta la forma "literal", que es ms intuitiva y por el otro la "octal", que es utilizando nmeros octales para especificar el tipo de permisos que se le asignarn a los archivos y/o directorios. Forma Literal: Para especificar los permisos trabajando en forma literal se tiene que dividir por el smbolo "+" (ms) o "-" (menos), el segmento donde se van a aplicar los permisos del tipo de permisos que se aplicarn. Todos estos permisos son combinables, siempre separados por un "+" (ms) o "-" (menos), se pueden colocar "u", "g" u "o", as como tambin "r", "w", "x" (del otro lado del separador) Ejemplos: `chmod ugo+rwx *` (da permisos de lectura, grabacin y ejecucin a todos los archivos (-rwxrwxrwx)) `chmod g+rx *` (da permisos de lectura y ejecucin al grupo de todos los archivos y directorios (-???r?x???) `chmod o-rwx *` (quita permisos de lectura, grabacin y ejecucin a todos los archivos (-??????---)) Formal octal: Esta forma es menos intuitiva pero ms veloz para realizar los cambios ya que el modo se especifica con un nmero octal de tres o ms dgitos. Lo interesante que tiene esta forma de cambiar permisos es que con un solo modo se pueden cambiar todos los segmentos del permiso (dueo, grupo y ejecucin) as como tambin el tipo de permiso asignado. A continuacin se describen los permisos ms utilizados: Nmero octal Forma literal Permiso final 777 ugo+rwx rwxrwxrwx 666 ugo+rw,ugo-x rw-rw-rw755 u+rwx,go+rx,go-w rwxr-x-r-x 444 ugo+r,ugo-wx r--r--r-555 ugo+rx,ugo-w r-xr-xr-x La forma de obtener el valor numrico es la siguiente: se le asigna un valor a cada flag rwxrwxrwx 421421421 2) y luego se suman para cada grupo de rwx los valores de los flags activos, por ejemplo:

rwxrwxrwx 7 7 7 = 777 rw-r--r-6 4 4 = 644 rwxr-xr-x 7 5 5 = 755 r-------4 0 0 = 400 Hay que tener cuidado cuando los permisos son 666 (rw-rw-rw) o 777 (rwxrwxrwx) ya que estamos brindando acceso full a todos los usuarios del sistema. Ejercicios Crear tres directorios en el "Home Directory" llamados "Mas comandos", "KDE" y "Conexion Internet", con un solo comando. Crear un directorio en /tmp llamado "Documentos". Dentro del directorio /tmp/Documentos crear, con un solo comando, el directorio "/tmp/Documentos/Cursos/Linux/Comandos Iniciales" Copiar el contenido del "Home Directory" al ultimo directorio creado, incluyendo los archivos que comiencen con "." Listar el contenido de este directorio en formato "largo", ordenados por fecha en forma "invertida" (la fecha mas reciente, ltima). Crear un link simblico llamado "WM" que apunte al directorio "KDE", dentro de este directorio (WM). Liste los archivos (con formato largo) y anote que cambio en la segunda columna del listado, en las filas de los links simblicos recientemente creados. Quotas Las "quotas" permiten restringir el uso de espacio en disco a grupos o a usuarios en particular. Comando: "quota" Uso: quota [opciones] [usuario|grupo] Descripcin: Imprime la informacin de quotas de un usuario o group Opciones: "-u <usuario>": imprime las quotas del usuario (default) "-v": incrementa el tamao de la informacin Comando: "edquota" Uso: edquota [opciones] [usuario|grupo] Descripcin: Permite modificar la informacin de quotas de un usuario o grupo. Utiliza el contenido de la variable $EDITOR como comando de edicin.

Opciones: "-u <usuario>": edita la informacin del usuario "-g <grupo>": edita la informacin del grupo Comando: "quotaon" Uso: quotaon [opciones] [sistema de archivos] Descripcin: Activa el uso de quotas para el sistema de archivos indicado Opciones: "-a": activa las quotas para todos los sistemas de archivos preparados para quotas. Comando: "quotaoff" Uso: quotaoff [opciones] [sistema de archivos] Descripcin: Desactiva el uso de quotas para el sistema de archivos especificado Opciones: "-a": desactiva las quotas de todos los sistemas de archivos utilizando quotas actualmente Comando: "quotacheck" Uso: quotacheck [opciones] [sistema de archivos] Descripcin: Revisa y crea los archivos quota.user y quota.group del sistema de archivos especificado, que le indican al sistema cuanto espacio est usando actualmente cada usuario y/o grupo. Opciones: "-a": revisa todos los sistemas de archivos "-u": revisa el espacio utilizado para un UID especfico "-g": revisa el espacio utilizado para un GID especfico Configuracin del entorno shell. Parte del proceso de conexin al sistema, es decir, de crear una sesin Linux, consiste en la creacin de su entorno. Todos los procesos Linux (como se llama a la ejecucin de los programas), tiene su propio entorno, que es independiente y distinto del propio programa. Podra decse que un programa se ejecuta desde dentro de un entorno. El entorno Linux, llamado el entorno shell, consiste en un nmero de variables y valores, que permiten a un programa en ejecucin, como un shell, determinar el aspecto que tiene el entorno. Entorno, hace referencia a aspectos como nombre del shell, directorio de ususario y el tipo de terminal utilizado. Muchas de stas variables se definen durante el proceso de entrada al sistema y no pueden o no deben modificarse. Puede aadir o cambiar tantas variables como desee, siempre que una variable no haya sido marcada "solo para lectura". Las variables se configuran en el entorno en el formato VARIABLE=valor. El significado de VARIABLE puede ser cualquier cosa que desee. Sin embargo, muchas variables tienen significados predeterminados para muchos programas Linux estndares. Por ejemplo, la variable TERM se define como el nombre del tipo de terminal especificado en una de las bases de datos estndares de terminal de linux. Digital Equipament Corporation fabric un terminal muy popular conocido como VT-100. las caractersticas de este terminal han sido copiadas por muchos otros fabricantes y han sido a menudo emuladas en software para computadoras personales. El nombre de este tipo de terminal es vt100; se representa en el entorno como TERM=vt100. En un entorno existen muchas otras variables predeterminadas. Si utiliza el shell C podr listar estas variables utilizando el comando printenv; para los shells Bourne o Korn, utilice el comando set. La

table 18.2 relaciona las variables de entorno ms comunes y sus utilizaciones. La columna de variables muestra lo que escribe en la lnea de comando. NOTA: algunas de estas variables pueden modificarse y otras no. Tabla 18.2 Variables comunes de entorno del shell Bourne Variable Descripcin HOME=/home/login Configura su directorio de usuario, que es la localizacin desde iniciada la sesin. Sustituya login por su identificador de entrada al sistema. Por ejemplo, si su identificador de entrada al sistema es jack HOME puede identificarse como /home/jack. LOGNAME=login LOGNAME se configura automticamente al igual que su identificador de entrada al sistema. PAHT=path La variable paht representa la lista de directorios que el shell exmina para comandos. Podr, por ejemplo, configurar la ruta como sigue: PATH=/usr:/bin:/usr/local/bin. PS1=prompt PS1 es el indicador primario de shell que define el aspecto que tiene su indicador. Si no lo configura de algn modo, el indicador ser el signo del dlar ($). Si prefiere puede configurarlo para algo ms creativo, como por ejemplo, PS1="Enter Command >" mostrar Enter Command > como su indicador de lnea de comandos. PWD=directory PWD se configura automticamente. Esta variable indica el lugar donde se encuentra el usuario en el sistema de archivos. Por ejemplo, si ha marcado PWD (escribiendo echo $PWD en la lnea de comandos) y linux muestra /usr/bin, se encuentra en el directorio /usr/bin. Existe tambin un comando, pwd, que muestra el directorio actual SHELL=shell SHELL identifica la locacin del programa que sirve como shell. Por ejemplo puede configurar SHELL en su escritorio, profile o, login como SHELL=/bin/ksh para hacer que el shell Korn sea su shell de entrada al sistema. TERM=termtype Establece el orden de su tipo de terminal, tal y como lo especifica por la base de datos del terminal. Por ejemplo, puede configurar TERM en su archivo, profile o, login como TERM=vt100. NOTA: Si desea que aprezca una variable de entorno cada vez que se conecte al sistema, coloque la definicin en el archivo profile (ubicado en su directorio de usuario si est ejecutando el shell Bourne o bash. Para el shell C, coloque la definicin en el archivo login. Tal vez la variable ms importante en su entorno es PATH. NOTA: Los usuarios de DOS seguramente conozcan la variable PATH. Esta variable realiza la misma funcin tanto en DOS como en Linux. La variable PATH contiene una cadena limitada por dos puntos que apunta a todos los que contienen los programas utilizados. El orden en que aparecen listados estos directorios determina qu directorios se revisan primero. El orden de la lista es muy importante en sistemas que soportan varios formatos diferentes del mismo comando. Su sistema podra tener tambin comandos cerrados creados localmente a los que es posible desee acceder. Por ejemplo, su variable PATH puede contener los valores siguientes: /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin Esta frase proporciona instrucciones a su shell para que explore el directorio /sbin en primer lugar. Si el shell encuentra el comando en el primer directorio que revisa, detendr la bsqueda y ejecutar

el comando. Los directorios /bin y /usr/bin contienen todos los comandos estndares de Linux. El directorio /usr/local/bin a menudo contiene los comandos locales aadidos por los usuarios de su sistema. Esta tarea de aadir comandos locales es normalmente resposabilidad del administrador del sistema. /usr/sbin y /sbin contienen programas de administracion que generalmente solo root utilizar. Algunos de estos pueden ser ejecutados por usuarios comunes, como por ejemplo /sbin/ifconfig, que proporciona informacion sobre las interfaces de red definidas. Si est ejerciendo de administrador del sistema, o si desea acceder a comandos ms orientados al sistema, probabalemente querr aadir /usr/bin o /usr/local/sbin o incluso ambos para no tener que escribir /usr/sbin/traceroute. Si pretende crear sus propios comandos podr modificar la variable PATH para incluir directorios que los contengan. La forma de hacerlo depender del shell que utilice. Por ejemplo, si utiliza el shell Bourne o Korn, podr aadir un directorio a su variable PATH escribiendo: $ PATH=$PATH:newpath Cuando coloque su signo $ delante del nombre de una variable, su valor actual se modificar. En este comando la variable $PATH representa la ruta actual; los parmetros dos puntos y newpath se aaden a la ruta actual. El entorno de shell contiene variable y funciones, y que stos objetos pueden ser manipulados por los shells y los programas de aplicacin. Estos pueden acceder al entorno y modificarlo, pero generalmente manipulan variables dentro del programa. Por otra parte, los shell slo pueden manuipular variables en el entorno. Variables especiales del shell El shell controla un nmero de variables especiales. Puede ver a qu se refiere con el comando env, que relaciona las variables disponibles dentro de su entorno de trabajo. A continuacin se proporciona una lista abreviada de lo que puede verse al introducir env: HOME=/usr/wrev SHELL=/bin/sh MAIL=/usr/mail/wrev LOGNAME=wrev PATH=/bin:/usr/bin TZ=PST8PDT PS1=$ TERM=vt100 Cualquiera de estas variables especiales se utiliza tal y como se usan el resto de variables shell. La tabla 18.3 define las vriables especiales. Tabla 18.3 Variables especiales Nombre de la variable Significado HOME Nombre completo de ruta del directorio de usuario SHELL Nombre sel shell actual MAIL Nombre completo de ruta del buzn de correo LOGNAME Su nombre de entrada al sistema PATH Directorios que el shell revisa en busca de comandos TZ Zona horaria para el comando date

SECONDS Nmeros de segundos desde que se invoc el shell PS1 Indicador del sistema TERM El tipo de terminal que est utilizando La variable HOME especifica siempre su directorio de usuario, donde se encuentra siempre que entra en el sistema. Ocasionalmente, utilizar el comando cd para pasar a otros directorios. Por ejemplo, para cambiar al directorio /usr/local/games, escriba games /usr/local/games. Lo nico que tiene que hacer para volver a su directorio de usuario es introducir cd. Puede utilizar la variable HOME cuando est escribiendo archivos de secuencia de shell que especifiquen archivos en su directorio de usuario. En lugar de escribir un comando con grep $number /usr/wrev/sales/data.01. es mejor los motivos que se presentan a continuacin: Es ms fcil leer la lnea de comando. El comando todava funciona, aunque se mueva su directorio de usuario. $HOME siempre representa el directorio de usuario de quien est utilizando el comando. Si escribe el comando utilizando $HOME otros podrn utilizarla tambin. La variabla PATH La variable PATH relaciona los directorios que el shell revisa en el orden en que est listados para buscar comandos. Si la ruta es PATH=/bin:/usr/bin/:, siempre que el shell interpreta un comando, buscar primero en el directorio /bin; si no puede encontrarlo all, buscar en el directorio /usr/bin. Finalmente buscar en el directorio. (recuerde que el punto representa su directorio actua . Cuando escriba cal para imprimir el calendario de este mes, el shell buscar primero en /bin; como el comando no se encuentra all, entonces en /usr/bin, donde lo encontrar. Consejo : Si tena un comando pesonalizado llamado cal, el shell nuca la encontrar; el shell ejecutar primero el comando cal en /usr/bin siempre que emita el comando. Asigne a sus comandos nombres distintos a los comando del sistema. Es posible que desee colocar todos sus archivos de secuencia de shell en un directorio y cambiar la variable de PATH para inckuir dicho directori. Esta dsposicin le permite ejecutar sus archivos de secuencia de shell desde cualquier directorio en el directorio en el que se encuentre. Para hacerlo, ejecute los pasos que se detallan a continuacin: Cree un directorio donde guardar las secuencias. Utilice el comando mkdir $HOME/bin para crear un subdirectorio bin en su directorio de usuario. Mueva cada archivo de secuencia de shell a este subdirectorio. Por ejemplo, para mover un archivo de secuencia de shell llamado stamp a su subdirectorio bin, utillice el comando mv stamp $HOME/bin. Aada el subdirectorio de secuencias a su variable PATH con el comando PATH=$PATH HOME/bin. Hganlo en su archivo .profile de forma que el cambio tenga efecto cada vez que entre en su sistema. Necesitar crear este directorio y modificar la variable PATH slo una vez. Bajo Linux se crea el directorio llamado /usr/local/bin para almacenar comandos "locales"y secuencias que no son parte del paquete estndar de Linux pero que ha aadido localmente y estn disponibles para todos los usuarios . En este caso, debera esperar que /usr/local/bin forme tambin parte de PATH. La variable MAIL La variable MAIL, contiene el nombre del archivo que guarda su correo electrnico. Siempre que

entre en el sistema un mensaje de correo, ste se introduce en el archivo especificado por la variable MAIL. Si tiene un programa que le nofica la llegada de correo nuevo, ste comprueba el archivo asociado a la variable MAIL. La variable PS1 La variable PS1 mantiene la cadena de cracteres que ve como su indicador primario. El indicador es la cadena de caracteres que muestra el shell cuando se encuentra listo para recibir un comando. La variable TERM La variable TERM se utiliza para identificar el tipo de terminal que utiliza. Los programas que funciona en la modalidad de pantalla como, por ejemplo, el editor de tecto vi, necesitan esta informacin. La variable TZ La variable TZ mantiene una cadena que identifica su zona horaria. El prorgrama date y algunos otros programas requieren esta informacin. El sistema de su computadora controla la hora del sistema de acuerdo con la Hora Media de Greenwinch (GMT). Si la variable TZ se configura a PST8PDT, la hora y fecha se determinan como Hora Estndar del Pacfico (PST), ocho horas al oeste de GMT, con soporte para el horario de verano del Paccifo (PDT). El sistema de su computadora cambiar automticamente entre el horario de verano y el horario estndar. No olvide que durante la instalaci;on se le pidi que seleccionara una zona horaria. La variable LOGNAME La variable LOGNAME mantiene su nombre de entrada al sistema, es decir, el nombre o cadena de caracteres con los que el sistema le asocia. La variable LOGNAME le indica como el propietario de sus archivos, como el indicador de los procesos o programas que pudieran estar ejecutando y como el autor de correo o mensajes enviaddos por el comando write, entre otras cosas. El ejemplo siguiente es una extensin del archivo de secuencias de shell safrm que se crea para eliminar sin riesgo los archivos. La variable LOGNAME se utiliza para eliminar todos los archivos de su propiedad del directorio /tmp. Para hacerlo el archivo de secuencia de shell utiliza el comando find, que posee un nmero de opciones. El archivo de secuencias de shell utiliza la lnea de comando de find siguiente: Find /tmp -user $LOGNAME -exe rm {} \; El primer parmetro, /tmp es el directorio que se desea revisar. La opcin -user indica que se desea buscar todos los archivos que pertenecen a un determinado usuario. Antes de que se ejecute el comando, shell sustituye $LOGNAME por el nombre de entrada al sistema del usuario actual. La opcin -exe indica que el comando siguiente debe aplicarse a cada archivo encontrado en el programa find. En este caso se utiliza el programa rm para eliminar los archivos encontrados. Las llaves ({}) representan la posicin de cada nombre de archivo pasado a el comando rm. Los dos ltimo caracteres, \; los necesita el comando find (un ejemplo de la utilizacin de la barra invertida para pasar un carcter a un programa sin que sea interpretado por el shell). Indice

Mdulo II 1 Uso y Administracin Bsica 1 Metacomodines y comodines 2 El asterco * , metacaracter universal 2 El smbolo de pregunta "?", metacaracter de posicin 2 Rangos, metacaracteres de posicin 3 Comandos de uso general Manipulacin de archivos 4 Montar y desmontar sistemas de archivos 7 Montaje interactivo de los sistemas de archivos 8 Mount device mountpoint 8 Montaje de sistemas de archivos durante el arranque 9 Desmontar sistemas de archivos 12 Usuarios y Permisos 12 Agregando usuarios y grupos 12 Permisos 13 Forma Literal: 14 Formal octal: 14 Ejercicios 15 Configuracin del entorno shell. 16 Variables especiales del shell 19

También podría gustarte