manejo de archivos y directorios en linux

21
1) Manejo de archivos y directorios en Linux. El sistema de archivos de Linux está organizado en archivos y directorios. Un archivo es una colección de datos que se almacena en un medio físico y a la cual se le asigna un nombre. Los archivos, a su vez, están agrupados en conjuntos llamados directorios. Un directorio puede tener subdirectorios, formándose así una estructura jerárquica con la forma de un árbol invertido. El directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con una barra de división (/). El sistema de archivos de un sistema Linux típico está formado por los siguientes directorios bajo el directorio raíz:

Upload: aguilasdelrey

Post on 04-Jul-2015

4.404 views

Category:

Documents


0 download

DESCRIPTION

El sistema de archivos de Linux está organizado en archivos y directorios. Un archivo es una colección de datos que se almacena en un medio físico y a la cual se le asigna un nombre. Los archivos, a su vez, están agrupados en conjuntos llamados directorios. Un directorio puede tener subdirectorios, formándose así una estructura jerárquica con la forma de un árbol invertido. El directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con una barra de división

TRANSCRIPT

Page 1: Manejo de Archivos y Directorios en Linux

1) Manejo de archivos y directorios en Linux.

El sistema de archivos de Linux está organizado en archivos y directorios. Un

archivo es una colección de datos que se almacena en un medio físico y a la

cual se le asigna un nombre. Los archivos, a su vez, están agrupados en

conjuntos llamados directorios. Un directorio puede tener subdirectorios,

formándose así una estructura jerárquica con la forma de un árbol invertido. El

directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con

una barra de división (/).

El sistema de archivos de un sistema Linux típico está formado por los

siguientes directorios bajo el directorio raíz:

/bin Contiene los programas ejecutables que son parte del sistema operativo

Linux. Muchos comandos de Linux como cat, cp, ls, more y tar están ubicados

en este directorio.

/boot Contienen el kernel (o núcleo) de Linux y otros archivos necesarios para

el administrador de inicio LILO, que realiza la carga inicial del sistema operativo

cuando la computadora se enciende.

Page 2: Manejo de Archivos y Directorios en Linux

/dev Contienen todos los archivos de acceso a dispositivos. Linux trata cada

dispositivo (terminales, discos, impresoras, etc.) como si fuera un archivo

especial.

/etc. Contiene archivos de configuración del sistema y los programas de

inicialización.

/home Contiene los directorios HOME de los usuarios. El directorio HOME el

directorio inicial en el que se encuentra posicionado un usuario al ingresar al

sistema, por lo que también se conoce como directorio de logín o de conexión.

/lib Contiene los archivos de biblioteca utilizados por las aplicaciones y

utilidades del sistema, así también como las librerías pertenecientes a

diferentes lenguajes de programación.

/lost+found Directorio para archivos recuperados por el proceso de reparación

del sistema de archivos, que se ejecuta luego de una caída del sistema y

asegura su integridad luego de que el equipo haya sido apagado de manera

inapropiada.

/mnt Es un directorio vacío que se usa normalmente para montar dispositivos

como disquetes y particiones temporales de disco.

/proc Contiene archivos con información sobre el estado de ejecución del

sistema operativo y de los procesos.

/root Es el directorio HOME para el usuario root (administrador del sistema).

/sbin Contienen archivos ejecutables que son comandos que se usan

normalmente para la administración del sistema.

/tmp Directorio temporal que puede usar cualquier usuario como directorio

transitorio.

/usr Contiene archivos de programa, de datos y de librerías asociados con las

actividades de los usuarios.

Page 3: Manejo de Archivos y Directorios en Linux

/var Contiene archivos temporales y de trabajo generados por programas del

sistema. A diferencia de /tmp, los usuarios comunes no tienen permiso para

utilizar los subdirectorios que contiene directamente, sino que deben hacerlo a

través de aplicaciones y utilidades del sistema.

2) Uso del editor Vi.

Uso básico de vi.

El editor vi es un editor de texto de pantalla completa que maneja en memoria

el texto entero de un archivo. Es el editor clásico de UNIX; está en todas las

versiones. Puede usarse en cualquier tipo de terminal con un mínimo de teclas;

