it-mot-dan-vi.com

Di chuyển nội dung thư mục lên một cấp

Tôi có một thư mục được giải nén, nhưng là trong một thư mục. Làm thế nào tôi có thể di chuyển nội dung lên một cấp? Tôi đang truy cập CentOS thông qua SSH.

143
whatshakin

Với thư mục có tên 'myfolder' và tăng một cấp trong phân cấp tệp (điểm bạn muốn đặt), lệnh sẽ là:

mv myfolder/* .

Vì vậy, ví dụ nếu dữ liệu nằm trong /home/myuser/myfolder sau đó từ /home/myuser/ chạy lệnh.

212
Rudu

Chỉ cần làm cho nó rõ ràng, lấy từ câu trả lời của Rudu ở trên, và các ý kiến.

Nếu bạn cần di chuyển tất cả các nội dung, BAO GỒM các tệp bắt đầu bằng a. (như .htaccess, .git, v.v.), bạn cần bao gồm cả * và. * trong lệnh của mình. Thích như vậy:

 mv subfolder/* subfolder/.* .

Điều đó sẽ di chuyển nội dung của thư mục con vào thư mục hiện tại của bạn. Lưu ý khoảng trắng trước dấu "." Cuối cùng.

29
Richard

Điều này là có thể với các phương pháp sau:

  • Sử dụng rsync:

    rsync -vua --delete-after foo/ .
    
  • Sử dụng cprmdir:

    cp -vaR foo/. . && rmdir foo/
    
  • Sử dụng tùy chọn mv (đã bật tùy chọn 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.
    

    ở đâu foo/ là thư mục của bạn có nội dung sẽ được di chuyển lên một cấp.

    Xem: help shoptman bash.

  • Sử dụng mv (như được đề xuất tại đây ):

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

    Lưu ý: Nó sẽ bỏ lỡ một tệp có tên foo/..bar...

    Lưu ý: Đối với đạn POSIX, bạn cần [!.].

16
kenorb

chỉ cần ra lệnh mv

mv (directory)/* .

nếu bạn muốn xóa thư mục thì thêm

rm -rf (directory)

Giả sử rằng bạn đang ở trong một thư mục mẹ của (thư mục)

Nếu bạn ở trong (thư mục) thì

mv * ../
7
Ranjith Siji

tôi có một lệnh tay ngắn

cp */* .

điều này sẽ sao chép tất cả nội dung của thư mục con khi lên cấp tất nhiên bạn có thể sử dụng di chuyển

mv */* .

hoặc chỉ định phân phối mới

cp */* /destination 
1
Mohammed Omer

đối với những người bạn trên một máy chủ được chia sẻ, bạn phải sử dụng một cái gì đó như thế này

Để di chuyển các tập tin

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

Để sao chép các tập tin

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

0
Ricardo Havoc