Manejo de archivos y directorios en Linux

7
Manejo de archivos y directorios La estructura del sistema de archivos de Linux es jerárquica. En esta estructura, se declara una ubicación precisa de un archivo con una cadena denominada Ruta o path. Una ruta está conformada por una sucesión de nombres de directorios y subdirectorios ordenados jerárquicamente de izquierda a derecha, separados en el caso de Linux por el carácter /. Archivos Un archivo es la estructura básica utilizada para almacenar información en Linux. Un archivo en una secuencia de bytes que se almacena en algún lugar del dispositivo de memoria, comúnmente el disco duro. Un archivo se identifica por el nombre que tiene asociado. El nombre de un archivo puede tener cualquier combinación de caracteres, excepto símbolos que tiene significado especial en el sistema como (/) o (*). Las mayúsculas y minúsculas son diferentes en Linux. Tipos de archivos en Linux Archivos ordinarios: Son los archivos que contienen la información o datos de usuario. Archivos ejecutables: Son los archivos que contienen programas de aplicación, Enlace simbólico: Un enlace simbólico es otro nombre para identificar un archivo específico. Se usa cuando, por ejemplo, dos personas deben trabajar sobre el mismo archivo. Un enlace simbólico ayudaría a no tener inconsistencias y ahorrar espacio. El archivo tendría dos nombres de manera que los usuarios crean que tienen copias distintas del mismo archivo. Cuando un usuario realiza cambios, éstos se realizan sobre la versión común. Directorios: Un directorio contiene una lista de archivos y subdirectorios, lo mismo que información sobre localizaciones y atributos. Archivos especiales: representan los dispositivos conectados a un computador, como puede ser una impresora. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios. Existen otros archivos que no pueden ser clasificados en ninguna de las categorías anteriores, por tener propósitos específicos dentro de Linux. Directorios Es un mecanismo para agrupar archivos que se encuentren relacionados, permitiendo el manejo y administración del gran número de archivos que puede tener un usuario. En Linux, también se pueden crear subdirectorios (subcarpetas) para tener una mejor clasificación de los documentos.

description

Prinicipios básicos para el manejo de archivos en Linux

Transcript of Manejo de archivos y directorios en Linux

Page 1: Manejo de archivos y directorios en Linux

Manejo de archivos y directorios

La estructura del sistema de archivos de

Linux es jerárquica.

En esta estructura, se declara una

ubicación precisa de un archivo con una

cadena denominada Ruta o path. Una ruta

está conformada por una sucesión de

nombres de directorios y subdirectorios

ordenados jerárquicamente de izquierda a

derecha, separados en el caso de Linux por

el carácter /.

Archivos

Un archivo es la estructura básica utilizada

para almacenar información en Linux. Un

archivo en una secuencia de bytes que se

almacena en algún lugar del dispositivo de

memoria, comúnmente el disco duro.

Un archivo se identifica por el nombre que

tiene asociado. El nombre de un archivo

puede tener cualquier combinación de

caracteres, excepto símbolos que tiene

significado especial en el sistema como (/)

o (*). Las mayúsculas y minúsculas son

diferentes en Linux.

Tipos de archivos en Linux

Archivos ordinarios: Son los archivos que

contienen la información o datos de

usuario.

Archivos ejecutables: Son los archivos

que contienen programas de aplicación,

Enlace simbólico: Un enlace simbólico es

otro nombre para identificar un archivo

específico. Se usa cuando, por ejemplo,

dos personas deben trabajar sobre el

mismo archivo. Un enlace simbólico

ayudaría a no tener inconsistencias y

ahorrar espacio. El archivo tendría dos

nombres de manera que los usuarios crean

que tienen copias distintas del mismo

archivo. Cuando un usuario realiza

cambios, éstos se realizan sobre la versión

común.

Directorios: Un directorio contiene una

lista de archivos y subdirectorios, lo

mismo que información sobre

localizaciones y atributos.

Archivos especiales: representan los

dispositivos conectados a un computador,

como puede ser una impresora. De esta

forma introducir información en ese

archivo equivale a enviar información a la

impresora. Para el usuario estos

dispositivos tienen el mismo aspecto y uso

que los archivos ordinarios.

Existen otros archivos que no pueden ser

clasificados en ninguna de las categorías

anteriores, por tener propósitos específicos

dentro de Linux.

Directorios

Es un mecanismo para agrupar archivos

que se encuentren relacionados,

permitiendo el manejo y administración

del gran número de archivos que puede

tener un usuario. En Linux, también se

pueden crear subdirectorios (subcarpetas)

