ネットが遅くてイライラしてない!?

ファイルのパーミッション等が下記の場合が関係しているのか不明ですが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です、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

du で表示されるのは「ディスク上で実際に使っている量」なので, ファイルサイズと一致しないことがあります. 例えば「先頭の 1バ

イトと 100Mバイト目にだけデータを書き込んだファイル」を作った場合, ディスク上には先頭の 1バイト (を含むブロック) と 100Mバイト目 (を含むブロック) だけを確保し, その他はディスク上の領域としては確保しないことがあります. このような場合, ファイルサイズとしては 100MB (+1B) となりますがディスク上の使用量は 2ブロックということになります.
    • good
    • 0
この回答へのお礼

有難うございます、良く理解できました。

お礼日時:2005/10/21 16:46

下記のようにlsコマンドに-sオプションを指定して実行すると各ファイルで使用しているブロック数(512バイト単位)が表示されますのでそこでどのくらいブロックを使用しているか確認されたたいいと思います。


また、親ディレクトリ(..)を除いた分を合計するとたぶんduの表示結果と同じになると思います。

例)
% ls -als
合計 54
2 drwxr-xr-x 2 user other 512 10月 20日 15:41 .
2 drwxr-xr-x 20 user other 1024 10月 20日 15:37 ..
48 -rw-r--r-- 1 user other 10485761 10月 18日 17:26 test.dat
2 -rw-r--r-- 1 user other 2 10月 20日 15:41 test2.dat
% du
52 .
% bc
2 + 48 + 2
52
%

※lsコマンドでなくて下記のようにduコマンドでも同様に使用しているブロック数が分かります。

% du -s * ← 512バイト単位
48 test.dat
2 test2.dat
% du -ks * ← KB単位
24 test.dat
1 test2.dat
%
    • good
    • 0
この回答へのお礼

良く理解できました、有難うございます。

お礼日時:2005/10/21 16:41

#1の方がお書きのような特殊な作り方をしたファイルじゃなければ、表示されていないファイルがあるのでは?


% cd test001
% ls -lA
でどうですか?
    • good
    • 0
この回答へのお礼

>#1の方がお書きのような特殊な作り方をしたファイルじゃなければ
ファイルを作成するアプリを私が作成していないのでなんともいえませんが・・
確かにファイルのモード -rw-r-lr-- の r-l が気になっているんです。
しかし、、皆さんの回答で余り関係ないと判断しています。
有難うございます。

お礼日時:2005/10/21 16:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qlsでディレクトリのサイズが4096が多いことについて。

基本的なことなのかもしれませんが質問させてください。ls -lの結果でディレクトリのサイズが4096が多いのはなぜでしょうか?また合計というのは何の合計でしょうか?
ファイル数にしては数が合わないような気がしますし。
[root@localhost /]# ls -l
合計 188
-rw------- 1 root root 7168 8月 14 21:58 aquota.user
drwxr-xr-x 2 root root 4096 8月 25 23:59 bin
drwxr-xr-x 3 root root 4096 9月 3 11:52 boot
drwxr-xr-x 8 root root 5440 9月 3 12:24 dev
drwxr-xr-x 93 root root 12288 9月 3 12:24 etc
drwxr-xr-x 4 root root 4096 8月 23 21:52 home
drwxr-xr-x 2 root root 4096 2月 22 2005 initrd
drwxr-xr-x 11 root root 4096 8月 25 23:59 lib
drwx------ 2 root root 16384 7月 31 01:25 lost+found
drwxr-xr-x 5 root root 4096 9月 3 12:24 media
drwxr-xr-x 2 root root 4096 1月 2 2006 misc
drwxr-xr-x 2 root root 4096 2月 22 2005 mnt
drwxr-xr-x 2 root root 4096 2月 22 2005 opt
dr-xr-xr-x 140 root root 0 8月 15 05:50 proc
drwxr-x--- 21 root root 4096 9月 3 09:10 root
drwxr-xr-x 2 root root 12288 9月 3 11:52 sbin
drwxr-xr-x 1 root root 0 8月 15 05:50 selinux
drwxr-xr-x 2 root root 4096 2月 22 2005 srv
drwxr-xr-x 9 root root 0 8月 15 05:50 sys
drwxr-xr-x 3 root root 4096 7月 30 17:00 tftpboot
drwxrwxrwt 14 root root 12288 9月 3 12:23 tmp
drwxr-xr-x 14 root root 4096 7月 30 16:30 usr
drwxr-xr-x 24 root root 4096 9月 1 00:07 var

