46
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre unidad de aprendizaje: Introducción al LINUX Programación Aplicada

2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

Embed Size (px)

Citation preview

Page 1: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

2008 Escuela de Informática y Telecomunicaciones, DuocUC

Escuela deInformática y Telecomunicaciones

Clase 3: Comandos de manipulación de Archivos

Nombre unidad de aprendizaje: Introducción al LINUX

Programación Aplicada

Page 2: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

2© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Objetivos

Objetivos de la clase

Identifica sistemas de archivos y comandos del sistema operativo para inclusión en programas realizados en el ambiente de programación del intérprete de comandos Bash.

Page 3: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

3© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX

Todos los comandos de LINUX se ajustan mas o menos al siguiente formato:

Opciones hace referencia a las distintas opciones de aplicación 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.).

comando [opciones] [argumento]

Page 4: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

4© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX

La mayoría 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).

Page 5: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

5© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

CAT - Todo lo que hace cat es copiar los datos desde la entrada estándar (teclado) hacia la salida estándar(pantalla).

Con el comando cat>archivo la entrada estándar sigue siendo el teclado, pero la salida estándar se ha redireccionado hacia un archivo. Cada línea que teclee se copiará en el archivo.

Page 6: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

6© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Si el archivo no existe, LINUX lo crea por usted. Si existe, su contenido se reemplaza.

Puede teclear cuantas líneas desee y, al final, oprimir <CTRL>+<D>.

Si desea anexar datos al final de un archivo existente, use >> para redireccionar la salida estándar: cat>>archivo

Page 7: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

7© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

HEAD - El comando head permite desplegar el comienzo de un archivo. Por defecto, head despliega las primeros diez líneas de un archivo.

Si lo que se desea es desplegar un número diferente de líneas, se pueden especificar como opción al comando head.

Page 8: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

8© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Por ejemplo, para desplegar las primeras veinte líneas 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 líneas de un archivo.

Por ejemplo, tail -15 archivo desplegará las últimas 15 líneas del archivo.

Page 9: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

9© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La opción -f (follow) de tail, permite escribir la última parte del archivo a medida que va creciendo. Esta opción es muy útil para monitorizar archivos de registro “log“ que van creciendo con el tiempo, a modo de ejemplo, considere la orden: tail –f /var/log/messages, que permite monitorizar el ARCHIVO DE LOG /var/log/messages.

Page 10: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

10© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

MORE - Además de cat, podemos servirnos de otra orden para visualizar archivos, llamada more. Este comando visualiza, el o los archivos indicados, por pantallas completas, deteniéndose al final de cada pantalla o cada vez que se encuentre un caracter de borrado de pantalla.

Una diferencia con cat es que sólo se pueden visualizar archivos de texto, no binarios.

Page 11: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

11© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Con more al final de cada página desplegada en pantalla se nos indica que hay más, por medio del indicador --More--, y también se nos informa del porcentaje de caracteres que hemos visualizado. Si en este punto pulsamos la <BARRA ESPACIADORA>, conseguiremos una nueva pantalla del mismo archivo, que se imprimirá y volverá a informarnos de la misma manera como lo hizo anteriormente.

Page 12: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

12© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

El procedimiento antes mencionado lo podríamos repetir hasta llegar al final del archivo.

Pulsando la tecla <RETORNO> conseguiremos que se visualice una sola línea más.

CP - Para realizar una copia de un archivo se utiliza el comando cp.

Page 13: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

13© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

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.

Page 14: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

14© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Con cp no solo es posible copiar archivos, sino que también es posible copiar directorios “recursivamente” por medio de la opción -R.

Con la opción -p se preservan los permisos, el usuario y el grupo del archivo a copiar.

Con la opción -f se borran los archivos de destino ya existentes.

Page 15: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

15© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Para indicar la ubicación 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.

Page 16: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

16© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Así distinguiremos entre RUTAS DE ACCESO ABSOLUTAS y RUTAS DE ACCESO RELATIVAS.

