strings
พฤติกรรมคำสั่งวิจิตรพิสดารเห็นได้ชัดว่ามันไม่ได้หยุดเขียนไปยังแฟ้มแม้ว่าไดรฟ์วิ่งออกไปจากพื้นที่ หรือบางทีฉันหายไปบางอย่าง
ฉันเรียกใช้ต่อไปนี้:
# strings /dev/urandom > random.txt
สิ่งนี้ยังคงทำงานต่อไปและไม่หยุดแม้หลังจากเติมดิสก์ (แฟลช usb ทั่วไป)
ถ้าอย่างนั้นฉันจะสร้าง ramdisk ให้เร็วขึ้นและลองคำสั่งเดิมอีกครั้ง มันยังไม่หยุด
ฉันเข้าใจว่าurandom
ไม่ใช่ไฟล์ปกติและstrings
เอาต์พุตของยังถูกเปลี่ยนเส้นทางอย่างไรก็ตามในทั้งสองกรณีข้างต้นcat
คำสั่งรายงานข้อผิดพลาดเมื่อไม่มีที่ว่าง
# cat /dev/urandom > random.txt
cat: write error: No space left on device
- นี่เป็นพฤติกรรมปกติของสตริงหรือไม่ ถ้าเป็นเช่นนั้นทำไม
- ข้อมูลจะถูกเขียนที่ไหนหลังจากไม่มีพื้นที่เหลืออีกแล้ว?
1
อะไรคือข้อบ่งชี้ว่าคำสั่งแรกของคุณเติมดิสก์จริง?
—
Kusalananda
@ Kusalananda มีการรายงานโดย df ฉันตรวจสอบจากเทอร์มินัลเสมือนอื่นโดยใช้ watch df -h
—
user174174
@Kusalananda: คุณสามารถทดสอบสิ่งนี้ได้อย่างง่ายดายด้วย
—
Peter Cordes
strace strings /dev/urandom > /dev/full
@mosvy OpenBSD ใช้
—
Kusalananda
strings
การดำเนินการเดียวกันนี้จาก GNU binutils ฉันหมายถึงstrace
คำสั่ง
@ Kusalananda โอเคเพราะการแทนที่ "BSD toolchain" ของสตริง (1) ไม่ได้ตรวจสอบค่าส่งคืนของ putchar () อย่างใดอย่างหนึ่ง
—
mosvy