我正在一台Linux机器上工作(特别是运行openSUSE 13.1 w/KDE),我想确定当我对应用程序的GUI做某事时,在后台实际发出的命令是什么。
我的问题与下面这个没有得到回答的问题非常相似:https://stackoverflow.com/questions/20930239/how-can-i-see-the-commands-being-passed-in-backend-of-a-gui-application
如果它有帮助的话,我要完成的具体任务是弄清楚在KDE的Dolphin实用程序中将文件发送到废纸篓的命令行等效是什么。我想在我的.bashrc中为这个功能创建一个别名,这样我就有了一个"更温和"的rm替代方案。但是我更想知道我的一般性问题的答案,这样我以后就可以做类似的事情了。
我天真的猜测是某个地方可能存在一个日志文件。然后我可以使用GUI执行任务,然后跟踪日志文件,以查看我在GUI中执行的操作的底层命令是什么。然而,据我所知,不存在这样的日志。
要将文件foo
移动到垃圾箱,请尝试
mv foo $HOME/Trash/
所以你可以在.bashrc
function movetotrash() {
mv $* $HOME/Trash/
}
老实说,大多数GUI应用程序没有日志文件。它们通常是自由软件(并且使用自由软件库),因此您可以研究它们的源代码并对其进行改进。尝试与他们的社区互动(并使用我评论的strace
)
顺便说一句,不是每个GUI应用程序都使用命令。有些是(例如IDE确实是像gcc
这样的分支命令),但其他只是直接进行系统调用(可能文件管理器不会分叉mv
,但只是复制内容或调用rename(2)
系统调用)。