基本的なことなのかもしれませんが質問させてください。ls -lの結果でディレクトリのサイズが4096が多いのはなぜでしょうか?また合計というのは何の合計でしょうか?
ファイル数にしては数が合わないような気がしますし。
[root@localhost /]# ls -l
合計 188
-rw------- 1 root root 7168 8月 14 21:58 aquota.user
drwxr-xr-x 2 root root 4096 8月 25 23:59 bin
drwxr-xr-x 3 root root 4096 9月 3 11:52 boot
drwxr-xr-x 8 root root 5440 9月 3 12:24 dev
drwxr-xr-x 93 ro...続きを読む

Aベストアンサー

こっちを忘れてた。

ディレクトリのサイズが4098が多いのはなぜかというとファイルシステムのブロックサイズが

-------8<-------8<-------8<-------8<--------------8<-------
○CentOS 4.3上で実行

# dumpe2fs -h /dev/VolGroup00/LogVol00
dumpe2fs 1.35 (28-Feb-2004)

<途中省略>

Block size: 4096

<以下省略>
-------8<-------8<-------8<-------8<--------------8<-------

というように多分同じだと思いますが4096バイトだからです。

基本的にディレクトリエントリはブロック単位で格納する領域を必要な時に増やして行きますのでこのブロックサイズの整数倍になります。


>また合計というのは何の合計でしょうか?

たしか表示されている項目のブロック数の合計だったはず。

stat(2)
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/stat.2.html

上記のst_blocksの合計だったかな。

こっちを忘れてた。

ディレクトリのサイズが4098が多いのはなぜかというとファイルシステムのブロックサイズが

-------8<-------8<-------8<-------8<--------------8<-------
○CentOS 4.3上で実行

# dumpe2fs -h /dev/VolGroup00/LogVol00
dumpe2fs 1.35 (28-Feb-2004)

<途中省略>

Block size: 4096

<以下省略>
-------8<-------8<-------8<-------8<--------------8<-------

というように多分同じだと思いますが4096バイトだからです。

基本的にディレクトリエン...続きを読む

Qls -lコマンドで表示される合計って?

ls -lコマンドを打ったときに、その出力結果として、先頭行に
”合計 ”と表示されますが、これは何の合計なのでしょうか?
教えてください。

Aベストアンサー

512バイトブロック単位での、ファイルサイズの合計です。

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

QNTPで同期が始まらない

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntpq -pの結果は下記となります。

remote refid st t when poll reach delay offset jitter
==============================================================================
133.100.9.2 .INIT. 16 u - 64 0 0.000 0.000 4000.00
130.69.251.23 .GPS. 1 u 27 64 377 8.015 -99970. 17262.6

同期ができれば「remote」列に「*」が表示されると思っています。
何か設定が足りないでしょうか?。
尚、「/vat/log/message」をtailしてますが特にエラーは無さそうです。

よろしくお願いします。

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntp...続きを読む

Aベストアンサー

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハードウエアclockを合わせます。
http://www.linux.or.jp/JM/html/util-linux/man8/hwclock.8.html

○ntpdの動作
ntpによる時刻調整は、調整幅が通常128mSと小さいので、1時間は様子をましょう。
2時間程度経過しても、時刻修正の兆候が見られない場合ハードウェアの不良も考えられます。

時刻調整の兆候としては、
・logファイルに 一時間毎に調整したメッセージが書かれる。
Jan 7 21:57:40 ntpd[91145]: offset 0.000994 sec freq -190.802 ppm error 0.000076 poll 8
・ntpq -p の出力の最初の桁に"*,+"が付く。また、reach が377になる。
% ntpq -np
remote refid st t when poll reach delay offset jitter
+192.168.0.102 GPS_NMEA(0) 2 u 3 32 377 0.926 -0.330 0.023
*192.168.0.192 GPS_NMEA(1) 2 u 10 32 377 0.747 -0.336 0.023
192.168.0.9 PPS(1) 2 u 3 32 377 0.757 6.559 0.161


