Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用GUI时,如何确定发出的命令?_Linux_Unix_User Interface_Background_Command - Fatal编程技术网

Linux 使用GUI时,如何确定发出的命令?

Linux 使用GUI时,如何确定发出的命令?,linux,unix,user-interface,background,command,Linux,Unix,User Interface,Background,Command,我在Linux机器上工作(特别是运行openSUSE 13.1 w/KDE),我想确定当我使用应用程序的GUI做一些事情时,在后台实际发出了哪些命令 我的问题与下面一个没有得到答复的问题非常相似: 如果它有帮助的话,我正在尝试完成的具体任务是找出KDE的Dolphin实用程序中向垃圾箱发送文件的命令行等价物。我想在my.bashrc中为这个功能创建一个别名,这样我就有了一个比rm更“温和”的替代品。但我宁愿知道我更一般问题的答案,这样我将来也可以做类似的事情 我天真的猜测是某个地方可能存在一个

我在Linux机器上工作(特别是运行openSUSE 13.1 w/KDE),我想确定当我使用应用程序的GUI做一些事情时,在后台实际发出了哪些命令

我的问题与下面一个没有得到答复的问题非常相似:

如果它有帮助的话,我正在尝试完成的具体任务是找出KDE的Dolphin实用程序中向垃圾箱发送文件的命令行等价物。我想在my.bashrc中为这个功能创建一个别名,这样我就有了一个比rm更“温和”的替代品。但我宁愿知道我更一般问题的答案,这样我将来也可以做类似的事情


我天真的猜测是某个地方可能存在一个日志文件。然后,我可以用GUI执行一项任务,然后跟踪日志文件,看看我刚才在GUI中执行的操作的底层命令是什么。但是,据我所知,不存在此类日志。

要将文件
foo
移动到垃圾箱,请尝试

 mv foo $HOME/Trash/
因此,您可以在
.bashrc

 function movetotrash() {
   mv $* $HOME/Trash/
 }
另外,大多数GUI应用程序都没有日志文件。它们通常是自由软件(并且使用自由软件库),因此您可以研究它们的源代码并加以改进。尝试与他们的社区互动(并使用我评论的
strace


顺便说一句,并不是每个GUI应用程序都在使用命令。有些是(例如IDE确实是分叉命令,如
gcc
),但其他只是直接执行系统调用(可能文件管理器不会分叉
mv
,而只是复制内容或调用系统调用)。

您可以尝试使用
strace
我查看了strace,它肯定会揭示GUI下面发生的事情,因此,它确实为这个问题提供了一些线索。但是,我相信这些系统调用都是C语言的——我有没有办法把这些C语言语句转换成命令行?