เนื้อหาว่างของไฟล์ที่ระบุโดยไม่ต้องลบผ่าน Command Line
หากคุณทำงานในบรรทัดคำสั่งและต้องการล้างเนื้อหาของไฟล์อย่างรวดเร็ว คุณสามารถทำได้โดยใส่เครื่องหมายมากกว่าและเว้นวรรคหน้าชื่อไฟล์ที่ต้องการ
วิธีการล้างเนื้อหาของไฟล์จาก Command Line
เคล็ดลับในการลบเนื้อหาของไฟล์ในขณะที่รักษาไฟล์นั้นมีลักษณะดังต่อไปนี้:
> ชื่อไฟล์
วิธีการนั้นใช้ได้ใน bash และเชลล์อื่น ๆ อีกมากมาย แต่คุณสามารถใช้รูปแบบ echo ได้หากไม่ทำงานใน zsh หรือเชลล์อื่น สำหรับ zsh ให้ใช้สิ่งต่อไปนี้เพื่อล้างเนื้อหาของไฟล์จากบรรทัดคำสั่งโดยใช้ echo null และ redirection:
echo -n > ชื่อไฟล์
เนื้อหาทั้งหมดภายในไฟล์เป้าหมายจะถูกลบออกทันทีโดยไม่มีการเตือน ปล่อยว่างไว้ในขณะที่ยังคงรักษาการมีอยู่ของไฟล์ ชื่อไฟล์ และการอนุญาต ซึ่งมักจะดีกว่าและรวดเร็วกว่าการลบและสร้างไฟล์ใหม่ด้วยตนเอง
ตัวอย่างที่ใช้งานได้จริงสำหรับการล้างเนื้อหาของไฟล์บันทึก เช่น
> ~/Library/Logs/updates.log
หรือบรรลุผลเดียวกันกับการเปลี่ยนเส้นทางเสียงก้อง:
echo -n > ~/Library/Logs/updates.log
คุณยังสามารถใช้คำสั่งนี้เพื่อสร้างไฟล์ใหม่ขนาด 0 ไบต์ที่ตำแหน่ง คล้ายกับการใช้คำสั่งสัมผัส
คุณจะพบว่าสิ่งนี้มีประโยชน์อย่างยิ่งหากคุณต้องการคงสิทธิ์ของไฟล์ที่กำหนดไว้เหมือนเดิม แต่ต้องการเขียนทับเนื้อหา ซึ่งเป็นเหตุการณ์ทั่วไปที่เกิดขึ้นกับไฟล์บันทึกและรายการที่คล้ายกัน