it-swarm.com.de

Unix ls-Befehl: Zeigt den vollständigen Pfad an, wenn Optionen verwendet werden

Ich verwende diesen Listenbefehl häufig unter Unix (AIX/KSH):

ls -Artl

Es zeigt die Dateien wie folgt an:

-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

Ich möchte den Befehl so ändern, dass der vollständige Pfad der Datei angezeigt wird. Beispielsweise:

-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

Irgendwelche Ideen?

Ich habe verschiedene Auflösungsmethoden mit pwd oder find gefunden, aber - soweit ich das sehe - funktioniert dies nicht, wenn ich die ls -Optionen beibehalten möchte.

58
TechnoCore

Was ist mit diesem Trick ...

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

OR

ls -lrt -d -1 $PWD/*

Ich denke, dies hat Probleme mit leeren Verzeichnissen, aber wenn ein anderes Poster einen Tweak hat, aktualisiere ich meine Antwort. Vielleicht wissen Sie das auch schon, aber dies ist wahrscheinlich ein guter Kandidat für einen Alias, wenn man bedenkt, wie lang er ist.

[update] hat einige Verbesserungen basierend auf Kommentaren hinzugefügt, danke Jungs.

[update] wie in den Kommentaren erwähnt, müssen Sie möglicherweise die Matcher-Ausdrücke abhängig von der Shell tweek (bash vs zsh). Ich habe meinen älteren Befehl als Referenz neu hinzugefügt.

62
Andrew White

Probieren Sie es aus, funktioniert bei mir: ls -d /a/b/c/*

41

Verwenden Sie diesen Befehl:

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

anstatt:

ls -ltr /mig/mthome/09/log

um den vollständigen Pfad in der Auflistung zu erhalten.

14
spacedrop

Ich benutze diesen Befehl:

ls -1 | xargs readlink -f
6
user3744148

optimiert von Raumtropfen Antwort ...

ls $(pwd)/*

und Sie können ls Optionen verwenden

ls -alrt $(pwd)/*
4
jo_