/usr/lib
たとえば、ディレクトリ内の最大5つのファイルをどのようにリストしますか?
また、使用している各コードの簡単な説明を追加してください。
答え1
最も簡単な方法は、サイズでソートして最後の5行を印刷することです。
ls -Sr /usr/lib | tail -n 5
からman ls
:
-r, --reverse
reverse order while sorting
-S sort by file size
tail
ファイルの最後のN行だけを印刷します。
-n, --lines=K
output the last K lines, instead of the last 10; or use -n +K to
output lines starting with the Kth
サブディレクトリのファイルも確認するには、次の手順を実行します。
find /usr/lib -type f -ls | sort -gk7 | tail -n 5
このfind
コマンドは次のファイルを探しますman find
。
-type c
File is of type c:
[ ... ]
f regular file
-ls True; list current file in ls -dils format on standard output.
The block counts are of 1K blocks, unless the environment vari‐
able POSIXLY_CORRECT is set, in which case 512-byte blocks are
used. See the UNUSUAL FILENAMES section for information about
how unusual characters in filenames are handled.
sort
期待どおりに入力がソートされます。からman sort
:
-g, --general-numeric-sort
compare according to general numerical value
-k, --key=KEYDEF
sort via a key; KEYDEF gives location and type
したがって、-g
数値順に並べ替え、-k7
7番目のフィールドに並べ替えます。この場合はfind -ls
ファイルサイズです。
これは比較的強力である必要があり、スペースや奇妙な文字を含むファイル名には問題ありません。とにかく、検索しているので、/usr/lib
奇妙なファイル名が出る可能性はほとんどありません。
答え2
LS-LSR | tail -5
これはうまくいきます
-r リバース -l 長いリスト -S はファイルサイズでソートするオプションです。