我如何知道特定命令的系统调用?
我是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
。