![How to Find Files in Linux | Learning Terminal](https://i.ytimg.com/vi/gibm4NYWSqg/hqdefault.jpg)
เนื้อหา
- ขั้นตอน
- วิธีที่ 1 จาก 3: ค้นหายูทิลิตี้
- วิธีที่ 2 จาก 3: ค้นหายูทิลิตี้
- วิธีที่ 3 จาก 3: ค้นหาข้อความในไฟล์
การค้นหาไฟล์บนระบบ Linux นั้นค่อนข้างยากหากคุณไม่รู้ว่าต้องทำอย่างไร ทางที่ดีควรใช้คำสั่งต่างๆ ที่ป้อนในเทอร์มินัล เมื่อเข้าใจคำสั่งดังกล่าวแล้ว คุณจะสามารถควบคุมไฟล์ได้อย่างสมบูรณ์ นอกจากนี้ คำสั่งเหล่านี้ยังใช้งานได้ดีกว่าเสิร์ชเอ็นจิ้นที่คล้ายคลึงกันในระบบปฏิบัติการอื่น
ขั้นตอน
วิธีที่ 1 จาก 3: ค้นหายูทิลิตี้
1 ค้นหาไฟล์ตามชื่อ การค้นหาแบบง่าย ๆ ดังกล่าวดำเนินการโดยใช้ยูทิลิตี้ หา... คำสั่งด้านล่างจะค้นหาไฟล์ในไดเร็กทอรีปัจจุบันและไดเร็กทอรีย่อยทั้งหมด
ค้นหา -iname "ชื่อไฟล์"
- เข้า -ฉันชื่อ แทน -ชื่อเพื่อละเว้นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในชื่อไฟล์ที่ป้อน ทีม -ชื่อ คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
2 เริ่มค้นหาในไดเร็กทอรีราก หากต้องการเริ่มการค้นหาทั้งระบบ ให้เพิ่มตัวแก้ไขลงในข้อความค้นหา /... ในกรณีนี้ คำสั่ง หา จะค้นหาไฟล์ในไดเร็กทอรีทั้งหมดที่เริ่มต้นจากรูท
ค้นหา / -iname "ชื่อไฟล์"
- คุณสามารถเริ่มค้นหาในไดเร็กทอรีเฉพาะ การทำเช่นนี้แทนที่ / ไปยังเส้นทางไดเร็กทอรี เช่น / home / max.
- สามารถใช้ได้ . แทน /เพื่อค้นหาไฟล์ในไดเร็กทอรีปัจจุบันและไดเร็กทอรีย่อยเท่านั้น
3 ใช้สัญลักษณ์ทั่วไป*เพื่อค้นหาไฟล์ที่มีชื่อตรงกับส่วนของคำขอ การใช้สัญลักษณ์ทั่วไป * คุณสามารถค้นหาไฟล์ที่ไม่รู้จักชื่อเต็ม หรือค้นหาไฟล์ทั้งหมดที่มีนามสกุลเฉพาะ
find / home / max -iname " *. conf"
- คำสั่งนี้จะค้นหาไฟล์ทั้งหมดที่มีนามสกุล .conf ในโฟลเดอร์ Max user (และโฟลเดอร์ย่อย)
- ใช้คำสั่งนี้เพื่อค้นหาไฟล์ทั้งหมดที่ตรงกับส่วนของแบบสอบถาม ตัวอย่างเช่น หากคุณมีไฟล์ที่เกี่ยวข้องกับ WikiHow จำนวนมากในคอมพิวเตอร์ของคุณ ให้ค้นหาไฟล์ทั้งหมดโดยพิมพ์ " * วิกิ *".
4 ทำให้การจัดการผลการค้นหาง่ายขึ้น หากมีผลการค้นหามากเกินไป เป็นการยากที่จะหาไฟล์ที่คุณต้องการ ใช้สัญลักษณ์ |เพื่อกรองผลการค้นหาให้น้อยลง ซึ่งจะทำให้ง่ายต่อการดูและกรองผลการค้นหาของคุณ
find / home / max -iname " *. conf" | น้อย
5 ค้นหารายการเฉพาะ ใช้ตัวปรับแต่งเพื่อแสดงเฉพาะรายการในผลการค้นหา คุณสามารถค้นหาไฟล์ปกติ (NS) ไดเร็กทอรี (NS) ลิงก์สัญลักษณ์ (l), อักขระ I / O อุปกรณ์ (กับ) และบล็อกอุปกรณ์ (NS).
ค้นหา / -type f -iname "ชื่อไฟล์"
6 กรองผลการค้นหาของคุณตามขนาดไฟล์ หากคุณมีไฟล์หลายไฟล์ที่มีชื่อคล้ายกันในคอมพิวเตอร์ของคุณ แต่คุณทราบขนาดของไฟล์ที่กำลังมองหา ให้กรองผลการค้นหาตามขนาดไฟล์
ค้นหา / -ขนาด + 50M -iname "ชื่อไฟล์"
- คำสั่งนี้จะค้นหาไฟล์ทั้งหมดที่มีขนาดใหญ่กว่า 50 MB ใช้ตัวดัดแปลง + หรือ -เพื่อแสดงขนาดที่เพิ่มขึ้นหรือลดลง ถ้าตัวดัดแปลง + หรือ - ไม่ คำสั่งจะค้นหาไฟล์ที่มีขนาดเท่ากันทุกประการกับขนาดที่ระบุ
- ผลการค้นหาสามารถกรองตามไบต์ (ค) กิโลไบต์ (k) เมกะไบต์ (NS) กิกะไบต์ (NS) หรือบล็อกขนาด 512 ไบต์ (NS). โปรดทราบว่าตัวดัดแปลงที่แสดงจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
7 ใช้ตัวดำเนินการเชิงตรรกะ (ตัวดำเนินการบูลีน) เพื่อรวมตัวกรองการค้นหา สามารถใช้โอเปอเรเตอร์ได้ -และ, -หรือ, -ไม่เพื่อรวมข้อความค้นหาต่างๆ ไว้ในข้อความค้นหาเดียว
ค้นหา / travelphotos -type f -size + 200k -not -iname " * 2015 *"
- คำสั่งนี้จะค้นหาไฟล์ในโฟลเดอร์ "Travelphotos" ที่มีขนาดใหญ่กว่า 200 KB และไม่มีหมายเลข 2015 ในชื่อ
8 ค้นหาไฟล์ตามเจ้าของหรือสิทธิ์ หากคุณต้องการค้นหาไฟล์ที่เป็นของผู้ใช้รายใดรายหนึ่งหรือไฟล์ที่มีสิทธิ์การเข้าถึงเฉพาะ คุณสามารถจำกัดการค้นหาให้แคบลงได้
ค้นหา / -user max -iname "ชื่อไฟล์" ค้นหา / - กลุ่มผู้ใช้ -iname "ชื่อไฟล์" ค้นหา / -perm 777 -iname "ชื่อไฟล์"
- คำสั่งข้างต้นจะค้นหาไฟล์สำหรับผู้ใช้เฉพาะกลุ่มหรือมีสิทธิ์การเข้าถึงเฉพาะ คุณยังสามารถละชื่อไฟล์ในแบบสอบถามเพื่อค้นหาไฟล์ทั้งหมดที่ตรงกับเกณฑ์ที่ระบุ ตัวอย่างเช่น คำสั่ง ค้นหา / -ดัด 777 จะค้นหาไฟล์ทั้งหมดที่มีสิทธิ์ 777 (ไม่จำกัด)
9 รวมคำสั่งเพื่อดำเนินการเฉพาะหลังจากการค้นหาไฟล์เสร็จสิ้น ทีมงาน หา สามารถใช้ร่วมกับคำสั่งอื่น ๆ ที่จะประมวลผลไฟล์ที่พบ การทำเช่นนี้ระหว่างทีม หา และด้วยคำสั่งที่สอง enter -execและที่ท้ายบรรทัดให้ป้อน {} ;
หา. -type f -perm 777 -exec chmod 755 {} ;
- คำสั่งนี้จะพบในไดเร็กทอรีปัจจุบัน (และไดเร็กทอรีย่อย) ไฟล์ทั้งหมดที่มีสิทธิ์ 777 แล้วใช้คำสั่ง chmod สิทธิ์การเข้าถึงจะเปลี่ยนเป็น 755
วิธีที่ 2 จาก 3: ค้นหายูทิลิตี้
1 ติดตั้งยูทิลิตี้ค้นหา... ยูทิลิตี้นี้เร็วกว่ายูทิลิตี้ หาเพราะมันไม่ได้สแกนระบบไฟล์จริงๆ อย่างไรก็ตาม ลินุกซ์บางรุ่นไม่ได้มาพร้อมกับยูทิลิตี้นี้ ค้นหาดังนั้นให้ป้อนคำสั่งต่อไปนี้เพื่อติดตั้ง:
- เข้า sudo apt-get update แล้วกด ↵ ป้อน.
- บน Debian และ Ubuntu ให้ทำดังนี้: enter sudo apt-get ติดตั้ง mlocate แล้วกด ↵ ป้อน... ถ้า ค้นหา ติดตั้งแล้วข้อความจะปรากฏขึ้น mlocate เป็นเวอร์ชั่นใหม่ล่าสุดแล้ว (ติดตั้งเวอร์ชันล่าสุด)
- บน Arch Linux ให้ใช้ตัวจัดการแพ็คเกจ pacman: pacman -Syu mlocate
- บน Gentoo ใช้การปรากฏ: โผล่ออกมา mlocate
2 อัพเดตฐานข้อมูลยูทิลิตี้ค้นหา... ยูทิลิตีนี้จะไม่สามารถค้นหาสิ่งใดได้หากไม่มีฐานข้อมูลที่สร้างและอัปเดตก่อนหน้านี้ (ซึ่งเก็บสแน็ปช็อตจากระบบไฟล์) ฐานข้อมูลอัพเดททุกวันในโหมดอัตโนมัติ แต่สามารถทำได้ด้วยตนเอง อัพเดทฐานข้อมูลด้วยตนเองเพื่อเริ่มทำงานกับ .ทันที ค้นหา.
- เข้า sudo updatedb แล้วกด ↵ ป้อน.
3 ใช้.ค้นหาเพื่อทำการค้นหาอย่างง่าย คุณประโยชน์ ค้นหา ทำงานได้เร็วแต่ใช้งานไม่ได้เท่ายูทิลิตี้ หา... ทีม ค้นหา จัดการคำค้นหาง่ายๆ คล้ายกับคำสั่ง หา.
ค้นหา -i " *. jpg"
- คำสั่งนี้จะค้นหา (ในทั้งระบบ) ไฟล์ทั้งหมดที่มีนามสกุล .webp... ที่นี่สัญลักษณ์ทั่วไป * ทำงานเหมือนทีม หา.
- ชอบทีม หา, ตัวดัดแปลง -ผม ละเว้นกรณีของคำค้นหา
. 4 จำกัดจำนวนผลการค้นหา หากมีผลการค้นหามากเกินไป ให้ย่อด้วย modifier -NS และตัวเลขที่กำหนดจำนวนผลการค้นหาที่แสดง
ค้นหา -n 20 -i " *. jpg"
- คำสั่งนี้จะแสดงผลลัพธ์ 20 รายการแรกที่ตรงกับคำค้นหาของคุณ
- คุณยังสามารถใช้สัญลักษณ์ |เพื่อกรองผลการค้นหาให้น้อยลง ซึ่งจะทำให้ง่ายต่อการดูผลการค้นหา
วิธีที่ 3 จาก 3: ค้นหาข้อความในไฟล์
1 ใช้คำสั่งgrepเพื่อค้นหาข้อความในไฟล์ ทำเช่นนี้เพื่อค้นหาไฟล์ที่มีวลีหรือบรรทัดเฉพาะ รูปแบบคำสั่งพื้นฐาน grep ดังนี้
grep -r -i "คำค้นหา" / เส้นทาง / ถึง / ไดเรกทอรี /
- ตัวดัดแปลง -NS ทำให้การค้นหาเป็นแบบเรียกซ้ำ ดังนั้นไฟล์ใดๆ ที่มีสตริงจากคำค้นหาจะพบในไดเร็กทอรีปัจจุบัน (และไดเร็กทอรีย่อยทั้งหมด)
- ตัวดัดแปลง -ผม แสดงว่าคำขอไม่คำนึงถึงขนาดตัวพิมพ์ หากต้องการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ อย่าป้อนตัวแก้ไข -ผม.
2 ซ่อนข้อความส่วนเกิน เมื่อดำเนินการคำสั่ง grep (ตามที่อธิบายไว้ข้างต้น) ชื่อไฟล์และข้อความที่มีวลีหรือสตริงที่เน้นซึ่งระบุไว้ในคำค้นหาจะแสดงบนหน้าจอ คุณสามารถซ่อนข้อความดังกล่าวเพื่อแสดงเฉพาะชื่อไฟล์และเส้นทางได้ เมื่อต้องการทำเช่นนี้ ให้ป้อนคำสั่งต่อไปนี้:
grep -r -i "คำค้นหา" / เส้นทาง / ถึง / ไดเรกทอรี / | ตัด -d: -f1
3 ซ่อนข้อความแสดงข้อผิดพลาด ทีม grep แสดงข้อความแสดงข้อผิดพลาดหากพยายามเข้าถึงโฟลเดอร์โดยไม่ได้รับสิทธิ์ที่เหมาะสม หรือจบลงที่โฟลเดอร์ว่าง ข้อความดังกล่าวสามารถถูกส่งไปยัง / dev / null เพื่อไม่ให้ปรากฏบนหน้าจอ
grep -r -i "คำค้นหา" / path / to / directory / 2> / dev / null