Làm cách nào để "sao chép" ngày và giờ sửa đổi từ tệp này sang thư mục khác trong các hệ thống dựa trên Unix?Cung cấp một tệp/thư mục cùng ngày sửa đổi với
8
A
Trả lời
14
Bạn có một số tùy chọn:
- Sử dụng
touch -t STAMP -m file
nếu bạn muốn thay đổi thời gian - Sử dụng
cp --preserve=timestamps
nếu bạn đang sao chép các tập tin và muốn giữ thời gian - Sử dụng
touch -r
để thiết lập thời gian tới tệp "tham chiếu"
0
Sử dụng touch
; nó chứa một số cờ tùy chọn cho phép bạn thiết lập các thuộc tính như vậy.
0
Nếu bạn đang sử dụng cp, hãy sử dụng tùy chọn -p để đặt trước đã mod lần. cp -p
1
Bạn có thể lấy dấu thời gian của tập tin nguồn sử dụng stat
ở định dạng timestamp unix và sau đó lan truyền nó vào file đích bằng touch -d
src_file=/foo/bar
dst_file=/bar/baz
touch -d @$(stat -c "%Y" "$src_file") "$dst_file"
Chú ý: Đây sẽ chỉ làm việc với GNU coreutils
mà hỗ trợ unix timestamp sử dụng tiền tố @
với touch
1
Để thuận tiện sau này, đưa dòng sau trong file .bashrc của bạn:
cptimestamp() {
if [ -z $2 ] ; then
echo "usage: cptimestamp <sourcefile> <destfile>"
exit
fi
touch -d @$(stat -c "%Y" "$1") "$2"
}
Thực thi "source ~/.bashrc" và bạn đã sẵn sàng. Thay vào đó, nếu bạn thích tập lệnh, hãy xóa dòng đầu tiên và cuối cùng - sau đó thêm "#!/Bin/sh"
Các vấn đề liên quan
- 1. NSDateFormatter dateFromString cung cấp ngày sai
- 2. trạng thái git - liệt kê ngày sửa đổi cuối cùng
- 3. chơi-framework nhận ngày cuối cùng sửa đổi cho file
- 4. So sánh một ngày tập sửa đổi với ngày hiện tại trong một tập tin batch
- 5. Ngày sửa đổi lần cuối của một thư mục trong OSX
- 6. Cung cấp giá trị Ngày giờ trong OData
- 7. Cung cấp các tệp lớn với PHP
- 8. Lấy ngày sửa đổi cuối cùng của một tập tin trong C
- 9. Cung cấp độ mờ giữa các ngày trên trục x
- 10. Danh bạ sửa đổi lần cuối ngày
- 11. JAX-RS Jackson Json Ngày Nhà cung cấp Định dạng Ngày phát hành
- 12. PHP sao chép tập tin mà không thay đổi ngày sửa đổi cuối cùng
- 13. Sự cố với FileExists và Ngày sửa đổi
- 14. Bộ sưu tập sửa đổi mục
- 15. Nhận ngày sửa đổi cuối cùng của các tệp trong thư mục bằng cách sử dụng PHP
- 16. Nhận ngày chỉnh sửa cuối cùng của tệp trong VB6
- 17. Cung cấp một bình đơn với dự án Maven
- 18. Tại sao việc nén cùng một nội dung hai lần cung cấp hai tệp với SHA1 khác nhau?
- 19. Hiển thị sửa đổi (tập tin mới và chỉnh sửa) từ một ngày cụ thể
- 20. Cung cấp xcodebuild với tệp .mobileprovision
- 21. Cung cấp nội dung Gzipped với Java Servlets
- 22. Cung cấp hình ảnh từ cùng một đường dẫn URL được định tuyến trong ASP.NET MVC
- 23. Visual Studio 2010: Không thể thay đổi mục tiêu. Cung cấp Lỗi TargetFrameworkMoniker
- 24. cung cấp dịch vụ giao diện mà không cung cấp
- 25. Nhận ngày sửa đổi tập tin trong VB.NET
- 26. Sử dụng GPS và Nhà cung cấp mạng cùng một lúc trong Android
- 27. Sửa đổi ZIndex của một mục trong một ItemsControl
- 28. Laravel: Triển khai và thư mục nhà cung cấp
- 29. Nhận ngày sửa đổi tập tin cuối cùng của các tệp dữ liệu ứng dụng?
- 30. Đu và sửa đổi cuối cùng
Điều này cho tôi biết cách áp dụng dấu cho một tệp cụ thể và sao chép tệp và giữ dấu thời gian. Nhưng nó không trả lời câu hỏi ban đầu của tôi về cách sao chép dấu thời gian từ một tệp có sẵn từ trước sang một tệp có sẵn khác ... – user2015453
@ user2015453 Tôi đã chỉnh sửa câu trả lời của mình, tôi đã nhớ về '-r' – cnicutar