para tener una mejor clasificación de los

documentos.

Page 2: Manejo de archivos y directorios en Linux

Estructura jerárquica

Linux tiene una estructura de archivos y

directorios predeterminada al realizar la

instalación. Esta estructura puede alterarse

añadiendo o eliminando nuevos archivos y

directorios o moviendo los archivos de un

directorio a otro.

Los principales directorios de Linux se

pueden observar en la siguiente tabla:

Directorio Descripcion

/bin Archivos

ejecutables de

Linux

/sbin Algunos

ejecutables propios

del sistema

/etc Archivos de

configuración

/etc/skel Archivos básicos

de cada nuevo

usuario

/proc Archivos de

información del

sistema

/boot Archivos

necesarios para el

arranque de Linux

/var Usos varios. Por

ejemplo log, spool

correo, etc.

/lib Librerías del

sistema

/usr Software instalado

no comercial

/usr/rnan Directorio que

contiene las ayudas

del sistema

/usr/doc Documentación del

software instalado

/opt Software instalado

comercial

/home Directorios de

trabajo de los

usuarios

/dev

Contiene los

archivos asociados

a los dispositivos

/root Directorio de

trabajo del root

/losi-t-found Relación de los

archivos

defectuosos del

disco

/mnt Directorios

asociados a

dispositivos de

almacenamiento

La estructura jerárquica es una estructura

de archivos en árbol, en donde la raíz

generalmente se ubica en la parte superior.

El directorio en el cual puede trabajar el

usuario se llama /home. En cada sesión el

usuario comienza en su directorio de

trabajo y se puede mover hacia el interior.

La posibilidad de moverse en los

subdirectorios depende de permisos o

privilegios asignados por el root y otros

usuarios.

Para acceder a dos archivos con el mismo

nombre se debe especificar su ruta de

acceso, Por ejemplo:

/home/martha/trabajo/presentación

/home/martha/clase/presentación

A estas rutas de les denomina Nombres de

camino, porque definen el camino a seguir

por el árbol de directorios para llegar al

archivo.

Nombres de camino completos o

absolutos: Son los nombres de camino

que van desde la Raíz hasta el nombre del

archivo. En estos, el primer slash /

corresponde a la raíz y los demás son

separadores entre nombres de directorios.

Page 3: Manejo de archivos y directorios en Linux

El último separa el nombre del archivo del

nombre del directorio que lo contiene.

Nombres de camino relativos: No

siempre es necesario especificar la ruta

completa para hacer referencia a los

archivos. Cuando se utilizan estos, la ruta

no comienza con el carácter /. Si me

encuentro en el directorio /home/martha,

puedo acceder a los archivos así:

trabajo/presentación

clase/presentación

Especificación del directorio actual:

Para hacer referencia el directorio actual

de trabajo, se utiliza el punto (.). Por

ejemplo:

./trabajo/presentación, es el nombre de

camino del archivo presentación en el

directorio trabajo que está en el directorio

actual.

Especificación del directorio padre: (..)

se utilizan para hacer referencia al

directorio padre del directorio actual. El

directorio padre en el siguiente directorio

hacia arriba en el árbol de directorios.

Puesto que el sistema de archivos es

jerárquico todos los directorios tienen un

directorio padre, excepto el directorio raíz.

../..: hace referencia al padre del padre

../../..: hace referencia al padre del padre

del padre

Visualización del directorio actual

La orden pwd (print working directory)

muestra en pantalla el nombre del

directorio actual con el nombre de camino

completo desde la raíz

El carácter comodín *

El carácter * puede sustituir cualquier

cadena de caracteres cuando hace

referencia a un nombre de archivo. Por

ejemplo, info*, puede hacer referencia a los

archivos informe, información… Para

asegurar que se selecciona el archivo

adecuado se puede utilizar la orden - ls , ls

info*, así se listaran todos los archivos que

cumplan la condición.

Operaciones sobre archivos

La orden Multipropósito CAT

La orden cat permite crear un archivo de

texto, añadir texto, mostrar su contenido y

duplicar archivos.

Al escribir la orden cat > nombrearchivo

y <Enter> se crea el archivo. Si ya existe

lo sobreescribe.

A partir de esta orden todo lo que teclee se

envía al archivo especificado. Se envía

una línea cada vez que pulse <Enter>. Si

se desea terminar la escritura del archivo,

se da la orden <Ctrl><D>, significa fin

de archivo.

Para añadir texto al archivo, se utiliza la

orden cat >> nombrearchivo. Esto recoge

lo que se escriba y lo envía al final del

