web-dev-qa-db-fra.com

Que signifie `ls --directory`?

Dans ma version Ubuntu, man ls a les informations suivantes sur --directory:

list directory entries instead of contents, and do not dereference symbolic links

Donc, je suis un peu confus comment cela fonctionne. J'ai utilisé la commande ls --directory et je m'attendais à une liste avec tous les répertoires mais à la place, j'ai eu .

Alors, que font exactement ls --directory ou ls -d?

16
Pau Chorro
$ man ls
...
-d, --directory
              list directories themselves, not their contents

Le répertoire en cours est représenté par .. C'est donc ce que ls -d répertorie.

Les répertoires du répertoire en cours sont le contenu du répertoire et ne sont donc pas affichés avec cette option.

J'utilise l'option -d dans un alias pour afficher les fichiers et répertoires cachés

alias l.='ls -dC .* --color'

Sans -d, ceci listera aussi le contenu des répertoires cachés, ce qui n'est pas ce que je veux.

Une autre utilisation, c’est lorsque je veux voir les métadonnées d’un répertoire à l’aide de l’option -l, et non de son contenu:

$ ls -ld playground
drwxr-xr-x 72 zanna zanna 12288 Mar  1 23:10 playground

Si vous voulez une liste de répertoires dans le répertoire courant, vous pouvez utiliser

ls -d */
24
Zanna

Utiliser ls uniquement avec -d est presque inutile. Il donne des informations sur le répertoire lui-même. Il ne répertorie pas son contenu.

C'est pourquoi vous ne voyez pas une liste de répertoires. Les répertoires que vous vous attendiez à voir sont les "contenus" du répertoire actuel

Si vous exécutez simplement ls -d, le répertoire actuel est affiché par ..

Si cela a du sens de l'exécuter avec d'autres clés telles que -l.

ls -ld montrera les permissions du répertoire courant.

pilot6@Pilot6:~$ ls -ld
drwxrwxr-x 1 pilot6 pilot6 2570 Mar  4 12:14 .

Vous pouvez également voir les autorisations de tout autre répertoire comme

ls -ld /bin

pilot6@Pilot6:~$ ls -ld /bin
drwxr-xr-x 1 root root 2584 Feb 25 15:19 /bin

Si vous exécutez ls -l sans -d, vous aurez la liste de toutes les autorisations pour les fichiers et les dossiers du répertoire en cours. Si vous n'en avez pas besoin, c'est un bon exemple d'utilisation de ls -ld.

Vous pouvez lister les répertoires du répertoire actuel en

ls -d */
11
Pilot6

Utiliser ls -d par lui-même est plutôt inutile car sans paramètre, il retourne toujours .. Une fois que vous avez spécifié un paramètre, cela a du sens. Par exemple, si votre nom d'utilisateur est rick et que vous voulez voir tous les répertoires de votre maison, utilisez:

$ ls -d /home/rick/*/
/home/rick/AAC/        /home/rick/EnhanceIO/         /home/rick/silentcast/
/home/rick/Assembly/   /home/rick/EnhanceIO-master/  /home/rick/Templates/
/home/rick/bin/        /home/rick/log/               /home/rick/test/
/home/rick/Desktop/    /home/rick/Music/             /home/rick/tmpe/
/home/rick/Documents/  /home/rick/Pictures/          /home/rick/Videos/
/home/rick/Downloads/  /home/rick/Public/
6
WinEunuuchs2Unix

Laissez-moi vous expliquer avec des exemples:

  1. ls: liste le contenu d'un répertoire

  2. ls -d ou ls --directory: répertorie les répertoires eux-mêmes, pas leur contenu

Exemples:

ls -d Android-sdk-linux/

# result
Android-sdk-linux/

ls Android-sdk-linux/

# result
add-ons  build-tools  platforms  platform-tools  SDK Readme.txt  temp  tools

Votre cas de ls -d ceci dit: affichez-moi seulement le répertoire dans lequel je me trouve n’est pas son contenu (c’est-à-dire . en termes Linux), le résultat est donc: ..

Mais si vous aviez dit: ls, alors vous verrez tout ce qui est présent dans le répertoire courant ..

5
George Udosen

ls -d liste les répertoires eux-mêmes au lieu de leur contenu. Les fichiers sont listés comme d'habitude. Regardez dans man ls pour voir la description de toutes les options.

. est le répertoire lui-même, le même que vous utilisez lorsque vous exécutez une commande à partir du répertoire en cours, ./runscript.sh

.. est le répertoire parent, parent du répertoire actuel, comme dans cd .. pour passer à l'étape supérieure dans la hiérarchie des répertoires.

4
Soren A