sesion 04 - linux estructura de directorios y comandos basicos

70
LINUX ESTRUCTURA DE DIRECTORIOS COMANDOS BASICOS

Upload: franck-pajuelo

Post on 21-Jul-2015

181 views

Category:

Documents


0 download

TRANSCRIPT

LINUX ESTRUCTURA DE DIRECTORIOS COMANDOS BASICOS

Estructura de directorios de LINUX Tal como UNIX, LINUX elige tener una muy

simple estructura jerrquica de directorios. Existe un estndar, el ESTNDAR DE JERARQUA DE FICHEROS (FHS Filesystem Hierarchy Standard) que intenta definir las bases, para que tanto los programas del sistema, como los usuarios y administradores, sepan donde encontrar lo que buscan.

Estructura de directorios de LINUX El estndar FHS se encuentra en su versin 2.3 y

el documento del mismo se puede encontrar en su totalidad en la direccin: http://www.pathname.com/fhs/pub/fhs-2.3.html. Toda la estructura de directorios de LINUX parte

desde un directorio raz, representado por /, y se expande en sub-directorios, en forma de rbol invertido; tal como se muestra en el siguiente diagrama:

Estructura de directorios de LINUX

Estructura de directorios de LINUX Por debajo del directorio raz / hay un importante

grupo de directorios comn a la mayora de las distribuciones de GNU/LINUX. Entre estos podemos nombrar:

/bin - Aplicaciones binarias importantes, usualmente comandos del sistema. /boot - Archivos de configuracin del arranque, ncleos y otros archivos necesarios para el arranque del equipo.

Estructura de directorios de LINUX

/dev - Contiene los archivos especiales que representan a los dispositivos fsicos. /etc - Archivos de configuracin, scripts de arranque, archivos de contraseas, etc. /home - Directorios personales (home) para los diferentes usuarios. /lib - Bibliotecas del sistema (libraries), en linux las bibliotecas dinamicas tienen la extensin .SO /mnt - Sistemas de archivos montados manualmente en el disco duro.

Estructura de directorios de LINUX

/proc - Directorio dinmico especial que mantiene informacin sobre el estado del sistema, incluyendo los procesos actualmente en ejecucin. /root - directorio personal del usuario root (o superusuario). /sbin - Binarios importantes del sistema. La mayora de los comandos administrativos se encuentran aqu.

Estructura de directorios de LINUX

/tmp - Archivos temporales. TODOS los usuarios pueden leer y escribir en l. Algunos procesos como el encendido y apagado normalmente limpian este directorio. /usr - Aplicaciones y archivos a los que puede acceder la mayora de los usuarios, equivalente al directorio archivos de programa en ambientes winX /var archivos variables como archivos de registros y bases de datos.

Tipos de archivos en LINUX La base del SISTEMA DE ARCHIVOS de

LINUX, es obviamente el archivo, que no es otra cosa que la estructura empleada por el sistema operativo para almacenar informacin en un dispositivo fsico como un disco duro. Dentro del sistema LINUX hay cuatro tipos

diferentes de archivos: archivos ordinarios o regulares, directorios, enlaces simblicos (o ligas simblicas), y archivos especiales.

Tipos de archivos en LINUXARCHIVOS ORDINARIOS Los archivos ordinarios, tambin denominados archivos regulares o normales, son los ms comunes, son los que almacenan datos, es decir, puede ser un programa, un archivo de texto, cdigo fuente o cualquier cosa que pueda guardarse en cualquier lugar. El kernel soporta acceso secuencial y aleatorio en todos estos archivos

Tipos de archivos en LINUX En LINUX no existen atributos especiales para

determinar cuando un archivo es oculto. Los nombres de los archivos que comienzan con

un punto se consideran archivos ocultos.