archivo.

Para ver el contenido del archivo en

pantalla se utiliza la instrucción

cat nombrearchivo

Para copiar el contenido de un archivo, se

puede utilizar la instrucción

cat nombrearchivo > nuevoarchivo

Page 4: Manejo de archivos y directorios en Linux

Para añadir la información de un archivo

al final de otro, se puede utilizar cat

nombrearchivo >> otroarchivo

Listado de un directorio

La orden ls (list) permite visualizar el

contenido del directorio actual. Sin

argumentos la orden ls no especifica si los

nombres corresponden a archivos o

directorios.

Listado de archivos ocultos: Se

utiliza la orden ls –a, para ver el

contenido del directorio actual

incluyendo los archivos ocultos.

Listado con marcas La orden

ls –F, se produce una lista donde

se marcan los directorios con el

carácter (/) al final, los ejecutables

con asterisco (*) y los archivos

ordinarios sin marca.

Control del formato en pantalla:

Cada línea muestra siete campos de

derecha a izquierda:

Nombre del archivo

Fecha de creación o

modificación

Tamaño en bytes

El grupo al que pertenece el

usuario

El usuario o propietario

El tipo de archivo

Los permisos o

autorizaciones

Orden Descripcion ls -a Lista todos los archivos incluidos los

ocultos

ls -F Listado con marcas de diferenciación ls -1 El número uno significa una sola

columna ls -x Ordena alfabéticamente A-Z

ls -t Ordena por fecha / hora

ls -r Orden invertido Z-A

ls -tr Ordena por fecha / hora invertida ls -l Formato largo

Mover y renombrar archivos

La orden mv permite mover un archivo de

un directorio a otro. Esta orden también

permite renombrar un archivo,

moviéndolo al mismo directorio pero con

otro nombre. Por ejemplo

mv tarea /home/martha/ trabajos,

mueve el archivo tarea que está en

directorio actual al directorio

trabajo.

Linux no tiene una instrucción para

renombrar los archivos. Se utiliza el

comando mv.

mv actividad trabajo. Cambia el

nombre del archivo actividad a

trabajo

La opción –i, informa al usuario si un

archivo se va a sobreescribir.

mv –i datos info

Copiar archivos

La orden cp permite copiar archivos,

primero se escribe el nombre del archivo

que se desea copiar y a continuación el

nombre del nuevo archivo usando un

camino absoluto o un camino relativo.

cp * /home/ martha copia todos

los archivos del directorio actual en

el directorio martha.

Para copiar todo un directorio con su

contenido se utiliza la opción –r

cp –r / trabajos/ universidad

Page 5: Manejo de archivos y directorios en Linux

Para confirmar si se desea sobreescribir

cp –i tarea /martha/información

Eliminación de archivos

La orden rm se utiliza para eliminar

archivos que no se necesitan. Se puede

usar el carácter * para eliminar varios

archivos al mismo tiempo. La opción –i se

utiliza para confirmar antes de eliminar.

rm trabajo elimina el archivo

trabajo

rm tra* elimina todos los

archivos que inicien con estos

caracteres.

Eliminar un directorio con su contenido

Se utiliza la orden

rm –r nombredirectorio

Elimina el directorio que está almacenado

en el directorio actual, la opción –r indica

que lo hará recursivamente, eliminado

directorios y archivos que contenga.

Comando ln

ln [opción] origen destino

Crea enlaces entre archivos

ln – s Enlace simbólico suave. Al borrar el

archivo se borra el enlace

ln –d permite al superusuario hacer

enlaces duros.

Creación de directorios.

La orden mkdir permite crear directorios,

especificando un nombre de camino

absoluto o relativo. Por ejemplo

mkdir trabajo crea el directorio trabajo

en el directorio actual

mkdir /home/martha/ nuevo crea el

directorio nuevo en el directorio del

usuario martha.

Eliminación de un directorio

Se puede eliminar un directorio usando la

orden rmdir nombredirectorio. Solo

permite eliminar si el directorio se

encuentra vacio.

Movimiento entre directorios

La orden cd (change directory) permite

moverse entre directorios.

Se puede mover a un directorio en

particular, especificando el nombre de

camino completo. Se puede ir al directorio

padre con cd.. o al directorio padre del

padre cd../.. o al directorio raíz con cd /.

Tamaño de directorios

Es posible conocer el tamaño en Kbytes

del directorio actual y sus subdirectorios,

con al orden du.

Se puede indicar el nombre de un

directorio, du nombredirectorio

Permisos y Privilegios

En Linux existen tres clases de

