This shows you the differences between two versions of the page.
|
sde2:laboratoare:04_new [2022/03/22 00:43] alexandru.radovici |
sde2:laboratoare:04_new [2022/04/05 01:18] (current) alexandru.radovici |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== TP 04 - Systems de fichiers ====== | + | ====== TP 03 - Systems de fichiers ====== |
| ===== Objectifs ===== | ===== Objectifs ===== | ||
| Line 11: | Line 11: | ||
| <note> | <note> | ||
| Transformer un buffer (&[u8]) en string (str) peut être fait en utilisant | Transformer un buffer (&[u8]) en string (str) peut être fait en utilisant | ||
| + | |||
| <code rust> | <code rust> | ||
| std::str::from_utf8(&buffer[0..len]).unwrap() | std::str::from_utf8(&buffer[0..len]).unwrap() | ||
| + | </code> | ||
| + | </note> | ||
| + | |||
| + | <note> | ||
| + | Importations utiles | ||
| + | |||
| + | <code rust> | ||
| + | // utilisé pour les permissions Linux | ||
| + | use std::os::unix::fs::MetadataExt; | ||
| + | |||
| + | // utilisé pour trouver le descripteur de fichier | ||
| + | use std::os::unix::io::AsRawFd; | ||
| + | |||
| + | // utilisé pour la fonction read | ||
| + | use std::io::Read; | ||
| + | |||
| </code> | </code> | ||
| </note> | </note> | ||
| Line 28: | Line 45: | ||
| ===== Sujets ===== | ===== Sujets ===== | ||
| + | - Écrivez un programme qui reçoit en paramètre un dossier. Imprimer le contenu du dossier. | ||
| - Écrivez un programme qui reçoit en argument de ligne de commande un fichier et une tâche. Mettre en œuvre les tâches : | - Écrivez un programme qui reçoit en argument de ligne de commande un fichier et une tâche. Mettre en œuvre les tâches : | ||
| - **print** - imprime le contenu du fichier | - **print** - imprime le contenu du fichier | ||
| Line 33: | Line 51: | ||
| - **owner** - affiche l'utilisateur (uid) et le groupe (gid) du fichier | - **owner** - affiche l'utilisateur (uid) et le groupe (gid) du fichier | ||
| - **mode_number** - affiche le mode (permissions) en numero du fichier | - **mode_number** - affiche le mode (permissions) en numero du fichier | ||
| + | - **type** - le type de fichier: dossier, fichier, lien, périphérique caractère, périphérique bloc, ... | ||
| - **mode_text** - affiche le mode (permissions) en text (rwx...) du fichier | - **mode_text** - affiche le mode (permissions) en text (rwx...) du fichier | ||
| - | - **type** - le type de fichier: dossier, fichier, lien, périphérique caractère, périphérique bloc, ... | + | - **print_buffer** - imprimez le contenu du fichier à l'aide des fonctions open et read. |
| - | - Écrivez un programme qui reçoit en paramètre un dossier. Imprimer le contenu du dossier. | + | |
| + | ===== Solutions ===== | ||
| + | [[https://github.com/UPB-FILS-SdE2/Solutions/tree/main/tp3|Solutions]] | ||