Fatmawati Achmad Zaenuri / Shutterstock
Nous utilisons le Linux ls
commande tous les jours sans y penser. C’est dommage. Faites-y attention et vous trouverez de nombreuses options utiles, dont certaines que vous devriez ajouter à votre arsenal de ligne de commande.
ls répertorie les fichiers et répertoires
le ls
La commande est probablement la première commande que la plupart des utilisateurs de Linux rencontrent. Ceux d’entre nous qui traînent autour de la ligne de commande l’utilisent jour après jour sans même y penser. Cela pourrait expliquer pourquoi cette commande a plus à offrir que la plupart des utilisateurs ne le pensent. Nous listons les fichiers avec pour voir ce qu’il y a dans un répertoire. Nous listons les fichiers au format long lorsque nous voulons examiner les autorisations sur un fichier. Au-delà de cela, il est peu considéré.
le ls
command est l’une de ces commandes avec une multitude d’options. Cela fait peut-être partie du problème. Il y a tellement d’options, comment les parcourir pour trouver celles qui sont utiles? Et les ayant trouvés, comment vous en souvenez-vous?
Permutations utiles du ls
command avec leurs chaînes d’options et de paramètres sont les candidats parfaits pour les alias. En fait, dans la plupart des distributions, ce que vous considérez comme «nu» ls
commande est en fait un alias. Entre autres, le type
la commande peut être utilisée pour afficher la définition sous-jacente des alias. Regardons la définition de ls
:
type ls
le --color=auto
les paramètres sont inclus automatiquement chaque fois que vous utilisez le ls
commander. C’est ce qui fournit les différentes couleurs pour les différents types de fichiers dans les listes.
Annonces ls simples
Tous ceux qui ont passé du temps à utiliser le terminal Linux savent que, par défaut, ls
répertorie les fichiers et répertoires dans le répertoire courant.
ls
Si vous souhaitez que votre annonce soit produite dans une seule colonne, utilisez le -1
(un fichier par ligne) option:
ls -1
Nous discuterons de ce nom de fichier étrange en haut de la liste dans une minute.
Utilisation de ls sur différents répertoires
Avoir ls
lister les fichiers dans un répertoire autre que le répertoire courant, passer le chemin du répertoire à ls
sur la ligne de commande. Vous pouvez également transmettre plusieurs répertoires à ls
, et faites-les lister les uns après les autres. Ici, nous demandons ls
pour lister les fichiers dans deux répertoires, l’un appelé «Help» et l’autre appelé «gc_help».
ls Help gc_help
Quand ls
a répertorié le contenu du premier répertoire, il répertorie le contenu du second. Il imprime le nom de chaque répertoire au fur et à mesure qu’il les traite:
Utilisation des modèles de fichier
Pour répertorier de manière sélective un ensemble de fichiers, utilisez la correspondance de modèles. Le point d’interrogation « ?
« Représentera n’importe quel caractère et l’astérisque »*
»Représentera n’importe quelle chaîne de caractères. Pour répertorier tous les fichiers ou répertoires dont le nom commence par «ip_», utilisez ce format:
ls ip_*
Pour répertorier les fichiers dotés d’extensions «.c», utilisez ce format:
ls *.c
Vous pouvez aussi utiliser ls
avec grep
, et utilise grep
de capacités de correspondance de modèle. Cherchons tous les fichiers dont le nom contient la chaîne «_pin_»:
ls | grep _pin_
C’est presque la même chose que d’utiliser ls
seul, avec deux caractères génériques:
ls | grep _pin_
ls *_pin_*
Pourquoi pareil? Notez les différentes dispositions. grep
force la sortie à un seul nom de fichier par format de ligne.
Caractères non imprimables
Il est possible de se retrouver avec un nom de fichier qui a un caractère non imprimable ou de contrôle dans son nom de fichier. Cela peut généralement se produire lorsque vous développez une archive que vous avez téléchargée sur le Web ou que vous avez récupéré un référentiel git, et que l’auteur d’origine a fait une erreur en créant un fichier mais ne l’a pas repéré.
Notre fichier étrange est l’un de ceux-ci:
Si nous le regardons dans le navigateur de fichiers et appuyez sur «F2» pour le renommer, les caractères non imprimables sont représentés par un symbole étrange.
Vous pouvez utiliser le -b
(escape) pour vous permettre de voir ce que le nom de fichier contient réellement. Cette option entraîne ls
pour utiliser les séquences d’échappement du Langage de programmation C pour représenter les caractères de contrôle.
ls -b a*
Le personnage mystérieux se révèle être un caractère de nouvelle ligne, représenté en C par « n».
Ignorer les fichiers
Pour que certains fichiers soient omis d’une liste, utilisez le --hide
option. Supposons que vous ne vouliez pas voir les fichiers de sauvegarde «.bak» dans la liste. Vous pouvez utiliser cette commande:
ls
ls --hide=*.bak
Les fichiers «.bak» ne sont pas inclus dans la deuxième liste.
La liste au format long
le -l
(liste longue) causes ls
pour fournir des informations détaillées sur chaque fichier.
ls -l
Il y a beaucoup d’informations ici, alors passons en revue.
La première chose ls
affiche la taille totale de tous les fichiers de la liste. Ensuite, chaque fichier ou répertoire est affiché sur une ligne par lui-même.
Le premier ensemble de dix lettres et tirets correspond au type de fichier et au propriétaire, au groupe et aux autres autorisations de fichier.
Le tout premier caractère représente le type de fichier. Ce sera l’un des:
- –: Un fichier régulier.
- b: Un fichier spécial de bloc.
- c: Un fichier spécial de caractère.
- ré: Un répertoire.
- l: Un lien symbolique.
- n: Un fichier réseau.
- p: Un tube nommé.
- s: Une prise.
Les neuf caractères suivants sont trois groupes de trois caractères affichés de manière contiguë. Chaque groupe de trois représente les autorisations de lecture, d’écriture et d’exécution, dans cet ordre. Si l’autorisation est accordée, il y aura un r
, w
, ou x
présent. Si l’autorisation n’est pas accordée, un trait d’union -
est montré.
Le premier jeu de trois caractères correspond aux autorisations du propriétaire du fichier. Le deuxième ensemble de trois autorisations est destiné aux membres du groupe et le dernier ensemble de trois autorisations est destiné aux autres.
Parfois, l’autorisation d’exécution pour le est représentée par un s
. C’est le setuid bit. S’il est présent, cela signifie que le fichier est exécuté avec les privilèges du propriétaire du fichier, et non de l’utilisateur exécutant le fichier.
L’autorisation d’exécution pour le peut également être un s
. C’est le setgid bit. Lorsque cela est appliqué à un fichier, cela signifie que le fichier sera exécuté avec les privilèges du groupe de l’ower. Lorsqu’il est utilisé avec un répertoire, tous les fichiers créés à l’intérieur de celui-ci retireront leurs autorisations de groupe de celui dans lequel ils sont créés, et non de l’utilisateur qui crée le fichier.
L’autorisation d’exécution pour les autres peut parfois être représentée par un t
. C’est le peu collante. Il est généralement appliqué aux répertoires. Si cela est défini, quels que soient les privilèges d’écriture et d’exécution définis sur les fichiers du répertoire, seul le propriétaire du fichier, le propriétaire du répertoire ou l’utilisateur root peut renommer ou supprimer des fichiers dans le répertoire.
Une utilisation courante du sticky bit est sur des dossiers tels que «/ tmp». Ceci est accessible en écriture par tous les utilisateurs de l’ordinateur. Le bit sticky sur le répertoire garantit que les utilisateurs – et les processus lancés par les utilisateurs – ne peuvent renommer ou supprimer que leurs propres fichiers temporaires.
Nous pouvons voir le sticky bit dans le répertoire «/ tmp». Notez l’utilisation du -d
(répertoire) option. Ce qui provoque ls
pour rendre compte des détails de l’annuaire. Sans cette option, ls
rendra compte des fichiers à l’intérieur du répertoire.
ls -l -d /tmp
Le nombre suivant les autorisations est le nombre de liens physiques vers le fichier ou le répertoire. Pour un fichier, il en est généralement un, mais si d’autres liens physiques sont créés, ce nombre augmentera. Un annuaire a généralement au moins deux liens physiques. L’un est un lien vers lui-même, et l’autre est son entrée dans son répertoire parent.
Le nom du propriétaire et du groupe s’affiche ensuite. Ils sont suivis de la taille du fichier et de la date de la dernière modification du fichier. Enfin, le nom du fichier est donné.
Tailles de fichiers lisibles par l’homme
La taille des fichiers en octets n’est pas toujours pratique. Pour voir les tailles de fichier dans les unités les plus appropriées (kilo-octets, mégaoctets, etc.), utilisez le -h
(lisible par l’homme) option:
ls -l -h
Affichage des fichiers cachés
Pour voir les fichiers cachés, utilisez le -a
(tout) option:
ls -l -a
Les deux entrées « . » et «..» représentent respectivement le répertoire courant et le répertoire parent. Un fichier appelé «.base_settings» est maintenant visible pour la première fois.
Omettre. et .. à partir des listes
Si vous ne voulez pas que votre fiche soit encombrée de « . » et « .. », mais vous voulez voir les fichiers cachés, utilisez le -A
(presque tous) option:
ls -l -A
Le fichier caché est toujours répertorié, mais le « . » et les entrées «..» sont supprimées.
Liste des répertoires de manière récursive
Avoir ls
lister les fichiers dans tous les sous-répertoires utiliser le -R
(récursif) option
ls -l -R
ls
parcourt toute l’arborescence de répertoires sous le répertoire de départ et répertorie les fichiers dans chaque sous-répertoire.
Affichage de l’UID et du GID
Pour afficher l’ID utilisateur et l’ID de groupe au lieu du nom d’utilisateur et du nom de groupe, utilisez le -n
(uid numérique et gid) option.
ls -n
Tri des annonces
Vous pouvez trier la liste par extension, taille de fichier ou heure de modification. Ces options n’ont pas à être utilisées avec le format de liste longue, mais il est généralement judicieux de le faire. Si vous triez par taille de fichier, il est logique de voir les tailles de fichier dans la liste. Lorsque vous triez par type d’extension, le format de liste longue n’est pas si important.
Pour trier par extension, utilisez le -X
(trier par extension) option.
ls -X -1
Les répertoires sont listés en premier (pas d’extensions du tout) puis les autres suivent par ordre alphabétique, en fonction des extensions.
Pour trier par taille de fichier, utilisez le -S
(trier par taille de fichier) option.
ls -l -h -S
L’ordre de tri est du plus grand au plus petit.
Pour trier la liste par heure de modification, utilisez le -t
(trier par heure de modification) option.
ls -l -t
La liste est triée par heure de modification.
Si l’heure de modification du fichier se situe dans l’année en cours, les informations affichées sont le mois, le jour et l’heure. Si la date de modification n’était pas dans l’année en cours, les informations affichées sont le mois, le jour et l’année.
Un moyen rapide d’obtenir les fichiers les plus récents et les plus anciens d’un répertoire consiste à utiliser ls
avec le head
et tail
commandes.
Pour obtenir le fichier ou le répertoire le plus récent, utilisez cette commande:
ls -t | head -1
Pour obtenir le fichier ou le répertoire le plus ancien, utilisez cette commande:
ls -t | tail -1
Pour inverser l’ordre de tri
Pour inverser l’un des ordres de tri, utilisez le -r
(inverse) option.
ls -l -h -S -r
La liste est maintenant classée du plus petit fichier au plus gros fichier.
Et il y a plus
Consultez la page de manuel pour ls
, il y a beaucoup plus d’options. Certains d’entre eux satisfont des cas d’utilisation quelque peu obscurs, mais de temps en temps, vous serez heureux de les connaître.
Avez-vous besoin de voir les horodatages des fichiers avec la précision maximale que Linux peut fournir? Utilisez l’option à temps plein:
ls --full-time
Vous voulez peut-être voir le numéro d’inode des fichiers? Utilisez l’option inode:
ls -i
Vous travaillez sur un écran monochrome et souhaitez supprimer tout risque de confusion entre les fichiers et les répertoires et les liens? Utilisez l’option classifier, et ls
ajoutera l’un de ces éléments à chaque entrée de liste:
- /: Un répertoire.
- @: Un lien symbolique.
- |: Un tube nommé.
- =: Une prise.
- *: Un fichier exécutable
ls -F
Faites un peu de fouille. Tu trouveras ça ls
est une veine riche, et vous continuerez à produire des gemmes.