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