Có lẽ xem xét sử dụng một phương pháp dòng lệnh thuần túy để chuyển số lượng tệp rất lớn, bạn chắc chắn sẽ thấy quá trình này nhanh hơn đáng kể so với sử dụng gui.
Có nhiều cách khác nhau để thực hiện điều này, nhưng cách sau đây hoạt động nhanh chóng, an toàn và hiệu quả trên hệ thống của tôi:
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Một số giải thích cho lệnh này:
- Thư mục đầu vào của bạn là '.' ký tự và đối với lệnh cụ thể này, bạn cần có trong thư mục đó
- Thư mục đầu ra của bạn là
<destination>
ví dụ của tôi. Rõ ràng sửa đổi điều này cho phù hợp với nhu cầu của riêng bạn và bỏ qua dấu ngoặc.
- Cú pháp này cho phép tên tệp có dấu cách là phần thưởng :)
Hoán vị vô tận là có thể nhưng điều này sẽ hoạt động tốt và hiệu quả hơn nhiều so với gui. Một hoán vị ví dụ: nếu bạn muốn di chuyển duy nhất file pdf bạn có thể chạy:
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Sử dụng xargs
mở ra nhiều khả năng đặc biệt với sự di chuyển của một số lượng lớn các tệp như vậy. Nhiều, nhiều khả năng ....
Vấn đề tiềm ẩn:
Có ít nhất 2 cạm bẫy tiềm tàng để suy ngẫm, nhờ những người bình luận bên dưới cho những suy nghĩ này:
- Thư mục đích của bạn có thể bị hỏng, ở một vị trí không thể truy cập sau đó, bị nhập sai, v.v.
mv
vẫn sẽ di chuyển các tệp ở đó! Hãy cẩn thận ở đây ...
- Nếu
-t
tùy chọn ( --target-directory
) bị thiếu và thư mục đích thực sự là một tệp bạn sẽ di chuyển một tệp và thất bại trên phần còn lại. mv
có 2 cách sử dụng: đổi tên nguồn thành đích hoặc di chuyển nguồn vào thư mục . Một lần nữa hãy cẩn thận ...
cp -R SRC/ DEST/
)