Actividad 7: Miscelánea de comandos

per Victor Carceler darrera modificació 2020-03-25T15:28:53+01:00

Inicie una sesión remota de trabajo en Valinor mediante SSH y realice las siguientes actividades:

  1. Qué debe escribir para obtener la siguiente información ?
  • La página de manual del comando ls
  • La lista de páginas de manual relativas a 'passwd'
  • La página de manual correspondiente al fichero de configuración /etc/passwd
  • Qué diferencia hay entre 'man passwd' y 'man 5 passwd' ?
  • Saber dónde se encuentra el fichero ejecutable correspondiente al comando grep
  • Buscar las páginas de manual que tienen en la descripción del comando la palabra 'mount'
  • Buscar las páginas de manual en las que se menciona la palabra 'mount'
  • Utilice el shell para:
    • Desensamblar el ejecutable 'ls' y contar el número de líneas de la salida
    • Mostrar paginadas las cadenas contenidas en el ejecutable inkscape. Cuantas són ?
    • Definir el fichero '~/usuarios' a partir del contenido de /etc/passwd pero con todas las líneas en orden inverso (la última en primer lugar...)
    • Haga dos copias del fichero /usr/share/doc/xinetd-2.3.13/CHANGELOG en su directorio de conexión (~/CHANGELOG1 y ~/CHANGELOG2).
    • Utilice gzip para crear el fichero comprimido CHANGELOG2.gz. Cuanto ocupaba el fichero original ? cuanto ocupa el fichero comprimido ? Qué ratio de compresión (tamaño comprimido/tamaño original) se ha conseguido ? Qué ocurre si hace cat del fichero comprimido ? Qué ocurre si hace zcat del fichero comprimido ?
    • Descomprima CHANGELOG2.gz, existe alguna diferencia entre CHANGELOG1 y CHANGELOG2 ?
    • Utilice bzip2 para crear el fichero comprimido CHANGELOG2.gz. Cuanto ocupaba el fichero original ? cuanto ocupa el fichero comprimido ? Qué ratio de compresión (tamaño comprimido/tamaño original) se ha conseguido ? Qué ocurre si hace cat del fichero comprimido ? Qué ocurre si hace bzcat del fichero comprimido ?
    • Descomprima CHANGELOG2.gz, existe alguna diferencia entre CHANGELOG1 y CHANGELOG2 ?
    • Cuanto ocupa en disco el directorio /usr/share/doc/valgrind ?
    • Puede crear en su directorio personal el fichero valgrind.tgz a partir del directorio anterior ? Cuanto ocupa ?
    • Desarchive y descomprima valgrind.tgz en su directorio personal. Cuanto ocupa en disco el resultado ?
    • Utilice split para dividir valgrind.tgz en ficheros de hasta 1M.
    • Utilice cat para concatenar los trozos de valgrind, obtenidos con split, en el fichero valgrind2.tgz. Utilice cmp para comparar valgrind.tgz y valgrind2.tgz
    • Utilice dd para crear datos1 (de 25MB) a partir de los datos leídos de /dev/zero. Utilice dd para crear datos2 (de 25MB) a partir de los datos leídos de /dev/urandom. ¿Qué fichero contiene más bytes? ¿Qué fichero a tardado más en crearse (porqué)? Utilice hexdump para inspeccionar ambos ficheros. Qué diferencias encuentra ?
    • Utilice bzip2 para comprimir datos1 y datos2, cual es el ratio de compresión en cada caso ? (razonar)
  • Utilice las herramientas de búsqueda find y locate para:
    1. Crear el fichero ~/ficheros_de_más_de_un_mega que contendrá el nombre de todos los ficheros que pueda encontrar en el sistema con un tamaño superior al megabyte. ¿Cuantos ficheros cumplen este criterio?
    2. Crear el fichero ~/ficheros_de_menos_de_un_mega que contendrá el nombre de todos los ficheros que pueda encontrar en el sistema con un tamaño inferior al megabyte. ¿Cuantos ficheros cumplen este criterio?
    3. Buscar todos los ficheros que tengan un tamaño de 1878380 bytes.
    4. Buscar todos los ficheros que pertenezcan al usuario root y estén vacíos (ficheros regulares o directorios).
    5. Buscar todos los enlaces (duros) del fichero /usr/share/locale/es_VE/LC_NAME
    6. Buscar todos los dispositivos de carácteres que tienen la cadena random en el nombre.
    7. Utilice locate, para buscar el ejecutable del comando ls.
    8. Utilice which para buscar el ejecutable del comando ls.
  • Utilice todos los filtros que considere necesarios para:
    1. Mostrar paginado el fichero /etc/passwd
    2. Volcar por la salida estandard aquellas líneas de /etc/passwd en las que aparece su login de usuario.
    3. Volcar por la salida estandard aquellas líneas de /etc/passwd en las que aparece la cadena /sh
    4. Volcar por la salida estandard aquellas líneas de /etc/passwd que terminan con la cadena /sh
    5. Listar las líneas de /etc/passwd que comienzan con el carácter m
    6. Listar las líneas de /etc/passwd que comienzan con el carácter m y no terminan con el carácter h
    7. Listar las líneas de /etc/passwd que tienen 3 letras antes del primer carácter :
    8. Listar las líneas de /etc/passwd que tienen de 5 a 7 letras antes del primer carácter :
    9. Listar las líneas de /etc/passwd que tienen dos dígitos seguidos entre carácteres que no son dígitos
    10. Listar las líneas de /etc/passwd en las que no aparecen dos dígitos seguidos entre carácteres que no son dígitos
    11. Utilice sum, cksum, md5sum para calcular la suma de comprobación de un fichero. Compruebe que cada fichero tiene una suma de comprobación diferente.
    12. Obtenga un listado numerado de todas las líneas de /etc/passwd en las que aparezca la cadena /bin/sh
    13. Muestre las 5 primeras líneas de /etc/passwd
    14. Muestre las 3 últimas líneas de /etc/passwd
    15. Muestre la línea número 3 de /etc/passwd
    16. Construya el fichero 'datos' con el siguiente contenido:
      Hola
      aaa
      bbb
      aaa
      aaaa
      bbb
      ccc
      Hola
    17. Muestre, ordenadas, todas las líneas de datos
    18. Muestre, ordenadas y sin repetir, todas las líneas de datos
    19. A partir de /etc/passwd obtenga un listado de los diferentes nombres completos de los usuarios
    20. A partir de /etc/passwd  obtenga un listado con el siguiente formato "login: <login> nombre: <nombre completo> shell: <shell>"
  • Ponga a prueba los diferentes mecanismos de comunicación con otros usuarios del sistema.