• ベストアンサー

Linuxコマンドの『du』について

宜しくお願いします。 アップロードした画像ファイルの容量を調べたく、サーバにroot権限でログインし、Linuxコマンドの 『du -b imgfile』 で調べたのですが、FFFTPで見た容量と、Linuxコマンドの 『ls -l imgfile』 で調べた容量と誤差が出ます。具体的には、duコマンドで調べた容量が 24576Byte なのに対し、同じファイルをFFFTPで見たのと、lsコマンドで調べた場合は、 22019Byte という具合に、誤差が出ます。 容量の大きなファイル程、その差も大きくなります。 この問題を解決する方法をご存知でしたら、是非ご教授下さい。 宜しくお願い致します。

  • nikuq
  • お礼率75% (477/631)

質問者が選んだベストアンサー

  • ベストアンサー
  • closed
  • ベストアンサー率38% (5/13)
回答No.1

du はファイルサイズを調べるコマンドではありません。 『man du』で調べれば分かります。

その他の回答 (1)

  • nonosuke
  • ベストアンサー率25% (41/162)
回答No.2

duコマンドはファイルサイズを調べるためのものではありません。 ディスクの使用量を調べるコマンドです。 また、ディレクトリ下にファイルが1つだけだったとしても、duコマンドの実行結果はファイルサイズと異なる場合があります。 duコマンドの結果は512バイト単位の結果表示だからです。

nikuq
質問者

お礼

ありがとうございます。 コマンドの意味を勘違いしていました。 別の方法を考えてみます。

