A l'aide du ls
commande, les utilisateurs et les superutilisateurs répertorient les informations sur les fichiers et les répertoires. Cet article aide l'administrateur et l'utilisateur à identifier les autorisations de fichiers, ce qui est utile pour l'accès et le dépannage de base.
Utilisation de ls
À la base, vous pouvez utiliser le ls
commande pour voir quels fichiers se trouvent dans un répertoire :Remarque :La liste peut ou non être codée par couleur.
[root@centos7 ~]# ls /etc
abrt firewalld makedumpfile.conf.sample rdma
adjtime flatpak man_db.conf redhat-release
aliases fonts maven request-key.conf
aliases.db fprintd.conf mime.types request-key.d
alsa fstab mke2fs.conf resolv.conf
alternatives fuse.conf modprobe.d rhsm
anacrontab gconf modules-load.d rpc
...
Il y a beaucoup de drapeaux disponible pour vous donner plus d'informations avec votre liste de fichiers. Le plus courant à utiliser est -a
(ou --all
), car il vous montre tous les fichiers du répertoire, y compris ceux qui commencent par un point (par exemple, .bash_logout
).
Un autre drapeau courant est -l
, qui vous donne plus d'informations sur les fichiers d'un répertoire, y compris les autorisations, la propriété et la taille du fichier. Si vous voulez être en mesure de dire plus facilement dans quelles unités se trouve la taille d'un fichier (par exemple, 1K, 234M, 2G), vous pouvez ajouter le -h
(abréviation de --human-readable
) drapeau.
Passons en revue un exemple. Une simple liste de fichiers dans le répertoire de l'utilisateur root pourrait être ceci :
[root@name ~]# ls /root
anaconda-ks.cfg
Si vous souhaitez la version longue de cette liste (nous couvrirons les informations supplémentaires présentées ici dans la section suivante) :
[root@name ~]# ls -l /root
total 4
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
Cependant, si vous ajoutez le -a
drapeau, le ls
La commande renvoie une liste abrégée comprenant les éléments masqués :
[root@name ~]# ls -a /root
. anaconda-ks.cfg .bash_logout .bashrc .cshrc .tcshrc
.. .bash_history .bash_profile .cache .local
Considérez la période simple et la période double dans les deux listes de répertoires. Le point unique (.
) fait référence au répertoire lui-même. Ce point est pratique si vous souhaitez exécuter une commande et référencer votre répertoire actuel (par exemple, lorsque vous souhaitez y copier un fichier).
Les doubles points (..
) font référence au répertoire parent. Si vous tapez cd ..
vous montez d'un cran dans la hiérarchie du système de fichiers. Par exemple, si votre répertoire actuel est /root
, en tapant cd ..
vous amènerait à /
, le sommet de la hiérarchie.
Si vous combinez le -a
option avec le -l
option dans -la
, vous obtenez plus de détails sur les fichiers cachés et non cachés :
[root@name ~]# ls -la /root
total 44
dr-xr-x---. 4 root root 4096 Feb 11 05:47 .
dr-xr-xr-x. 19 root root 4096 Jul 11 13:15 ..
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
-rw-------. 1 root root 163 Jul 11 01:18 .bash_history
-rw-r--r--. 1 root root 18 Feb 2 10:37 .bash_logout
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bash_profile
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bashrc
drwx------. 3 root root 4096 Jul 11 01:37 .cache
-rw-r--r--. 1 root root 100 Feb 2 10:37 .cshrc
drwxr-xr-x. 3 root root 4096 Feb 22 01:57 .local
-rw-r--r--. 1 root root 129 Feb 2 10:37 .tcshrc
Décodage du format de liste longue
Lorsque vous commencez à utiliser le -l
flag, vous remarquerez beaucoup plus d'informations. Voici un exemple de ligne de sortie :
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
Le premier caractère à gauche vous indique ce que vous regardez. Si c'est un d
, comme vous le voyez ici, qui indique que ce fichier est un répertoire, qui est essentiellement un type spécial de fichier (et il sera appelé fichier tout au long). Cependant, s'il s'agissait d'un tiret (-
), cela indiquerait que le fichier est un fichier normal.
Si le premier caractère était un l
minuscule , alors cet élément serait un type de fichier spécial appelé lien symbolique, ou lien logiciel, qui est un pointeur (raccourci) vers un autre emplacement du système de fichiers. Une telle liste pourrait ressembler à ceci :
lrwxrwxrwx 1 root root 4 Jun 30 03:29 sh -> bash
Après le premier caractère se trouvent les abréviations d'autorisation, qui sont regroupées par trois. Les autorisations pour les fichiers sont représentées par les lettres suivantes :
r
pour l'autorisation de lecturew
pour l'autorisation d'écriturex
pour l'autorisation d'exécution
Revenons à cet exemple :
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
- Le premier triplet (
rwx
) affiche les autorisations de l'utilisateur ou du propriétaire du fichier. - Le triplet suivant (
rwx
) affiche les autorisations pour la catégorie de groupe. - Le dernier triplet (
r-x
) affiche les autorisations pour la dernière catégorie, autre.
Dans cet exemple, les utilisateurs qui ne sont ni le propriétaire du fichier ni ceux du groupe ont des autorisations de lecture et d'exécution mais pas d'écriture, comme indiqué par le tiret (-
) en position médiane.
Le numéro indiqué après les autorisations indique soit le lien count (pour un fichier) ou le nombre d'entrées de répertoire contenues (pour un répertoire). Ce numéro n'est pas pertinent pour les autorisations.
Après ce numéro, le prénom indique le propriétaire du fichier. Les autorisations de l'utilisateur (premier triplet) s'appliquent à ce propriétaire, donc dans cet exemple, l'utilisateur root
dispose des autorisations de lecture, d'écriture et d'exécution pour ce répertoire.
Le deuxième nom est le groupe du fichier. Les autorisations de groupe s'appliquent à n'importe quel utilisateur du même groupe, donc dans ce cas, n'importe qui dans le mail
groupe dispose des autorisations de lecture, d'écriture et d'exécution.
Conclusion
Vous devriez maintenant avoir une bien meilleure idée d'obtenir des informations sur vos fichiers à partir de la ligne de commande. Le ls
La commande a beaucoup plus d'options. Tapez man ls
pour en savoir plus et découvrir vos combinaisons de drapeaux préférées pour faire avancer les choses. Vous voudrez peut-être même créer des alias.