ฉันใช้งานเชลล์สคริปต์ที่กำลังเขียนลงไฟล์
สคริปต์นี้อาจใช้เวลานานในการทำให้เสร็จสมบูรณ์และฉันต้องการตรวจสอบผลลัพธ์บางส่วนแทนที่จะรอให้สคริปต์ทำงานเสร็จ
จะปลอดภัยไหมที่จะเปิด (ดับเบิลคลิก) ไฟล์ที่เขียนด้วยสคริปต์?
ฉันใช้งานเชลล์สคริปต์ที่กำลังเขียนลงไฟล์
สคริปต์นี้อาจใช้เวลานานในการทำให้เสร็จสมบูรณ์และฉันต้องการตรวจสอบผลลัพธ์บางส่วนแทนที่จะรอให้สคริปต์ทำงานเสร็จ
จะปลอดภัยไหมที่จะเปิด (ดับเบิลคลิก) ไฟล์ที่เขียนด้วยสคริปต์?
คำตอบ:
การอ่านไฟล์นั้นปลอดภัยแม้ว่าการคลิกสองครั้งที่คุณกล่าวถึงอาจเป็นการเปิดไฟล์ในตัวแก้ไขบางตัวที่จะเสนอตัวเลือกให้คุณทำการเปลี่ยนแปลงและบันทึก Missclicks เกิดขึ้นดังนั้นฉันขอแนะนำคำสั่งที่ไม่ยอมให้คุณเปลี่ยนไฟล์
เหล่านี้เป็นตัวอย่างที่ทำงานใน terminal; พวกเขาจะอ่านไฟล์เท่านั้น:
cat file
less file
less +F file
tail -n 5 file
tail -f file
ตราบใดที่คุณไม่ได้เขียนมันก็ควรจะโอเค
อย่างไรก็ตามฉันขอแนะนำให้ใช้
tail -f log_file
ในเทอร์มินัลอื่น
คำสั่งนี้จะ "ติดตาม" ไฟล์log_file
และเขียนเนื้อหาที่เพิ่มเข้ามาใหม่ทันทีที่สคริปต์ได้รับการอัพเดต
ตัวแทนไม่เพียงพอที่จะเพิ่มความคิดเห็นในคำตอบของ Kamil Maciorowski:
สำหรับไฟล์บางไฟล์ที่คุณต้องการtail -F file
เพื่อให้สิ่งต่อไปนี้หมุนต่อไป ดู syslog ตัวอย่างเช่น
ในกรณีที่สคริปต์ (หรือการใช้เฟรมเวิร์กพื้นฐาน) ซ้ำ ๆ เปิดและปิดการจัดการไฟล์ในระหว่างการทำงานมันอาจพบข้อผิดพลาดการละเมิดการแบ่งปันในโหมดการเขียนที่ตามมาเปิดด้วยเหตุผลดังต่อไปนี้:
1) สคริปต์อาจร้องขอการเขียน การเข้าถึงในโหมดเอกสิทธิ์ (ยกเว้นการเข้าถึงการอ่านพร้อมกัน) ดังนั้นหากโปรแกรมแก้ไขไฟล์ / โปรแกรมดูไฟล์ของคุณเป็นเพียงการอ่านไฟล์ก็อาจทำให้เกิดข้อผิดพลาดในสคริปต์การเขียน
2) นอกจากนี้ตัวแก้ไขไฟล์ / วิวเวอร์บางตัวจะล็อกไฟล์ตลอดระยะเวลาที่เปิดไฟล์
โดยสรุปมีปัญหาที่เป็นไปได้ที่ขึ้นอยู่กับโปรแกรมที่คุณใช้ในการดูไฟล์ และมีปัญหาที่อาจเกิดขึ้นจากการใช้งาน (หรือเฟรมเวิร์กพื้นฐาน) ของสคริปต์ที่เขียนไปยังไฟล์
tail -f
หรือless +F
เป็นกิจวัตร