Я новичок в Ubuntu, и у меня есть вопрос по поводу команды strace ls
. Когда я запускаю эту команду, она дает все системные вызовы. Что если мне нужно знать, что системные вызовы для конкретной команды, например, если я запускаю команду mkdir
? Я хочу знать, какие системные вызовы для этой конкретной команды.
Это очень помогает мне в учебе. Большое спасибо.
Точно так же, как Вы делаете 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
........
.......
Hope это решит Вашу проблему, но если Вы хотите знать о каждом syscall, сделанном, тогда читает его страницы справочника или конкретно спрашивают о syscall.
Вскоре:
strace command [arguments]
, Например:
strace mkdir test
Для большего количества информации, см. man strace
.