Tipos de archivos en LINUXDIRECTORIOS Los directorios tienen en comn con los archivos ordinarios que ellos tambin contienen datos, slo que en este caso, el dato es una lista de otros archivos. ARCHIVOS ESPECIALES Los archivos especiales se identifican porque cada uno tiene un nmero de dispositivo mayor y uno menor (major and minor device number).

Tipos de archivos en LINUX El nmero mayor identifica al manejador del

dispositivo que necesita el kernel para acceder al dispositivo. El

nmero menor significa un parmetro dependiente del manejador del dispositivo usado tpicamente para diferenciar entre diversos tipos de dispositivos soportados por el manejador, o distintos modos de operacin.

Tipos de archivos en LINUX Representan dispositivos en los que se pueden leer

o escribir cantidades arbitrarias de datos. Podemos ver archivos de este tipo en el directorio /dev.ENLACES Ligas Duras - En realidad una liga (enlace o vnculo) no es un archivo, es un nombre adicional para otro archivo.

Tipos de archivos en LINUX Cada archivo tiene al menos una liga, usualmente

el nombre bajo el cual fue originalmente creado. Cuando se hace una nueva liga hacia un archivo, un alias para este archivo es creado. Una liga es indistinguible del archivo al cual est

ligado; LINUX mantiene el conteo de la cantidad de ligas que apuntan hacia un archivo en particular y no libera el espacio que ocupa el archivo hasta que la ltima liga es eliminada.

Tipos de archivos en LINUX Ligas Simblicas - Son archivos que simplemente

contienen el nombre de otro archivo. Cuando el kernel trata de abrir o pasar a travs de

la liga, su atencin es directamente hacia el archivo que la liga simblica apunta en vez de abrir la liga simblica en s.

Tipos de archivos en LINUX La diferencia entre las ligas, es que las ligas duras

son una referencia directa, mientras las ligas simblicas son una referencia a travs de un archivo, las simblicas son el archivo en s, por lo tanto, tienen un propio dueo y permisos.

Comandos LINUX

Comandos Linux Todos los comandos de LINUX se ajustan mas o

menos al siguiente formato:comando [opciones] [argumento] Opciones hace referencia a las distintas opciones

de aplicacin de dicho comando; van precedidas de un -. Argumento hace referencia al elemento sobre el cual se va a aplicar el comando (puede ser un archivo, una variable, un directorio, etc.).

Comandos Linux La mayora de los comandos LINUX de usuario

simple se encuentran en los directorios /bin, /usr/bin y /usr/local/bin. Los comandos LINUX son archivos binarios, de

ah el nombre de estos directorios (bin viene de binary).

Comandos LinuxDiagnostico rpido del sistema date obtiene la hora del sistema who lista los usuarios conectados al sistema. whoami identifica con que usuario estoy conectado uname -a nos dice la versin de kernel, procesador, y nombre de sistema df nos muestra la ocupacin del disco duro. free nos muestra el uso de la memoria ps -aux nos muestra los procesos en curso netstat -a nos muestra las conexiones de red actuales

Comandos LinuxLS - Para desplegar informacin acerca del contenido de undirectorio se utiliza el comando ls (que viene de LiSt). Descubrir que es uno de los comandos de LINUX que se usan con mayor frecuencia, por lo tanto, existen muchas opciones para controlar su salida. La funcin bsica de ls es desplegar una lista alfabtica de los nombres de archivos en un directorio.

Comandos Linux Por ejemplo, para listar los archivos del directorio /home,

usar: ls /home. Cualquier archivo cuyo nombre comience con un . se denomina ARCHIVO OCULTO. Los nombres de los archivos ocultos, por ejemplo, .bash_profile, no se enlistan cuando se usa el comando ls, a menos que se emplee la opcin -a (all o todos).

Comandos Linux Para desplegar la mayor informacin posible acerca de un

directorio o archivo, se usa el comando ls con la opcin -l (larga). La salida consiste en un resumen del almacenamiento en disco seguido de una lnea por archivo. Por ejemplo, consideremos: [alumno@localhost ~]$ ls l datos -rw-r--r-- 1 alumno alumno 2255 Aug 3 20:30 datos