esto lo hace difícil de usar hasta que uno se acostumbra.

Existe un editor vi ampliado llamado vim que contiene facilidades adicionales,

así como diversas versiones del vi original. En todos los casos, el conjunto de

comandos básicos es el mismo.

Existen en UNIX otros editores más potentes y versátiles, como emacs, que

provee un ambiente de trabajo completo; también versiones fáciles de manejar

como jove o pico, o aún mínimas e inmediatas como ae. En ambiente X-

Windows hay muchos editores amigables, fáciles de usar y con múltiples

capacidades. No obstante, vi está en todos los UNIX, requiere pocos recursos,

se usa mucho en administración, para programar y en situaciones de

emergencia. En casos de roturas de discos, corrupción de sistemas de

archivos, errores en el arranque y otras catástrofes, puede ser el único editor

disponible. Como la mayoría de las configuraciones en UNIX se manejan

editando archivos, disponer de esta capacidad es esencial en la administración

de un sistema.

Modos de vi.

Existen tres modos o estados en vi:

Page 4: Manejo de Archivos y Directorios en Linux

modo comando: las teclas ejecutan acciones que permiten desplazar el

cursor, recorrer el archivo, ejecutar comandos de manejo del texto y salir

del editor. Es el modo inicial de vi.

modo texto o modo inserción: las teclas ingresan caracteres en el texto.

modo última línea o ex: las teclas se usan para escribir comandos en la

última línea al final de la pantalla.

Guía de supervivencia.

Con unos pocos comandos básicos se puede ya trabajar en vi editando y

salvando un texto:

vi arch1  arranca en modo comando editando el archivo arch1

i      inserta texto a la izquierda del cursor

a     agrega texto a la derecha del cursor

ESC       vuelve a modo comando

x         borra el carácter bajo el cursor

dd        borra una línea

h o flecha izquierda mueve el cursor un carácter a la izquierda

j o flecha abajo mueve el cursor una línea hacia abajo

k o flecha arriba mueve el cursor una línea hacia arriba

l o flecha derecha mueve el cursor un carácter a la derecha

:w        salva el archivo (graba en disco)

:q        sale del editor (debe salvarse primero)

Uso avanzado de vi.

Invocación de vi.

vi abre la ventana de edición sin abrir ningún archivo.

Page 5: Manejo de Archivos y Directorios en Linux

vi arch1 edita el archivo arch1 si existe; si no, lo crea.

vi arch1 arch2 edita sucesivamente los archivos arch1 y luego arch2.

vi +45 arch1 edita el archivo arch1 posicionando el cursor en la línea 45.

vi +$ arch1 edita el archivo arch1 posicionando el cursor al final del archivo.

vi +/Había arch1 edita el archivo arch1 en la primera ocurrencia de la palabra

"Había".

Cambio de modo.

Comando a texto:

   Teclas de inserción i I a A o O, o

   tecla de sobreescritura R.

Texto a comando:

   tecla ESC.

Comando a última línea:

   teclas : / ?

Última línea a comando:

   tecla ENTER (al finalizar el comando), o

   tecla ESC (interrumpe el comando).

 

Confundir un modo con otro la de mayor dificultades para el manejo de vi.

Puede activarse un indicador de modo escribiendo:

  :set showmode

Esto hace aparecer una leyenda que indica si se está en modo comando o

inserción.

Page 6: Manejo de Archivos y Directorios en Linux

Modo Comando.

El editor vi, al igual que todo UNIX, diferencia mayúscula y minúscula.

Confundir un comando en minúscula digitando uno en mayúscula suele tener

consecuencias catastróficas. Se aconseja evitar sistemáticamente el uso de la

traba de mayúsculas; mantener el teclado en minúsculas.

Números multiplicadores.

Muchos comandos aceptan un número multiplicador antes del comando. La

acción es idéntica a invocar el comando tantas veces como indica el

multiplicador. Ejemplos:

  10j en modo comando avanza 10 líneas;

  5Y copia 5 líneas y las retiene para luego pegar.

Ejemplos de manejo.

Los siguientes ejemplos de manejo asumen que el editor se encuentra en

modo comando.

flechas       mueven el cursor (si el terminal lo permite)

