저는 리눅스를 처음 접했습니다. 시스템 명령이 내부적으로 특정 시스템 호출을 사용하는지 터미널을 통해 확인하는 방법을 알고 싶습니다. 하드 링크를 수행한다고 가정해 보겠습니다. 따라서 "ln" 명령은 내부적으로 link() 시스템 호출을 사용합니다. 마찬가지로 rm 명령은 unlink() 시스템 호출을 사용합니다.
답변1
프로그램에서 사용하는 시스템 호출을 추적하는 데 사용할 수 있습니다 strace
. 예를 들어
strace -f ls
다양한 옵션이 있습니다. man strace
시스템 을 참조하거나온라인선택한 시스템 호출, 입력/출력 등만 표시하도록 출력을 필터링하는 기능을 포함하여 자세히 알아보세요.
strace
(setuid root) 와 같은 setuid/setgid 프로그램을 사용하는 경우 /usr/bin/passwd
추적 중에 대상 응용 프로그램의 권한이 삭제됩니다.