Comandos Linux En el extremo izquierdo de cada lnea, el primer caracter

indica el tipo de archivo (existen varias posibilidades, pero las que por el momento interesan son d, que significa directorio, y -, que quiere decir archivo ordinario). A continuacin se especifican los PERMISOS que los

distintos tipos de usuarios tiene sobre dicho archivo.

Comandos Linux A continuacin , se muestra un nmero que indica cuntos

enlaces existen para ese archivo, seguido del identificador de usuario del dueo del archivo y su grupo, el tamao del archivo en bytes, la fecha y hora en que se modific el archivo por ltima vez, y por ltimo, el nombre del archivo.

Comandos Linux Si lo que se quiere es ver detalles de un directorio, y no de su

contenido, se debe usar ls con la opcin -d, por ejemplo, ls ld /home. Con ls es posible obtener un listado recursivo de los archivos del directorio y subdirectorios incluidos por medio de la opcin -R, por ejemplo, ls -R /home.

Comandos Linux Otras opciones de ls son: -s para listar junto con los nombre

de archivos su tamao (size) en bloques, -i para listar junto con los nombre de archivos su nmero de i-node, -F para llevar a cabo una categorizacin de los archivos, etc. La opcin -F agrega a los nombres de archivos en el listado marcas como un * para los archivos ejecutables y / para los directorios.

Comandos Linux CD - Para cambiar su directorio de trabajo, utilice el

comando cd (change directory o cambiar directorio). Por ejemplo, para pasar al directorio /bin utilice: cd /bin. Si emplea el comando cd sin un nombre de directorio, por defecto, lo lleva a su directorio propio (cd es equivalente a cd $HOME).

Comandos Linux Un directorio que contiene otro directorio se denomina

DIRECTORIO PRINCIPAL. Cuando se pasa de un directorio a un directorio principal, el ltimo se designa con ".." en la mayora de los sistemas. Se debe escribir cd .. en LINUX para acceder a un directorio principal. El directorio actual suele denotarse por ..

Comandos Linux PWD - Para desplegar el nombre de su directorio de trabajo,

utilice el comando pwd (print working directory o imprimir el directorio de trabajo).

[alumno@localhost ~]$ pwd /home/alumno [alumno@localhost ~]$ cd tarea [alumno@localhost ~]$ pwd /home/alumno/tarea

Comandos Linux MKDIR - Para crear un directorio utilice el comando mkdir

(make directory o hacer directorio). Por ejemplo, para crear un directorio llamado extra dentro de su directorio de trabajo use: mkdir extra. La opcin -m permite establecer los permisos de los directorios creados.

Comandos Linux La opcin -p permite crear los directorios padre que falten

para cada argumento del directorio. RMDIR - Para borrar o remover un directorio emplee el

comando rmdir (remove directory o remover directorio). Por ejemplo, para borrar el directorio extra de su directorio de trabajo use: rmdir extra.

Comandos Linux Cuando borre un directorio, LINUX lo obliga a seguir dos

reglas importantes. Primera: no puede borrarlo a menos que se encuentre vaco. Esta es una medida de seguridad. La segunda regla para borrar directorios especifica que no puede borrar ningn directorio que se encuentre dentro de su directorio de trabajo y de su directorio raz.

Comandos Linux Quizs haya ocasiones en que en realidad quiera borrar un

directorio que no est vaco. Durante esa operacin, puede emplear el comando rm con la opcin r.

Comandos Linux ALIAS permite dar nombres alternativos (mas fciles de

recordar, ms cortos,) a los comandos LINUX. En LINUX los ALIAS se definen por medio del comando

alias, de acuerdo con la siguiente sintaxis:

alias nombre_de_alias=comando_LINUX

Comandos Linux Por ejemplo, para definir un alias que permita listar solo los