○その他
・PC起動時には、システムクロックを計測してその後の動作の基準にしていますが、
CMOSバッテリ不足やハードウェアに何らかの異常があるととんでもない時刻を示すことがあります。(要修理です)
・BIOSの時計も起動時の初期時刻として使われてしまうので、ある程度合わせておいた方がいいです。

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハ...続きを読む

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

Qscpによるデータ転送後、ディレクトリのサイズが変わっている

いつもお世話になっております。昨日アップさせて頂いたのですが、誤ったカテゴリーに投稿していたようなので、再度こちらの方に投稿させて頂きました。
http://okwave.jp/qa5459086.html

scpにより、サーバー間でデータの転送を行いました。終わったあとに、簡単なチェックをdu -sm directory's nameで行いました。すると、あるディレクトリは大きく、その他は小さくと容量の変化が見られました。
勝手な思い込みでは、データの容量が小さくなる事はあれど、大きくなることはないものと思っていました(何となくコンパクトに各ディレクトリが収められるからっていうイメージで)。実際、LAN内でバックアップ取った際には、容量が小さくなっている事に気付いていました。
要約しますと、サーバー1のdirectory Aを異なるサーバー2に転送した場合、サーバー2におけるdirectory Aの容量がサーバー1のdirectory Aの容量と異なっているという現象が見られました。

教えていただきたいことは、1)なぜ容量が変化するのか。そもそもこれは問題ないのか。2)コピー後にデータ転送が上手くいったことを調べる方法を教えていただけませんでしょうか。
よろしくお願いいたします。

PS OSはCentOS 5.4です。

いつもお世話になっております。昨日アップさせて頂いたのですが、誤ったカテゴリーに投稿していたようなので、再度こちらの方に投稿させて頂きました。
http://okwave.jp/qa5459086.html

scpにより、サーバー間でデータの転送を行いました。終わったあとに、簡単なチェックをdu -sm directory's nameで行いました。すると、あるディレクトリは大きく、その他は小さくと容量の変化が見られました。
勝手な思い込みでは、データの容量が小さくなる事はあれど、大きくなることはないものと思っていました(何と...続きを読む

Aベストアンサー

・まず個々のファイルサイズは変わりません。ここで言うファイルサイズとはls -lで表示されるサイズです。
・ディレクトリのファイルサイズ(ls -ld で表示されるサイズ)は、小さくなることがあります。ディレクトリ内にファイルをたくさん作ってたくさん消した場合など、一旦大きくなったディレクトリファイルサイズは縮まらないからです。コピー先の新規に作ったディレクトリのサイズは必要最小限になるはずです。

・ファイルが使うディスク上のエリア(ブロック数)は増えることもあるし減ることもあります。これはOSやファイルシステムの状況で異なります。これは、ls -s とかduで示される値です。

>コピー後にデータ転送が上手くいったことを調べる方法

コピー中にエラーが起こればコピーコマンド(scp)がエラーで終了しますので、完了コード($?)を見ればわかります。
相手のサーバーの動きが信用できないなどで念には念を入れるなら、ファイルについてls -lのサイズ一覧を作って比較するんですかね。

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

linuxでディレクトリ容量を計算したいので
duコマンドを使うのですが、10分以上反応がありません。
ちなみにディレクトリに10万以上のファイルがあります。総計を知りたいのですが、良いオプションやコマンドがあれば教えてください。

du -hcx /directory
このコマンドでは駄目
個別ファイルの容量は知りたくないのでcオプションを付けています。

本当に困っています。
何卒よろしくお願いいたします。

Aベストアンサー

duは無駄な処理をしている訳じゃないので、それ以上に高速な手段はないです。

-s オプションを付けてないので、各ファイルの容量も表示するのでそれで遅いのでは? du -shx だと合計だけ表示します。

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。

QOracle(オラクル)で、日付時刻型の検索方法について

質問させていただきます。
データベースはオラクルを使っていて、
SQL文で、抽出するときにエラーが出て困っています。

日付時刻型が「2005/05/26 19:13:00」という感じで入ってます。
2005/05/26 を抽出したいのですが、
BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59'

だと、エラーでできません。
どなた様か、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

日付検索を行う場合は、以下のように書式を含める必要があります。

col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS')

ただ、厳密には

col >= TO_DATE('2005/05/26', 'YYYY/MM/DD')
AND
col < TO_DATE('2005/05/27', 'YYYY/MM/DD')

と書くべきでしょうね。


人気Q&Aランキング