Remove(rm) 명령의 삭제 순서

Remove(rm) 명령의 삭제 순서

NetApp 스토리지에 Redhat Linux 5.8 NFS 마운트.

rm -rf가 매우 위험하다는 것을 알고 있지만 사용자가 트리거하고 아직 진행 중인 동안 중지되는 문제를 조사하고 있습니다. 이제 손해를 평가하고 있으며 그것이 디렉토리를 어떻게 통과하는지 알고 싶습니다. rm의 소스 코드를 살펴보았지만 삭제 순서를 어떻게 결정하는지 결론을 내릴 수 없습니다.

커뮤니티를 뒤져보니 이에 관한 글이 몇 개 보이긴 하는데, 답을 아는 사람이 없는 것 같습니다.

감사해요,

답변1

실용적인 접근 방식은 몇 가지 테스트 사례를 만들고 살펴보는 것입니다.

당신이 보면실제 코드xfts_open아마도 / 에서 항목을 읽는 순서에 따라 달라질 수 있습니다 .fts_read.

실제로 순회 및 제거를 수행하는 기능은 rm_fts. 해당 함수에는 실제로 다음과 같은 주석이 있습니다.

이 함수는 fts가 만나는 모든 파일 시스템 객체에 대해 한 번 호출됩니다. fts는 깊이 우선 순회를 수행합니다.

또한 배포판에서는 해당 구성 요소에 대한 변경 사항이 얼마든지 있을 수 있습니다. 따라서 실제로 사용하거나 수행하는 작업에 대해 배포판을 개별적으로 확인해야 할 수도 있습니다.

관련 정보