是否有人知道是否可以使用脚本来打印正在.bashrc
使用的屏幕。
我.bashrc
在主目录下找到了,但是是否有任何脚本可以打印文件的状态,例如它是打开的、正在使用中等等。
答案1
这里有两个问题:
你只想检查文件是否正在被访问现在以任何方式
您想要监视文件的变化,例如持续监视
对于情况 1:
您可以使用fuser
或lsof
,这些是用于此目的的常用工具:
lsof ~/.bashrc
或者
fuser ~/.bashrc
检查man lsof
并man fuser
对于情况 2:
如果您想要进行连续检查,Linux 提供了inotify
一系列系统调用来监视任何文件系统事件。
-m
因此,您可以通过( --monitor
) 选项添加连续监视inotifywait
:
inotifywait -m ~/.bashrc
从这里,您可以采取行动,例如,如果发生特定事件(例如读取或写入),则运行命令。
还有许多选项和用例,请查看man inotifywait
。您可能需要inotify-tools
先安装。
答案2
阅读man bash
,了解.bashrc
shell 启动时会读取、处理和关闭该文件(阅读页面man
了解更多详细信息)。但是,您可以sudo lsof $HOME/.bashrc
在终端窗口中查看是否有任何进程当前打开了该文件。