![무한히 중첩된 디렉터리 제거](https://linux55.com/image/43487/%EB%AC%B4%ED%95%9C%ED%9E%88%20%EC%A4%91%EC%B2%A9%EB%90%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%20%EC%A0%9C%EA%B1%B0.png)
먼저 말씀드리고 싶은 것은 이것이 제가 사용하고 있는 Mac 터미널이라는 것입니다. Linux는 아니지만 여기서 가장 좋은 대답을 얻을 수 있을 것 같습니다. 왜냐하면 Mac 자체가 아니라 Unix 및 명령줄과 관련이 있기 때문입니다.
어쨌든, 여기에 문제가 있습니다. 정말 게으르게 하기 위해 ~/.bashrc에 "jobs" 폴더로 이동하여 오늘 날짜가 포함된 폴더를 생성하고 해당 폴더로 이동한 다음 주어진 명령을 사용할 수 있는 함수를 작성해 보았습니다. vim 열기 파일명...한 번에 완료됩니다. 그것은 다음과 같습니다 ...
export DATE="$( date +%d-%b )"
function hw() {
cd ~/Java/Programs/HW
mkcd $DATE
vim "$*"
}
mkcd는 폴더를 생성함과 동시에 그 폴더로 이동하는 기능입니다. 이것이 지금 내 기능의 모습이며 잘 작동합니다. 그러나 이 작업을 수행하려는 여러 번의 시도에서 매우 어리석은 실수를 저질렀고 mkcd 부분에서 일종의 무한 루프가 발생했습니다... 여전히 이 작업을 어떻게 관리했는지 잘 모르겠고 해당 코드를 삭제했습니다. . 이 작업을 수행하면 어떤 일이 발생하는지는 매우 분명합니다. 이제 27-Jan이라는 폴더가 있고 여기에는 27-Jan이라는 무한한 수의 폴더가 포함되어 있습니다. (말씀드렸듯이 정말 멍청해요)
글쎄, 더 이상 진행되지 않도록 ^c를 누르고 viola를 중지했습니다. ~/ 폴더로 다시 변경하고 빠른 sudo를 수행했습니다 rm 27-Jan/
. 놀랍게도 (그리고 걱정스럽게도) 이것은 작동하지 않습니다. 나는 그것을 제거하기 위해 더 많은 방법을 시도했지만 아무것도 효과가 없었습니다. 그래서 나처럼 똑똑하다니... 쓰레기통에 옮겨놓고 걱정은 그만뒀다. 그 이후로 몇 번이나 휴지통을 비웠는데 전혀 눈치채지 못했는데, 그 빌어먹을 폴더는 사라지지 않네요! 내 하드 드라이브에서 0바이트를 차지하지만 모든 작은 하위 폴더와 함께 여전히 거기에 있습니다.
내가 시도한 것:
sudo rm 27-Jan/
sudo rm -r 27-Jan/
질문에는 override rwxr-xr-x caldwell/staff for 27-Jan/(many times repeated)/27-Jan?
내가 이미 답변했다고 나와 y
있고 yes
심지어 si
(스페인어를 사용하는 경우)... 매번 No such file or directory
이전 질문이 말하고 반복됩니다.
이런 것을 본 사람이 있나요? 그것을 없애기 위해 내가 무엇을 할 수 있는지 아시나요?
답변1
프롬프트를 피하십시오 rm -rf
.
-f, --force ignore non-existent files, never prompt
답변2
매우 안전한 방법은 - find가 -delete를 지원하는 경우 - find를 사용하여 삭제하는 것입니다.
find -type d -name 27-Jan -empty -delete
-delete
암시적 으로 -depth
, 먼저 트리를 따라 디렉터리 3275로 이동한 후 삭제하고 한 수준 위로 이동합니다. 이제 3274도 비어 있으므로 삭제할 수 있으며 한 수준 위로 3273으로 이동하는 식입니다.
찾은 사람:
-depth Process each directory's contents before the directory itself. The -delete action also implies -depth.
답변3
rm의 -r 스위치를 사용하여 디렉터리 계층 구조를 반복적으로 삭제할 수 있습니다.
-r, -R, --recursive
remove directories and their contents recursively
그래서 문제
rm -r 27-Jan
이 디렉터리는 삭제되어야 합니다. 물론 이미 시도해 본 적이 없다면 말이죠. 이 경우, 발생한 오류에 대해 구체적으로 알려주실 수 있나요?