Linux / Perintah / touch / Membuat file kosong dan mengubah waktu modifikasi terakhir
Di Linux, touch membuat file kosong jika belum ada, dan jika file sudah ada, secara default memperbarui waktu akses dan modifikasi ke waktu saat ini. Ini tidak menghapus isi file yang sudah ada, tetapi dapat memengaruhi pencadangan atau operasi build yang bergantung pada informasi waktu.
Membuat file kosong
Perintah berikut membuat file kosong di direktori saat ini jika example.txt tidak ada. Contoh-contoh selanjutnya didasarkan pada touch dan stat dari GNU coreutils. Jalankan mereka di direktori latihan kosong terpisah untuk menghindari mempengaruhi data yang sudah ada.
touch example.txt
ls -l example.txt
Sebuah file dengan ukuran 0 akan muncul di daftar. Jika file dengan nama yang sama sudah ada, ini tidak menimpanya dengan file kosong baru tetapi memperbarui waktu file yang ada. Jika nama mengandung spasi, bungkus dengan tanda kutip seperti touch "my notes.txt". Jika beberapa nama dicantumkan dipisahkan oleh spasi, masing-masing akan diproses.
Memeriksa dan Memperbarui Waktu File yang Ada
Waktu akses (atime) dari sebuah file berkaitan dengan akses terakhir, dan waktu modifikasi (mtime) berkaitan dengan modifikasi terakhir dari konten file. Secara default, touch example.txt mengatur kedua waktu tersebut ke waktu saat ini. Anda dapat memeriksa sebelum dan sesudah perubahan sebagai berikut.
stat example.txt
touch example.txt
stat example.txt
Bandingkan entri Access dan Modify dalam output stat. Bahasa output aktual dan format tampilan dapat bervariasi tergantung lingkungan, dan perbedaan dalam interval yang sangat singkat mungkin tidak terlihat karena resolusi waktu dari sistem file.
Waktu perubahan status (ctime) terkait dengan perubahan metadata seperti izin dan tidak sama dengan waktu pembuatan. Mengubah informasi waktu dengan touch juga bisa memperbarui ctime, tetapi Anda tidak bisa mengatur ctime ke nilai sembarangan atau mengubah waktu pembuatan. Apakah waktu akses diperbarui setiap membaca juga dipengaruhi oleh sistem file dan pengaturan mount. Anda dapat memeriksa arti masing-masing waktu di deskripsi waktu file GNU.
Mengubah Hanya Waktu Akses atau Waktu Modifikasi
-a hanya memilih waktu akses, dan -m hanya memilih waktu modifikasi. Berikut adalah contoh mengubah waktu modifikasi file latihan ke waktu saat ini dan memeriksa hasilnya.
touch -m example.txt
stat example.txt
-a memilih waktu akses, sedangkan -m memilih waktu modifikasi. Ini tidak berarti bahwa waktu perubahan status file akan dipertahankan. Jika file tidak ada, file kosong akan dibuat kecuali opsi terpisah ditentukan.
Gunakan waktu yang diinginkan atau waktu dari file lain
Anda dapat menentukan tanggal dan waktu dengan GNU touch -d. Contoh di bawah mengatur waktu akses dan modifikasi file latihan ke waktu yang ditentukan.
touch -d '2024-01-15 10:30:00' example.txt
stat example.txt
Jika zona waktu tidak ditentukan secara terpisah, itu akan ditafsirkan sesuai dengan variabel lingkungan TZ atau zona waktu sistem. Verifikasi bahwa waktu akses dan modifikasi output sesuai dengan nilai yang ditentukan. Nilai yang disimpan mungkin bervariasi tergantung pada rentang dan resolusi yang didukung sistem file.
Untuk menggunakan file lain sebagai referensi, gunakan -r. Berikut adalah contoh ketika reference.txt dan example.txt ada di direktori saat ini.
touch -r reference.txt example.txt
stat reference.txt example.txt
Atur waktu akses dan modifikasi file target ke nilai dari file referensi. Jika file referensi tidak ada, akan terjadi kesalahan, dan secara default, file kosong mungkin dibuat jika target tidak ada. Untuk opsi lebih rinci, lihat manual GNU touch.
Memperbarui hanya waktu tanpa membuat file
-c tidak membuat file baru jika file yang ditentukan tidak ada. Perintah berikut memperbarui waktu ke waktu saat ini jika file sudah ada, dan tidak membuatnya jika file tidak ada.
touch -c example.txt
Karena dapat selesai tanpa error bahkan ketika file tidak ada, jangan hanya menggunakan status keberhasilan dari perintah ini untuk memeriksa keberadaan file. Untuk membuat file baru, diperlukan izin tulis untuk direktori induk, dan izin untuk mengubah waktu file yang ada tergantung pada pemilik dan waktu yang ingin Anda atur. Jika terjadi error, periksa jalur dan izin.




