首先(我在终端中使用 Linux,(控制台模式),(无图形扩展),就像在服务器上一样。问题如下:是否可以安装某种脚本,突出显示“打开的文件”,例如以绿色(或任何其他颜色),(仅文件名,没有什么复杂的)?为什么?因为有时我和我的同事在服务器上编辑相同的文件。这不是很必要,但很方便,你同意吗?当然,文本编辑器会提示您保存已编辑的文件。以防万一,当然不是繁重的脚本,因为它只是做它该做的事情。
不管怎么说,还是要谢谢你。
答案1
一种可能的查看方法(但通常对您的目标没有用,请参见后面的内容)是使用包fuser
中的命令psmisc
。
该命令fuser -a *
将起到类似的作用ls
,如果某个进程保持文件打开,它将打印进程 ID。例如:
⌂71% [romano:~/tmp] 1 % fuser -a *
/home/romano/tmp/example.log:
/home/romano/tmp/example.pdf:
/home/romano/tmp/example.tex:
然后在另一个窗口/终端/虚拟控制台/连接中执行操作cat >> example.tex
以保持文件打开,并且:
⌂71% [romano:~/tmp] 1 % fuser -a *
/home/romano/tmp/example.log:
/home/romano/tmp/example.pdf:
/home/romano/tmp/example.tex: 7742
fuser
告诉您 PID 为 7742 的进程正在保持文件保持打开。
尽管如此,许多编辑器不会保持文件打开;它们会将其读取到内存中(请记住,类 UNIX 操作系统具有虚拟内存),然后将其关闭。例如,使用 打开文件example.tex
对输出vim
没有影响fuser
。)
因此,避免双重编辑的工作留给编辑器;vim
或者emacs
使用锁定文件并在您打开两次时发出警告。
您还可以在此查看评论和答案SO 问答。