폴더 내용을 한 수준 위로 이동 컨텐츠를 한

압축이 풀린 폴더가 있지만 폴더에 있습니다. 컨텐츠를 한 레벨 위로 올리려면 어떻게해야합니까? SSH를 통해 CentOS에 액세스하고 있습니다.



답변

‘myfolder’라는 폴더와 파일 계층 구조에서 원하는 수준으로 올리면 명령은 다음과 같습니다.

mv myfolder/* .

예를 들어 데이터가있는 경우 명령 /home/myuser/myfolder/home/myuser/실행하십시오.


답변

위의 Rudu의 답변과 의견에서 취한 것을 명확하게하기 위해.

로 시작하는 파일을 포함하여 모든 내용을 이동해야하는 경우 (.htaccess, .git 등) 명령에 *와. *를 모두 포함해야합니다. 이렇게 :

 mv subfolder/* subfolder/.* .

하위 폴더의 내용이 현재 폴더로 이동합니다. 마지막 “.”앞의 공백에 유의하십시오.


답변

다음과 같은 방법으로 가능합니다.

  • 사용 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 shoptman bash.

  • 사용 mv( 여기 에서 제안 된대로 ) :

    mv foo/* foo/.[^.]* . && rmdir foo/

    참고 :라는 파일이 없습니다 foo/..bar...

    참고 : POSIX 쉘의 경우 필요합니다 [!.].


답변

그냥 mv 명령을 실행

mv (directory)/* .

디렉토리를 삭제하려면 다음을 추가하십시오.

rm -rf (directory)

(디렉토리)의 상위 디렉토리에 있다고 가정

(디렉토리) 안에 있다면

mv * ../


답변

공유 서버를 사용하는 사람들은 다음과 같은 것을 사용해야합니다

파일을 이동하려면

mv -v ~/public_html/public_html/* ~/public_html/

파일을 복사하려면

cp -a ~/public_html/public_html/* ~/public_html/


답변