subdirectorios del directorio actual, usaremos: alias sd=ls -l grep ^d. Ahora ejecutar sd ser equivalente a ejecutar ls -l grep ^d. Si queremos que el alias est siempre disponible debemos agregarlo a un archivo que se ejecute al inicio de sesin, por ejemplo, al archivo .bash_profile.

Comandos Linux Para eliminar un alias previamente definido, se utiliza el

comando unalias, as, por ejemplo, la orden unalias sd elimina el alias sd creado previamente.

Comandos Linux CAT - Todo lo que hace cat es copiar los datos

desde la entrada estndar (teclado) hacia la salida estndar(pantalla). Con el comando cat>archivo la entrada estndar sigue siendo el teclado, pero la salida estndar se ha redireccionado hacia un archivo. Cada lnea que teclee se copiar en el archivo.

Comandos Linux Si el archivo no existe, LINUX lo crea por usted. Si

existe, su contenido se reemplaza. Puede teclear cuantas lneas desee y, al final, oprimir +. Si desea anexar datos al final de un archivo existente, use >> para redireccionar la salida estndar: cat>>archivo

Comandos Linux HEAD - El comando head permite desplegar el

comienzo de un archivo. Por defecto, head despliega las primeros diez lneas de un archivo. Si lo que se desea es desplegar un nmero diferente

de lneas, se pueden especificar como opcin al comando head.

Comandos Linux Por ejemplo, para desplegar las primeras veinte

lneas de un archivo se puede usar: head 20 archivo. TAIL - El comando tail permite desplegar el fin de

un archivo. Por defecto, tail despliega las ltimos diez lneas de un archivo. Por ejemplo, tail -15 archivo desplegar las ltimas 15 lneas del archivo.

Comandos Linux MORE - Adems de cat, podemos servirnos de

otra orden para visualizar archivos, llamada more. Este comando visualiza, el o los archivos indicados, por pantallas completas, detenindose al final de cada pantalla o cada vez que se encuentre un caracter de borrado de pantalla. Una diferencia con cat es que slo se pueden visualizar archivos de texto, no binarios.

Comandos Linux Con more al final de cada pgina desplegada en

pantalla se nos indica que hay ms, por medio del indicador --More--, y tambin se nos informa del porcentaje de caracteres que hemos visualizado. Si en este punto pulsamos la , conseguiremos una nueva pantalla del mismo archivo, que se imprimir y volver a informarnos de la misma manera como lo hizo anteriormente.

Comandos Linux El procedimiento antes mencionado lo podramos

repetir hasta llegar al final del archivo. Pulsando la tecla conseguiremos que se visualice una sola lnea ms.

Comandos Linux CP - Para realizar una copia de un archivo seutiliza el comando cp. Copiar un archivo consiste en sacar una copia del mismo pero con otro nombre, o en otro lugar, es decir, tener dos archivos exactamente iguales, pero independientes, cada uno con su nombre y en su propio directorio. Por ejemplo, si tenemos un archivo llamado datos y se desea obtener una copia que lleve el nombre extra, se usa: cp datos extra.

Comandos Linux Con cp no solo es posible copiar archivos, sino que

tambin es posible copiar directorios recursivamente por medio de la opcin -R. Con la opcin -p se preservan los permisos, el usuario y el grupo del archivo a copiar. Con la opcin -f se borran los archivos de destino ya existentes.

Comandos Linux Para indicar la ubicacin en disco de un archivo hay

que indicar la lista completa de directorios que contienen al fichero. Es decir, un fichero puede estar dentro de un directorio que a su vez est dentro de otro y as varios. En esta lista, que denominaremos RUTA DE

ACCESO, cada directorio est separado del siguiente directorio por el signo / , y sin dejar espacios en blanco.

Comandos Linux As distinguiremos entre RUTAS DE ACCESO

ABSOLUTAS RELATIVAS.

y

RUTAS

DE

ACCESO

