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