Jika saya menyalin beberapa file dari satu tempat ke tempat lain menggunakan cp
, cap waktu pada file yang disalin diatur ke waktu salinan.
Apakah ada cara untuk menghindari ini?
Saya perlu menyalin file tanpa mengubah stempel waktu mereka.
cp -p
lakukan triknya. Untuk Linux :
-p
sama dengan--preserve=mode,ownership,timestamps
-p
Penyebab cp untuk mempertahankan atribut berikut dari setiap file sumber dalam salinan: waktu modifikasi, waktu akses, flag file, mode file, ACL, ID pengguna, dan ID grup, sebagaimana diizinkan oleh izin.
Dan untuk OS X :
-p
Penyebab cp untuk mempertahankan atribut berikut dari setiap file sumber dalam salinan: waktu modifikasi, waktu akses, flag file, mode file, ID pengguna, dan ID grup, sebagaimana diizinkan oleh izin. Daftar Kontrol Akses (ACL) dan Atribut yang Diperpanjang (EA), termasuk garpu sumber daya, juga akan dipertahankan.
cp -p
tidak hanya mempertahankan cap waktu tetapi juga mode dan kepemilikan dan pada FreeBSD selain waktu modifikasi itu juga mempertahankan »waktu akses, flag file, mode file, ACL, ID pengguna, dan ID grup, sebagaimana diizinkan berdasarkan izin. «dan pada OS X tambahan» Atribut Diperpanjang, termasuk garpu sumber daya «.Saat menggunakan
cp
dari GNU Coreutils , untuk mempertahankan hanya stempel waktu dan bukan atribut seperti id pengguna, id grup atau mode file ada tugas lama--preserve
yang memungkinkan untuk secara eksplisit menentukan daftar atribut yang harus dipertahankan.Ketahuilah bahwa sintaks ini mungkin tidak didukung pada Unix lain. Alternatifnya adalah menggunakan
--times
parameterrsync
yang harus tersedia pada sebagian besar instalasi.sumber
-p
bukanlah jawaban yang benar.-p
mempertahankan kepemilikan & mode juga. Yang mungkin tidak diinginkan .. dan tidak ditanyakan.Ada tiga kali pada sistem file Unix, waktu akses (atime), waktu modifikasi (mtime), dan waktu perubahan inode (ctime). Anda dapat mengubah waktu akses dan waktu modifikasi dengan program sentuh, misalnya
Namun, Anda tidak dapat mengubah waktu perubahan inode.
sumber
Saya baru-baru ini perlu melakukan sesuatu yang serupa tetapi menggunakan symlink sebagai gantinya. Untuk membuat symlink dan menyimpan stempel waktu orignal:
cp -ps src_file dst_symlink
sumber