h j k l       mueven el cursor (igual que las flechas)

itextoESC     inserta la palabra "texto" y vuelve a comando

x             borra el carácter sobre el cursor

dw            borra una palabra

dd            borra una línea

3dd           borra las 3 líneas siguientes

u             deshace último cambio

ZZ            graba cambios y sale de vi

:q!ENTER      sale de vi sin grabar cambios

/expresiónENTER     busca la expresión indicada

3Y            copia 3 líneas para luego pegar

:6r arch3     inserta debajo de la línea 6 el archivo arch3

Page 7: Manejo de Archivos y Directorios en Linux

Movimiento del cursor:

flechas      mover en distintas direcciones

h o BS       una posición hacia la izquierda

l o SP       una posición hacia la derecha

k o -        una línea hacia arriba

j o +        una línea hacia abajo

$            fin de línea

0            principio de línea

1G           comienzo del archivo

G            fin del archivo

18G          línea número 18

Ctrl-G       mostrar número de línea actual

w            comienzo de la palabra siguiente

e            fin de la palabra siguiente

E            fin de la palabra siguiente antes de espacio

b            principio de la palabra anterior

^            primera palabra de la línea

%            hasta el paréntesis que aparea

H            parte superior de la pantalla

L            parte inferior de la pantalla

M            al medio de la pantalla

23|          cursor a la columna 23

Control de pantalla.

Ctrl-f    una pantalla adelante

Ctrl-b    una pantalla atrás

Ctrl-l    redibujar la pantalla

Ctrl-d    media pantalla adelante

Ctrl-u    media pantalla atrás

Ingreso en modo texto:

Page 8: Manejo de Archivos y Directorios en Linux

i    insertar antes del cursor

I    insertar al principio de la línea

a    insertar después del cursor

A    insertar al final de la línea

o    abrir línea debajo de la actual

O    abrir línea encima de la actual

R    sobreescribir (cambiar) texto

Borrar

x     borrar carácter bajo el cursor

dd    borrar línea, queda guardada

D     borrar desde cursor a fin de línea

dw    borrar desde cursor a fin de palabra

d$    borrar desde cursor a fin de línea

d0    borrar desde cursor a principio de línea

Copiar y pegar

Y o yy      copiar línea

P           pegar antes del cursor

p           pegar después del cursor

yw          copiar palabra

y$          copiar de cursor a fin de línea

"ayy o "aY  copiar línea en buffer llamado 'a'

'a' "ayw    copiar palabra en buffer llamado

"ap         pegar desde buffer 'a', a la derecha del cursor

"aP         pegar desde buffer 'a', a la izquierda del cursor

"bdd        borrar línea y guardar en buffer 'b'

"bdw        borrar palabra y guardar en buffer 'b'

Page 9: Manejo de Archivos y Directorios en Linux

Búsqueda

/str   buscar hacia adelante cadena de caracteres 'str'

?str  buscar hacia atrás cadena de caracteres 'str'

n       repetir último comando / o ?

N       repetir último comando / o ? para el otro lado

fc      buscar el siguiente carácter 'c' en la línea

Fc     buscar el anterior carácter 'c' en la línea

tc      ir al carácter anterior al siguiente 'c'

Tc     ir al carácter posterior al precedente 'c'

;       repetir el último comando f, F, t, o T

,       último comando f, F, t, o T para el otro lado

La cadena a buscar en / o ? puede ser una expresión regular.

La acción de f, F, t y T alcanza sólo a la línea actual; si el carácter buscado no

está en esa línea el cursor no se mueve.

Reemplazo

Estos comandos admiten multiplicadores: un número delante del comando. Al

dar un comando de reemplazo el editor coloca un símbolo $ en donde termina

el pedido de reemplazo. El usuario escribe normalmente, sobreescribiendo,

hasta donde necesite, y sale con ESC. Estos comandos admiten

multiplicadores: 3cw abre un área de reemplazo para 3 palabras.

c         reemplaza caracteres

cw        reemplaza palabras

C o c$    reemplaza hasta el fin de línea

c0        reemplaza desde el comienzo de línea

Otros

J     unir dos líneas en una

ZZ    grabar cambios si los hubo y salir

