Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ファイル検索にファイル作成日時を指定したい

4 views
Skip to first unread message

yohkah

unread,
Nov 8, 2003, 10:41:31 PM11/8/03
to
yohkahです。

初めて質問する初心者です。
ファイル検索にファイルが作成された日付を項目として付け加えて検索をしようとしているのですが、find コマンドのオプションには、

-atime 最後にアクセスされた日付を比較
-ctime 最後にファイルステータスが変更された日付と比較
-mtime 最後にファイル更新された日付と比較

と日付関係のオプションはこの3種類しか見付けられませんでした。

何れもファイルが作成された日付けを対象としたものでは無いようですが、他に隠しスイッチでも有るのでしょうか?

GNOME付属のGMCでファイルのプロパティを見るとファイルの作成日時・更新日時・アクセス日時の3種類が表示されます。
と言うことは記録されているはずだから利用出来るはずだと思うのですが自分では見付ける事が出来ませんでした。

よろしくお願いします。

Shinji KONO

unread,
Nov 9, 2003, 2:30:45 AM11/9/03
to
河野真治 @ 琉球大学情報工学です。

In article <3fadb76b$0$19839$44c9...@news2.asahi-net.or.jp>, yohkah <yoh...@hotmail.com> writes
> 初めて質問する初心者です。
> ファイル検索にファイルが作成された日付を項目として付け加えて検索をしようとしているのですが、find コマンドのオプションには、

あんまり初心者の質問じゃないかも。ま、初心者から抜け出す良い
機会ってことなんでしょうね。

> と言うことは記録されているはずだから利用出来るはずだと思うのですが自分では見付ける事が出来ませんでした。

find じゃできないのでしょうね。僕だったら Perl の File::Find
を使います。ls -l をgrep してawk なんて技もあるが...

日時だと、どのタイムゾーンの日時を使うかっていう問題があって、
単純に指定することができないっていう問題があるな。

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
河野真治 @ 琉球大学工学部情報工学科,

NIDE Naoyuki

unread,
Nov 9, 2003, 9:38:46 AM11/9/03
to
In article <3fadb76b$0$19839$44c9...@news2.asahi-net.or.jp>,
yoh...@hotmail.com writes:
> ファイル検索にファイルが作成された日付を項目として付け加えて検索をしようとしているのですが、

例えば、~以下で11/9 12:35以降にステータスを変更されたファイルを探すには

touch 11091235 /tmp/.tmp_$$
find ~ -cnewer /tmp/.tmp_$$
rm /tmp/.tmp_$$

のようにするとか。
ni...@ics.nara-wu.ac.jp

Yasushi Shinjo

unread,
Nov 9, 2003, 9:59:09 AM11/9/03
to
新城@筑波大学情報です。こんにちは。

In article <3fadb76b$0$19839$44c9...@news2.asahi-net.or.jp>
yohkah <yoh...@hotmail.com> writes:
> ファイル検索にファイルが作成された日付を項目として付け加え
> て検索をしようとしているのですが、find コマンドのオプショ


> ンには、
> -atime 最後にアクセスされた日付を比較
> -ctime 最後にファイルステータスが変更された日付と比較
> -mtime 最後にファイル更新された日付と比較
> と日付関係のオプションはこの3種類しか見付けられませんでした。

伝統的な Unix では、ファイルに属性としてついている日付(時刻
含む)は、この3つしかありません。つまり、作成した日付は、ど
こにも保存されていません。私も作成した日付は、時々欲しいと思
います。

ls -l で表示されるのは、mtime です。ls -lu で、atime、ls -lc
で ctime が表示されます。

> GNOME付属のGMCでファイルのプロパティを見るとファイルの作成
> 日時・更新日時・アクセス日時の3種類が表示されます。

GMC は、私は使っていませんが、どんな日付を表示しているんでしょ
うかね。Linux には、そういう機能があるんでしょうか。ls で表
示できるんでしょうか。