関連するQ&A

  • linux duコマンドで困っています。

    linuxでディレクトリ容量を計算したいので duコマンドを使うのですが、10分以上反応がありません。 ちなみにディレクトリに10万以上のファイルがあります。総計を知りたいのですが、良いオプションやコマンドがあれば教えてください。 du -hcx /directory このコマンドでは駄目 個別ファイルの容量は知りたくないのでcオプションを付けています。 本当に困っています。 何卒よろしくお願いいたします。

  • powershellでlinuxのduコマンドのような事がしたい。

    powershellでlinuxのduコマンドのような事がしたい。 linuxのduコマンドはディレクトリの容量を知ることができますが、 同じ事をwindowsのpowershellで出来ないでしょうか。

  • Linux コマンド入力待ち状態にならない

    いつもお世話になっております。 Linuxでコマンドを入力するとき、 ↓のようにログイン中のユーザが頭に付いた状態になりますが、 [root@server]# ls /usr/local 最近、直前のコマンドが終了していないのかなんなのか、 上記のような”コマンド待ち状態”(=ログイン中のユーザが表示) にならず、次のコマンドを打つと、 ls ls cd /usr/local のようになり、どのコマンドも反応しなくなります。 Ctrl+Q、Ctrl+バックスラッシュ、Ctrl+Z 等、ネットで探した 脱出ショートカットキーはいろいろと試しましたが、結局は サーバーの再起動するしかない状態です。 再起動せずに、この無反応状態から脱出するにはどうしたら良いでしょうか? USBメモリをマウントしてlsで確認した後は、毎度この状態になってしまいます。 よろしくお願いします。

  • Linuxでのコマンド制限とログ取得について

    Linux(centOS)での、サーバ管理を行うことになりました。 一般ユーザの作業により、サーバに影響を与えないように制限をかけておきたいのですが、どのような方法が有意義なのか?悩んでいます。アドバイスを頂けませんでしょうか? 【やりたいこと】  1)払いだしたアカウントで利用できるコマンドを制限したい(ls,cd,sftp,sshなどのみ)  2)ホームディレクトリから上位ディレクトリなどへの移動を制限したい。  3)ユーザが意識をせずに、実行したコマンドを自動強制記録して、後から管理者が参照したい。 【これまでに確認してきたこと】  1)chrootなどがあるようですが、root権限での実行が必要と思われる。   ログインシェルをrbashに変更することも検討。  2)同じく、chrootで実現可能?(同じく、root権限が必要?)   その他、FTPソフト毎の設定方法はあるようだが...。  3)scriptコマンドやttyrecなどがあるようでしたが、どれがよいのか?実装方法(.bash_profileに記載だけで良い?)がわからない。 いろいろ、検索しておりますが、どのような方法があるのか?どの方法が良いのか?アドバイスを頂ければと思います。よろしくお願いします。

  • LinuxでGUIでsuできませんか?

    LinuxでGUIでsuできませんか? どういう事かというと、 CUIベースで作業する際には su - してルートの作業が出来ます。 これと同じ事をGUIベースでできないかという事です。 例えば 設定ファイルの書換などは $ su - でrootユーザでホームディレクトリへ 後はrootでログインしたのと同じなのでroot権限のファイルも触れます。 $ vi root-file またはコマンド起動時に一回一回スイッチ $ sudo vi root-file これをGNOME上のGUI操作でできませんか? su - みたいな何かで、rootアカウントとしてrootのデスクトップへ 後はrootでログインしたのと同じなので、「ファイル」アイコンからディレクトリを手繰ってroot権限のファイルも触れる。 rootログインを許可して、一旦ログアウトして、rootでログインとかではなく、 一旦、一般ユーザでログインしてrootにスイッチってできませんか? コマンド起動時に一回一回スイッチの場合、 sudo gedit みたいな事をコマンドからではなく、マウスクリック起動で、Windowsの右クリックからの「管理者として実行」みたいな感じで実行ってできませんか? 「アカウント毎スイッチ」「rootとして実行」それぞれ出来るかできないか、あるいはこのディストリでこれが出来るとか教えて下さい。

  • lsコマンドで出てくるファイルのサイズとduコマンドを使ったときにでてくるファイルの使用状況との違いが分かりません。

    ls -lコマンドで出てくるファイルのサイズとduコマンドを使ったときにでてくるファイルの使用状況との違いが分かりません。 ファイルの使用状況とはメモリの使用状況というイミなのかが確信が持てずにいます。 質問させていただければと思います。 どうかよろしくお願いします。

  • Linux root権限を持つユーザの作成について

    どなたかご存知であれば教えてください。 Linux のsles10sp3にて、root権限を持つユーザーを以下で作成。 #useradd -o -u 0 -g 111 ~ 特に問題なく利用できていました。 しかし、Linuxのsles11sp3で同様にroot権限を持つユーザーを作成したところ おかしな事象が発生するようになりました。 事象はroot権限を持つユーザーを仮にadminという名前で作成したとします。 そのadminでLinuxへログインしてidコマンドを実行すると  uid 0:root → uid 0:admin と表示されるようになり、ファイルのオーナーがrootだったものが一律adminで変わってしまうという事象が発生しました。 そのときは大いに焦りましたが約1時間放置するとなぜか元に戻ります。 suseのバージョンがあがってLinuxのユーザー管理で仕様が変更されておりますでしょうか? どなたかご存知でしたらご教授頂きたく、よろしくお願い致します。

  • DUとLSの表示の差

    ファイルのパーミッション等が下記の場合が関係しているのか不明ですがDUコマンドとLSコマンドで示されるDiskの使用量が一致しないのですが、理由を教えていただけませんか? % cd test001 % ls -l total 944 -rw-r-lr-- 1 own grp 524288000 Oct 15 09:12 File0 -rw-r-lr-- 1 own grp 524288000 Oct 15 09:11 File1 % % du 946 . % cd ../test002 % ls -l total 2049056 -rw-r-lr-- 1 own grp 524288000 Oct 17 14:12 File0 -rw-r-lr-- 1 own grp 524288000 Oct 12 21:16 File1 % % du 2049056 . DUの結果とLS -l で示される結果は一致しているのですが、ファイルサイズ(ls -lで示される値)の合計と一致しないのです。 OSはSolaris8です、よろしくお願いします。

  • linux dfとduでdisk使用量が大きく違う

    お世話になります。 CentOS 6.2にてdfコマンドを使用したdisk使用量とduコマンドを使用したdisk使用量とで 結果が大きく異なります。 以下がコマンド実行時の結果です。何が考えられますでしょうか? ------------------------------------------------------------ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/root 146G 138G 12M 100% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/sda1 485M 36M 424M 8% /boot /dev/mapper/data 158G 1.4G 148G 1% /data /dev/mapper/home 146G 188M 138G 1% /home /dev/sdb1 1.8T 527M 1.7T 1% /mnt/usbhdd ------------------------------------------------------------ du -sh ./* 7.5M ./bin 26M ./boot 1.2G ./data 232K ./dev 23M ./etc 110M ./ftproot 176K ./home 2.5M ./lha-1.14i-ac20050924p1 120M ./lib 24M ./lib64 16K ./lost+found 4.0K ./media 332M ./mnt 4.0K ./opt du: cannot access `./proc/4152/task/4152/fd/4': No such file or directory du: cannot access `./proc/4152/task/4152/fdinfo/4': No such file or directory du: cannot access `./proc/4152/fd/4': No such file or directory du: cannot access `./proc/4152/fdinfo/4': No such file or directory 0 ./proc 80K ./root 14M ./sbin 4.0K ./selinux 4.0K ./srv 0 ./sys 13M ./tmp 682M ./usr 2.2G ./var --------------------------------------------------------- 又、削除済みでつかんだファイルは以下の様に表示されました。 ls -al /proc/*/fd/* | grep deleted ls: cannot access /proc/4265/fd/255: No such file or directory ls: cannot access /proc/4265/fd/3: No such file or directory ls: cannot access /proc/self/fd/255: No such file or directory ls: cannot access /proc/self/fd/3: No such file or directory

  • Cygwinのlsコマンドについて

    Cygwinの場合、以下のオプションでlsコマンドを実行すると $ ls --full-time -rwxr-xr-x 1 aaaa なし 139 2006-08-23 15:01:34.203125000 +0900 ls.sh と表示されます。 Linux(redhat)上で同様のコマンドを実行すると、 $ ls --full-time -rwxr-x--- 6 root root 4096 Wed Aug 09 16:59:03 2005 ls.sh と表示されます。 タイムスタンプの表示形式が異なっていますが、 Cygwin上で、Linuxのような表記をしたいのですが、 可能でしょうか。ご教授お願い致します。