คุณมักจะบอกว่าจะเริ่มค้นหาที่ไหนและจะหาอะไรดี ดังนั้นไวยากรณ์สำหรับเส้นทางที่จะค้นหาและสิ่งที่คุณพยายามค้นหาจริงนั้นแตกต่างกัน
สำหรับกรณีการใช้งานที่คุณพูดถึงสมมติว่าคุณต้องการค้นหาpasswd
ไฟล์ใน/etc
:
find /etc/ -name passwd
คุณกำลังจะบอกว่า "เริ่มต้นใน ฯลฯ มองหาไฟล์ที่มีชื่อเป็นpasswd
หากคุณไม่ได้ระบุเกณฑ์ (หรือ "ตัวเลือก" ใน find parlance) สิ่งที่ find find คือจะเริ่มในพา ธ (หรือพา ธ ) ที่คุณระบุและค้นหาไฟล์และไดเรกทอรีทั้งหมดภายใต้แบบเรียกซ้ำ ตัวเลือก "กรอง" ไฟล์เหล่านั้นเพื่อ จำกัด สิ่งที่คุณกำลังค้นหา
ค้นหาไฟล์ JPG ทั้งหมดได้ทุกที่ในระบบไฟล์ของคุณ:
find / -name "*jpg"
แนะนำให้ใช้อัญประกาศในตัวเลือกของคุณเพราะมิฉะนั้นการขยายตัวของเชลล์อาจทำให้คุณปวดหัว
ค้นหาไฟล์ PDF ใด ๆ โดยไม่คำนึงว่าเป็นตัวพิมพ์ใหญ่ในเอกสารหรือดาวน์โหลด
find Documents/ Downloads/ -iname "*pdf"
หากคุณทำman find
และเลื่อนลงไปที่ TESTS คุณจะพบ "เกณฑ์" ทั้งหมดที่พบที่สามารถใช้เพื่อ จำกัด การค้นหาของคุณ คุณสามารถค้นหาไฟล์ที่มีชื่อไฟล์เฉพาะเป็นเจ้าของโดยผู้ใช้หรือกลุ่มเฉพาะมีสิทธิ์ไฟล์เฉพาะเป็นประเภทเฉพาะ (เช่น-type d
จะค้นหาเฉพาะไดเรกทอรีในขณะที่-type f
จะค้นหาเฉพาะไฟล์ธรรมดาไม่รวมไดเรกทอรี) ไฟล์ใหม่หรือเก่ากว่า จำนวนวัน (หรือนาที) เฉพาะไฟล์ที่ว่างเปล่าที่สามารถเรียกใช้งานได้และอื่น ๆ
ในหน้า man ของ find คุณจะพบส่วนที่เรียกว่า ACTIONS ซึ่งสามารถไปตามเกณฑ์และจะถูกเรียกใช้โดยไฟล์ใด ๆ ที่ตรงกับเกณฑ์ทั้งหมด ดังนั้นคุณสามารถfind
ทำสิ่งต่าง ๆ เช่นการลบไฟล์ที่พบดำเนินการคำสั่งโดยพลการกับพวกเขาและ
แต่แน่นอนว่าไวยากรณ์พื้นฐานยังคงอยู่:
find [starting path(s)] [conditions or criteria]