最近の FreeBSD には、作成した日付を保存できる機能が入ったと
思いました。拡張属性として、MacOSX の影響を受けて。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

NIDE Naoyuki

unread,
Nov 9, 2003, 10:49:40 AM11/9/03
to
む、よく見てませんでした。ctimeではなくファイルの作成日を検索に使いた
いということなんですね。それは、記録されていないのでできないだろうと思い
ます。GMCのいう「作成日時」って、ctimeのことじゃないのかなあ…

ni...@ics.nara-wu.ac.jp

yohkah

unread,
Nov 10, 2003, 5:24:25 AM11/10/03
to
yohkahです。

新城さんお手数掛けます。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) wrote:

> 新城@筑波大学情報です。こんにちは。
>
> In article <3fadb76b$0$19839$44c9...@news2.asahi-net.or.jp>
> yohkah <yoh...@hotmail.com> writes:
> > ファイル検索にファイルが作成された日付を項目として付け加え
> > て検索をしようとしているのですが、find コマンドのオプショ
> > ンには、
> > -atime 最後にアクセスされた日付を比較
> > -ctime 最後にファイルステータスが変更された日付と比較
> > -mtime 最後にファイル更新された日付と比較
> > と日付関係のオプションはこの3種類しか見付けられませんでした。
>
> 伝統的な Unix では、ファイルに属性としてついている日付(時刻
> 含む)は、この3つしかありません。つまり、作成した日付は、ど
> こにも保存されていません。私も作成した日付は、時々欲しいと思
> います。
>
> ls -l で表示されるのは、mtime です。ls -lu で、atime、ls -lc
> で ctime が表示されます。
>
> > GNOME付属のGMCでファイルのプロパティを見るとファイルの作成
> > 日時・更新日時・アクセス日時の3種類が表示されます。
>
> GMC は、私は使っていませんが、どんな日付を表示しているんでしょ
> うかね。Linux には、そういう機能があるんでしょうか。ls で表
> 示できるんでしょうか。
>

そういう事なんですか。
そもそも作成日時は記録されていないと。
findのctimeに該当する表示がgmcに見当たらないのはその為だったんでしょうかね。
gmcの翻訳ミスと言う事なのかな。

そもそもctimeの説明の意味も実はよく解っていないんです。
ファイルステータスとは何を指すのか?それが変更されるとは何をもって変更となるのか。

実は、VineLinux2.1.5+Samba2.2.4jでWindowsのファイルサーバーとしているんですが、sambaの日本語版単独のゴミ箱機能を利用しています。
そのゴミ箱に溜まるファイルの削除に1週間以上溜まっているファイルを削除してしまおうとbashのスクリプトを作っている最中の疑問な訳です。
このゴミ箱ディレクトリに入って来るファイルをgmc or mcで見ているといわゆる作成日時がwindows側で削除された日時に成っている訳なんです。
だからてっきりこの作成日時を基準にすれば検索出来ると思った次第です。

gmcの作成日時 = findのctimeならばctimeで比較すれば良い訳ですね。


> 最近の FreeBSD には、作成した日付を保存できる機能が入ったと
> 思いました。拡張属性として、MacOSX の影響を受けて。
>

やはり必要と思っている人が他にも沢山おられるんですね。

Hideo Sir MaNMOS Morishita

unread,
Nov 10, 2003, 6:30:46 AM11/10/03
to

In article <3faf6755$0$19839$44c9...@news2.asahi-net.or.jp>,
yohkah <yoh...@hotmail.com> writes:

> そもそも作成日時は記録されていないと。
> findのctimeに該当する表示がgmcに見当たらないのはその為だったんでしょうかね。
> gmcの翻訳ミスと言う事なのかな。

'c'をcreateだと思ってしまったとか。(changeです)

> そもそもctimeの説明の意味も実はよく解っていないんです。
> ファイルステータスとは何を指すのか?それが変更されるとは何をもって変更となるのか。

inodeのデータですね。オーナとか、リンク数とかmtimeとか。逆に本体が変更
されてもctimeは変りません。

