我希望使用 Cygwin 在我的一台 Windows 机器上“tail -f”一个 apache 日志文件。所以在我的 cygwin 终端中,我 cd 到日志目录,我得到:
ccurvey@MINNIE1 /cygdrive/c/Program Files (x86)/Apache Software Foundation/Apache2.2/logs
$ ls -l
total 21
-rwx------+ 1 ccurvey Domain Users 6004 Feb 25 2012 access.log
-rwx------+ 1 ccurvey Domain Users 39519 Feb 25 2012 error.log
-rwx------+ 1 Administrators Domain Users 6 Jul 17 23:48 httpd.pid
-rwx------+ 1 SYSTEM SYSTEM 6104 Feb 25 2012 install.log
-rwx------+ 1 ???????? Domain Users 0 Feb 24 2012 minnie.log
但是,如果我在 DOS 命令窗口中查看同一目录,我会看到:
c:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs>dir
Volume in drive C is Minnie OS
Volume Serial Number is 9C28-B005
Directory of c:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs
07/17/2013 11:48 PM <DIR> .
07/17/2013 11:48 PM <DIR> ..
07/17/2013 11:48 PM 10,514,794 access.log
07/17/2013 11:48 PM 2,458,745 error.log
07/17/2013 11:48 PM 6 httpd.pid
02/25/2012 01:04 PM 6,104 install.log
02/24/2012 10:56 AM 0 minnie.log
5 File(s) 12,979,649 bytes
2 Dir(s) 1,897,603,072 bytes free
那么为什么我的 DOS 窗口显示 access.log 最后一次修改是在 13 年 7 月 17 日,而我的 cygwin 终端告诉我同一个文件最后一次修改是在 2012 年 2 月 25 日?(我确实看过,文件的内容不同!您可以在清单上看到文件大小的差异。)
======
更新:我最终卸载了我现有的 cygwin 版本并安装了一个全新的副本,现在一切正常。