Perintah sentuh di Linux
Perintah sentuh di Linux digunakan untuk mengubah stempel waktu file, namun salah satu penggunaan paling umum dari perintah sentuh termasuk membuat file kosong baru.
Dengan perintah sentuh, Anda dapat mengubah akses, memodifikasi, dan mengubah waktu file dan folder di Linux. Anda dapat memperbarui stempel waktu atau mengubahnya menjadi tanggal di masa lalu.
Sintaks untuk perintah sentuh cukup sederhana:
touch [option] file
Lagi-lagi, apa itu cap waktu file di Linux?
Saya telah menulis tentang cap waktu di Linux secara rinci dalam artikel sebelumnya. Saya akan merekomendasikan membacanya untuk pemahaman yang lebih baik dan lebih jelas. Demi mengingat dengan cepat, saya akan mencantumkan cap waktu di sini:
- waktu akses – terakhir kali file diakses
- modify time – terakhir kali file diubah
- ubah waktu – terakhir kali metadata file (izin file, kepemilikan, dll.) diubah
Anda dapat melihat stempel waktu file menggunakan perintah stat dengan cara berikut:
stat abhi.txt
File: abhi.txt
Size: 10 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11940163 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-09-02 14:12:24.476483367 +0530
Modify: 2018-09-02 14:12:24.476483367 +0530
Change: 2018-09-02 14:12:24.476483367 +0530
Birth: -
Perintah stat bahkan menunjukkan nomor inode file.
9 Contoh praktis perintah sentuh di Linux
Sekarang mari kita lihat cara menggunakan perintah sentuh dengan beberapa contoh sederhana namun bermanfaat.
1. Buat file kosong
Seperti yang saya sebutkan sebelumnya, ini adalah penggunaan perintah sentuh yang paling umum. Yang harus Anda lakukan adalah menggunakan sentuhan dengan nama file.
touch <filename>
Ini akan membuat file kosong jika file tersebut tidak ada.
touch empty_file
ls -l empty_file
-rw-r--r-- 1 abhishek abhishek 0 Sep 2 14:37 empty_file
Tapi bagaimana jika file tersebut sudah ada? Dalam hal ini, itu akan memperbarui ketiga stempel waktu file ke waktu saat ini.
2. Buat beberapa file kosong
Anda juga dapat menggunakan sentuhan untuk membuat lebih dari satu file kosong. Cukup berikan nama file yang ingin Anda buat.
touch <file1> <file2> <file3>
Jika menurut Anda menulis semua nama file melelahkan, Anda dapat membuat nama file secara otomatis dengan cara ini:
touch new-file-{1..10}.txt
Ini akan membuat new-file-1.txt, new-file-2.txt hingga new-file-10.txt.
3. Hindari membuat file dengan sentuhan jika tidak ada
Touch akan memperbarui stempel waktu file input jika ada dan akan membuat file kosong jika file input tidak ada.
Tetapi bagaimana jika Anda tidak ingin menyentuh untuk membuat file kosong baru? Anda ingin memperbarui stempel waktu file tetapi jika file tidak ada, file tersebut tidak boleh dibuat.
Anda dapat menggunakan perintah sentuh dengan opsi -c dalam kasus seperti ini:
touch -c <filename>
Ingat :Sentuh akan membuat file kosong baru jika tidak ada lagi, itu akan mengubah stempel waktu file yang ada. Anda dapat menghentikan pembuatan file baru dengan opsi -c.
4. Ubah semua stempel waktu file
Jika Anda menggunakan sentuhan pada file yang ada, itu akan mengubah akses, memodifikasi, dan mengubah waktu file itu.
Misalnya, saya memiliki file ini bernama sherlock.txt dengan stempel waktu berikut:
stat sherlock.txt
File: sherlock.txt
Size: 356 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11928277 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-08-25 09:44:56.092937000 +0530
Modify: 2018-08-09 09:41:05.028309000 +0530
Change: 2018-08-25 09:44:56.096937182 +0530
Jika saya menggunakan sentuhan pada perintah ini, semua stempel waktu akan diubah menjadi stempel waktu saat ini.
touch sherlock.txt
stat sherlock.txt
File: sherlock.txt
Size: 356 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11928277 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-09-02 15:22:47.017037942 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:22:47.017037942 +0530
Birth: -
Catatan:Anda tidak perlu direpotkan dengan ctime (perubahan waktu). Ini adalah properti sistem dan tidak dapat/tidak boleh dikontrol oleh pengguna. Fokus Anda harus pada akses dan modifikasi waktu.
5. Perbarui hanya waktu akses file
Anda mungkin tidak selalu ingin mengubah semua cap waktu file. Jika Anda hanya ingin mengubah waktu akses file, Anda dapat menggunakan opsi -a dengan sentuhan.
touch -a sherlock.txt
stat sherlock.txt
File: sherlock.txt
Size: 356 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11928277 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:29:08.796926093 +0530
Birth: -
6. Perbarui hanya ubah waktu file
Jika Anda hanya ingin memperbarui waktu modifikasi file ke stempel waktu saat ini, gunakan opsi -m dari perintah sentuh.
touch -m sherlock.txt
stat sherlock.txt
File: sherlock.txt
Size: 356 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11928277 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:31:25.770866881 +0530
Change: 2018-09-02 15:31:25.770866881 +0530
Birth: -
7. Gunakan stempel waktu file lain
Anda juga dapat menggunakan stempel waktu file lain sebagai referensi dengan opsi -r dengan cara berikut:
touch -r <source_file> <target_file>
Ini akan menyetel waktu akses dan modifikasi file target sama dengan waktu akses dan modifikasi file sumber.
8. Setel akses dan waktu modifikasi tertentu
Anda mungkin telah memperhatikan bahwa di hampir semua kasus (kecuali satu file referensi), stempel waktu diubah menjadi stempel waktu saat ini.
Tapi Anda tidak terikat dengan itu. Sentuh memungkinkan Anda untuk mengatur akses dan waktu modifikasi ke tanggal yang lalu atau yang akan datang. Anda dapat menggunakan opsi -t dan stempel waktu dalam format berikut:
[[CC]YY]MMDDhhmm[.ss]
- CC – Dua digit pertama dalam satu tahun
- YY – Dua digit kedua dalam satu tahun
- MM – Bulan dalam setahun (01-12)
- DD – Hari dalam sebulan (31-01)
- hh – Jam dalam sehari (00-23)
- mm – Menit dalam satu jam (00-59)
- ss – Detik (00-59)
Dalam kasus di atas, CC adalah opsional. Faktanya, CCYY juga opsional, itu akan membutuhkan tahun berjalan dalam kasus itu. Demikian pula, detik juga opsional, defaultnya adalah 00.
Mari saya tunjukkan sebuah contoh dengan mengubah stempel waktu menjadi 12021301 yaitu, bulan ke-12, hari kedua, jam ke-13 dan menit pertama tahun ini:
touch -t 12021301 agatha.txt
stat agatha.txt
File: agatha.txt
Size: 457 Blocks: 8 IO Block: 4096 regular file
Device: 10305h/66309d Inode: 11928279 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2018-12-02 13:01:00.000000000 +0530
Modify: 2018-12-02 13:01:00.000000000 +0530
Change: 2018-09-02 15:59:47.588680901 +0530
Birth: -
Jika Anda mencoba memasukkan tanggal yang tidak valid, Anda akan melihat kesalahan. Anda juga akan melihat bahwa waktu perubahan menggunakan stempel waktu saat ini, tidak sama dengan akses dan modifikasi. Itu karena itu milik sistem.
9. Ubah stempel waktu tautan simbolis
Anda juga dapat menggunakan perintah sentuh dengan tautan simbolik. Anda hanya perlu menggunakan opsi -h saat menangani tautan simbolik. Sisanya tetap sama seperti file biasa.
touch -h <symbolic_link>
Saya harap Anda menemukan contoh perintah sentuh ini di Linux bermanfaat. Jika Anda memiliki pertanyaan atau saran, beri tahu saya.