GNU/Linux >> Belajar Linux >  >> Linux

Stempel Waktu File Linux Dijelaskan Dengan Contoh

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.


Linux
  1. Urutkan Perintah di Linux dengan Contoh

  2. Cara menggunakan perintah Vmstat di Linux dijelaskan dengan contoh

  3. Stempel Waktu File di Linux:atime, mtime, ctime Dijelaskan

  1. Perintah potong Linux Dijelaskan dengan 6 Contoh

  2. 10 Perintah Cepat Linux Tail dengan Contoh

  3. Perintah Traceroute Linux, Dijelaskan dengan Contoh

  1. Perintah cksum Linux dijelaskan untuk pemula (dengan contoh)

  2. Perintah Linux ldd Dijelaskan dengan Contoh

  3. Perintah Tail Linux dengan Contoh