ค้นหาเว็บไซต์

10 ตัวอย่างคำสั่ง 'locate' ที่เป็นประโยชน์สำหรับมือใหม่ Linux


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

Linux ก็เหมือนกับระบบปฏิบัติการอื่นๆ เกือบทั้งหมดที่ใช้กลไกหลายอย่างเพื่อตอบคำค้นหาสำหรับผู้ใช้ ยูทิลิตีการค้นหาไฟล์ยอดนิยมสองประการที่ผู้ใช้เข้าถึงได้เรียกว่า find และ ระบุตำแหน่ง

สิ่งสำคัญที่ควรทราบคือกระบวนการค้นหาทั้งสองทำงานได้ดีมาก แต่อย่างไรก็ตาม ศูนย์กลางของบทความนี้จะอยู่ที่ยูทิลิตี ระบุตำแหน่ง มากกว่า ซึ่งสะดวกกว่าในทั้งสองกระบวนการเนื่องจากใช้มีประสิทธิภาพมากกว่า วิธีประมวลผลคำค้นหาที่ผู้ใช้ป้อนอย่างรวดเร็ว

ยูทิลิตี ระบุตำแหน่ง ทำงานได้ดีกว่าและเร็วกว่า ค้นหา เทียบเท่า เนื่องจากแทนที่จะค้นหาระบบไฟล์เมื่อเริ่มการค้นหาไฟล์ - มีบางอย่างที่ค้นหา - ค้นหาตำแหน่งจะค้นหาผ่านฐานข้อมูล ฐานข้อมูลนี้ประกอบด้วยบิตและบางส่วนของไฟล์และเส้นทางที่เกี่ยวข้องในระบบของคุณ

ต่อไปนี้เป็นคำสั่งค้นหาตำแหน่งง่ายๆ 10 คำสั่งที่จะช่วยให้คุณมีประสิทธิผลมากขึ้นด้วยเครื่อง Linux ของคุณ

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

การใช้คำสั่งระบุตำแหน่งเพื่อค้นหาไฟล์นั้นค่อนข้างง่ายและตรงไปตรงมา สิ่งที่คุณต้องทำคือพิมพ์:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. จำกัดคำค้นหาให้เป็นจำนวนเฉพาะ

คุณสามารถจำกัดผลลัพธ์การค้นหาของคุณให้อยู่ในจำนวนที่ต้องการเพื่อหลีกเลี่ยงความซ้ำซ้อนกับผลการค้นหาของคุณโดยใช้คำสั่ง -n

ตัวอย่างเช่น หากคุณต้องการผลลัพธ์เพียง 20 จากการสืบค้นของคุณ คุณสามารถพิมพ์คำสั่งต่อไปนี้:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

ผลลัพธ์จะแสดง 20 ไฟล์แรกที่ลงท้ายด้วย .html

3. แสดงจำนวนรายการที่ตรงกัน

หากคุณต้องการแสดงจำนวนรายการที่ตรงกันทั้งหมดของไฟล์ “tecmint“ ให้ใช้คำสั่ง locate -c


$ locate -c [tecmint]*

1550

4. ละเว้นผลลัพธ์การค้นหาตำแหน่งที่ละเอียดอ่อน

ตามค่าเริ่มต้น ตำแหน่ง ได้รับการกำหนดค่าให้ประมวลผลคำค้นหาในลักษณะที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ซึ่งหมายความว่า TEXT.TXT จะนำคุณไปยังผลลัพธ์ที่แตกต่างจาก text.txt .

หากต้องการให้คำสั่ง ระบุตำแหน่ง ละเว้นการพิจารณาตัวพิมพ์เล็กและใหญ่ และแสดงผลลัพธ์สำหรับข้อความค้นหาทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ให้ป้อนคำสั่งด้วยตัวเลือก -i


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. รีเฟรชฐานข้อมูล mlocate

เนื่องจากคำสั่ง locate อาศัยฐานข้อมูลที่เรียกว่า mlocate ฐานข้อมูลดังกล่าวจำเป็นต้องได้รับการอัปเดตเป็นประจำเพื่อให้ยูทิลิตีคำสั่งทำงานได้
อย่างมีประสิทธิภาพ

หากต้องการอัปเดตฐานข้อมูล mlocate คุณใช้ยูทิลิตีชื่อ updatedb ควรสังเกตว่าคุณจะต้องมีสิทธิ์ superuser เพื่อให้สิ่งนี้ทำงานได้อย่างถูกต้อง จำเป็นต้องดำเนินการในฐานะสิทธิ์ root หรือ sudo


sudo updatedb

6. แสดงเฉพาะไฟล์ที่อยู่ในระบบของคุณ

เมื่อคุณมีฐานข้อมูล mlocate ที่อัปเดต** คำสั่ง locate ยังคงสร้างผลลัพธ์ของไฟล์ที่สำเนาทางกายภาพถูกลบออกจากระบบของคุณ

เพื่อหลีกเลี่ยงไม่ให้เห็นผลลัพธ์ของไฟล์ที่ไม่มีอยู่ในเครื่องของคุณในขณะที่เจาะคำสั่ง คุณจะต้องใช้คำสั่ง locate-e กระบวนการนี้จะค้นหาระบบของคุณเพื่อตรวจสอบการมีอยู่ของไฟล์ที่คุณกำลังมองหา แม้ว่าจะยังคงอยู่ใน mlocate.db ของคุณก็ตาม


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. แยกรายการเอาต์พุตโดยไม่ต้องขึ้นบรรทัดใหม่

ตัวคั่นเริ่มต้นของคำสั่ง ระบุตำแหน่ง คืออักขระขึ้นบรรทัดใหม่ (\\n) แต่หากคุณต้องการใช้ตัวคั่นอื่น เช่น ASCII NUL คุณสามารถทำได้โดยใช้ตัวเลือกบรรทัดคำสั่ง -0


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. ตรวจสอบฐานข้อมูลค้นหาของคุณ

หากคุณสงสัยเกี่ยวกับสถานะปัจจุบันของ mlocate.db ของคุณ คุณสามารถดูสถิติการค้นหาฐานข้อมูลได้อย่างง่ายดายโดยใช้คำสั่ง -S


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. ระงับข้อความแสดงข้อผิดพลาดใน Locate

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

หากต้องการยกเลิกข้อความเหล่านี้โดยสิ้นเชิง ให้ใช้คำสั่ง -q


locate "\*.dat" -q*

10. เลือกตำแหน่ง mlocate อื่น

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


locate -d <new db path> <filename>

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