파일과 폴더를 같은 폴더 내의 폴더로 이동하고 싶습니다. 다음 모델은 예시입니다.
|-folderN
|-- folder1
|-- folder2
|-- file1
그렇다면 문제는 폴더N(/var/www)에서 폴더2로 모든 것을 한 번에 이동하는 방법입니다. 각 파일을 수동으로 이동하는 것은 시간이 오래 걸리며 장기적으로 불가능합니다.
시험을 마친
mv -v folderN/* folder2
그리고
mv folderN/* folder2
답변1
ls
및 를 사용하는 또 다른 방법입니다 grep -v
. 이 -v
옵션은 일치 항목을 반전시켜 일치하지 않는 행만 나열합니다.
mv `ls | grep -v folder2` folder2
명령에는 작은따옴표 대신 백틱이 사용됩니다.
답변2
두 번째 폴더를 한 단계 위로 이동하고 내용을 이동한 다음 두 번째 폴더를 뒤로 이동합니다. 이와 같이:
cd folder1
mv folder2 ..
mv * ../folder2/
mv ../folder2 .
답변3
find
+mv
해결책:
find folderN/ -mindepth 1 ! -wholename '*/folder2' -exec mv "{}" "folderN/folder2" \;
답변4
한 폴더의 콘텐츠를 다른 폴더로 이동할 수 없다고 보고하시나요? 이것이 당신이 시도한 일련의 사건입니까?
$ ls folderN
file1 file2 folder1 folder2
$mv folderN/* folder2
mv: cannot move 'folder2 to a subdirectory of itself, `folder2/folder2`
$ls folderN/folder2
file1 file2 folder1
mv folderN/* folderN/folder2
필요한 유일한 명령이어야합니다.