touchmembuat file kosong baru jika file itu tidak ada karena itu yang dirancang untuk dilakukan. Utilitas harus berisi kode untuk menangani kasus itu secara khusus. Utilitas muncul di Unix V7 ; -nya pengguna menggambarkannya demikian:
sentuh - tanggal pembaruan terakhir dimodifikasi dari suatu file
touchmencoba mengatur tanggal yang dimodifikasi dari setiap file . Ini dilakukan dengan membaca karakter dari file dan menuliskannya kembali. Jika file ** * tidak ada, upaya akan dilakukan untuk membuatnya kecuali -copsi tersebut ditentukan.
(Saya tidak tahu apa yang touchterjadi jika file itu kosong. Panggilan sistem yang mendasarinya datang kemudian.)
Saya tidak tahu pasti mengapa touchdirancang untuk membuat file itu ada, tetapi saya menduga itu karena make. Mengapa Anda ingin mengatur waktu modifikasi file ke waktu saat ini? Ada kasus di mana itu bisa berguna untuk mengatur waktu modifikasi ke waktu tertentu, tetapi kemampuan itu datang kemudian, yang asli touchhanya bisa mengatur waktu modifikasi ke waktu saat ini. Alasan untuk melakukan itu adalah untuk menjalankan kembali amake aturan yang bergantung pada file.
Artinya, misalkan Anda memiliki file foo, dan makefile yang menyatakan perintah untuk menghasilkan bardari foo. Saat Anda mengetik make bar, perintah dijalankan dan bardibuat. Jika barada dan lebih baru daripada foo, make bartidak melakukan apa-apa, karena makemenganggap bahwa barsudah dibuat. Namun, jika barlebih tua dari foo, buat berpikir itubar tidak mutakhir dan perlu diperbarui.
Tetapi bagaimana jika aturan untuk menghasilkan bartelah berubah? Maka Anda memiliki dua opsi:
rm bar; make bar
touch foo; make bar
Anda harus fooada untuk menghasilkanbar , jika tidak perintah biasanya tidak akan berfungsi.
Terminologi "sentuh" juga ada dalam makeutilitas: make -t barhanya akan berpura-pura menjalankan perintah, yaitu, itu akan mengatur waktu modifikasi barke waktu saat ini tanpa benar-benar menjalankan perintah untuk menghasilkan bar(Anda akan melakukan ini jika Anda berpikir bahwa perubahan yang fooseharusnya tidak mempengaruhi bar). The touchutilitas karena itu versi standalone dari make -tfitur.
touch /forcefsckuntuk membuat file kosong yang dipanggil/forcefsckuntuk memaksa sistem file untuk diperiksa kesalahan pada reboot berikutnya. File itu sendiri tidak perlu mengandung apa pun, hanya perlu ada. Tanpatouch, saya harus menggunakanviataunanomenyimpan file kosong. Jauh lebih cepat digunakantouch.