คำถามติดแท็ก locate

"locate" เป็นเครื่องมือบรรทัดคำสั่งสำหรับการค้นหาไฟล์ในเครื่องโดยใช้ฐานข้อมูล


3
วิธีอัปเดตแคช“ ค้นหา” แคช
ฉันจะอัพเดตแคช / ดัชนีการค้นหาได้อย่างไร ฉันติดตั้งแพ็คเกจใหม่และไฟล์ยังไม่ได้จัดทำดัชนีอย่างชัดเจน ดังนั้นฉันต้องใช้คำสั่งใดเพื่อให้ตัวสร้างดัชนีทริกเกอร์? ฉันกำลังทำงานกับ debian jessie (ทดสอบ): กับ Linux mbpc 3.13-1-amd64 # 1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU / Linux
73 debian  locate 

1
ฉันจะเปิดใช้งานการค้นหาและจัดคิวฐานข้อมูลที่จะสร้างได้อย่างไร
ในอินสแตนซ์ Ubuntu 10.4 ใหม่ฉันพยายามใช้locateคำสั่งเพื่อรับข้อผิดพลาดเท่านั้น locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory จากการใช้คำสั่งนี้กับระบบอื่นฉันเดาว่านี่หมายความว่าฐานข้อมูลยังไม่ได้ถูกสร้างขึ้น (เป็นการติดตั้งใหม่) ฉันเชื่อว่าควรรันทุกวัน แต่ฉันจะจัดคิวให้ทำงานทันทีได้อย่างไร นอกจากนี้ยังมีการกำหนด "รันทุกวัน" อย่างไร ถ้าฉันมีกล่องที่เปิดเพียงหนึ่งชั่วโมงต่อครั้งฐานข้อมูลจะถูกสร้างขึ้นด้วยตัวเองหรือไม่?

3
ฐานข้อมูลใดที่ `อัพเดต 'และการค้นหา` ใช้'?
locateโปรแกรมfindutilsสแกนหนึ่งหรือฐานข้อมูลอื่น ๆ จากชื่อไฟล์และการแสดงการแข่งขันใด ๆ ซึ่งสามารถใช้เป็นfindคำสั่งที่รวดเร็วมากหากไฟล์นั้นมีอยู่ในระหว่างการอัพเดทฐานข้อมูลชื่อไฟล์ล่าสุด ปัจจุบันมีฐานข้อมูลหลายประเภท ฐานข้อมูลเชิงสัมพันธ์ (ด้วยภาษาแบบสอบถามเช่น SQL) ฐานข้อมูล NoSQL ฐานข้อมูลเชิงเอกสาร (เช่น MongoDB) ฐานข้อมูลคีย์ - ค่า (เช่น Redis) ฐานข้อมูลเชิงคอลัมน์ (เช่น Cassandra) ฐานข้อมูลกราฟ ดังนั้นฐานข้อมูลชนิดใดที่updatedbปรับปรุงและlocateใช้งาน? ขอบคุณ

2
ความแตกต่างระหว่างค้นหาและ mlocate
ผมอยากจะติดตั้งคำสั่งซึ่งสามารถใช้ได้ผ่านทางlocatesudo apt-get installmlocate อย่างไรก็ตามฉันวิ่งครั้งแรกsudo apt-get installlocateซึ่งดูเหมือนจะติดตั้งอย่างอื่น พิมพ์คำสั่งแต่ดูเหมือนว่าจะเรียกร้องให้locate <package>mlocate แพคเกจคืออะไรlocateและสามารถ (ควร) นำออกอย่างปลอดภัยหรือไม่
15 locate 

