Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

เชี่ยวชาญคำสั่ง Linux 'touch': สร้างและอัปเดต File Timestamps พร้อมตัวอย่างปฏิบัติจริง

คำสั่ง touch ใน Linux อัปเดต timestamps บนไฟล์ หรือสร้างไฟล์หากไม่มีอยู่ ดูตัวอย่างและ use cases ด้านล่าง

มันดูไร้ประโยชน์ แต่จริงๆ มีประโยชน์ เช่น หากต้องการสร้างไฟล์ว่างชื่อ my_file.txt ให้รัน:

touch my_file.txt

ง่าย!

การอัปเดต timestamps ของไฟล์ก็มีประโยชน์เช่นกัน

สมมติคุณมีไฟล์ favorite_tv.txt ที่เก็บชื่อรายการ TV โปรดปัจจุบัน

รายการโปรด 10 ปีก่อนคือ The Flintstones และยังคงเป็นโปรด มันไม่เปลี่ยน แต่ timestamp ของไฟล์แสดงว่ามันถูก edit 10 ปีก่อน ใครดูอาจคิดว่ามันไม่ใช่โปรดแล้ว

โดยการรัน:

touch favourite_tv.txt

… เนื้อหาไฟล์คงเดิม แต่ใครดู timestamps จะเห็นว่า The Flintstones ยังคงเป็นโปรด เพราะ modification timestamp ใหม่

touch Syntax

touch [OPTIONS] file1 [file2 file3...]

โปรดทราบว่า:

  • สามารถส่ง path ไฟล์ได้หนึ่งหรือหลายไฟล์
  • Optional OPTIONS ส่งได้ – ดูตารางด้านล่างสำหรับตัวทั่วไป
  • โดย default touch จะ update ทั้ง access และ modification times ของไฟล์ที่ระบุ

ตัวเลือก (Options)

-aเปลี่ยนแค่ access time
-cอย่าสร้างไฟล์ใหม่
-mเปลี่ยนแค่ modification time
-d DATEใช้ DATE แทนเวลาปัจจุบัน DATE เป็น date/time ในรูปแบบที่ parse ได้
-hกระทบ symbolic link เอง แทนที่จะเป็น referenced file

สำหรับตัวเลือกและรายละเอียดเพิ่มเติม ดู touch manual โดยรัน:

man touch

ตัวอย่าง touch

การสร้างไฟล์ใหม่หรืออัปเดท access และ modification timestamps ครอบคลุมไปแล้วข้างต้น – นี่คือตัวอย่างเพิ่มเติมใช้ตัวเลือกด้านบน

เพื่อยืนยันการเปลี่ยนแปลงจากตัวอย่างด้านล่าง สามารถรัน:

stat 

เปลี่ยนแค่ Access Time

touch -a my_file.txt

เปลี่ยนแค่ Modification Time

touch -m my_file.txt

ตั้งค่า Date/Time เฉพาะ

touch -d '17 March 2021 10:26' my_file.txt

Symbolic Links

โดย default touch จะ operate บนไฟล์ที่ถูกอ้างอิงโดย symbolic link แทนที่จะบน link เอง เพื่อเปลี่ยนและอัปเดต timestamps ของ link ใช้ตัวเลือก -h:

touch -h my_symbolic_link