วิธีค้นหาไฟล์ใน Linux
![Linux: How to search for files at the command line](https://i.ytimg.com/vi/xpxGGpn0Na8/hqdefault.jpg)
เนื้อหา
ในบทความนี้: ใช้«ค้นหา»ใช้«ค้นหา»ค้นหา e ในไฟล์ข้อมูลสรุปของบทความ 5 การอ้างอิง
การค้นหาไฟล์ในเครื่องลีนุกซ์อาจเป็นเรื่องยากหากคุณไม่ทราบวิธีการทำ วิธีที่ดีที่สุดในการค้นหาไฟล์คือใช้คำสั่งเทอร์มินัลต่าง ๆ การควบคุมคำสั่งเหล่านี้จะช่วยให้คุณควบคุมไฟล์ทั้งหมดและมีประสิทธิภาพมากกว่าฟังก์ชั่นการค้นหาทั่วไปสำหรับระบบปฏิบัติการอื่น
ขั้นตอน
วิธีการ 1 ใช้ "ค้นหา"
-
ค้นหาไฟล์ตามชื่อไฟล์ นี่เป็นการค้นหาขั้นพื้นฐานที่สุดที่คุณสามารถเรียกใช้โดยใช้คำสั่ง พบ. คำสั่งด้านล่างจะค้นหาข้อความค้นหาของคุณในโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อยใด ๆค้นหา - ชื่อ "ชื่อไฟล์"
- ใช้ -iname แทน -name ละเว้นกรณีของแบบสอบถามของคุณ การสั่งซื้อ -name คำนึงถึงขนาดตัวพิมพ์
-
เริ่มการค้นหาในโฟลเดอร์ "root" หากคุณต้องการค้นหาทั้งระบบของคุณคุณสามารถเพิ่มตัวปรับเปลี่ยนได้ / ตามคำขอของคุณ ที่จะบอก พบ เพื่อค้นหาไดเรกทอรีทั้งหมดจากโฟลเดอร์ "root"ค้นหา / - ชื่อ "ชื่อไฟล์"
- คุณสามารถเริ่มการค้นหาในโฟลเดอร์ที่ต้องการโดยแทนที่/ โดยเส้นทางของไดเรกทอรีเช่น / home / pat.
- คุณสามารถใช้ . แทนที่จะเป็น / เพื่อบังคับให้ทำการค้นหาเฉพาะในโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อย
-
ใช้ไวลด์การ์ด* เพื่อค้นหาสิ่งที่ตรงกับข้อความค้นหานั้น อักขระทดแทน * อาจมีประโยชน์สำหรับการค้นหาสิ่งที่คุณไม่รู้จักชื่อเต็มหรือถ้าคุณต้องการค้นหาสิ่งที่มีนามสกุลเฉพาะค้นหา / home / pat -iname "* .conf"
- สิ่งนี้จะส่งคืน files.conf ทั้งหมดไปยังโฟลเดอร์ผู้ใช้ของ Pat (และโฟลเดอร์ย่อย)
- คุณสามารถใช้มันเพื่อค้นหาสิ่งที่สอดคล้องกับส่วนของชื่อไฟล์ ตัวอย่างเช่นหากคุณมีเอกสารจำนวนมากที่เกี่ยวข้องกับ คุณสามารถค้นหาเอกสารทั้งหมดในครั้งเดียวโดยพิมพ์ "* Wiki *".
-
ทำให้ผลการค้นหาของคุณง่ายต่อการจัดการ หากคุณได้รับผลการค้นหาจำนวนมากอาจเป็นเรื่องยากสำหรับคุณที่จะเรียกดู ใช้ตัวละคร | เพื่อส่งผลการค้นหาไปยังซอฟต์แวร์ตัวกรอง "น้อยลง" สามารถให้คุณเลื่อนดูผลลัพธ์และกรองได้ง่ายขึ้นค้นหา / home / pat -iname "* .conf" | น้อยกว่า
-
ค้นหาผลลัพธ์ประเภทเฉพาะ คุณสามารถใช้โมดิฟายเออร์เพื่อส่งคืนผลลัพธ์บางประเภทเท่านั้น คุณสามารถค้นหาไฟล์ปกติ (ฉ) ไดเรกทอรี (d) ลิงก์สัญลักษณ์ (ล.) อุปกรณ์ตัวอักษร (ค) และอุปกรณ์ปิดกั้น (ข) โดยใช้ตัวดัดแปลงที่เหมาะสมค้นหา / -type f -iname "ชื่อไฟล์"
-
กรองผลการค้นหาของคุณตามขนาด หากคุณมีไฟล์จำนวนมากที่มีชื่อคล้ายกัน แต่คุณรู้ขนาดของสิ่งที่คุณกำลังค้นหาคุณสามารถกรองผลลัพธ์ตามขนาดไฟล์ค้นหา / - ขนาด + 50M - ชื่อ "ชื่อไฟล์"
- นี่จะส่งคืนผลลัพธ์ที่มีขนาด 50 เมกะไบต์หรือมากกว่า คุณสามารถใช้ + หรือ - เพื่อค้นหาขนาดที่ใหญ่ขึ้นหรือเล็กลง ลืม + หรือ - จะค้นหาไฟล์ที่ทำ อย่างแน่นอน ขนาดที่ระบุ
- คุณสามารถกรองตามจำนวน doctets (ค), กิโลไบต์ (k), เมกะไบต์ (M) จากกิกะไบต์ (G) หรือเป็นบล็อกขนาด 512 ไบต์ (ข) โปรดทราบว่าแท็กขนาดคำนึงถึงขนาดตัวพิมพ์
-
ใช้โอเปอเรเตอร์บูลีนเพื่อรวมตัวกรองการค้นหา คุณสามารถใช้โอเปอเรเตอร์ และอื่น, -or และ -Not เพื่อรวมการค้นหาประเภทต่าง ๆ ไว้ในที่เดียวค้นหา / photosdevacances -type f -size + 200k -not -iname "* 2015 *"
- คำสั่งด้านบนจะค้นหาไฟล์ในไดเรกทอรี "photospeed" ที่มีขนาดใหญ่กว่า 200 กิโลไบต์ แต่ไม่มี "2015" ที่ใดก็ได้ในชื่อไฟล์
-
ค้นหาไฟล์โดยเจ้าของหรือการอนุญาต หากคุณพยายามค้นหาไฟล์เฉพาะที่เจ้าของเป็นผู้ใช้เฉพาะหรือไฟล์ที่มีสิทธิ์บางอย่างคุณสามารถ จำกัด ช่องค้นหาของคุณให้แคบลงfind / -user pat - ชื่อ "filename" find / -group users - ชื่อ "filename" find / -perm 777 - ชื่อ "filename"
- ตัวอย่างด้านบนจะค้นหาผู้ใช้กลุ่มหรือสิทธิ์ที่ระบุในแบบสอบถาม คุณอาจไม่ระบุชื่อไฟล์ที่คุณต้องการดูไฟล์ทั้งหมดที่ตรงกับประเภทที่ร้องขอที่ส่งคืน ยกตัวอย่างเช่น find / -perm 777 คุณจะส่งคืนไฟล์ทั้งหมดที่มี 777 สิทธิ์ (ไม่มีข้อ จำกัด )
-
รวมคำสั่งเพื่อดำเนินการเมื่อพบไฟล์ คุณสามารถรวมคำสั่ง พบ ด้วยคำสั่งอื่น ๆ เพื่อให้สามารถดำเนินการกับไฟล์ที่ส่งคืนโดยแบบสอบถาม แยกคำสั่ง พบ คำสั่งที่สองด้วยแท็ก -execจากนั้นจึงจบเส้นตาม ;- นี่จะเริ่มการค้นหาในโฟลเดอร์ปัจจุบัน (และโฟลเดอร์ย่อยทั้งหมด) สำหรับไฟล์ที่มีการอนุญาต 777 จากนั้นคอนโซลจะใช้คำสั่ง chmod เพื่อเปลี่ยนการอนุญาตเป็น 755
วิธีการ 2 ใช้ "ค้นหา"
-
ติดตั้งคุณสมบัติตั้งอยู่. การสั่งซื้อ ตั้งอยู่ มักจะทำงานได้เร็วกว่า พบเพราะมันทำงานโดยใช้ฐานข้อมูลจากโครงสร้างของไฟล์ของคุณ ลีนุกซ์ลีนุกซ์ทุกรุ่นไม่มีฟังก์ชันการทำงาน ตั้งอยู่ ติดตั้งบนดังนั้นให้พิมพ์คำสั่งต่อไปนี้เพื่อติดตั้ง:- ชนิด sudo apt-get update และกด การเข้า.
- ชนิด sudo apt-get install mlocate และกด การเข้า. ถ้า ตั้งอยู่ ติดตั้งแล้วคุณจะได้รับ mlocate เป็นรุ่นล่าสุดแล้ว.
-
อัปเดตฐานข้อมูลของคุณตั้งอยู่. การสั่งซื้อ ตั้งอยู่ ไม่สามารถหาอะไรได้จนกว่าฐานข้อมูลจะถูกสร้างและอัพเดท สิ่งนี้จะทำโดยอัตโนมัติทุกวัน แต่คุณสามารถเริ่มการอัพเดทด้วยตนเองได้เช่นกัน คุณจะต้องทำเช่นนั้นหากคุณต้องการเริ่มใช้งาน ตั้งอยู่ ทันที- ชนิด sudo updatedb และกด การเข้า.
-
ใช้ตั้งอยู่ เพื่อทำการค้นหาแบบง่าย การสั่งซื้อ ตั้งอยู่ รวดเร็ว แต่ไม่มีตัวเลือกใด ๆ ตามคำสั่ง พบ. คุณสามารถเชื่อมโยงการค้นหาไฟล์พื้นฐานมากขึ้นหรือน้อยลงในลักษณะเดียวกันกับคำสั่ง พบ.ค้นหา -i "* .jpg"
- คำสั่งนี้จะค้นหาไฟล์ที่มีนามสกุล .jpg ในทุกเครื่องของคุณ อักขระทดแทน * ทำงานในลักษณะเดียวกับคำสั่ง พบ.
- สำหรับการสั่งซื้อ พบ, -i ละเว้นกรณีของแบบสอบถามของคุณ
-
จำกัด ผลการค้นหาของคุณ หากข้อความค้นหาของคุณส่งผลลัพธ์มากเกินไปให้คุณจัดการคุณสามารถลบบางส่วนออกได้โดยใช้ตัวเลือก -nตามด้วยจำนวนผลลัพธ์ที่คุณต้องการแสดงหา -n 20 -i "* .jpg"
- จะแสดงเฉพาะผลลัพธ์ 20 รายการแรกที่ตรงกับคำค้นหา
- คุณยังสามารถใช้ lastuce ของ | เพื่อส่งผลลัพธ์ไปที่ น้อยกว่า เพื่อเรียกดูได้ง่ายขึ้น
วิธีที่ 3 ค้นหา e ในไฟล์
-
ใช้คำสั่งgrep เพื่อค้นหาลำดับอักขระภายในไฟล์ หากคุณกำลังมองหาไฟล์ที่มีประโยคหรือลำดับของอักขระคุณสามารถใช้คำสั่ง grep. คำสั่งพื้นฐานของ grep ใช้แบบฟอร์มต่อไปนี้:grep -r -i "request" / path / to / directory /
- ตัวเลือก-r ตั้งค่าการค้นหาเป็น "recursive" ทำให้การค้นหา "recursive" ดังนั้นมันจะค้นหาไฟล์ที่มีลำดับอักขระของแบบสอบถามในโฟลเดอร์ปัจจุบันและโฟลเดอร์ย่อยทั้งหมด
- ตัวเลือก -i บ่งชี้ว่าแบบสอบถามไม่คำนึงถึงขนาดตัวพิมพ์ หากคุณต้องการบังคับให้การค้นหาเป็นแบบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่อย่าวางตัวดำเนินการ -i.
-
ลบ e พิเศษ เมื่อคุณทำการค้นหาด้วย grep ข้างต้นคุณจะเห็นชื่อของไฟล์ที่จะถูกเน้นถัดจาก e ที่สอดคล้องกับการค้นหา คุณสามารถซ่อน e ที่เกี่ยวข้องและเพียงแสดงชื่อไฟล์และเส้นทางของพวกเขาโดยรวมถึงต่อไปนี้:grep -r -i "request" / path / to / directory / | ตัด -d: -f1
-
ซ่อนข้อผิดพลาด การสั่งซื้อ grep จะส่งคืนข้อผิดพลาดเมื่อพยายามเข้าถึงโฟลเดอร์โดยไม่มีสิทธิ์ที่เหมาะสมหรือเมื่อพยายามที่จะเปิดเข้าไปในโฟลเดอร์ว่าง คุณสามารถส่งคืนข้อผิดพลาดเป็น / dev / null ซึ่งจะซ่อนข้อผิดพลาดจากการแสดงผลของคุณgrep -r -i "request" / path / to / directory / 2> / dev / null