Unix(Tru64)で、ls
コマンドにファイルサイズをメガバイト単位で表示させるにはどうすればよいですか。現在、私は以下を使ってバイトでそれを示すことができます:
ls -la
多分-h
であなたのために十分です:
-h
-lオプションと一緒に使用する場合は、2桁目を3桁以下にするために、バイト、キロバイト、メガバイト、ギガバイト、テラバイト、およびPetabyteの単位サフィックスを使用しますサイズ.
ls -lah
一般的なアドバイス:特定のコマンドのマニュアル/ヘルプを読むにはman commandname
を使用してください。ここman ls
。
ls --block-size=M
はサイズをメガバイト単位で表示しますが、1 MB未満のものについても1 MBを表示します。あなたのUNIXバージョンのlsでこのオプションが受け入れられるかどうかはわかりませんが。
実際には、ファイルが十分に大きい場合、ls -lh
もサイズをギガバイトで表示します(まあとにかくonLinux64ビットこれは動作します:>)
サイドノードの場合:du -sh *
はカレントディレクトリのディレクトリサイズも表示します。
あなたはあなたのために数学をするためにawk
を使わなければなりません:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
これはmega
より小さいファイルの出力には影響しません。
あなたのls
がどのように配置されているかに合わせてフィールド番号を調整する必要があるかもしれません。それがあなたの好みならばmega
を "1000000"に変更することができます。
これはあなたがおそらく望むよりも小数点以下の桁数を印刷します。丸め機能を実装することができます。
再帰的な人間が読める形式のためにls -shR
を試してください。
ls -lash
を試してください。サイズを人間が読める形式で出力します。
du -sm filename.txt
またタイプすることができます
du -sh ./*
これは現在のディレクトリの下にあるすべてのフォルダを、Kb、Mb、Gbなど、より見慣れたファイルサイズを含め、人間が読める形式で一覧表示します。
ls -l --block-size=MB
--block-size
パラメータの場合:
MB
を使うM
を使う特定のファイルだけのサイズを知りたい場合は、次のコマンドを実行してください。
ls -sh ファイル名
-s
はサイズ、h
は人間が読むことができます(上記のように数回)。
出力は次のようになります。
753M myfilename
ファイル名を省略すると、ディレクトリをリストし、各ファイルのサイズをその名前の横に配置します。ファイル名引数を指定せずに呼び出された場合のls -la
の動作とは異なります。
お役に立てれば。
ファイルサイズだけに興味があり、ls
コマンドを使用する必要がない場合は、次のことを試してください。
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
これは、何も解析する必要なしにファイルサイズを印刷します。