Page 10: Manejo de Archivos y Directorios en Linux

u     deshacer última acción

U     deshacer todos los cambios en una línea

Modo Texto.

BS    borrar carácter hacia la izquierda

ESC   pasar a modo comando

Modo ex o última línea.

:q            salir si no hubo cambios

:q!           salir sin guardar cambios

:w            guardar cambios

:w arch1      guardar cambios en archivo arch1

:wq           guardar cambios y salir

:r arch2      insertar un archivo

:e arch2      editar un nuevo archivo

:e! arch2     idem sin salvar anterior

:r! comando   insertar salida de comando

:shell        salir al shell (vuelve con exit)

Mover

:1    mueve a línea 1 

:15   mueve a línea 15 

:$    mueve a última línea

Opciones

:set                cambio de opciones 

Page 11: Manejo de Archivos y Directorios en Linux

:set nu             mostrar números de línea 

:set nonu           no mostrar números de línea 

:set showmode       mostrar modo actual de vi 

:set noshowmode     no mostrar modo actual de vi

Reemplazo

La sintaxis del comando de búsqueda y reemplazo es la siguiente:

  :<desde>,<hasta>s/<buscar>/<reemplazar>/g

<desde>, <hasta> indican líneas en el archivo; <buscar> y <reemplazar> son

cadenas de caracteres o expresiones regulares; / es un separador, s (sustituir)

y g (global) son letras de comando para el manejo de expresiones regulares.

 

 :1,$s/Martes/martes/g

cambia Martes por martes en todo el archivo.

  :.,5s/ayuda/&ndo/g

cambia ayuda por ayudando desde línea actual hasta la 5a. línea.

Tipo de terminal.

vi es independiente del tipo de terminal, pero la variable de ambiente TERM

debe estar fijada correctamente. Si no se conoce o no existe el tipo exacto de

terminal, en la mayoría de los terminales remotos el tipo ansi da buenos

resultados. Para fijar el terminal en tipo ansi, digitar

TERM=ansi;export TERM

Algunos comandos, especialmente more y a veces vi, pueden no responder

bien en la terminal o el emulador que se está usando. En estos casos, puede

usarse Ctrl-L para refrescar la pantalla.

Page 12: Manejo de Archivos y Directorios en Linux

3) Permiso de archivos en Linux.

En cualquier sistema multiusuario, es preciso que existan métodos que impidan

a un usuario no autorizado copiar, borrar, modificar algún archivo sobre el cual

no tiene permiso.

En Linux las medidas de protección se basan en que cada archivo tiene un

propietario (usualmente, el que creó el archivo). Además, los usuarios

pertenecen a uno o mas grupos, los cuales son asignados por el Administrador

dependiendo de la tarea que realiza cada usuario; cuando un usuario crea un

archivo, el mismo le pertenece también a alguno de los grupos del usuario que

lo creó.

Así, un archivo en Linux le pertenece a un usuario y a un grupo, cada uno de

los cuales tendrá ciertos privilegios de acceso al archivo. Adicionalmente, es

posible especificar que derechos tendrán los otros usuarios, es decir, aquellos

que no son el propietario del archivo ni pertenecen al grupo dueño del archivo.

En cada categoría de permisos (usuario, grupo y otros) se distinguen tres tipos

de accesos: lectura (Read), escritura (Write) y ejecución (eXecute), cuyos

significados varían según se apliquen a un archivo o a un directorio.

En el caso de los archivos, el permiso R (lectura) habilita a quién lo posea a ver

el contenido del archivo, mientras que el permiso W (escritura) le permite

cambiar su contenido. El permiso X (ejecución) se aplica a los programas y

habilita su ejecución.

Para los directorios, el permiso R permite listar el contenido del mismo (es

decir, “leer” el directorio, mientras que el W permite borrar o crear nuevos

archivos en su interior (es decir, modificar o “escribir” el directorio). El permiso

X da permiso de paso, es decir, la posibilidad de transformar el directorio en

cuestión en el directorio actual (ver comando cd).

Page 13: Manejo de Archivos y Directorios en Linux

En los listados de directorio, los permisos se muestran como una cadena de 9

caracteres, en donde los primeros tres corresponden a los permisos del

usuario, los siguientes tres a los del grupo y los últimos, a los de los demás

usuarios. La presencia de una letra (r, w o x) indica que el permiso está

concedido, mientras que un guión (-) indica que ese permiso está denegado.

Los permisos de un archivo o directorio pueden cambiarse desde el

administrador de archivos KFM utilizando la ventana de propiedades o

utilizando el comando chmod.

4) Ejecución de comandos en Linux.

