Appliquer la notion

On souhaite lister le contenu de 3 dossiers de la machine dans un fichier files.txt :

  • /etc/network/ (qui devrait exister)

  • /var/lib/apt (qui devrait exister)

  • /etc/fake-folder (qui ne devrait pas exister)

Le fichier files.txt devra contenir uniquement la liste des fichiers, et les éventuelles erreurs doivent être écrites dans un fichier errors.txt.

Question

Donnez la commande pour réaliser cette opération.

Indice

On utilisera ls -l et quelques redirections.

Solution

On utilise la commande ls -l avec les 3 dossiers en paramètres pour lister le contenu des dossiers. L'opérateur > permet de rediriger la sortie standard (donc la liste des fichiers) dans le fichier files.txt tandis que l'opérateur 2> redirige les erreurs dans le fichier errors.txt.

1
ls -l /etc/network /var/lib/apt /etc/fake-folder > files.txt 2> errors.txt

On peut constater que le résultat a été correctement redirigé, et que l'erreur du dossier n'existant pas se trouve bien à part.

1
$ cat files.txt 
2
/etc/network:
3
total 24
4
drwxr-xr-x 2 root root 4096  7 déc.  16:16 if-down.d
5
drwxr-xr-x 2 root root 4096  7 déc.  16:16 if-post-down.d
6
drwxr-xr-x 2 root root 4096  7 déc.  16:16 if-pre-up.d
7
drwxr-xr-x 2 root root 4096  7 déc.  16:16 if-up.d
8
-rw-r--r-- 1 root root  313  3 oct.   2016 interfaces
9
drwxr-xr-x 2 root root 4096 13 mars   2015 interfaces.d
10
lrwxrwxrwx 1 root root   12 26 nov.   2015 run -> /run/network
11
12
/var/lib/apt:
13
total 240
14
-rw-r--r-- 1 root root    269 26 nov.   2015 cdroms.list
15
-rw-r--r-- 1 root root      0  8 déc.  12:30 daily_lock
16
-rw-r--r-- 1 root root 188799  7 déc.  19:01 extended_states
17
-rw-r--r-- 1 root root  12288  7 déc.  16:14 listchanges.db
18
-rw-r--r-- 1 root root  12288 30 nov.  09:51 listchanges-old.db
19
drwxr-xr-x 4 root root  12288  7 déc.  16:36 lists
20
drwxr-xr-x 3 root root   4096 26 nov.   2015 mirrors
21
drwxr-xr-x 2 root root   4096 10 juin   2015 periodic
22
$ cat errors.txt 
23
ls: impossible d'accéder à '/etc/fake-folder': Aucun fichier ou dossier de ce type
24