回答:
ls
ファイルにはdu
commandを、ディレクトリにはcommandを使用します。
ファイルサイズの確認
ls -l filename #Displays Size of the specified file
ls -l * #Displays Size of All the files in the current directory
ls -al * #Displays Size of All the files including hidden files in the current directory
ls -al dir/ #Displays Size of All the files including hidden files in the 'dir' directory
ls
コマンドはディレクトリの実際のサイズを一覧表示しません(なぜですか?)。したがって、du
この目的で使用します。
ディレクトリサイズの確認
du -sh directory_name #Gives you the summarized(-s) size of the directory in human readable(-h) format
du -bsh * #Gives you the apparent(-b) summarized(-s) size of all the files and directories in the current directory in human readable(-h) format
含む-h
(例について:上記のコマンドのいずれかでオプションls -lh *
またはdu -sh
)は、(人間が読める形式であなたのサイズを与えるだろうkb
、mb
、gb
...、)
詳細についてはman ls
、およびを参照してくださいman du
du
コマンドはファイルのディスク使用量を表示することに注意してください。実際のファイルサイズよりも大きい場合があります。du -d
実際のサイズを取得するために使用できますls
。詳細:unix.stackexchange.com/a/106278/155224
du
コマンドがあります。
ディレクトリやファイルのサイズ:
$ du -sh .bashrc /tmp
--apparent-size
コマンドラインスイッチをls
使用すると、実際のディスク使用量ではなく、見かけのサイズ(表示されるもの)を測定できます。
-h
フラグは、ユーザーが判読できる形式の印刷サイズ(例:1K 234M 2G)
du
んがあるファイルのセットの集計]ディスク使用量ファイルは非常に小さい(つまり2140バイト)であれば、「デュ」の出力であることは、クラスタのサイズだから(私の場合)4キロバイトである、
--apparent-size
次に使用します。
du -hs *
、現在のディレクトリ内のすべてのファイルのサイズ、およびディレクトリを参照してください。
ls -s
ファイルサイズの一覧を表示する場合やls -sh
、人間が読めるサイズを希望する場合に使用します。
ディレクトリの使用 du
、繰り返しになり、du -h
人間が読めるサイズです。
ファイルサイズ(MB)
ls -l --b=M filename | cut -d " " -f5
GBのファイルサイズ
ls -l --b=G filename | cut -d " " -f5
素晴らしいものもあります ncdu
ユーティリティあります。サブフォルダとファイルに関する詳細情報でディレクトリサイズを表示できます。
Ubuntu:
$ sudo apt-get install ncdu
ncdu [path]
コマンドラインに入力するだけです。パスを分析するための数秒後、次のようなものが表示されます。
$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
. 96,1 GiB [##########] /home
. 17,7 GiB [# ] /usr
. 4,5 GiB [ ] /var
1,1 GiB [ ] /lib
732,1 MiB [ ] /opt
. 275,6 MiB [ ] /boot
198,0 MiB [ ] /storage
. 153,5 MiB [ ] /run
. 16,6 MiB [ ] /etc
13,5 MiB [ ] /bin
11,3 MiB [ ] /sbin
. 8,8 MiB [ ] /tmp
. 2,2 MiB [ ] /dev
! 16,0 KiB [ ] /lost+found
8,0 KiB [ ] /media
8,0 KiB [ ] /snap
4,0 KiB [ ] /lib64
e 4,0 KiB [ ] /srv
! 4,0 KiB [ ] /root
e 4,0 KiB [ ] /mnt
e 4,0 KiB [ ] /cdrom
. 0,0 B [ ] /proc
. 0,0 B [ ] /sys
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz
現在ハイライトされている要素をdで削除し、CTRL+ で終了しますc
ls -l --block-size = Mを指定すると、長い形式のリストが表示され(実際にファイルサイズを確認する必要があります)、ファイルサイズを最も近いMiBに切り上げます。
MiB(2 ^ 20バイト)単位ではなくMB(10 ^ 6バイト)が必要な場合は、代わりに--block-size = MBを使用します。
Mサフィックスをファイルサイズに付加したくない場合は、-block-size = 1Mのようなものを使用できます。これを提案してくれたStéphaneChazelasに感謝します。
これはlsのmanページで説明されています。man lsとSIZEを検索します。MB / MiB以外の単位も可能で、その外観(私は試していません)から任意のブロックサイズも可能です(必要に応じて、ファイルサイズを412バイトブロックの数として見ることができます)に)。
--block-sizeパラメータはOpen Groupのlsの上位にあるGNU拡張であるため、GNUユーザーランドがない場合(ほとんどのLinuxインストールで可能)、これは機能しない可能性があります。GNU coreutils 8.5のlsは、上記の--block-sizeをサポートしています。
選択したディレクトリに移動して実行します。
$ du -d 1 -h
どこ:
-d 1 is the depth of the directories
-h is the human-readable option
次のように表示されます。
0 ./proc
8.5M ./run
0 ./sys
56M ./etc
12G ./root
33G ./var
23M ./tmp
3.2G ./usr
154M ./boot
26G ./home
0 ./media
0 ./mnt
421M ./opt
0 ./srv
2.6G ./backups
80G .
スクリプトで使用する場合は、を使用してくださいstat
。
$ date | tee /tmp/foo
Wed Mar 13 05:36:31 UTC 2019
$ stat -c %s /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 05:36 /tmp/foo
これにより、バイト単位のサイズが得られます。man stat
その他の出力形式オプションについては、を参照してください。
$ date | tee /tmp/foo
Wed Mar 13 00:54:16 EDT 2019
$ stat -f %z /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 00:54 /tmp/foo
ディレクトリの合計サイズまたはファイル使用の合計サイズを取得するには、
du -csh <directory or filename*> | grep total
-h引数を付けてlsコマンドを使用します:[root @ hots19 etc]#h ls -lh
:人間が読めるようにします。
Exemple:
[root@CIEYY1Z3 etc]# ls -lh
total 1.4M
-rw-r--r--. 1 root root 44M Sep 15 2015 adjtime
-rw-r--r--. 1 root root 1.5K Jun 7 2013 aliases
-rw-r--r-- 1 root root 12K Nov 25 2015 aliases.db
drwxr-xr-x. 2 root root 4.0K Jan 11 2018 alternatives
-rw-------. 1 root root 541 Jul 8 2014 anacrontab
-rw-r--r--. 1 root root 55M Sep 16 2014 asound.conf
-rw-r--r--. 1 root root 1G Oct 6 2014 at.deny
私はUbuntu 16.04のユーザーですが、このll
コマンドがディレクトリの内容を確認する最も簡単な方法であることがわかりました。すべてのLinuxディストリビューションがこのコマンドをサポートしているわけではないことに気付きましたが、ディストリビューションごとに回避策/インストールがあるはずです。
例:
user@user-XPS-15-9560:/$ ll
total 188
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ./
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ../
drwxr-xr-x 2 root root 4096 Jan 22 15:13 bin/
drwxr-xr-x 4 root root 12288 Jan 29 11:35 boot/
drwxr-xr-x 2 root root 4096 Sep 3 18:14 cdrom/
drwxr-xr-x 20 root root 4440 Feb 5 08:43 dev/
drwxr-xr-x 153 root root 12288 Feb 2 15:17 etc/
drwxr-xr-x 4 root root 4096 Sep 3 18:15 home/
...
私にとっての最大の利点は、すばやく簡単に使用できることです。
更新:私が知らなかったのは、Ubuntuでは事前構成されたエイリアスであることです。alias ll="ls -la"
コマンドラインで実行するか、.bashrc構成ファイルに次のエントリを追加することで、自分で簡単に設定できます。
sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc
必要なのはある-l
と--block-size
のフラグ
作業ディレクトリの下のすべてのファイルとディレクトリのサイズ(MB単位)
ls -l --block-size=M
作業ディレクトリの下のすべてのファイルとディレクトリのサイズ(GB単位)
ls -l --block-size=G
特定のファイルまたはディレクトリのサイズ
ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/
ls --help
-l
長いリスト形式を使用する
--block-size=SIZE
:SIZE
印刷する前にサイズをスケーリングします。たとえば、'--block-size=M'
サイズを1,048,576バイト単位で出力します。SIZE
以下のフォーマットを参照してください
SIZE
整数とオプションの単位です(例:10Mは10 * 1024 * 1024)。単位は、K、M、G、T、P、E、Z、Y(1024の累乗)またはKB、MB、...(1000の累乗)です。
ファイルサイズとディスク使用量を区別する必要があります。2つの主な違いは、ファイルが「断片にカット」されてブロックに格納されるという事実に由来します。
最新のブロックサイズは4KiBであるため、ファイルのサイズに関係なく、ファイルは4KiBの倍数のディスク領域を使用します。
コマンドを使用すると、stat
両方の図を並べて表示できます。
stat file.c
ディレクトリのよりコンパクトなビューが必要な場合はls -ls
、を使用できます。これにより、1KiB単位で使用できます。
ls -ls dir
また du
1KiB単位で、あなたの本当のディスク使用量を与える、もしくはますdutreeと-u
フラグ。
例:1バイトファイルの使用
$ echo "" > file.c
$ ls -l file.c
-rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ ls -ls file.c
4 -rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ du file.c
4 file.c
$ dutree file.c
[ file.c 1 B ]
$ dutree -u file.c
[ file.c 4.00 KiB ]
$ stat file.c
File: file.c
Size: 1 Blocks: 8 IO Block: 4096 regular file
Device: 2fh/47d Inode: 2185244 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ nacho) Gid: ( 1000/ nacho)
Access: 2018-04-30 20:41:58.002124411 +0200
Modify: 2018-04-30 20:42:24.835458383 +0200
Change: 2018-04-30 20:42:24.835458383 +0200
Birth: -
さらに、最新のファイルシステムでは、スナップショット、スパースファイル( 穴のある、状況をさらに複雑にするている。
詳細については、この記事をご覧ください。Linuxでのファイルサイズについて
ls
ディレクトリのすべてのコンテンツの合計サイズは表示されません。