TP 02 - Travailler avec des fichiers (partie 2)

Assignment

Vous devez accepter le assignment d'ici et travailler avec ce repository: Lab2

Copier des fichiers et des répertoires

Nous copions le fichier Thor dans le répertoire /tmp/ en utilisant cp :

student@uso:~/uso_lab02$ cp Avengers/Thor /tmp/
student@uso:~/uso_lab02$ ls /tmp/
Thor  ssh-ApUMKI3HSJ

La syntaxe est similaire à la commande mv. Maintenant, le fichier Thor se trouve à la fois dans /home/student/Avengers/Thor et /tmp/Thor.

student@uso:~/uso_lab02$ cp Avengers/ /tmp/
cp: omitting directory 'Avengers/'

Nous remarquons qu'un répertoire contenant d'autres fichiers ou répertoires ne peut pas être copié.

Pour copier un répertoire non vide ailleurs, nous devons utiliser la commande cp -r :

student@uso:~/uso_lab02$ cp -r Avengers/ /tmp/
student@uso:~/uso_lab02$ ls -l /tmp/
total 8
drwxr-xr-x 2 student student 4096 Sep 29 19:06 Avengers
-rw-r--r-- 1 student student    0 Sep 29 19:04 Thor
drwx------ 2 student student 4096 Sep 29 13:45 ssh-ApUMKI3HSJ
student@uso:~/uso_lab02$ ls -l /tmp/Avengers/
total 0
-rw-r--r-- 1 student student 0 Sep 29 19:06 Captain America
-rw-r--r-- 1 student student 0 Sep 29 19:06 Iron Man
-rw-r--r-- 1 student student 0 Sep 29 19:06 Thor

On a copié le répertoire Avengers et son contenu du chemin actuel vers le répertoire /tmp. Nous remarquons que toute la hiérarchie des fichiers/répertoires sous le répertoire Avengers a été copiée. Il est maintenant aux deux endroits.

Fichiers et répertoires cachés

Un fichier ou un répertoire est masqué lorsqu'il n'apparaît pas normalement dans la hiérarchie des fichiers. Par exemple, lorsque nous exécutons la commande ls dans un répertoire, elle n'apparaît pas.

Il y a plusieurs raisons pour lesquelles nous voulons cacher un fichier ou un répertoire:

  • Il y a des fichiers que nous ne voulons normalement pas voir (fichiers de configuration ; par exemple : .profile)
  • Il existe des commandes qui suppriment tous les fichiers d'un répertoire sans supprimer le répertoire (rm Avengers/*). Ils n'ont aucun effet sur les fichiers cachés ;
  • Nous voulons rendre certains fichiers un peu plus difficiles à trouver

Nous voyons les fichiers et répertoires cachés à l'aide de la commande ls -a :

student@uso:~/uso_lab02$ ls -al
total 56
drwxr-xr-x 5 student student 4096 Sep 29 18:41 .
drwxr-xr-x 4 student student 4096 Sep 29 18:35 ..
drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
(...)
drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones
(...)

L'option -a vient de tous, ce qui signifie que nous voulons voir tous les fichiers : à la fois visibles et cachés.

On remarque deux nouveaux répertoires . et Le directeur . est une référence au répertoire courant et .. est une référence au répertoire parent.

Le répertoire .. est dans notre cas équivalent à /home/student.

Nous créons des fichiers cachés en mettant un point (.) devant le nom :

student@uso:~/uso_lab02/Avengers$ ls -l
total 0
-rw-r--r-- 1 student student 0 Sep 29 18:20 Captain America
-rw-r--r-- 1 student student 0 Sep 29 18:20 Iron Man
-rw-r--r-- 1 student student 0 Sep 29 18:20 Thor
student@uso:~/uso_lab02/Avengers$ touch .Hulk
student@uso:~/uso_lab02/Avengers$ ls -l
total 0
-rw-r--r-- 1 student student 0 Sep 29 18:20 Captain America
-rw-r--r-- 1 student student 0 Sep 29 18:20 Iron Man
-rw-r--r-- 1 student student 0 Sep 29 18:20 Thor
student@uso:~/uso_lab02/Avengers$ ls -al
total 8
drwxr-xr-x 2 student student 4096 Oct  6 16:44 .
drwxr-xr-x 5 student student 4096 Sep 29 19:14 ..
-rw-r--r-- 1 student student    0 Oct  6 16:44 .Hulk
-rw-r--r-- 1 student student    0 Sep 29 18:20 Captain America
-rw-r--r-- 1 student student    0 Sep 29 18:20 Iron Man
-rw-r--r-- 1 student student    0 Sep 29 18:20 Thor

On a créé le fichier .Hulk caché. Nous remarquons qu'il n'apparaît pas lors de l'exécution de ls -l, mais il apparaît lors de l'exécution de ls -al.

De même, nous créons des répertoires cachés en mettant un (.) devant le nom :