Una RUTA ABSOLUTA es aquella que parte del

directorio raz. Las RUTAS ABSOLUTAS son vlidas en cualquier caso. Por ejemplo, /home/alumno/documento1.

Comandos Linux Una RUTA RELATIVA es una ruta que parte del

directorio actual como origen. Esta ruta slo es vlida desde un directorio actual concreto, es decir es relativa a un directorio. Por ejemplo, ../../.profile, en este caso estamos haciendo referencia al fichero .profile que est dos directorios por encima del directorio actual.

Comandos Linux MV - El comando mv nos va a permitir cambiar el

nombre a un archivo, o moverlo de un directorio a otro. Por ejemplo, si desea mover un archivo llamado datos hacia un directorio llamado trabajo, use: mv datos trabajo. si un directorio llamado trabajo no existe, entonces

mv supone que usted quiere cambiar el nombre del archivo. Con el comando mv se pueden renombrar y mover no slo archivos, sino tambin directorios.

Comandos Linux RM - Para borrar o eliminar un archivo tenemos el

comando rm. Tras la propia orden pondremos el o los nombres de los archivos que deseemos borrar. Si un archivo tiene enlaces y lo borramos, en realidad habremos borrado uno de sus enlaces, y no el archivo propiamente tal, pero suponiendo que el enlace que estemos borrando sea el ltimo entonces se borrar tambin el archivo. Por ejemplo, si deseamos borrar el archivo llamado datos, usaremos: rm datos.

Comandos Linux Para

borrar un subdirectorio completo recursivamente use el comando rm con la opcin -r y especifique el nombre de un directorio; rm no slo borra el directorio sino todos sus archivos y subdirectorios. Por ejemplo, para borrar un directorio llamado extra, teclee: rm r extra.

Comandos Linux Con la opcin -f no se imprimen mensajes de error,

ni se pregunta al usuario confirmacin de cada archivo borrado. Con la opcin -i (interactive) se pregunta al usuario por confirmacin del borrado, esto podra ser til cuando, a modo de ejemplo, se desea borrar solo algunos de los archivos cuyos nombres empiezan con a: ls -i a*.

Comandos Linux Es posible restaurar un archivo previamente

borrado? Resp.: NO. WC - El comando wc cuenta las lneas, palabras y

caracteres. Los datos pueden provenir de la entrada estndar o de uno o ms archivos. Este comando es de accin inmediata. Genera como salida tres nmeros: de lneas, palabras y caracteres en los datos.

Comandos Linux Si usted especifica el nombre de un archivo, wc

escribe el nombre del archivo despus de los nmeros. Si especifica ms de un archivo, tambin proporciona las estadsticas totales. Si no quiere los tres nmeros, puede usar opciones : -l cuenta las lneas; -w cuenta palabras; y c cuenta los caracteres.

tres wc

las las

Comandos Linux Por ejemplo, podemos usar el comando wc para

contar el nmero de identificadores de usuario dentro de su sistema actualmente, por medio de la orden: who wc l. LN - El comando ln permite crear un enlace (o

liga) para un archivo. Por ejemplo, si tenemos un archivo llamado datos y deseamos crear un enlace para este archivo llamado otro, usaremos : ln datos otro.

Comandos Linux La opcin -s

permite crear un ENLACE SIMBLICO de un archivo. Cuando se ejecuta ls -l en un directorio donde hay un ENLACE SIMBLICO, ste se nota de la siguiente manera:

[alumno@localhost ~]$ ln s archivo enlace [alumno@localhost ~]$ ls l enlace lrw-r--r-- 1 alumno alumno 11 Apr 8 13:33 enlace ->archivo

Comandos Linux La

tcnica de enlace de archivos es una caracterstica de LINUX (y de UNIX tambin), consiste en tener en el disco un slo archivo que aparecer en varios sitios e incluso con diferentes nombres, siendo sin embargo todas las entradas pertenecientes al mismo archivo, hasta tal punto que si modificamos uno de los enlaces, los dems sufrirn la misma alteracin sin tocarlos.

