Tutorial ini menjelaskan jenis stempel waktu file Linux dan cara melihat dan mengubah stempel waktu file menggunakan touch
perintah dengan contoh.
Pengantar singkat tentang stempel waktu file Linux
Di Linux dan Unix pada umumnya, setiap file memiliki tiga jenis timestamp yaitu atime (waktu akses), mtime (waktu modifikasi) dan waktu (perubahan waktu). Sesuai dengan namanya, timestamps digunakan untuk mengetahui kapan suatu file diakses, dimodifikasi, dan diubah.
Waktu akses (atau singkatnya atime) cap waktu adalah terakhir kali file dibaca. Misalnya, Anda mungkin telah membuka file. File mungkin telah diakses oleh beberapa program lain atau mesin jarak jauh. Anda mungkin telah membaca konten file menggunakan perintah (mis. cat
perintah), atau program (mis. gedit, vim, dll.). File tidak diedit atau dimodifikasi. Itu hanya diakses oleh Anda atau pengguna lain dari sistem jarak jauh.
Stempel waktu waktu modifikasi (atau mtime) menunjukkan kapan terakhir kali file (atau direktori) dimodifikasi. Dengan kata lain, mtime menunjukkan waktu isi file telah diubah. Misalnya, Anda mungkin telah menambahkan sesuatu dalam file atau menghapus sesuatu dari file, atau mungkin telah mengubah konten file.
Stempel waktu waktu perubahan (atau waktu) menunjukkan terakhir kali konten file atau metadata file (yaitu atribut file, seperti kepemilikan file, izin file, atau grup) diubah.
Singkatnya,
- atime - menunjukkan waktu terakhir akses ke file untuk membaca konten.
- mtime - menunjukkan waktu terakhir modifikasi untuk mengarsipkan konten.
- ctime - menunjukkan waktu perubahan terakhir untuk mengarsipkan konten atau metadata file (pemilik, grup, atau izin).
Stempel waktu dapat membantu dalam berbagai situasi. Berikut adalah beberapa kasus penggunaan untuk stempel waktu:
- Menemukan dan mengurutkan file berdasarkan akses atau waktu modifikasi.
- Menemukan dan menghapus file yang lebih lama dari X hari. Berguna untuk membersihkan file lama di hard drive Anda.
- Periksa kapan file konfigurasi diubah.
- Memverifikasi apakah file telah diakses.
- Memverifikasi apakah direktori telah diperbarui.
- Menemukan file yang lebih lama atau lebih baru dari X hari.
Lihat stempel waktu file Linux dengan stat
dan ls
perintah
Kita dapat melihat stempel waktu file di Linux menggunakan stat
memerintah. Menurut halaman manual, stat
perintah menampilkan status file atau sistem file di Linux. Perintah stat adalah bagian dari GNU Coreutils
, jadi jangan repot-repot menginstalnya.
Sekarang, mari kita periksa stempel waktu dari file teks bernama ostechnix.txt
menggunakan stat
perintah:
$ stat ostechnix.txt
Contoh keluaran:
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:31:01.484504149 +0530
Modify: 2020-11-11 17:31:01.484504149 +0530
Change: 2020-11-11 17:31:01.484504149 +0530
Birth: -
Tiga baris terakhir pada output di atas menunjukkan waktu akses, waktu modifikasi, dan stempel waktu perubahan masing-masing. Saat kita baru saja membuat file baru, semua stempel waktunya sama.
Apakah Anda memperhatikan baris "Birth:
" di akhir output? Ini menunjukkan stempel waktu pembuatan file. Standar POSIX tidak menentukan stempel waktu untuk pembuatan file. Beberapa sistem file (mis. ext4, JFS, Btrfs) menyimpan nilai ini, tetapi saat ini tidak ada API kernel Linux untuk mengaksesnya. Jadi, kita melihat tanda hubung "-" alih-alih stempel waktu di baris "Birth:".
Anda juga bisa mendapatkan stempel waktu atime, mtime, dan ctime satu per satu menggunakan ls
perintah.
Untuk melihat stempel waktu waktu modifikasi (mtime), gunakan ls -l
perintah:
$ ls -l ostechnix.txt
-rw-rw-r-- 1 sk sk 21 Nov 11 17:31 ostechnix.txt
Untuk melihat stempel waktu perubahan waktu (ctime), jalankan ls -lc
perintah:
$ ls -lc ostechnix.txt
-rw-rw-r-- 1 sk sk 21 Nov 11 17:31 ostechnix.txt
Di sini, c
flag digunakan untuk menampilkan waktu perubahan terakhir pada metadata file atau atribut file.
Lihat cap waktu waktu akses (atime) dengan ls -lu
perintah:
$ ls -lu ostechnix.txt
-rw-rw-r-- 1 sk sk 21 Nov 11 17:31 ostechnix.txt
Di sini, u
flag menampilkan waktu akses terakhir ke file.
Ubah stempel waktu file Linux dengan touch
perintah
touch
perintah digunakan untuk mengubah cap waktu file serta membuat file kosong baru di Linux. Sama seperti stat
perintah, touch
perintah juga merupakan bagian dari GNU coreutils
, jadi Anda juga tidak perlu menginstalnya.
Sebelum mengubah stempel waktu, mari kita dapatkan stempel waktu saat ini dari file bernama ostechnix.txt
untuk referensi:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:31:01.484504149 +0530
Modify: 2020-11-11 17:31:01.484504149 +0530
Change: 2020-11-11 17:31:01.484504149 +0530
Birth: -
Seperti yang Anda lihat pada output di atas, file ostechnix.txt
diakses. diubah dan diubah pada tanggal dan waktu yang sama yaitu 11 November 2020 pukul 17:31:01.
Mari kita ubah stempel waktu file ini menggunakan touch
perintah seperti di bawah ini:
$ touch ostechnix.txt
Perintah di atas akan mengubah semua cap waktu (yaitu atime, mtime dan ctime) ke waktu komputer Anda saat ini.
Sekarang mari kita lihat cap waktu file dengan stat
perintah:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:39:59.430610787 +0530
Modify: 2020-11-11 17:39:59.430610787 +0530
Change: 2020-11-11 17:39:59.430610787 +0530
Birth: -
Lihat? Semua stempel waktu telah diubah ke waktu sistem saya saat ini, yaitu 2020-11-10 17:51:02
.
Dimungkinkan juga untuk mengubah stempel waktu individual secara terpisah. Misalnya, Anda hanya dapat mengubah cap waktu waktu akses (atime) dengan -a
bendera:
$ touch -a ostechnix.txt
Perintah di atas akan menyetel stempel waktu akses ke waktu saat ini.
Sekarang, periksa stempel waktu ostechnix.txt
file dengan stat
perintah:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:43:46.555428706 +0530
Modify: 2020-11-11 17:39:59.430610787 +0530
Change: 2020-11-11 17:43:46.555428706 +0530
Birth: -
Seperti yang Anda lihat pada output di atas, waktu akses diubah menjadi waktu saat ini. Waktu perubahan juga diperbarui.
Untuk mengubah hanya stempel waktu modifikasi (mtime), gunakan -m
bendera:
$ touch -m ostechnix.txt
Verifikasi apakah mtime telah berubah dengan stat
perintah:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:43:46.555428706 +0530
Modify: 2020-11-11 17:47:17.577722187 +0530
Change: 2020-11-11 17:47:17.577722187 +0530
Birth: -
Sekarang stempel waktu mtime dan ctime berubah sementara atime tetap seperti apa adanya.
Seperti yang mungkin Anda perhatikan ketika kami mengubah waktu akses atau waktu modifikasi, waktu juga akan diperbarui.
Jika Anda ingin mengubah stempel waktu atime dan mtime secara bersamaan, gunakan -d
pilihan.
$ touch -d "2020-11-11 17:50:01" ostechnix.txt
Verifikasi apakah cap waktu atime dan mtime telah diubah atau tidak dengan stat
perintah:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:50:01.000000000 +0530
Modify: 2020-11-11 17:50:01.000000000 +0530
Change: 2020-11-11 17:51:17.024213698 +0530
Birth: -
Kami sekarang telah mengatur waktu akses dan waktu modifikasi ke waktu tertentu yaitu 2020-11-11 17:50:01
. Dan stempel waktu ctime juga diperbarui ke waktu saat ini.
Dimungkinkan juga untuk menggunakan stempel waktu tertentu alih-alih waktu saat ini dengan -t
tandai juga:
$ touch -t 2011111754 ostechnix.txt
Perintah ini akan menyetel cap waktu atime dan mtime ke 2020-11-11 17:54:00
. Verifikasi dengan stat
perintah seperti di bawah ini:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:54:00.000000000 +0530
Modify: 2020-11-11 17:54:00.000000000 +0530
Change: 2020-11-11 17:56:20.844405239 +0530
Birth: -
Seperti yang sudah dinyatakan, ctime akan diperbarui ketika atime dan mtime diubah. Jika Anda hanya ingin mengubah stempel waktu ctime, tidak ada tanda khusus di touch
memerintah. Jadi, Anda perlu mengubah waktu secara manual dengan memodifikasi metadata file atau atribut file. Misalnya, saya akan menetapkan izin yang dapat dieksekusi ke ostchnix.txt
file dengan chmod
perintah:
$ chmod +x ostechnix.txt
Periksa apakah ctime mendapat pembaruan dengan stat
perintah:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0775/-rwxrwxr-x) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 17:54:00.000000000 +0530
Modify: 2020-11-11 17:54:00.000000000 +0530
Change: 2020-11-11 17:57:21.022720776 +0530
Birth: -
Lihat? Stempel waktu ctime berubah tetapi waktu atime dan mtime tidak. Karena file tidak diakses tidak diubah. Saya hanya mengubah izin file.
Ubah stempel waktu file dengan melihat atau mengakses atau memodifikasi file
Seperti yang sudah dinyatakan, cap waktu atime akan berubah ketika kita mengakses file untuk dibaca. Coba akses file untuk dibaca menggunakan cat
perintah dan lihat apa yang terjadi.
$ cat ostechnix.txt
This is a text file.
Sekarang periksa apakah cap waktu waktu akses diperbarui:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 21 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0775/-rwxrwxr-x) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 18:00:16.005323521 +0530
Modify: 2020-11-11 17:54:00.000000000 +0530
Change: 2020-11-11 17:57:21.022720776 +0530
Birth: -
Lihat? Nilai waktu telah berubah sekarang.
mtime diperbarui saat kami menambahkan atau menghapus data dari file.
Izinkan saya menambahkan baris di ostechnix.txt
berkas:
$ echo "modify this file" >> ostechnix.txt
Periksa stempel waktu file:
$ stat ostechnix.txt
File: ostechnix.txt
Size: 38 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 4351679 Links: 1
Access: (0775/-rwxrwxr-x) Uid: ( 1000/ sk) Gid: ( 1000/ sk)
Access: 2020-11-11 18:00:16.005323521 +0530
Modify: 2020-11-11 18:01:49.072771458 +0530
Change: 2020-11-11 18:01:49.072771458 +0530
Birth: -
Karena isi file berubah, mtime dan ctime keduanya berubah.
Ubah stempel waktu tautan simbolik
Secara default, jika Anda menggunakan touch
perintah pada tautan simbolik (atau symlink), ini juga akan mengubah stempel waktu file yang direferensikan.
Jika Anda hanya ingin mengubah stempel waktu symlink, gunakan -h
, (--no-dereference
) pilihan:
$ touch -h <path-to-symlink>
[Tips Bonus] Salin stempel waktu dari file lain
Perintah sentuh memiliki opsi yang disebut -r, (--reference=)
yang memungkinkan Anda menyalin stempel waktu dari satu file ke file lainnya.
Perintah berikut akan menyalin stempel waktu file1 ke file2.
$ touch -r file1.txt file2.txt
Untuk detail lebih lanjut, lihat halaman manual stat
dan touch
perintah:
$ man stat
$ man touch
Kesimpulan
Dalam panduan ini, kita telah membahas tiga jenis stempel waktu file Linux yaitu atime, mtime dan ctime, cara melihat stempel waktu file menggunakan stat
dan ls
perintah dan akhirnya bagaimana mengubah stempel waktu file tersebut dengan touch
memerintah. Semoga membantu.