2
updatedb: ไม่สามารถเปิดไฟล์ชั่วคราวสำหรับ `/var/lib/mlocate/mlocate.db '
ฉันไปใช้คำสั่ง updatedb เพื่ออัพเดตดัชนีและฉันจะได้รับ updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db' fyi คำสั่งค้นหากำลังทำงานเช่น $ locate Index.xml /usr/share/mysql/charsets/Index.xml durrantm.../durrantm$ ฉันจะเอาชนะปัญหานี้เมื่อพยายามเรียกใช้ updateb ได้อย่างไร
15 locate  updatedb 

6
ยกเว้นไดเรกทอรีในการค้นหาการค้นหา
การค้นหาด้วยlocateค้นหาพา ธ ในระบบไฟล์ บ่อยครั้งที่คุณรู้ว่าคุณมีความสนใจในไฟล์อย่างใดอย่างหนึ่งเท่านั้นหรือไดเรกทอรีเท่านั้น การค้นหา 'ค้นหา' มักจะส่งคืนผลลัพธ์จำนวนมาก มันจะมีประโยชน์ที่จะรวมเพียงหนึ่งประเภทในผลลัพธ์เพราะจะช่วยให้ผลผลิตสั้นลง แต่มีข้อโต้แย้งที่น่าสนใจที่จะทิ้งไฟล์หรือไดเรคทอรีไว้อย่างใดอย่างหนึ่งเนื่องจากรายการของพา ธ ผลลัพธ์สามารถคลุมเครือไม่เพียง แต่ในทางทฤษฎี ตัวอย่างด้านล่างเป็นกรณีของโลกแห่งความจริงและไม่ผิดปกติ: $ locate --regex --basename "xfce4-keyboard-overlay$" /usr/local/bin/xfce4-keyboard-overlay /usr/local/share/xfce4-keyboard-overlay ตกลงเราพบบางอย่าง! แต่ ... ไฟล์หรือไดเรกทอรี? $ file /usr/local/bin/xfce4-keyboard-overlay /usr/local/bin/xfce4-keyboard-overlay: bash script นั่นคือไฟล์ ... $ file /usr/local/share/xfce4-keyboard-overlay /usr/local/share/xfce4-keyboard-overlay: directory ในขณะที่สองไม่ใช่ ความคลุมเครือนี้คือการทำให้รายการยาวของเส้นทางยากที่จะอ่านดังนั้นมันจะดีจริงๆไดเรกทอรีกรองออกเช่นใช้ตัวเลือกบรรทัด comman locateสำหรับ สิ่งนี้มีอยู่จริงหรือไม่? แม้ว่าตัวกรองสำหรับไดเรกทอรีแยกจากการค้นหาหรือไม่ อย่างน้อยหนึ่งสามารถใช้สคริปต์เพื่อวนซ้ำชื่อไฟล์ทั้งหมดเพื่อตรวจสอบ - ซึ่งอาจช้า
14 files  find  directory  locate 

1
มีการอัปเดตอย่างไรเร็วกว่าการค้นหามาก
เป็นวิธีการupdatedbเพื่อให้ได้เร็วกว่าfind? นี่คือการเปรียบเทียบเวลาระหว่างupdatedbและfindคำสั่งที่ทำงานคล้ายกัน compare.sh #!/usr/bin/env bash cmd="sudo updatedb" echo $cmd time eval $cmd cmd="sudo find / \ -fstype ext4 \ -not \( \ -path '/afs/*' -o \ -path '/net/*' -o \ -path '/sfs/*' -o \ -path '/tmp/*' -o \ -path '/udev/*' -o \ -path '/var/cache/*' -o \ -path '/var/lib/pacman/local/*' -o \ …
11 find  locate  updatedb 

3
วิธี `ค้นหา 'หลายไฟล์และเปิดในกลุ่ม?
สมมติว่าผมมีไฟล์ชื่อfilename123.txtและเป็นไฟล์เดียวที่มีชื่อเช่นนั้นและฉันสามารถกับคำสั่งlocate locate filename123และจะส่งคืนเฉพาะไฟล์นี้ ตอนนี้ผมต้องการที่จะเปิดมันด้วย/vi vimแต่ฉันไม่ต้องการไปที่ตำแหน่งนั้นและพิมพ์viคำสั่งตามด้วยชื่อไฟล์ ที่นี่ฉันต้องการผลลัพธ์locate filename123ที่จะผนวกเข้ากับคำสั่ง vi ฉันจะทำเช่นนั้นได้อย่างไร ฉันได้ลองแล้ว: locate filename123 | vi แต่มันไม่ได้ผล และข้อผิดพลาดนี้มาใน terminal: santosh@santosh:~$ locate filename123 | vi Vim: Warning: Input is not from a terminal Vim: Error reading input, exiting... Vim: Finished.

4
วิธีค้นหาไฟล์ในระบบไฟล์จากบรรทัดคำสั่ง?
ฉันต้องการค้นหาไฟล์ (ที่มีชื่อไฟล์ที่รู้จักกันบางส่วน) อยู่ในระบบไฟล์ ฉันต้องการทราบวิธีการทำสิ่งนี้จากบรรทัดคำสั่งแทนที่จะใช้ยูทิลิตี GUI ใน Windows ฉันจะเรียกใช้สิ่งต่อไปนี้: cd /d C:\ dir *filename* /s Linux มีอะไรเทียบเท่า
10 ubuntu  find  ls  locate 

6
ฉันจะใช้ค้นหาเฉพาะสำหรับไดเรกทอรีได้อย่างไร
พบไฟล์จำนวนมากที่อยู่ภายใต้ไดเรกทอรีย่อยต่างๆของ "Dropnot" $ locate Dropnot ฉันสามารถค้นหาเฉพาะตำแหน่งไดเรกทอรีด้วยได้locateหรือไม่ (ซึ่งไดเรกทอรี "Dropnot" อยู่ใน) ดังนั้นหากDropnotอยู่ใน/home/me/นั่นเป็นรายการเดียวที่ได้รับคืน ถ้าเป็นอย่างนั้นวิธีที่ง่ายที่สุด / สั้นที่สุดคืออะไร? โดยเฉพาะอย่างยิ่งผ่านการตั้งค่าสถานะหรือสัญลักษณ์แทนการ piping และ greping สำหรับมัน ฯลฯ แต่ฉันจะใช้ทุกอย่างเป็นตัวเลือก บางที Dropnot $ สำหรับการวางสายบางอย่าง? (แต่ไม่ได้ผล)
10 directory  locate 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.