c.txt
이 b
디렉토리에 있다고 가정합니다. unlink c.txt
은 쉬우 며, 시스템은 b
디렉토리의 항목 {XXX, c.txt}
을 제거합니다. 그러나 b
이 a
의 서브 디렉토리이고, b
의 링크를 해제하고 싶다면, 절차는 동일하거나 더 복잡합니까? 링크 해제에 대한 매뉴얼 페이지에서디렉토리의 링크를 해제하면 어떻게됩니까?
답변
: 링크 해제 사용할 때
When the utility is called as unlink, only one argument,
which must not be a directory, may be supplied.
그래서, 당신은 매개 변수로 디렉토리를 전달할 수 없습니다.
unlink(2)
은 파일 만 삭제할 수 있으며 rmdir(2)
은 빈 디렉토리 만 삭제할 수 있습니다.
디렉터리를 재귀 적으로 삭제하려면 지능적으로 syscall을 모두 사용해야합니다. 예를 들어 this one이 nftw
이거나 this one이 opendir
/readdir
인 경우와 같이 여러 가지 다른 재귀 적 삭제 기능을 사용할 수 있습니다.
"a/b/c"가 있다고 가정하고 e가 c의 하드 링크 인 다른 "d/e"가 있다고 가정합니다. 디렉토리 a와 그 서브 컨텐츠를 제거하면 e가 가리키는 곳은 어디입니까? – stonestrong
나는 '컴퓨터 시스템 설계의 원리'라고 불렀다.이 조건에서, 전자는 파괴적이지 않은 매달린 참조로 끝난다. – stonestrong
@stonestrong/기호/링크 인 경우 매달린 참조로 끝나지만/hardlink /는 파일의 사용 횟수가 1이기 때문에 여전히 파일이 있습니다. 다음과 같이 직접해볼 수 있습니다 :'mkdir -p a/b; echo 안녕하세요, 세계 \! > a/b/c; mkdir d; ln -s ../a/b/c d/e; ln a/b/c d/f; rm -rf a; cat d/e; cat d/f' – RolKau
- 1. 는 정점/색인 버퍼를 해제하면 해제하면
- 2. 부스트 자동 링크를 선택하면 어떻게됩니까?
- 3. URL과 로컬 디렉토리의 이미지에 연결하면 어떻게됩니까? XAML에서
- 4. ASP.NET에서 디렉토리의 모든 파일을 추가하는 방법과 파일을 다운로드해야하는 링크를 클릭하면 어떻게됩니까?
- 5. 디렉토리의 각 파일에있는 마크 다운 링크를 계산하십시오.
- 6. 비슷한 링크를 셀렌 (파이썬)으로 구별하고 변경되는 링크를 클릭하면 어떻게됩니까?
- 7. MKReverseGeocoder를 해제하면 앱이 다운됩니다!
- 8. NSInvocationOperation을 해제하면 앱이 충돌합니다.
- 9. NSData를 해제하면 예외가 발생합니다.
- 10. 휴대 기기에서 target = "_ blank"링크를 클릭하면 어떻게됩니까?
- 11. 프로그램에서 파일을 쓰는 동안 상위 디렉토리의 이름을 바꾸면 어떻게됩니까
- 12. WindowStaysOnTopHint 설정을 해제하면 창이 사라집니다.
- 13. ARC를 보유/해제하면 속도가 느려집니다
- 14. iPhone - NSMutableArray를 해제하면 사과가 깨집니다.
- 15. 웹 사이트 디렉토리의 모든 이미지 링크를 변환하십시오 (Mac의 경우)
- 16. 디렉토리의 최신 파일에 대한 심볼릭 링크를 만들 수 있습니까?
- 17. 두 디렉토리의 심볼릭 링크를 만들 때 요리사 링크 오류가 발생했습니다.
- 18. 매달린 링크가없는 디렉토리의 모든 심볼릭 링크를 어떻게 나열합니까?
- 19. htaccess 및 RewriteRules를 사용할 때 다른 디렉토리의 링크를 수정하려면 어떻게해야합니까?
- 20. 캐시 디렉토리의 하위 호환성
- 21. 캐시 디렉토리의 크기 제한
- 22. 세부보기 컨트롤러를 해제하면 메모리 문제가 발생합니다.
- 23. 버퍼를 해제하면 유효하지 않은 읽기가 발생합니다.
- 24. jQuery를 - 체크 박스 값 = "테스트"를 해제하면
- 25. OpenCV IplImage를 해제하면 응용 프로그램이 충돌합니까?
- 26. 왜 calloc'ed 메모리를 해제하면 VC6 프로젝트가 중단됩니까?
- 27. XML 객체에 직렬화 해제하면 null 값이 반환됩니다.
- 28. wakeLock을 해제하면 Android Wear 앱이 작동하지 않습니다.
- 29. 카메라를 해제하면 작업의 모든 활동이 kill됩니다.
- 30. LINQ to SQL - ObjectTrackingEnabled를 해제하면 연결이 끊어집니다.
유닉스 파일 시스템이 디렉토리가 아닌 파일에 대한 링크만을 허용하는 이유에 대해 이야기 할 때,'컴퓨터 시스템 설계의 원리 '는 디렉토리의 링크를 해제하는 예를 보여줍니다. 예제는 적절하지 않습니다. 더 나은 설명? – stonestrong