Una RUTA ABSOLUTA es aquella que parte del directorio raíz. Las RUTAS ABSOLUTAS son válidas en cualquier caso. Por ejemplo, /home/alumno/documento1.

Page 17: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

17© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Una RUTA RELATIVA es una ruta que parte del directorio actual como origen. Esta ruta sólo es válida 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.

Page 18: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

18© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

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.

Page 19: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

19© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Con el comando mv se pueden renombrar y mover no sólo archivos, sino también directorios.

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.

Page 20: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

20© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

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á también el archivo.

Por ejemplo, si deseamos borrar el archivo llamado datos, usaremos: rm datos.

Page 21: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

21© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Para borrar un subdirectorio completo “recursivamente” use el comando rm con la opción -r y especifique el nombre de un directorio; rm no sólo borra el directorio sino todos sus archivos y subdirectorios.

Por ejemplo, para borrar un directorio llamado extra, teclee: rm –r extra.

Page 22: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

22© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Con la opción -f no se imprimen mensajes de error, ni se pregunta al usuario confirmación de cada archivo borrado.

Con la opción -i (interactive) se pregunta al usuario por confirmación del borrado, esto podría ser útil cuando, a modo de ejemplo, se desea borrar solo algunos de los archivos cuyos nombres empiezan con “a”: ls -i a*.

Page 23: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

23© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

¿Es posible restaurar un archivo previamente borrado? Resp.: NO.

WC - El comando wc cuenta las líneas, palabras y caracteres. Los datos pueden provenir de la entrada estándar o de uno o más archivos. Este comando es de acción inmediata. Genera como salida tres números: de líneas, palabras y caracteres en los datos.

Page 24: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

24© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Si usted especifica el nombre de un archivo, wc escribe el nombre del archivo después de los tres números. Si especifica más de un archivo, wc también proporciona las estadísticas totales.

Si no quiere los tres números, puede usar las opciones : -l cuenta las líneas; -w cuenta las palabras; y –c cuenta los caracteres.

Page 25: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

25© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Por ejemplo, podemos usar el comando wc para contar el número 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.

Page 26: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

26© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La opción -s permite crear un ENLACE SIMBÓLICO de un archivo.

Cuando se ejecuta ls -l en un directorio donde hay un ENLACE SIMBÓLICO, éste se nota de la siguiente manera:

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

Page 27: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

27© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La técnica de enlace de archivos es una característica de LINUX (y de UNIX también), consiste en tener en el disco un sólo 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 demás sufrirán la misma alteración sin tocarlos.

Page 28: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

28© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

SORT - El comando sort efectúa 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 interconexión de procesos. Segunda: sort lee archivos con datos previamente ordenados y los fusiona para formar un archivo grande y ordenado.

Page 29: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

29© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La manera más 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 estándar y usar: sort datos>maestro.

Para ordenar un archivo y guardar la salida en el mismo archivo, usar: sort –o datos datos.

Page 30: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

30© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

De manera preestablecida, los datos se acomodan en orden ascendente, de acuerdo con el código ASCII. Lo relevante es que el código 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.

Page 31: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

31© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Por ejemplo, La opción –d sólo toma en cuenta letras, números y espacios, ignorando los demás caracteres; la opción –r ordena los datos de manera inversa.

Además de ordenar los datos, sort también fusiona archivos múltiples que contengan datos ordenados. Para usar sort de este modo, especifique la opción –m.

Page 32: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

32© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

CUT - El comando cut extrae columnas de datos de un archivo. Este comando ofrece una gran flexibilidad. Puede extraer columnas específicas o fragmentos delimitados de cada línea del archivo.

cut requiere la lista de columnas que usted desea extraer y el nombre de un archivo de entrada.

Page 33: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

33© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Por ejemplo, para extraer las columnas 1, 8 y 10 del archivo llamado datos, se puede usar: cut –c1,8,10 datos

También puede especificar un rango de números de columna colocando el comienzo y el final del rango.

Por ejemplo, para extraer las columnas de la 1 a la 3 del archivo datos, use: cut –c1-3 datos.

