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.
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.
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.
Đ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 cp
và rmdir
:
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 shopt
và man 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 [!.]
.
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 * ../
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
đố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/