Sistema de Ficheiros


Informação complementar:

Esta aula tem por objetivo introduzir as principais funções de sistema para programação do sistema de ficheiros. Para tal, deverá implementar pequenos programas que respondam aos requisitos de cada uma das tarefas que se seguem. Para obter mais informação sobre as funções de sistema referidas, consulte as man-pages respetivas.

  1. Listar o nome das entradas de um directório (my_ls): o programa aceita como argumento o nome de um subdirectório do directório corrente e lista os nomes de todas as entradas desse subdirectório.
    Funções a ter em conta: opendir(), readdir() e closedir().
  2. Listar informação dos inodes relativos às entradas de uma directório (my_ls2): estenda o programa anterior para fornecer mais informações sobre cada entrada do subdirectório. Além do nome indique também o tipo (regular, directório, symbolic link, etc) e o tamanho em bytes.
    Funções a ter em conta: opendir(), readdir(), closedir() e lstat().
  3. Procurar na estrutura de directórios por um ficheiro (my_find): o programa aceita como argumento o nome de um ficheiro e procura, a partir do directório corrente, por ficheiros com esse nome. O programa deverá devolver o caminho (relativo ao directório corrente) dos vários ficheiros que encontrar com o nome indicado.
    Funções a ter em conta: opendir(), readdir(), closedir() e lstat().
  4. Espaço desperdiçado no sistema de ficheiros (my_du): o programa aceita como argumento o nome de um subdirectório do directório corrente e lista o número de blocos utilizados por cada ficheiro regular (S_ISREG) desse directório. No final apresenta um resumo do espaço desperdiçado por esses ficheiros, ou seja, a relação entre o tamanho em bytes dos ficheiros e o espaço físico necessário para os guardar no sistema de ficheiros.
    Funções a ter em conta: opendir(), readdir(), closedir() e lstat().