Você precisa verificar as chamadas do sistema associadas aos comandos relevantes para ter uma ideia de baixo nível do que está acontecendo.
A ferramenta para rastrear chamadas do sistema é strace
.
Por exemplo, se eu executar strace touch foobar.txt
para verificar as chamadas do sistema associadas à criação de um arquivo vazio usando touch
, a chamada de sistema mais notável (junto com outras) é:
open("foobar.txt", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
Agora leia man 2 open
para obter uma ideia detalhada.
Da mesma forma, se você quiser rastrear chamadas do sistema para rm foobar.txt
, a importante chamada do sistema (junto com outras) seria:
unlinkat(AT_FDCWD, "foobar.txt", 0) = 0
Agora leia man 2 unlinkat
.
Você também pode salvar a saída strace
em um arquivo para diagnóstico futuro usando -o
option:
strace -o s_out.txt touch foobar.txt
Você também pode acompanhar apenas chamadas específicas do sistema:
strace -e open touch foobar.txt
Verifique também man strace
.