La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre."— Transcripción de la presentación:

1 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

2 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.

3 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]

4 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).

5 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.

6 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 +. Si desea anexar datos al final de un archivo existente, use >> para redireccionar la salida estándar: cat>>archivo

7 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.

8 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.

9 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.

10 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.

11 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, conseguiremos una nueva pantalla del mismo archivo, que se imprimirá y volverá a informarnos de la misma manera como lo hizo anteriormente.

12 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 conseguiremos que se visualice una sola línea más. CP - Para realizar una copia de un archivo se utiliza el comando cp.

13 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.

14 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.

15 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.

16 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.

17 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.

18 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.

19 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.

20 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.

21 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.

22 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*.

23 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.

24 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.

25 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.

26 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: ~]$ ln –s archivo enlace ~]$ ls –l enlace lrw-r--r-- 1 alumno alumno 11 Apr 8 13:33 enlace ->archivo

27 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.

28 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.

29 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.

30 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.

31 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.

32 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.

33 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.

34 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.

35 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.

36 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.

37 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.

38 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. ~]$ file tarea tarea: is a directory

39 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.

40 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 ~]$ stat archivo File: `archivo' Size: Blocks: IO Block: 4096 Regular File Device: 804h/2052d Inode: Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000) Gid: ( 100/ users) Access: :45: Modify: :56: Change: :32:

41 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 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 a las 23:32:02.

42 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.

43 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 bytes ocuparía ( /512=) 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.

44 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: ~]$ stat -f oracle File: "oracle" ID:0Namelen: 255Type:ext2/ext3 Blocks: Total: Free: Available: Size: 4096 Inodes: Total: Free:

45 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.

46 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.


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

Presentaciones similares


Anuncios Google