Thật là buồn cười, có rất nhiều cách mà các công cụ dòng lệnh Linux vượt trội hơn rất nhiều so với các công cụ Windows, nhưng có một điều tôi chưa tìm thấy tương đương với bản sao chép . Robocopy linh hoạt hơn nhiều so với cp
và tôi không thể tìm ra cách thực hiện những gì tôi muốn với các công cụ Linux.
Một trường hợp sử dụng cụ thể là tôi có hai thư mục với hầu hết các tệp tương tự nhau, nhưng một có tệp nguồn mới hơn và một có tệp nội dung mà thư mục kia không có và có thể là tệp nguồn mới hơn (cho trang web). Tôi muốn sao chép các tệp từ thư mục sau vào thư mục cũ, thêm các tệp nội dung mới, nhưng không ghi đè lên các tệp mới hơn trong thư mục đích.
Tôi đã cố gắng tìm ra cách để làm điều này trong Linux trong khoảng nửa giờ, quyết định rằng tôi có thể phải học bash script hoặc một cái gì đó để làm những gì tôi muốn, và sau đó tôi nhận ra rằng tôi chỉ có thể sử dụng robocopy. Tôi cũng có một số yêu cầu khác. Về cơ bản, tôi đã chuyển đổi một trang web Python (Django) từ kho lưu trữ SVN sang kho lưu trữ Git và tôi muốn đảm bảo rằng tôi không có những thay đổi không được cam kết trong SVN. Tuy nhiên, tôi muốn loại trừ một cách có điều kiện các .svn
thư mục và các .pyc
tệp Python đã biên dịch. Lệnh robocopy sau đây thực hiện chính xác những gì tôi muốn:
robocopy source destination /XO /E /XD .svn /XF *.pyc
Có tương đương với Robocopy trong Linux không? Tôi đã xem xét rsync
ngắn gọn, nhưng có vẻ như tôi phải thiết lập máy chủ rsync trước khi thử đồng bộ hóa các thư mục.