web-dev-qa-db-fra.com

Unix ls command: affiche le chemin complet lors de l'utilisation des options

J'utilise souvent cette commande de liste sous Unix (AIX/KSH):

ls -Artl

Il affiche les fichiers comme ceci:

-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 test2.txt

Je voudrais modifier la commande de telle sorte que le chemin complet du fichier soit affiché. Par exemple:

-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test1.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 2 11:59 /usr/test2.txt

Des idées?

J'ai trouvé plusieurs méthodes de résolution utilisant pwd ou find mais, autant que je sache, cela ne fonctionne pas si je veux conserver les options ls.

58
TechnoCore

Qu'en est-il de cette astuce ...

ls -lrt -d -1 $PWD/{*,.*}

OR

ls -lrt -d -1 $PWD/*

Je pense que cela a des problèmes avec les répertoires vides, mais si une autre affiche a un Tweak, je mettrai à jour ma réponse. En outre, vous le savez peut-être déjà, mais c’est probablement un bon candidat pour un alias étant donné sa longueur.

[update] a ajouté quelques réglages basés sur les commentaires, merci les gars.

[mise à jour] comme indiqué par les commentaires, vous devrez peut-être modifier les expressions de matcher en fonction du shell (bash vs zsh). J'ai ré-ajouté ma commande plus ancienne pour référence.

62
Andrew White

Essayez ceci, fonctionne pour moi: ls -d /a/b/c/*

41

Utilisez cette commande:

ls -ltr /mig/mthome/09/log/*

au lieu de:

ls -ltr /mig/mthome/09/log

pour obtenir le chemin complet dans la liste.

14
spacedrop

J'utilise cette commande:

ls -1 | xargs readlink -f
6
user3744148

optimisé de spacedrop answer ...

ls $(pwd)/*

et vous pouvez utiliser les options de ls

ls -alrt $(pwd)/*
4
jo_