Comandos básicos Linux

ls [opciones] [archivos]; 

(list) Lista el contenido de un directorio, mostrando todos los archivos que

cumplan cierto patron, ejemplo:

ls -a         muestra todos los archivos del directorio actual.

ls -l -h *.for    muestra todos los atributos (-l) de todos (*) los archivos que

terminan con .for mostrando el tama~no (-h) en Bytes, KBytes, etc.

sort [opciones [archivo]; 

Ordena alfabéticamente el contenido de un archivo, si no se da un archivo, se

ordena lo que se escribe desde el teclado2 hasta dar la combinación: ctrl+d,

ejemplo:

sort -n -r milista.l     Ordena el contenido del archivo milista.l numéricamente (-

n) y en orden inverso (-r).

mkdir [opciones] directorio;

Crea un directorio.

rmdir [opciones] directorio; 

Borra directorios.

cd [directorio];

Cambia de directorio, sin argumentos se llega a home.

Page 14: Manejo de Archivos y Directorios en Linux

tree [directorio];

Muestra la estructura de directorios y archivos en forma esquemática.

cp archivo1 ruta/[archivo2]; 

Copia el archivo1 en un directorio (ruta) y lo renombra (archivo2).

rm archivo;

borra archivos, la opción -r hace el proceso recursivo para borrar todo un

directorio. Ejemplo:

rm -r Documentos/*.c     borra todos los archivos que terminan en .c aún si son

directorios o están contenidos en otros directorios.

mv archivo1 archivo2;

Mueve archivos o directorios de archivo1 a archivo2, si el archivo permanece

en el mismo directorio equivale a

cambiar de nombre al archivo.

more archivo; 

muestra el contenido de un archivo de texto por paginas.

less archivo;

similar a more (solo en sistemas GNU).

cat archivo1 archivo2 … 

muestra el contenido de uno o varios archivos sin paginar.

touch archivo;

cambia la fecha de los archivos, si no existe crea un archivo vacío.

locate archivo;

localiza un archivo.

whereis programa;

muestra la ubicación de un programa, debe estar en un directorio contenido en

PATH^3

Page 15: Manejo de Archivos y Directorios en Linux

file archivo;

describe el tipo de archivo, por ejemplo: imagen, de texto, etc.

Nota: file identifica el tipo de archivo aún si su extensión no es la correcta.

whatis

comando muestra la descripción de comando.

wc [opciones] [archivo];

word count, cuenta las palabras (-w), líneas (-l), caracteres (-m) o bytes (-c) en

un archivo de texto.

head archivo;

muestra el inicio de un archivo

tail archivo;

muestra el final de un archivo

ln archivo link;

crea enlaces (links) a archivos o carpetas, la opción -s hace un link simbólico.

diff archivo1 archivo2;

muestra las diferencias entre dos archivos

tar [opciones] directorio.tar directorio;

empaqueta o desempaqueta archivos .tar, ejemplo:

tar -cvf mitar.tar [midirectorio]     empaqueta midirectorio en el archivo mitar.tar,

cambiando c por x y omitiendo midirectorio se desempaqueta.

gzip archivo.[gzip];

comprime o descomprime (-d) archivos gz

5) Elementos de la interfaz grafica del Linux.

Linux puede funcionar tanto en entorno gráfico como en modo consola. La

consola es común es distribuciones para servidores, mientras que la interfaz

gráfica está orientada al usuario final tanto de hogar como empresarial. Un

escritorio es un conjunto de elementos conformado por ventanas, iconos y

Page 16: Manejo de Archivos y Directorios en Linux

similares que facilitan la utilización del computador. Los escritorios más

populares en Linux, en orden alfabético son:

GNOME

KDE

LXDE

Xfce