student@uso:~/uso_lab02$ mkdir .LordOfTheRings
student@uso:~/uso_lab02$ ls
Avengers  GameOfThrones
student@uso:~$ ls -al
total 20
drwxr-xr-x 5 student student 4096 Sep 29 18:41 .
drwxr-xr-x 4 student student 4096 Sep 29 18:35 ..
drwxr-xr-x 2 student student 4096 Sep 29 18:41 .LordOfTheRings
drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
(...)
drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones
(...)
Execises
  1. Créez un répertoire nommé .LordOfTheRings dans le répertoire au chemin /workspaces/lab2-simplifiee.
  2. Entrez dans le répertoire créé.
  3. Créez 3 fichiers cachés nommés Aragorn, Legolas, Frodo Baggins.
  4. Vérifier les opérations de création (répertoire et fichiers).
  5. Créez un répertoire nommé news dans le répertoire au chemin /workspaces/lab2-simplifiee.
  6. Créer des fichiers hotnews, biziday, digi24.
  7. Créez le fichier .cancan caché.
  8. Afficher tous les fichiers du répertoire.
  9. Afficher tous les fichiers du répertoire qui ne sont pas caches.
  10. Créez un répertoire tv dans le répertoire au chemin /workspaces/lab2-simplifiee.
  11. Créez des fichiers ProTV, Digi24, Eurosport.
  12. Créer des fichiers cachés Antena3, Romania24.
  13. Afficher tous les fichiers du répertoire.
  14. Affiche les fichiers du répertoire qui ne sont pas masqués.
  15. Copiez le répertoire news avec les fichiers qu'il contient dans le répertoire tv.
  16. Déplacez les fichiers .Antena3 et .Romania24 vers le répertoire /tmp.

Un lien est un raccourci vers un fichier ou un répertoire. Ceux-ci sont nécessaires lorsque nous ne voulons pas parcourir toute la hiérarchie des fichiers. Par exemple, nous avons mis l'exécutable du jeu Warcraft3 sur le bureau pour y accéder rapidement. Plusieurs liens peuvent faire référence au même répertoire/fichier.

Caractéristiques:

  • Raccourci similaire de Windows ;
  • Toute modification du fichier cible est également visible dans le fichier de lien ;
  • Il s'agit d'un lien vers le nom du fichier et non vers le contenu ;
  • Si le fichier est déplacé ou renommé, le lien est perdu ;
  • Nous pouvons créer des liens vers des répertoires.

Nous créons un lien symbolique vers le répertoire /home/student/uso_lab02/Avengers/Thor en utilisant la commande ln -s :

student@uso:~/uso_lab02$ ln -s /home/student/uso_lab02/Avengers/Thor thor
student@uso:~/uso_lab02$ ls -l
(...)
lrwxrwxrwx 1 student student 28 Oct  6 17:58 thor -> /home/student/uso_lab02/Avengers/Thor
(...)

Nous remarquons que le fichier créé est un lien (il a le premier caractère l). De plus, on remarque que ce lien est un raccourci vers le chemin /home/student/uso_lab02/Avengers/Thor.

Nous écrivons le texte “Hello” dans le fichier Avengers/Thor :

student@uso:~/uso_lab02$ echo "Hello" > Avengers/Thor
student@uso:~/uso_lab02$ cat Avengers/Thor
Hello
student@uso:~/uso_lab02$ cat thor
Hello

Nous voyons le contenu du fichier à la fois en utilisant un chemin (relatif ou absolu) et en utilisant le lien symbolique (raccourci).

Ensuite, nous voyons ce qui se passe si nous supprimons un fichier.

student@uso:~$ cd /tmp
student@uso:/tmp$ touch /home/student/uso_lab02/test
student@uso:/tmp$ ls -l /home/student/uso_lab02
(...)
drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones
(...)
-rw-r--r-- 1 student student    0 Sep 29 19:04 test
(...)
student@uso:/tmp$ ln -s /home/student/uso_lab02/test my_link
student@uso:/tmp$ ls -l
(...)
lrwxrwxrwx 1 student student    28 oct 12 01:33 my_link -> /home/student/uso_lab02/test
(...)
student@uso:/tmp$ rm my_link
student@uso:/tmp$ ls
student@uso:/tmp$ ls -l /home/student/uso_lab02
(...)
drwxr-xr-x 2 student student 4096 Sep 29 18:20 Avengers
drwxr-xr-x 2 student student 4096 Sep 29 17:44 GameOfThrones
(...)

Nous remarquons que si nous avons supprimé un fichier en y accédant via le lien, il a également été supprimé à la destination.

Exercises
  1. Créez un lien symbolique dans le répertoire au chemin /workspaces/lab2-simplifiee vers le répertoire Netflix.
  2. Vérifiez la création du lien en affichant le contenu du répertoire parent.
  3. Afficher le contenu du lien.
  4. Supprimez le répertoire Netflix.
  5. Afficher le contenu du lien.
sde2/laboratoare/02_uso.txt · Last modified: 2023/03/20 23:10 by cristiana.andrei
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0