IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix

Bases 2 / Práctica 9

Comandos:

V    arios comandos indicados en los enunciados.

Aplicaciones:

Recursos:

Repositorio de documentos sobre expresiones regulares

Enunciado:

    Hacer login a la máquina vms con el usuario del alumno (en adelante $USER)


Ejercicio 1: nombres de archivo y expresiones regulares.

    Crear el directorio $HOME/bases2/bases_p09/ejercicio1, entrar en su interior y realizar las operaciones necesarias con el comando touch para que al ejecutar el comando ls -1 se visualice en la salida estandard lo siguiente:


bd.class.php
header.inc.php
install.txt
readme.txt
prueba
index.php
mail.class.php



    Haciendo uso de expresiones regurales aplicadas en los argumentos de comandos como ls o find realizar las siguientes operaciones. El resultado de todas ellas deben quedar contenidas en sendos ficheros con los siguientes nombres: $HOME/bases2/bases_p09/ejercicio1/operacion_<N> (<N> es el número a la izquierda de cada operación).

1.

Muestra los nombres de archivo que terminan en .php

2.

Muestra los nombres de archivo que tengan la letra e en segunda posición.

3.

Muestra los nombres de archivo cuya primera letra esté comprendida entre a y e

4.

Muestra los nombres de archivo que no comienzan por una vocal

5.

Muestra los nombres de archivo que no terminan en .php

6.

Muestra los nombres de archivo que no terminan ni con .txt ni con .php

Ejercicio 2: separador de comandos

¿Cómo se escriben los dos comandos siguientes en la misma línea?. Escribe el resultado en el fichero $HOME/bases2/bases_p09/ejercicio2


$ cd /tmp
$ ls -l

2. Redirecciones

a. Ejercicio 3

Listar todos los procesos del sistema (comando ps) y redirige el resultado a un archivo de nombre $HOME/bases2/bases_p09/ejercicio3.

b. Ejercicio 4

Sea el comando who -A, que genera un mensaje de error:


$ who -A
who : opción inválida -- ’A’


1.

Relanzar este comando y redirigir los errores a un archivo en $HOME/bases2/bases_p09/ejercicio4.1

2.

Relanzar este comando y hacer desaparecer los errores sin redirigir a un archivo en disco. Escribir el comando resultado en $HOME/bases2/bases_p09/ejercicio4.2

c. Ejercicio 5

Ejecutar los comandos siguientes:


$ touch fic_existe 
$ chmod --verbose 600 fic_existe fic_noexiste

1.
Redirigir el resultado del comando chmod a un archivo, los errores a otro de acuerdo a las siguientes indicaciones: Salida estandard a $HOME/bases2/bases_p09/ejercicio5.fd1; Salida de errores a $HOME/bases2/bases_p09/ejercicio5.fd2

2.

Redirgir los resultados y los errores del comando al archivo un mismo archivo $HOME/bases2/bases_p09/ejercicio5.fd1y2

d. Ejercicio 6

Ejecutar los comandos date,who,ls y guardar el resultado de los tres comandos en un archivo de nombre $HOME/bases2/bases_p09/ejercicio6 (una sola línea de comando).

f. Ejercicio 7

Ejecutar los comandos date,who -A y almacenar el resultado de los dos comandos en un archivo de nombre $HOME/bases2/bases_p09/ejercicio7 (una sola línea de comando). Recuerda que el comando who -A genera un mensaje de error.

3. Tuberías de comunicación

a. Ejercicio 8

Mostrar la lista de procesos paginando el resultado.

b. Ejercicio 9

Haciendo uso de tuberías, combina los comandos ps,grep para mostrar la lista de los procesos kworker que funcionan en el sistema. El resultado guárdalo en el archivo $HOME/bases2/bases_p09/ejercicio9

c. Ejercicio 10

Haciendo uso de tuberías, combina los comandos tail y head para mostrar la sexta línea del archivo /etc/passwd. El resultado guárdalo en el archivo $HOME/bases2/bases_p09/ejercicio10 

d. Ejercicio 11

Crear los archivos siguientes:

$ touch f2 f1 fic1.txt FIC.c Fic.doc fIc.PDF fic

Haz que el sistema (no tú) cuente el número de archivos cuyo nombre contenga la palabra fic. La búsqueda no deberá discriminar entre mayúsculas y minúsculas.

4. Empaquetado y compresión.

a. Ejercicio 12

    Crear los directorios $HOME/bases2/bases_p09/ejercicio12/desempaquetado, $HOME/bases2/bases_p09/ejercicio12/empaquetado, $HOME/bases2/bases_p09/ejercicio12/comprimido y realizar las siguientes operaciones;

  • Copiar todos los ficheros regulares del  directorio /bin en el directorio $HOME/bases2/bases_p09/ejercicio12/desempaquetado. Sólo los ficheros inmediatamente por debajo de /bin, no de sus subdirectorios.
  • Convertir $HOME/bases2/bases_p09/ejercicio12/desempaquetado en el directorio de trabajo y desde esa posición conjugar debidamente el comando tar de forma que se cree un fichero de nombre ejecutablesBIN.tar en el directorio $HOME/bases2/bases_p09/ejercicio12/empaquetado, el cual, contenga en su interior todos los archivos existentes en $HOME/bases2/bases_p09/ejercicio12/desempaquetado
  • Convertir $HOME/bases2/bases_p09/ejercicio12/empaquetado en el directorio de trabajo y conjugar el comando tar debidamente para obtener un  fichero de nombre ./lista-ejecutablesBIN en el cual quede almacenada la relación de objetos contenidos en el archivo ejecutablesBIN.tar.
  • Manteniendo como directorio de trabajo $HOME/bases2/bases_p09/ejercicio12/empaquetado conjugar debidamente los comandos gzip, bzip2 y xz para obtener sendos archivos comprimidos: ejecutablesBIN.tar.gz, ejecutablesBIN.tar.bz2, ejecutablesBIN.tar.xz dentro del directorio $HOME/bases2/bases_p09/ejercicio12/comprimido.