ls(1) のドキュメントについて (man ls
):
-A, --almost-all は暗黙のうちにリストしません。そして..
必要 (なし .*
などの追加の引数 ):
ls -A
さらに良いことに:
/bin/ls -A
一連のドットディレクトリを削除したい状況があります。私のサーバーでは、自動削除のために、ドットとその他の特定のテキスト パターン (タイムスタンプ) を追加して、削除するディレクトリをマークしています。手動で行う必要がある場合もあります。
Basile Starynkevitch の返信にコメントしたように、-A スイッチの下にあるようなグロビング パターンを使用すると、その機能が失われ、-a:と同じように機能します。
[email protected]:~/scripts$ ls -1dA .*
.
..
.comparepp.sh.swp
ユーザーとしてファイルを削除しようとすると、間違いなくエラーが発生しますが、root として何が起こるかは考えたくありません (!)
この場合の私のアプローチは次のとおりです。
for dir in $(ls -1ad .* | tail -n +3) ; do rm -rfv $dir ; done
ご覧のとおり、ドットを含む最初の 2 行を削除します。尋ねられた質問への回答を調整するには、これでうまくいきます:
ls -d1A .* | tail -n +3
$ ls -lA
私のニーズに最適です。
便宜上、次のように .bashrc-file 内でエイリアスを定義することをお勧めします:
alias ll='ls -lA'