![]() |
||||
LABORATORIO 3.3 Objetivos. • Manejar órdenes básicas para ordenar, cortar, extraer y unir archivos. • Manejar los permisos en archivos y directorios. Recursos: Herramientas. Los comandos a utilizar en esta práctica son: http://es.tldp.org/Manuales-LuCAS/LIPP/lipp-1.1-html-2/lipp.htm sort chmod cut tail tr paste paste umask Procedimiento: 1.- Ordenar archivos. Deberá crear un archivo de texto llamado dir1/agenda1, con la siguiente información: Nombre telefono Juan 303-3030 Maria 101-3032 Pablo 402-5060 Cesar 506-0394 Judith 796-4044 Patricia 695-4004 1.1 Liste por pantalla el número de personas que almacena el archivo "agenda1" sin repeticiones. #sort -u agenda1 1.2 Liste en orden alfabético de apellidos el archivo "agenda1". #sort +1 -d agenda1 1.3.- Añade a datos1.num el contenido de datos1 con sus líneas numeradas. #cat -n agenda1 >> agenda1.num Muestra de nuevo agenda1.num con sus líneas numeradas. Crea un archivo agenda1.ord con las líneas de agenda1 ordenados. Visualízalo. #cat -n agenda1.num #sort datos1 >> agenda1.ord 1.4 Cree otro archivo con la estructura de "agenda1" y llámelo "agenda2". Clasifique en orden inverso los archivos "agenda1" y "agenda2", colocando la salida en el archivo "ageninv" y utilizando el segundo campo como clave de clasificación. #sort 1 +1 -r agenda1 agenda2 > ageninv 1.5 Visualice las líneas del archivo "agenda2" ordenadas, suprimiendo todas menos la primera ocurrencia de las líneas que tengan el mismo apellido. #sort -d agenda2 | uniq -d -n0 1.6 Visualice el archivo de cuentas de usuarios, ordenado por identificativo de usuario (recuerde que se trata del tercer campo y que están separados por ":" ). #sort -d -t:/etc/passwd 1.7 Partiendo de "agenda1" y "agenda2", obtenga un archivo llamado "telefonos" cuyo contenido sea la fusión de los dos anteriores sin repetir elementos y clasificado en primer orden por prefijo y en segundo por nombre. #sort +2 +0 -u agenda1 agenda2 > telefonos 1.8. Los siguientes ejemplos deben funcionar con el archivo /etc/passwd. Este nombre en negrita, es el archivo que almacena la información sobre todos los usuarios de una máquina LINUX. Es un archivo de texto con cada línea dividida en 7 campos. Cada campo está separado por el carácter ' : ' . Realiza una copia del mismo y llámale claves (" cp /etc/passwd ~/claves "). Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos: #sort claves #sort -r claves #sort +2n -t: /etc/passwd #sort +2n -t: -n /etc/passwd 2.- Caracteres de sustitución y selección de información. 2.1.- Cree un archivo que esté formado por el identificativo (UID), el nº de usuario y el nº de grupo de los usuarios. #cut -d -f1,3,4 /etc/passwd > users 2.2.- Obtenga un listado en el que aparezcan los nombres de los grupos de usuarios en el sistema, así como los usuarios que formen parte de cada grupo. #cut -d: -1,4 /etc/group 2.3. El comando tr se usa para cambiar ciertos caracteres de un archivo por otros. tr suele ser usado en conjunción con la redirección de entrada/salida. Realice ahora los siguientes ejercicios y explique qué hace cada uno de ellos: #tr a z < claves #tr '[A-Z]' '[a-z]' < claves #tr -d ' ' < claves 2.4. El comando cut nos sirve para extraer campos de un archivo (generalmente columnas). Observa el resultado de los siguientes ejemplos y explique cuál es su comportamiento: #cut –c1 /etc/passwd #cut –c1,5,10-20 /etc/passwd #cut –d: -f3- /etc/passwd 3. División y unión de archivos 3.1. Divida el archivo /etc/termcap en partes, pero antes debe tener una copia en su directorio de trabajo para poder realizar la acción. #split termcap #split -100 termcap 3.2. El comando paste realiza exactamente lo contrario que el comando cut. paste enlaza un archivo con otro, de tal manera, que inserta uno al lado del otro y no debajo. Ejemplos a comentar: Sean los siguientes archivos: archivo nombres archivo direcciones george 55 Aim Avenue fred 1005 Marks road david 5 Thompson Street janet 43 Pedwell road #paste nombres direcciones #paste –d: nombres direcciones #paste –s nombres 3.3. Como ejercicio final de repaso de algunos comandos ya vistos, conteste las siguientes preguntas: Se necesita para todas las preguntas el siguiente archivo, libro.telefonos george!2334234!55 Aim Avenue fred!343423!1005 Marks road david!5838434!5 Thompson Street janet!33343!43 Pedwell road Observe que el elemento delimitador de los campos para este archivo es el símbolo “!”, y que los campos son el nombre, el número de teléfono y la dirección ¿Qué harían los siguientes comandos LINUX? No ejecute los comandos hasta que no esté seguro de lo que hace. En particular no intente ejecutar el primero de ellos: rmdir ~ borra el directorio raiz cat /etc/passwd lo que se encuentra en el archivo passwd ls ../dir1/agenda1 lista el archivo agenda1 en el directorio dir1 4. Permisos 4.1 Observe los permisos que el archivo agenda1. Realice una copia del mismo, llamelo temp1. Vamos a quitar a la copia permisos de lectura y escritura para el propietario del archivo, ejecutando los siguientes comandos: #ls –l Qué permisos tiene temp1? -rw-rw-r--. 1 leo leo 116 2010-10-27 12:00 temp1 Ejecute #chmod u-r,u-w temp1 (quita permisos de lectura y escritura al archivo temp1) Permita que el propietario pueda leer, escribir y ejecutar el archivo. #chmod o-rwx temp1 Dar a todos los usuarios acceso al archivo. #chmod +r temp1 Quitar permisos de ejecución a todos los usuarios excepto al propietario. #chmod u+rwx temp1 Qué sucede con los siguientes comandos? #chmod a+r temp1 le da acceso a todos los usuarios para leer #chmod og-x temp1 le quita permisos de ejecución al propietario y al grupo Añadamos los permisos de lectura al grupo y al resto chmod g+r agenda1 chmod o+r temp1 ¿Y ahora qué permisos tienen? -rw-rw-r--. 1 leo leo 116 2010-10-27 11:46 agenda1 -rwxrw-r--. 1 leo leo 116 2010-10-27 12:00 temp1 Crearemos un archivo de la siguiente forma: # ls -l > hola Podemos observar que el propietario de este archivo es root, que pertenece al grupo root, y que sus bits de acceso están de la siguiente forma : rw-r-----. ¿Que indica todo esto? Indica que el propietario tiene permiso de escritura y lectura y el grupo root tiene permiso de lectura El cálculo de la máscara de umask se efectúa de la siguiente forma: #umask Ejercicios de Repaso: Qué comandos utilizaría para: Ordenar un archivo por nombres sort -u archivo Ordenar un archivo en orden descendente por el número de teléfono sort -r archivo Mostrar sólo la columna de las direcciones cut –d:1 archivo Cambiar todos los caracteres delimitadores “!” por “:” cut –d: archivo cat archivo |
|
|||
![]() |