압축이 풀린 디렉토리가 있지만 폴더에 있습니다. 콘텐츠를 한 단계 위로 이동하려면 어떻게 해야 하나요? SSH를 통해 CentOS에 액세스합니다.
답변1
"myfolder"라는 폴더의 경우 폴더가 파일 계층 구조에서 한 수준 위(원하는 지점)인 경우 명령은 다음과 같습니다.
mv myfolder/* .
예를 들어 데이터가 있으면 명령을 /home/myuser/myfolder
실행합니다 ./home/myuser/
답변2
명확하게 하기 위해 Rudu의 답변과 위의 의견에서 발췌했습니다.
.htaccess, .git 등과 같은 모든 항목을 이동해야 하는 경우 명령에 * 및 .*를 포함해야 합니다. 이와 같이:
mv subfolder/* subfolder/.* .
그러면 하위 폴더의 내용이 현재 폴더로 이동됩니다. 마지막 "." 앞의 공백에 유의하세요.
답변3
이는 다음을 통해 달성할 수 있습니다.
사용
rsync
:rsync -vua --delete-after foo/ .
사용
cp
및rmdir
:cp -vaR foo/. . && rmdir foo/
사용
mv
(dotglob
활성화 옵션):shopt -s dotglob # Includes filenames beginning with a dot. mv -- foo/* . # Where foo/ is the folder consisting the files. shopt -u dotglob # Disables previously enabled dotglob option.
foo/
폴더의 내용이 한 수준 위로 이동됩니다.참조:
help shopt
및man bash
.사용
mv
(권장사항에 따라여기):mv foo/* foo/.[^.]* . && rmdir foo/
참고: 이름이
foo/..bar..
.참고: POSIX 쉘의 경우
[!.]
.
답변4
단축 명령이 있어요
cp */* .
그러면 모든 하위 폴더 내용이 복사됩니다. 물론 다음을 사용하여 이동할 수 있습니다.
mv */* .
또는 새 확장명을 지정하세요.
cp */* /destination