เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

การกระทำที่กำหนดไว้ล่วงหน้า

มาทำงานกันเถอะ! มีรายการผลลัพธ์จากเรา พบ คำสั่งมีประโยชน์ แต่สิ่งที่เราต้องการทำจริงๆ คือ ดำเนินการกับรายการในรายการ โชคดี, พบ อนุญาตให้ดำเนินการตามผลการค้นหา มีชุดของการดำเนินการที่กำหนดไว้ล่วงหน้าและหลายวิธีในการใช้การกระทำที่ผู้ใช้กำหนดเอง ขั้นแรก มาดูการดำเนินการที่กำหนดไว้ล่วงหน้าบางส่วน:


ตารางที่ 17-6: การดำเนินการค้นหาที่กำหนดไว้ล่วงหน้า


คำอธิบายการดำเนินการ

คำอธิบายการดำเนินการ

-delete ลบไฟล์ที่ตรงกันในปัจจุบัน


ภาพ

-ล ดำเนินการเทียบเท่ากับ ls -ดิล ในไฟล์ที่ตรงกัน

เอาต์พุตถูกส่งไปยังเอาต์พุตมาตรฐาน


ภาพ

-print เอาต์พุตชื่อพาธแบบเต็มของไฟล์ที่ตรงกันไปยังเอาต์พุตมาตรฐาน นี่เป็นการดำเนินการเริ่มต้นหากไม่มีการระบุการดำเนินการอื่น


ภาพ

-quit Quit เมื่อจับคู่เสร็จแล้ว


ภาพ


เช่นเดียวกับการทดสอบ มีการดำเนินการอีกมากมาย ดู พบ หน้าคนสำหรับรายละเอียดทั้งหมด ในตัวอย่างแรกของเรา เราทำสิ่งนี้:


หา ~

หา ~


ซึ่งสร้างรายการของไฟล์และไดเร็กทอรีย่อยทั้งหมดที่มีอยู่ในโฮมไดเร็กทอรีของเรา มันผลิตรายการเพราะ -พิมพ์ การกระทำจะถูกบอกเป็นนัยหากไม่มีการระบุการกระทำอื่น ดังนั้นคำสั่งของเราจึงสามารถแสดงเป็น:



ค้นหา ~ -print

ค้นหา ~ -print


เราสามารถใช้ พบ เพื่อลบไฟล์ที่ตรงตามเกณฑ์บางอย่าง เช่น การลบไฟล์ที่


มีนามสกุลไฟล์ “.BAK” (ซึ่งมักใช้เพื่อกำหนดไฟล์สำรอง) เราสามารถใช้คำสั่งนี้ได้:



find ~ -type f -name '*.BAK' -delete

find ~ -type f -name '*.BAK' -delete


ในตัวอย่างนี้ ทุกไฟล์ในโฮมไดเร็กทอรีของผู้ใช้ (และไดเร็กทอรีย่อย) จะถูกค้นหาด้วยชื่อไฟล์ที่ลงท้ายด้วย .บัก. เมื่อพบแล้วจะถูกลบออก


ภาพ

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

-print action สำหรับ -delete เพื่อยืนยันผลการค้นหา


ภาพ

ก่อนที่เราจะไปต่อ มาดูกันว่าตัวดำเนินการตรรกะส่งผลต่อการดำเนินการอย่างไร พิจารณาคำสั่งต่อไปนี้:



find ~ -type f -name '*.BAK' -print

find ~ -type f -name '*.BAK' -print


ดังที่เราได้เห็น คำสั่งนี้จะค้นหาทุกไฟล์ปกติ (-type f) ที่มีชื่อลงท้ายด้วย .BAK (-name '*.BAK') และจะส่งออกชื่อพาธสัมพัทธ์ของแต่ละไฟล์ที่ตรงกันไปยังเอาต์พุตมาตรฐาน (-print) อย่างไรก็ตาม เหตุผลที่คำสั่งดำเนินการในลักษณะที่ถูกกำหนดโดยความสัมพันธ์เชิงตรรกะระหว่างการทดสอบและการดำเนินการแต่ละครั้ง โปรดจำไว้ว่า ตามค่าเริ่มต้นแล้ว มีความสัมพันธ์โดยนัยระหว่างการทดสอบและการดำเนินการแต่ละครั้ง นอกจากนี้เรายังสามารถแสดงคำสั่งด้วยวิธีนี้เพื่อทำให้ความสัมพันธ์เชิงตรรกะมองเห็นได้ง่ายขึ้น:



ค้นหา ~ -type f -and -name '*.BAK' -and -print

ค้นหา ~ -type f -and -name '*.BAK' -and -print


ด้วยคำสั่งของเราที่แสดงออกอย่างเต็มที่ มาดูกันว่าตัวดำเนินการเชิงตรรกะส่งผลต่อการดำเนินการอย่างไร:


การทดสอบ/การดำเนินการจะทำได้ก็ต่อเมื่อ...

การทดสอบ/การดำเนินการจะทำได้ก็ต่อเมื่อ...

-พิมพ์ -type f และ -name '*.BAK' เป็นจริง


ภาพ

-name '*.BAK' ประเภท f เป็นจริง


ภาพ

ประเภท f ดำเนินการเสมอ เนื่องจากเป็นการทดสอบ/การดำเนินการครั้งแรกใน an

- และความสัมพันธ์


ภาพ


เนื่องจากความสัมพันธ์เชิงตรรกะระหว่างการทดสอบและการดำเนินการกำหนดว่าการทดสอบใดดำเนินการ เราจะเห็นได้ว่าลำดับของการทดสอบและการดำเนินการมีความสำคัญ ตัวอย่างเช่น หากเราต้องจัดลำดับการทดสอบและการดำเนินการใหม่เพื่อให้ -พิมพ์ action เป็นคำสั่งแรก คำสั่งจะมีพฤติกรรมแตกต่างออกไปมาก:



ค้นหา ~ -print -and -type f -and -name '*.BAK'

ค้นหา ~ -print -and -type f -and -name '*.BAK'


คำสั่งเวอร์ชันนี้จะพิมพ์แต่ละไฟล์ (the -พิมพ์ การดำเนินการประเมินเป็นจริงเสมอ) จากนั้นทดสอบประเภทไฟล์และนามสกุลไฟล์ที่ระบุ


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: