it-swarm.dev

폴더 내용을 한 수준 위로 이동

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

143
whatshakin

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

mv myfolder/* .

예를 들어 데이터가 /home/myuser/myfolder 그런 다음 /home/myuser/ 명령을 실행하십시오.

212
Rudu

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

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

 mv subfolder/* subfolder/.* .

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

29
Richard

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

  • rsync 사용 :

    rsync -vua --delete-after foo/ .
    
  • cprmdir 사용 :

    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 쉘의 경우 [!.].

16
kenorb

그냥 mv 명령을 실행

mv (directory)/* .

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

rm -rf (directory)

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

(디렉토리) 안에 있다면

mv * ../
7
Ranjith Siji

나는 짧은 손 명령 하나

cp */* .

이것은 모든 하위 폴더 내용을 레벨 업 할 때 물론 복사 할 수 있습니다.

mv */* .

새로운 팽배를 할당

cp */* /destination 
1
Mohammed Omer

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

파일을 이동하려면

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

파일을 복사하려면

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

0
Ricardo Havoc