Page 34: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

34© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

PASTE – El comando PASTE fusiona líneas correspondientes de un archivo en columnas verticales e imprime al resultado a pantalla. Un ejemplo de uso de PASTE sería: paste arch1 arch2.

Si uno de los archivos tiene menos líneas que el otro, el comando PASTE concatenará las líneas con el archivo más largo con una línea en blanco.

Page 35: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

35© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

El comando PASTE toma líneas desde dos o más archivos y los coloca en columnas y los presenta en la salida estándar o pantalla.

El delimitador por defecto en la salida será el tabulador, con la opción -d se puede especificar un delimitador diferente. Por ejemplo, podemos usar: paste -d: nombres apellidos>datos.

Page 36: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

36© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Se pueden separar columnas con diferentes caracteres solo con especificar más de un carácter después de la opción -d, por ejemplo: paste -d ‘-*’ arch1 arch2, separaría la primera de la segunda columna con un “-” y la segunda de la tercera columna con un “*”.

Si más de una columna existe, el comando paste alternaría usando “-” y “*” como delimitador.

Page 37: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

37© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La opción -s de PASTE permite fusionar todas las líneas de cada archivo en una única línea.

Cada “\n” en un archivo, excepto el último, es reemplazado con un tabulador o un delimitador especificado por la opción –d. Por ejemplo, paste –s –d ‘*’ nombres, fusiona todas las líneas del archivo nombres en una línea usando “*” como delimitador.

Page 38: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

38© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

FILE - El comando file realiza una serie de comprobaciones en un archivo para tratar de clasificarlo.

Tras la ejecución de find se muestra el tipo del archivo e información al respecto del mismo.

[alumno@localhost ~]$ file tareatarea: is a directory

Page 39: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

39© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

STAT - El comando stat nos muestra información muy completa acerca de archivos o SISTEMAS DE ARCHIVOS.

Este comando nos reporta el nombre del archivo, su tamaño, los bloques que ocupa, el tipo de archivo (regular), información física de donde se encuentra (dispositivo/i-node), los permisos estándar, los dueños del archivo y las tres marcas de tiempo UNIX.

Page 40: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

40© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

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

Page 41: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

41© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Una parte importante acerca de la información desplegada por stat, tiene que ver con la información 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.

Page 42: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

42© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Finalmente, la fecha de registro al lado de Cambiar (Change) muestra cuándo fue cambiado el estado del archivo.

Además del tamaño de archivo usual (que se puede obtener de ls -l), se puede obtener la cantidad de bloques que ocupa este archivo.

Page 43: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

43© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

El tamaño de bloque LINUX típico es de 512 bytes, entonces un archivo de 93.300.148 bytes ocuparía (93300148/512=) 182226.85 bloques. Como los bloques se utilizan en su totalidad, este archivo utiliza un número entero de bloques. En lugar de hacer conjeturas, usted puede saber cuáles son los bloques exactos.

Page 44: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

44© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

La opción -f del comando stat permite mostrar la información 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

Page 45: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

45© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Desarrollo

Comandos LINUX de manipulación de archivos

Por último, la opción -t brinda exactamente la misma información pero en una sola línea, con los datos separados por un espacio.

Page 46: 2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre

46© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public

Escuela de Informática y Telecomunicaciones

Resumen Resumen de la clase

Los comandos LINUX de manipulación de archivos calzan, mas o menos, con el siguiente formato: comando [opciones] [argumentos].

Comando es el nombre del comando u orden que el SHELL debe ejecutar, opciones especificará la o las opciones del comando y argumentos corresponde a el o los elementos (archivos) sobre los cuales se aplicará el comando.

Podemos distinguir: comandos de visualización de archivos: cat, more, less, comando para copiar archivos: cp, comando para borrar archivos: rm, comandos filtros: head, tail, cut, sort, entre otros.

El comando sort efectúa dos tareas principales: ordenamiento de datos y fusión de dos o más archivos ordenados.