디렉터리의 전체 내용(모든 하위 폴더 포함)을 한 수준 위로 이동하고 싶습니다.
cd /dir/subdir
mv * /dir
cd ..
rm -R subir/
모든 폴더와 하위 폴더가 있지만 /dir
비어 있습니다. 내가 뭘 잘못했나요?
파일 시스템은 BTRFS인데 시도했지만 btrfs restore
성공하지 못했습니다.
어떤 도움이라도 대단히 감사하겠습니다.
답변1
당신이 무엇을했는지 봅시다. 나는 모든 명령이 표준 도구이며 어떤 방식으로도 적용되지 않는다고 가정합니다. ( type cd
, type mv
및 을 확인하세요 type rm
. 필요한 경우 aliased
이를 알아야 합니다. 예를 들어 는 mv is aliased to 'mv -i'
우리가 알아야 하지만 cd is a shell builtin
또는 rm is /bin/rm
작동할 수도 있는 것입니다.)
cd /dir/subdir
파일 시스템의 절대 경로로 이동합니다. 오류가 보고되지 않았다고 가정하면 이제 에 있습니다
/dir/subdir
.mv * /dir
이 디렉토리에 표시되는 모든 항목을 절대 디렉토리로 이동합니다
/dir
. 이름이 로 시작하는 파일이 없고-
(잊었기 때문에 ) 오류가 보고되지 않는다고 가정--
하면 ./dir/subdir
/dir
파일(및 하위 디렉터리(있는 경우))은 복사되지 않고 이동되므로 파일 내용은 어떤 방식으로든 건드리거나 변경되지 않습니다.~하지 않는 한
/dir/subdir
다른 파일 시스템에서/dir
.cd ..
쉘에 따라 또는
subdir
파일 시스템의 다른 부분이 아닌 심볼릭 링크를 제공하는 경우,그리고오류가 보고되지 않으면 이제 에 있어야 합니다/dir
.현재 있는 디렉토리를 확실히 확인하려면
pwd -P
.rm -R subir/
아마도 명령이 실패할 것입니다. 하지만 어쩌면 당신은
rm -R subdir
이 경우 디렉토리를 의미할 수도 있습니다.subdir
그리고 남은 콘텐츠삭제됩니다.rmdir subdir
디렉터리가 예기치 않게 비어 있지 않은 경우 경고를 받도록 디렉터리를 삭제할 수 있습니다 .
이때 파일이 비어 있는 경우입력한 명령에 오류가 없습니다., 시작하기 전에 모두 비어 있습니다.