GNU/Linux >> Linux の 問題 >  >> Linux

Unix で ls コマンドからファイル サイズ/詳細を表示する方法

最も基本的な形式の ls コマンドは、現在のディレクトリにあるファイルとディレクトリを表示します:

$ ls
Desktop    Downloads  my_script  Public     test_file
Documents  Music      Pictures   Templates  Videos
$ 

「ls -al」コマンドからファイルサイズを消化するのはいつも難しいと思います。たとえば、ls -al の後、出力にはファイルサイズがバイト単位で表示されます。それでは、下 4 桁を取得して、1K、10K、100K、1MB、10MB、100MB などのようにゆっくりとカウントアップして計算を開始する必要があります。

たとえば、この出力:

-rw-r--r-- 1 walrus dba 137207094 Jul 8 23:12 config.2008032519.s

137207094はいくらですか?上向きにカウントする私の方法に従うと、おおよそ 137MB になります。それが正しいか?違う。まったく間違っています。上記はビットのみです。 1 KB =1024 ビット、1 MB =1024 KB などとなります。

1 bit = a 1 or 0 (b)
4 bits = 1 nybble (?)
8 bits = 1 byte (B)
1024 bytes = 1 Kilobyte (KB)
1024 Kilobytes = 1 Megabyte (MB)
1024 Megabytes = 1 Gigabyte (GB)
1024 Gigabytes = 1 Terabyte (TB)

正しい計算は次のとおりです:

137207094 / 1024 (bits) / 1024 (KB) = 130.8 MB

しかし、ls には、人間が読める形式でファイル サイズを直接指定できるオプションがあります。たとえば、ls コマンドを実行する古い方法と新しい方法の以下の例を考えてみましょう:

古いやり方

昔は、コマンド「ls -al」を使用して、ファイルとそのサイズを一覧表示していました。

$ ls -al
total 270388
drwxr-xr-x 2 walrus dba 1024 Jul 8 23:14 .
drwxr-xr-x 11 walrus dba 512 Jun 17 01:49 ..
-rw-r--r-- 1 walrus dba 137207094 Jul 8 23:12 config.2008032519.s
-rw-r--r-- 1 walrus dba 451989 Jul 8 23:12 config.2008032519.split0.bz

短所 :ファイルサイズが読みにくく、出力が歪んでいます。

新しい道

新しい方法で、以下に示すように、人間が読めるサイズでファイルを一覧表示できます:

$ ls -alh
total 269060
drwxr-xr-x 2 flexpm dba 1.0K Jul 8 23:12 .
drwxr-xr-x 11 flexpm dba 512 Jun 17 01:49 ..
-rw-r--r-- 1 flexpm dba 131M Jul 8 23:12 config.2008032519.s
-rw-r--r-- 1 flexpm dba 441K Jul 8 23:12 config.2008032519.split0.sm.gz

長所 :

  • ファイル サイズの点で読みやすい形式
  • コンテンツが適切に配置されている。

短所 :
– ls コマンドの最後に余分な「h」を入力する必要があります


Linux
  1. Unix のトップ コマンド出力を読み取り可能な形式でファイルにキャプチャする方法

  2. stat コマンドはファイルのブロックをどのように計算しますか?

  3. コマンド ラインから CSV などの表形式ファイルを表示する

  1. コマンドラインからファイルの内容をクリアする方法は?

  2. install -c は cp とどう違うのですか

  3. コマンドラインから特定のサイズのファイルを作成するにはどうすればよいですか?

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Unix Stat コマンド:ファイル属性を識別する方法

  3. emacs/vi/vim を使用してコマンドラインからファイルを読み取り専用で開くにはどうすればよいですか