Comandos Linux SORT - El comando sort efecta dos tareas

principales. Primera, y como es de esperar, ordena datos. sort es muy til para ordenar archivos de datos y para ordenar los datos dentro de una interconexin de procesos. Segunda: sort lee archivos con datos previamente ordenados y los fusiona para formar un archivo grande y ordenado.

Comandos Linux La manera ms sencilla de usar sort consiste en

ordenar un solo archivo y desplegar el resultado en pantalla, por ejemplo: sort datos. Para guardar los datos ya ordenados en otro archivo, puede redireccionar la salida estndar y usar: sort datos>maestro. Para ordenar un archivo y guardar la salida en el mismo archivo, usar: sort o datos datos.

Comandos Linux De manera preestablecida, los datos se acomodan

en orden ascendente, de acuerdo con el cdigo ASCII. Lo relevante es que el cdigo ASCII es como el alfabeto que usted usa, pues los caracteres guardan cierto orden, orden que usa sort para hacer comparaciones. El comando sort tiene varias opciones que puede usar para modificar el orden que desea emplear.

Comandos Linux Por ejemplo, La opcin d slo toma en cuenta

letras, nmeros y espacios, ignorando los dems caracteres; la opcin r ordena los datos de manera inversa. Adems de ordenar los datos, sort tambin fusiona archivos mltiples que contengan datos ordenados. Para usar sort de este modo, especifique la opcin m.

Comandos Linux STAT - El comando stat nos muestra informacin

muy completa acerca de archivos o SISTEMAS DE ARCHIVOS. Este comando nos reporta el nombre del archivo, su tamao, los bloques que ocupa, el tipo de archivo (regular), informacin fsica de donde se encuentra (dispositivo/i-node), los permisos estndar, los dueos del archivo y las tres marcas de tiempo UNIX.

Comandos LINUX[alumno@localhost ~]$ stat archivo File: `archivo' Size: 93300148 Blocks: 182424 IO Block: 4096 Regular File Device: 804h/2052d Inode: 1785294 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000) Gid: ( 100/ users) Access: 2008-04-03 18:45:29.000000000 +0200 Modify: 2008-01-30 17:56:08.000000000 +0100 Change: 2008-03-04 23:32:02.000000000 +0100

Comandos Linux Una parte importante acerca de la informacin

desplegada por stat, tiene que ver con la informacin de la fecha de registro del acceso al archivo. Muestra que se accedi (Access) al archivo el 2008-04-03 a las 18:45:29, o el 3 de abril de 2008 a las 18:45:29 PM. Este es el momento en el cual se empez a utilizar el archivo. El archivo fue modificado (Modify) el 2008-01-30 a las 23:32:02.

Finalmente, la fecha de registro al lado de Cambiar

(Change) muestra cundo fue cambiado el estado del archivo. Adems del tamao de archivo usual (que se puede obtener de ls -l), se puede obtener la cantidad de bloques que ocupa este archivo.

Comandos Linux El tamao de bloque LINUX tpico es de 512

bytes, entonces un archivo de 93.300.148 bytes ocupara (93300148/512=) 182226.85 bloques. Como los bloques se utilizan en su totalidad, este archivo utiliza un nmero entero de bloques. En lugar de hacer conjeturas, usted puede saber cules son los bloques exactos.

Comandos Linux La opcin -f del comando stat permite mostrar la

informacin de un SISTEMA DE ARCHIVO en lugar de un archivo:

[alumno@localhost ~]$ stat -f oracleFile: "oracle" ID: 0 Namelen: 255 Type: ext2/ext3 Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096 Inodes: Total: 12222464 Free: 12093976

Comandos Linux Por ltimo, la opcin -t brinda exactamente la

misma informacin pero en una sola lnea, con los datos separados por un espacio.