web-dev-qa-db-ja.com

Unix lsコマンド:オプションの使用時にフルパスを表示

Unix(AIX/KSH)でこのリストコマンドをよく使用します。

ls -Artl

ファイルは次のように表示されます。

-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

ファイルのフルパスが表示されるようにコマンドを変更したいと思います。例えば:

-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

何か案は?

pwdまたはfindを使用していくつかの解決方法を見つけましたが、-見る限り-lsオプションを維持したい場合、これは機能しません。

58
TechnoCore

このトリックはどうですか...

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

OR

ls -lrt -d -1 $PWD/*

これには空のディレクトリに関する問題があると思いますが、別のポスターにTweakがある場合、回答を更新します。また、あなたはすでにこれを知っているかもしれませんが、これはおそらく長さを考えるとエイリアスの良い候補です。

[更新]コメントに基づいていくつかの調整を追加しました、ありがとうございます。

[更新]シェルによってはマッチャーの表現をtweekする必要があるかもしれないコメントで指摘されているように(bash vs zsh)。参照用に以前のコマンドを再追加しました。

62
Andrew White

これを試してください、私のために働く:ls -d /a/b/c/*

41

次のコマンドを使用します。

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

の代わりに:

ls -ltr /mig/mthome/09/log

リスト内のフルパスを取得します。

14
spacedrop

私はこのコマンドを使用します:

ls -1 | xargs readlink -f
6
user3744148

スペースドロップ回答から最適化...

ls $(pwd)/*

lsオプションを使用できます

ls -alrt $(pwd)/*
4
jo_