무한히 중첩된 디렉터리 제거

무한히 중첩된 디렉터리 제거

먼저 말씀드리고 싶은 것은 이것이 제가 사용하고 있는 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

이 디렉터리는 삭제되어야 합니다. 물론 이미 시도해 본 적이 없다면 말이죠. 이 경우, 발생한 오류에 대해 구체적으로 알려주실 수 있나요?

관련 정보