โฮมเพจ » ทำอย่างไร » วิธีค้นหาไฟล์และโฟลเดอร์ใน Linux โดยใช้บรรทัดคำสั่ง

    วิธีค้นหาไฟล์และโฟลเดอร์ใน Linux โดยใช้บรรทัดคำสั่ง

    คนส่วนใหญ่ใช้ตัวจัดการไฟล์กราฟิกเพื่อค้นหาไฟล์ใน Linux เช่น Nautilus ใน Gnome, Dolphin ใน KDE และ Thunar ใน Xfce อย่างไรก็ตามมีหลายวิธีในการใช้บรรทัดคำสั่งเพื่อค้นหาไฟล์ใน Linux ไม่ว่าคุณจะใช้ตัวจัดการเดสก์ท็อปใด.

    ใช้คำสั่งค้นหา

    คำสั่ง "ค้นหา" ช่วยให้คุณค้นหาไฟล์ที่คุณรู้จักชื่อไฟล์โดยประมาณ รูปแบบที่ง่ายที่สุดของคำสั่งค้นหาไฟล์ในไดเรกทอรีปัจจุบันและเรียกซ้ำผ่านไดเรกทอรีย่อยที่ตรงกับเกณฑ์การค้นหาที่ให้มา คุณสามารถค้นหาไฟล์ตามชื่อเจ้าของกลุ่มประเภทการอนุญาตวันที่และเกณฑ์อื่น ๆ.

    การพิมพ์คำสั่งต่อไปนี้ที่พร้อมท์จะแสดงรายการไฟล์ทั้งหมดที่พบในไดเรกทอรีปัจจุบัน.

    หา .

    จุดหลัง“ ค้นหา” หมายถึงไดเรกทอรีปัจจุบัน.

    ในการค้นหาไฟล์ที่ตรงกับรูปแบบเฉพาะให้ใช้ -ชื่อ ข้อโต้แย้ง. คุณสามารถใช้ตัวอักษรชื่อไฟล์ (เช่น * * * * ) แต่คุณควรใส่อักขระเลี่ยง ( \ ) ต่อหน้าพวกเขาแต่ละคนหรือใส่ไว้ในเครื่องหมายคำพูด.

    ตัวอย่างเช่นหากเราต้องการค้นหาไฟล์ทั้งหมดที่ขึ้นต้นด้วย“ โปร” ในไดเรกทอรีเอกสารเราจะใช้ เอกสาร cd / คำสั่งเพื่อเปลี่ยนเป็นไดเร็กทอรี Documents จากนั้นพิมพ์คำสั่งต่อไปนี้:

    หา -name pro \ *

    ไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันที่ขึ้นต้นด้วย“ pro” จะแสดงรายการ.

    หมายเหตุ: คำสั่ง find เป็นค่าเริ่มต้นที่คำนึงถึงขนาดตัวพิมพ์ หากคุณต้องการให้การค้นหาคำหรือวลีไม่ตรงตามตัวพิมพ์ใหญ่และตัวเล็กให้ใช้ -ฉันชื่อ ตัวเลือกด้วยคำสั่งค้นหา เป็นเวอร์ชันที่ไม่สำคัญของตัวพิมพ์เล็ก -ชื่อ คำสั่ง.

    ถ้า หา ไม่พบไฟล์ใด ๆ ที่ตรงกับเกณฑ์ของคุณ แต่จะไม่มีผลลัพธ์.

    คำสั่ง find มีตัวเลือกมากมายสำหรับการปรับแต่งการค้นหา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง find ให้รัน ผู้ชายค้นหา  ในหน้าต่าง Terminal และกด Enter.

    การใช้คำสั่งค้นหา

    คำสั่งค้นหาเร็วกว่าคำสั่ง find เนื่องจากใช้ฐานข้อมูลที่สร้างขึ้นก่อนหน้านี้ในขณะที่คำสั่ง find จะค้นหาในระบบจริงผ่านไดเรกทอรีและไฟล์จริงทั้งหมด คำสั่งค้นหาส่งคืนรายการของชื่อพา ธ ทั้งหมดที่มีกลุ่มของอักขระที่ระบุ.

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

    sudo updatedb

    ป้อนรหัสผ่านของคุณเมื่อได้รับแจ้ง.

    รูปแบบพื้นฐานของคำสั่งค้นหาจะค้นหาไฟล์ทั้งหมดในระบบไฟล์เริ่มต้นที่รูทซึ่งมีทั้งหมดหรือบางส่วนของเกณฑ์การค้นหา.

    ค้นหา mydata

    ตัวอย่างเช่นคำสั่งดังกล่าวพบสองไฟล์ที่มี“ mydata” และหนึ่งไฟล์ที่มี“ data”

    หากคุณต้องการค้นหาไฟล์หรือไดเรกทอรีทั้งหมดที่มีเพียงเกณฑ์การค้นหาของคุณเท่านั้น -ข ตัวเลือกด้วยคำสั่งค้นหาดังนี้.

    หา -b '\ mydata'

    แบ็กสแลชในคำสั่งด้านบนเป็นอักขระแบบกลมซึ่งมีวิธีในการขยายอักขระตัวแทนในชื่อไฟล์ที่ไม่เฉพาะเจาะจงลงในชุดของชื่อไฟล์ที่ระบุ อักขระตัวแทนเป็นสัญลักษณ์ที่สามารถแทนที่ด้วยอักขระอย่างน้อยหนึ่งตัวเมื่อมีการประเมินนิพจน์ สัญลักษณ์ตัวแทนที่พบบ่อยที่สุดคือเครื่องหมายคำถาม ( ? ) ซึ่งย่อมาจากอักขระเดียวและเครื่องหมายดอกจัน ( * * * * ) ซึ่งย่อมาจากสตริงอักขระที่ต่อเนื่องกัน ในตัวอย่างข้างต้นแบ็กสแลชจะปิดใช้งานการแทนที่ "mydata" โดย "* mydata *" โดยปริยายดังนั้นคุณจะได้ผลลัพธ์ที่มี "mydata" เท่านั้น

    คำสั่ง mlocate เป็นการปรับใช้ใหม่ของตำแหน่งที่ตั้ง มันจัดทำดัชนีระบบไฟล์ทั้งหมด แต่ผลการค้นหาจะรวมเฉพาะไฟล์ที่ผู้ใช้ปัจจุบันมีสิทธิ์เข้าถึงเท่านั้น เมื่อคุณอัพเดตฐานข้อมูล mlocate จะเก็บข้อมูลการประทับเวลาในฐานข้อมูล สิ่งนี้จะช่วยให้ mlocate ทราบว่าเนื้อหาของไดเรกทอรีเปลี่ยนแปลงโดยไม่อ่านเนื้อหาอีกครั้งหรือไม่และทำการอัปเดตฐานข้อมูลเร็วขึ้นและเรียกร้องน้อยลงบนฮาร์ดไดรฟ์ของคุณ.

    เมื่อคุณติดตั้ง mlocate การ / usr / bin / ค้นหาการเปลี่ยนแปลงไฟล์ไบนารีเพื่อชี้ไปที่ mlocate ในการติดตั้ง mlocate หากยังไม่รวมอยู่ในการกระจาย Linux ให้พิมพ์คำสั่งต่อไปนี้ที่พร้อมท์.

    sudo apt-get install mlocate

    หมายเหตุ: เราจะแสดงคำสั่งให้คุณทราบในภายหลังในบทความนี้ที่ช่วยให้คุณกำหนดตำแหน่งที่สามารถเรียกใช้งานคำสั่งได้หากมีอยู่.

    คำสั่ง mlocate ไม่ได้ใช้ไฟล์ฐานข้อมูลเดียวกันกับคำสั่งค้นหามาตรฐาน ดังนั้นคุณอาจต้องการสร้างฐานข้อมูลด้วยตนเองโดยพิมพ์คำสั่งต่อไปนี้ที่พร้อมท์:

    sudo /etc/cron.daily/mlocate

    คำสั่ง mlocate จะไม่ทำงานจนกว่าจะสร้างฐานข้อมูลด้วยตนเองหรือเมื่อสคริปต์รันจาก cron.

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งค้นหาหรือคำสั่ง mlocate ให้พิมพ์ ผู้ชายค้นหา หรือ ผู้ชาย mlocate  ในหน้าต่าง Terminal และกด Enter หน้าจอวิธีใช้เดียวกันแสดงขึ้นสำหรับทั้งสองคำสั่ง.

    การใช้คำสั่งอันไหน

    คำสั่ง“ ไหน” ส่งคืนพา ธ สัมบูรณ์ของไฟล์เรียกทำงานที่เรียกใช้เมื่อออกคำสั่ง สิ่งนี้มีประโยชน์ในการค้นหาตำแหน่งของไฟล์เรียกทำงานเพื่อสร้างทางลัดไปยังโปรแกรมบนเดสก์ท็อปบนแผงควบคุมหรือตำแหน่งอื่น ๆ ในเดสก์ท็อป ตัวอย่างเช่นพิมพ์คำสั่ง ซึ่ง Firefox แสดงผลลัพธ์ที่แสดงในภาพด้านล่าง.

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

    ซึ่ง - firefox

    คุณสามารถค้นหาไฟล์เอ็กซีคิวต์หลายรายการได้ในคราวเดียวดังที่แสดงในภาพต่อไปนี้ เฉพาะพา ธ ไปยังไฟล์ที่เรียกทำงานได้ที่พบเท่านั้นที่จะถูกแสดง ในตัวอย่างด้านล่างพบเฉพาะไฟล์ปฏิบัติการ“ ps” เท่านั้น.

    หมายเหตุ: คำสั่งใดค้นหาตัวแปร PATH ของผู้ใช้ปัจจุบันเท่านั้น หากคุณค้นหาไฟล์เรียกทำงานที่พร้อมใช้งานสำหรับผู้ใช้รูทในฐานะผู้ใช้ปกติเท่านั้นผลลัพธ์จะไม่ปรากฏ.

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง which ให้พิมพ์“ man which” (โดยไม่ใส่เครื่องหมายอัญประกาศ) ที่พร้อมท์คำสั่งในหน้าต่าง Terminal และกด Enter.

    การใช้คำสั่ง Whereis

    คำสั่ง whereis ถูกใช้เพื่อค้นหาตำแหน่งของไบนารีไฟล์ต้นฉบับและไฟล์ man page สำหรับคำสั่ง ตัวอย่างเช่นการพิมพ์ ในกรณีที่ Firefox ที่พรอมต์แสดงผลลัพธ์ตามที่แสดงในภาพต่อไปนี้.

    หากคุณต้องการเฉพาะพา ธ ไปยังไฟล์ที่เรียกทำงานได้ที่จะแสดงไม่ใช่พา ธ ไปยังซอร์สและเพจ man (ual) ให้ใช้ -ข ตัวเลือก ตัวอย่างเช่นคำสั่ง โดยที่ -b firefox จะแสดงเท่านั้น / usr / bin / Firefox ดังผลลัพท์. สิ่งนี้มีประโยชน์เพราะคุณมักจะค้นหาไฟล์ที่ปฏิบัติการได้ของโปรแกรมบ่อยกว่าที่คุณจะค้นหาซอร์สโค้ดและ man pages สำหรับโปรแกรมนั้น คุณยังสามารถค้นหาเฉพาะไฟล์ต้นฉบับ ( -s ) หรือเฉพาะหน้าคน ( -ม. ).

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง whereis ให้พิมพ์ ผู้ชายอยู่ที่ไหน ในหน้าต่าง Terminal และกด Enter.

    การทำความเข้าใจความแตกต่างระหว่างคำสั่ง Whereis และคำสั่งใด

    คำสั่ง whereis แสดงตำแหน่งของไบนารีหน้าแหล่งที่มาและหน้าคนสำหรับคำสั่งในขณะที่คำสั่งใดแสดงตำแหน่งของไบนารีสำหรับคำสั่งให้คุณทราบเท่านั้น.

    คำสั่ง whereis ค้นหารายการไดเร็กทอรีเฉพาะสำหรับไฟล์ไบนารีซอร์สและไฟล์ man ขณะที่คำสั่งใดค้นหาไดเร็กทอรีที่แสดงรายการในตัวแปรสภาวะแวดล้อม PATH ของผู้ใช้ปัจจุบัน สำหรับคำสั่ง whereis รายการของไดเรกทอรีที่เฉพาะเจาะจงสามารถพบได้ในส่วนไฟล์ของหน้าคนสำหรับคำสั่ง.

    เมื่อพูดถึงผลลัพธ์ที่แสดงโดยค่าเริ่มต้นคำสั่ง whereis จะแสดงทุกสิ่งที่พบในขณะที่คำสั่งใดแสดงเฉพาะการเรียกใช้งานครั้งแรกที่พบ คุณสามารถเปลี่ยนได้โดยใช้ - ตัวเลือกกล่าวถึงก่อนหน้านี้สำหรับคำสั่งที่.

    เนื่องจากคำสั่ง whereis ใช้เฉพาะเส้นทางที่ฮาร์ดโค้ดลงในคำสั่งคุณอาจไม่พบสิ่งที่คุณต้องการเสมอไป หากคุณกำลังค้นหาโปรแกรมที่คุณคิดว่าอาจติดตั้งในไดเรกทอรีที่ไม่ได้อยู่ในรายชื่อ man page สำหรับคำสั่ง whereis คุณอาจต้องการใช้คำสั่ง which กับ - ตัวเลือกเพื่อค้นหาคำสั่งทั้งหมดที่เกิดขึ้นทั่วทั้งระบบ.