で、ctimeは普通のシステムコールで書き換えることができません。(mtimeと
atimeはutimeシステムコールで書き換え可能です。)
#ファイルシステムを直接書き換えたら別ですが。

--
___ わしは、山吹色のかすてーらが大好きでのぅ
[[o o]] ふぉっふぉっふぉ
'J' 森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37

koun...@mbh.nifty.com

unread,
Nov 11, 2003, 4:24:42 AM11/11/03
to
"yohkah" <yoh...@hotmail.com> wrote in message
news:3faf6755$0$19839$44c9...@news2.asahi-net.or.jp...
> yohkahです。
> >
> そういう事なんですか。
> そもそも作成日時は記録されていないと。
> findのctimeに該当する表示がgmcに見当たらないのはその為だったんでしょうか
ね。
> gmcの翻訳ミスと言う事なのかな。
>

私は、GMCがそもそも何者かもよく分かっていないですが、Gnome Midnight
Commander Documentationを見てみると、ファイルのプロパティの記述部分の例示に
は、

File Created on: Mon, Apr 10 2000, 04:49:55 PM
Last Modified on: Mon, Apr 10 2000, 04:49:55 PM
Last Accessed on: Thu, Apr 13 2000, 02:19:06 PM

と書かれており、確かにこれから言うと翻訳ミスとは言えないような・・・。
ただ、不思議なのはメニューの中のレイアウトで並び替えの順の選択肢には
Name
File Type
Size
Time Last Accessed
Time Last Modified
Time Last Changed
と書かれており、ここにはTime Last Changedがあり、Createdがないということで
す。

ファイルを実際に書き換え(chmodとかファイルを書き換えるとか)てみて、ファイ
ルのプロパティの作成日時がどうなるか見てみるとはっきりするのではと思います。
変わるようだと、ctimeということになるのかな。

--
******************************
keizi kounoike
******************************

yohkah

unread,
Nov 11, 2003, 6:47:18 AM11/11/03
to
yohkahです。

<koun...@mbh.nifty.com> wrote:

> > gmcの翻訳ミスと言う事なのかな。
> >
>
> 私は、GMCがそもそも何者かもよく分かっていないですが、Gnome Midnight
> Commander Documentationを見てみると、ファイルのプロパティの記述部分の例示に
> は、
>
> File Created on: Mon, Apr 10 2000, 04:49:55 PM
> Last Modified on: Mon, Apr 10 2000, 04:49:55 PM
> Last Accessed on: Thu, Apr 13 2000, 02:19:06 PM
>
> と書かれており、確かにこれから言うと翻訳ミスとは言えないような・・・。
> ただ、不思議なのはメニューの中のレイアウトで並び替えの順の選択肢には
> Name
> File Type
> Size
> Time Last Accessed
> Time Last Modified
> Time Last Changed
> と書かれており、ここにはTime Last Changedがあり、Createdがないということで
> す。
>

色々調べて頂いて恐縮です。


> ファイルを実際に書き換え(chmodとかファイルを書き換えるとか)てみて、ファイ
> ルのプロパティの作成日時がどうなるか見てみるとはっきりするのではと思います。
> 変わるようだと、ctimeということになるのかな。
>

試してみました。
chmodでパーミッションを変化させると作製日の項目のみが変化しますね。
それに以前確認していた、ファイルを別のディレクトリに移動させても変化する。(この時点で気付くべきだったのかな? その時は移動させるディレクトリに新しく作成されると言う考え方だったので)
次に別のファイルでファイル内容を変更すると3種類の日時すべてが変化し、揃ってしまいますね。

やはり作成日となっているのはctimeと見るべきなんでしょうね。
でもファイル内容を変更してctimeまで変化するとは思いもよりませんでした。

そうなるとmtimeとctimeの差ってほとんど無いですね。かえってctimeの方が変化する要因を多く持っている事になるのかなあ。

でも色々参考になりました。皆さんありがとうございます。

0 new messages