Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

แตะคำสั่งใน Linux และ Bash [พร้อมตัวอย่าง]

การ สัมผัส คำสั่งใน Linux จะอัปเดตการประทับเวลาในไฟล์หรือสร้างไฟล์หากไม่มีอยู่ ดูตัวอย่างและกรณีการใช้งานด้านล่าง

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

touch my_file.txt

ง่าย!

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

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

รายการโปรดของคุณเมื่อ 10 ปีที่แล้วคือ The Flintstones และยังคงเป็น มันไม่ได้เปลี่ยนไป แต่การประทับเวลาสำหรับไฟล์นี้แสดงว่ามีการแก้ไขครั้งล่าสุดเมื่อ 10 ปีที่แล้ว ใครที่ดูไฟล์นั้นอาจไม่รู้ว่ายังเป็นรายการโปรดของคุณอยู่

โดยการวิ่ง:

touch favourite_tv.txt

… เนื้อหาของไฟล์จะไม่มีการเปลี่ยนแปลง แต่ใครก็ตามที่ดูการประทับเวลาจะเห็นว่า The Flintstones ยังคงเป็นรายการโปรดของคุณ เนื่องจาก การดัดแปลง การประทับเวลาล่าสุด

สัมผัสไวยากรณ์

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

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

  • สามารถระบุเส้นทางไฟล์ได้ตั้งแต่หนึ่งเส้นทางขึ้นไป
  • มีตัวเลือก OPTIONS ให้เลือก – ดูตารางด้านล่างสำหรับตัวเลือกทั่วไป
  • โดยค่าเริ่มต้น แตะ จะอัปเดตทั้ง การเข้าถึง และ การปรับเปลี่ยน ครั้งของไฟล์ที่ระบุไว้

ตัวเลือก

-a เปลี่ยนเฉพาะเวลาเข้าใช้งาน
-c ห้ามสร้างไฟล์ใดๆ
-m เปลี่ยนเฉพาะเวลาแก้ไข
-d วันที่ ใช้ DATE แทนเวลาปัจจุบันโดยที่ DATE เป็นวันที่/เวลาในสตริงที่แยกวิเคราะห์ได้
-h ส่งผลกระทบแต่ละลิงก์สัญลักษณ์แทนไฟล์อ้างอิง

สำหรับตัวเลือกและรายละเอียดเพิ่มเติม คุณสามารถดูสัมผัส คู่มือโดยเรียกใช้:

man touch

สัมผัสตัวอย่าง

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

เพื่อยืนยันการเปลี่ยนแปลงที่ทำโดยตัวอย่างด้านล่าง คุณสามารถเรียกใช้:

stat <file-name>

เปลี่ยนเฉพาะเวลาเข้าใช้งาน

touch -a my_file.txt

เปลี่ยนเฉพาะเวลาปรับเปลี่ยน

touch -m my_file.txt

การตั้งค่าวันที่/เวลาเฉพาะ

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

ลิงค์สัญลักษณ์

โดยค่าเริ่มต้น แตะ จะดำเนินการกับไฟล์ที่อ้างอิงโดย ลิงก์สัญลักษณ์ มากกว่าที่ลิงค์เอง หากต้องการเปลี่ยนแปลงและอัปเดตการประทับเวลาของลิงก์ ให้ใช้ -h ตัวเลือก:

touch -h my_symbolic_link