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 เพื่อให้กระบวนการรักษาประสิทธิภาพเอาไว้ จำเป็นต้องได้รับข้อมูลเป็นระยะๆ หากไม่ทำเช่นนั้นอาจทำให้โปรแกรมไร้ประโยชน์เล็กน้อย