답변:
'myfolder'라는 폴더와 파일 계층 구조에서 원하는 수준으로 올리면 명령은 다음과 같습니다.
mv myfolder/* .
예를 들어 데이터가있는 경우 명령 /home/myuser/myfolder
을 /home/myuser/
실행하십시오.
.*
. 원본 폴더를 제거하는 것은 쉽지 않으며 요청되지 않으므로 OP가 해당 폴더를 처리하도록합니다.
*
및 .*
한 줄에? 그냥 호기심
mv
이동 대상이 될 마지막 인수를 제외한 모든 소스가됩니다 (여러 소스의 경우 폴더 여야 함).
/bin/mv: Argument list too long
위의 Rudu의 답변과 의견에서 취한 것을 명확하게하기 위해.
로 시작하는 파일을 포함하여 모든 내용을 이동해야하는 경우 (.htaccess, .git 등) 명령에 *와. *를 모두 포함해야합니다. 이렇게 :
mv subfolder/* subfolder/.* .
하위 폴더의 내용이 현재 폴더로 이동합니다. 마지막 "."앞의 공백에 유의하십시오.
mv: rename fake/. to ./.: Invalid argument
및mv: rename fake/.. to ./..: Invalid argument
다음과 같은 방법으로 가능합니다.
사용 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 쉘의 경우 필요합니다 [!.]
.
-v
, -u
, -a
과 -r
일을? AFAICT -v
는 장황하며, rsync 인쇄에 더 많은 정보를 제공합니다. -u
업데이트를 의미합니다-파일이 최신 인 경우에만 복사하십시오. 관련이없는 것 같습니다. -a
아카이브를 의미합니다. 그러면 파일의 소유자와 권한이 복사되고 동기화가 반복됩니다. -r
재귀를 의미하지만 이미 다룹니다 -a
.
-u
이미있는 데이터를 이동하는 데 추가 시간을 소비하지 않으려는 경우 (특히 느린 저장 장치의 경우) 유용합니다. 언급했듯이 가 제거되었으므로 제거 -r
했습니다 -a
.
mv foo/* foo/.[^.]* .
foo/..bar..
예를 들어 파일을 놓치게됩니다 . POSIX 쉘의 경우 필요합니다 [!.]
.
rsync -vua --delete-after foo/ .
현재 디렉토리에 이미 존재할 수있는 다른 모든 것을 삭제하는 것을 언급해야합니다 .
그냥 mv 명령을 실행
mv (directory)/* .
디렉토리를 삭제하려면 다음을 추가하십시오.
rm -rf (directory)
(디렉토리)의 상위 디렉토리에 있다고 가정
(디렉토리) 안에 있다면
mv * ../
.DS_store
macOS 의 유비쿼터스와 같이 숨겨진 파일이있을 수 있습니다 . mv
위 의 명령은 dotglob
설정 없이 이동하지 않습니다 .
공유 서버를 사용하는 사람들은 다음과 같은 것을 사용해야합니다
파일을 이동하려면
mv -v ~/public_html/public_html/* ~/public_html/
파일을 복사하려면
cp -a ~/public_html/public_html/* ~/public_html/
.*
뿐만 아니라*
아카이브가 점 파일을 포함합니다. 또한 마지막에`&& rmdir myfolder`를 추가하여 현재 불필요한 폴더를 제거하십시오. 이것은 mv가 성공을 리턴 할 때만 실행되고 rmdir이 비어 있지 않은 디렉토리를 제거하지 않기 때문에 실행되기 때문에 저장됩니다.