我如何知道特定命令的系统调用?

我如何知道特定命令的系统调用?

我是 Ubuntu 新手,我对命令有疑问strace ls。当我运行此命令时,它会提供所有系统调用。如果我需要知道特定命令的系统调用,例如如果我运行命令,该怎么办mkdir?我想知道这个特定命令的系统调用是什么。

它对我的学习有很大帮助。非常感谢。

答案1

不久:

strace command [arguments]

例如:

strace mkdir test

欲了解更多信息,请参阅man strace

答案2

就像您所做的一样strace ls,您应该这样做strace mkdir,这将为您提供我的电脑上拨打的所有电话的列表,mkdir如下面的示例所示:

execve("/bin/mkdir", ["mkdir"], [/* 37 vars */]) = 0
brk(0)                                  = 0x83da000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7736000
........
.......

希望这能解决您的问题,但如果您想了解每个系统调用,请阅读其手册页或专门询问系统调用。

相关内容