LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1838|回复: 24

怎么知道一个文件被读取了多少次?

[复制链接]
发表于 2003-11-19 12:53:08 | 显示全部楼层 |阅读模式
thanks ~~
发表于 2003-11-19 15:46:25 | 显示全部楼层
:sorry ~~~
shell好像办不到!
发表于 2003-11-19 16:44:51 | 显示全部楼层
变通一下,如果是脚本,可以知道自己运行过几次。
直觉认为可以做到,楼主感兴趣的话,可以写一个。
如:
# ./test.sh
1 time(s)
# ./test.sh
2 time(s)
# ./test.sh
3 time(s)
# ./test.sh
4 time(s)
 楼主| 发表于 2003-11-19 17:00:16 | 显示全部楼层
最初由 r2007 发表
变通一下,如果是脚本,可以知道自己运行过几次。
直觉认为可以做到,楼主感兴趣的话,可以写一个。
如:
# ./test.sh
1 time(s)
# ./test.sh
2 time(s)
# ./test.sh
3 time(s)
# ./test.sh
4 time(s)

谢谢,怎么我的结果不同于你的。
# ./tmp sh
ok
# ./tmp sh
ok
#
发表于 2003-11-19 17:17:13 | 显示全部楼层
我们可以从history里面提取读取某个命令的次数!像:
histroy|grep "command"|wc -l
当然,这个历史文件要大些~~,;)
不知道这样是否可行 :ask
继续探讨......
发表于 2003-11-19 17:39:04 | 显示全部楼层
用history好像只能看用户自己的文件执行的次数,而不能看一个共享的文件被执行的次数~~
 楼主| 发表于 2003-11-19 18:31:54 | 显示全部楼层
在在这里当然是讨论有权读取的拉。

在FreeBSD用ls -ul就可以知道文件的最后访问时间,只要知道它有多少次改变就行了。
继续......
发表于 2003-11-19 18:48:42 | 显示全部楼层

我有一个试想,是从php里来的灵感,不知是否可以

就是建立一个文件专门用来保存读取次数
再写一个脚本,脚本除了实现以下功能:
读取第一个文件的数字,再加一后保存回第一个文件,这样就可以知道此脚本文件被执行了几次了 :ask :ask :ask

不知道这样可不可以???
 楼主| 发表于 2003-11-19 19:27:42 | 显示全部楼层

回复: 我有一个试想,是从php里来的灵感,不知是否可以

最初由 kiron 发表
就是建立一个文件专门用来保存读取次数
再写一个脚本,脚本除了实现以下功能:
读取第一个文件的数字,再加一后保存回第一个文件,这样就可以知道此脚本文件被执行了几次了 :ask :ask :ask

不知道这样可不可以???


你的方法也行吧。。。。
先看看我的。一个文件被访问三次就被报告,缺点是精确度是一分。:confused: :confused:

-----------------------------code start
#!/usr/local/bin/bash
a=0
dateB(){
if [ ! -r /etc/passwd ] ; then echo "This file can't read or none exist !";fi
ls -lu /etc/passwd|awk '{print $6,$7,$8}'
}
A=`dateB`
while true;do
sleep 60
B=`dateB`
if $A != $B ;then #问题就出在这里了。怎么比较两个日期?
a=$(($a + 1)) ; $A = $B
fi
if [[ $a == 3 ]] ;then echo "This file already access 3 time" ;exit 0;fi
done

改了多次了,请大家看看还有什么错。。
发表于 2003-11-19 19:57:43 | 显示全部楼层
最初由 home 发表
在在这里当然是讨论有权读取的拉。

在FreeBSD用ls -ul就可以知道文件的最后访问时间,只要知道它有多少次改变就行了。
继续......

在linux下同样可以用ls -ul知道最后访问时间的! 不过怎样才能知道他改变了多少次呢?!,最起码得知道他的"初始值"吧~~,GO ON...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表