Re: how to know list of files accessed

From: Matthias Schniedermeyer
Date: Tue Feb 14 2012 - 03:27:08 EST


On 13.02.2012 23:44, Valdis.Kletnieks@xxxxxx wrote:
> On Mon, 13 Feb 2012 13:32:56 +0100, Michael Opdenacker said:
>
> > An easy way is to run your command with 'strace' to trap all the calls
> > to 'open':
> >
> > strace make 2>&1 | grep open
>
> You really want 'strace -f make' - the -f flag makes it follow forks, which you
> want to do because it's gcc that's doing most of the actual file I/O, not make.
>
> Oh. and you want to redirect that grep into a temporary file and be
> prepared to post-process it with perl or something, there's going to be
> *zillions* of open() syscalls.

Inotify is certainly easier.

When inotifywait from inotify-tools is available:
inotifywait -m -r -e open <dir> > files.opened

This monitors recusivly for the "open" event and writes it into
files.opened.

In my case that is:
wc -l files.opened
1115553 files.opened

And this number of unique files with directories
sort < files.opened | uniq | wc -l
5454

And this number af unique fiels without dirs.
cat files.opened | grep -v ISDIR | sort | uniq | wc -l
3837

I use "O=../compile_dir" to get the output into another dir, if you
don't do that all newly created files are also counted, as you also
"open" them.




Bis denn

--
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/