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

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

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

就像你做strace ls ,你应该做strace mkdir ,它会给你mkdir所做的所有调用列表,如下面的PC样本:

 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 ........ ....... 

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

不久:

 strace command [arguments] 

例如:

 strace mkdir test 

有关更多信息,请参阅man strace