autorizaciones para archivos que

corresponden a tres clases de usuarios:

propietario (usuario), el grupo al que

pertenece el propietario (grupo) y otros

usuarios del sistema (otros)

Page 6: Manejo de archivos y directorios en Linux

Un grupo es un conjunto de usuarios que

están relacionados, el root registra el

grupo en el sistema. La mayoría de los

periféricos en Linux son grupos.

El comando ls –l permite observar los

permisos y privilegios

El primer carácter indica si es un archivo

ordinario (-), directorio (d) o un enlace

simbólico (l). Las siguientes tres letras

hacen referencia a las autorizaciones del

propietario del archivo. Las siguientes tres

letras son las autorizaciones del grupo y

las ultimas son los permisos de otros

usuarios.

Lectura r

Escrituraw

Ejecución x

Si un archivo tiene la siguiente

autorización -rwxr-xr-x significa que: es

un archivo ordinario (-), el usuario puede

leer (r), escribir (w), y ejecutar el archivo

(r). El grupo puede leer (r) y ejecutar (r) al

igual que los otros.

Modificar permisos

La orden chmod permite fijar y modificar

los permisos de acceso al contenido, de

modificación y ejecución.

Con chmod se especifica en primer lugar

el tipo de usuario al que se le van a

cambiar las autorizaciones (u para usuario,

g para grupo y o para otros). En segundo

lugar se indica si se desea adicionar o

eliminar autorizaciones (+ o -). Luego se

especifican las autorizaciones (r lectura, w

escritura, x ejecución o acceder a

directorios). Al final se indica el archivo o

archivos a los que se hace referencia.

Por ejemplo:

chmod go – rx trabajo elimina

las autorizaciones de lectura y

ejecución al archivo trabajo para el

grupo y otros usuarios.

Se puede asignar permisos de forma

automática:

chmod u=rw actividad

Se puede añadir autorizaciones:

chmod ugo + rwx carta

chmod a +rwx carta

Se añaden permisos a todos los

usuarios.

Se cambian los permisos a todos los

archivos almacenados en un directorio

Chmod –R u+r carta

Añade la autorización de leer al

propietario para todos los archivos

pertenecientes al directorio carta de

manera recursiva (-R)

Se pueden fijar permisos utilizando

directamente un código numérico,

representado en tres números: propietario,

grupo y otros. Para autorización de lectura

se suma 4, para escritura 2 y para

ejecución 1.

chmod 750 carta, fija permisos de lectura,

escritura y ejecución al propietario, lectura

Page 7: Manejo de archivos y directorios en Linux

y ejecución al grupo y ningún permiso a

los otros. Para el ejemplo:

Usuario Grupo Otros

Lectura 4 4 0

Escritura 2 0 0

Ejecución 1 1 0

Suma 7 5 0

Otros comandos

Estado del disco

El comando df, reporta el estado de las

particiones en uso o dispositivos de

almacenamiento. Indica por columnas,

nombre de la partición o dispositivo,

tamaño, espacio utilizado, espacio

disponible.

Búsqueda de archivos

Con al orden find se puede explorar el

sistema de archivos, y localizar un

archivo.

find . –name nombrearchivo busca los

archivos que tengan el nombre

nombrearchivo y estén en el directorio

actual (.)

find / -name “nombrearchivo*” todos

los archivos que estén en cualquier parte

del sistema y comience por

nombrearchivo

Comando less

La orden less visualiza una pantalla de

texto, después solicita ordenes para

realizar desplazamiento. Para hacer una

búsqueda tecle / y a continuación el texto.

Impresión de archivos

La orden básica para imprimir un archivo

es lpr (line printer).

lpr nombrearchivo imprime el archivo en

la impresora por defecto.

Para imprimir varios archivos:

lpr nombrearchivo* imprime todos los

archivos que empiecen con nombrearchivo

lpr –P laser nombrearchivo, envía a una

impresora diferente de la predeterminada

el archivo.

Cancelar una impresión

La orden lprm cancela toda la cola de

impresión en la impresora por defecto.

La orden lpmr –P impresora detiene la

impresión en una impresora especificada.

Monitoreo de impresión

La orden lpq –l o lpq informa las

impresoras disponibles en el sistema y el

número de trabajos planificados. Así se

puede controlar los trabajos de impresión.

Bibliografía.

Richard Petersen, Manual de referencia,

Linux. Osborne, McGraw-Hill. 1a edición

en español, 2001.

Carlos Eduardo Gómez Montoya, Julián

Esteban Gutiérrez Posada. Linux:

comandos y conceptos. 2000