2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Linux】ファイルサイズの確認で疑問に思った事(備忘)

Last updated at Posted at 2022-10-12

ファイルサイズ確認時の疑問

実務上で、ファイルのサイズを確認する際にlsコマンド or duコマンドを使用する事があります。
どちらのコマンドもよく使うコマンドなんですが、サイズの表記が違います。

例えば、ls -lコマンドはバイトで結果が出力されますが、duコマンドではブロックサイズで結果が出力されます。
ls -sコマンドでブロックサイズ。du -bコマンドでバイトの結果を得る事も可能です。

当方の環境では、ブロックサイズは4096で設定されていました。
読み書きがあった場合は、上記で指定したブロックサイズの値分は領域が確保されます。
例えば、ファイルのサイズが1バイトである場合に、ls -lコマンドを叩いた場合は1バイトと出力されますが、、duコマンドを叩いた場合は4(4096バイト)と出力されます。

ブロックサイズの確認
[root@localhost log]# xfs_info /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=406016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1624064, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

当方は、「ファイルサイズを取得してこい」と言われた場合はバイトで取得したデータでお伝えするような文化で育ってきました。
余り深くは考えていなかったのですが、ファイルを別環境に転送する等を考えた場合はこれでよいのかな?と思っています。環境によって、ブロックサイズの設定が違う可能性がある事を懸念しています。

ただ、ディスクの使用量という観点ではブロックサイズでお伝えするのが正しいと考えています。
他の現場であれば、どのようにファイルのサイズを調べているのか、、気になるところです。

一応検証で使ったコマンドを載せておこうと思います。

検証で使ったコマンド

検証

[root@localhost ~]# cd /var/log
[root@localhost log]# ll | grep "^d"
drwxr-xr-x. 2 root   root       204  6月 29 21:57 anaconda
drwx------. 2 root   root        23  6月 29 21:57 audit
drwxr-xr-x. 2 chrony chrony       6  8月  8  2019 chrony
drwxr-xr-x. 2 root   root         6  6月 29 21:57 rhsm
drwxr-xr-x. 2 root   root        23  6月 29 21:57 tuned

[root@localhost log]# ll -a anaconda/ | awk '{print $5,$9}'
204 .
4096 ..
23350 X.log
21764 anaconda.log
2141 ifcfg.log
1288513 journal.log
0 ks-script-6X_JQs.log
0 ks-script-S7CoUF.log
114301 packaging.log
31865 program.log
89791 storage.log
135005 syslog

[root@localhost log]# du -ba anaconda/
21764   anaconda/anaconda.log
135005  anaconda/syslog
23350   anaconda/X.log
31865   anaconda/program.log
114301  anaconda/packaging.log
89791   anaconda/storage.log
2141    anaconda/ifcfg.log
0       anaconda/ks-script-6X_JQs.log
0       anaconda/ks-script-S7CoUF.log
1288513 anaconda/journal.log
1706934 anaconda/


[root@localhost log]# du -a anaconda/
24      anaconda/anaconda.log
132     anaconda/syslog
24      anaconda/X.log
32      anaconda/program.log
112     anaconda/packaging.log
88      anaconda/storage.log
4       anaconda/ifcfg.log
0       anaconda/ks-script-6X_JQs.log
0       anaconda/ks-script-S7CoUF.log
1260    anaconda/journal.log
1676    anaconda/

[root@localhost log]# ls -s anaconda/
合計 1676
  24 X.log            4 ifcfg.log       0 ks-script-6X_JQs.log   112 packaging.log    88 storage.log
  24 anaconda.log  1260 journal.log     0 ks-script-S7CoUF.log    32 program.log     132 syslog
2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?