มีเครื่องมือค้นหาไฟล์เช่น“ ทุกอย่าง” ใน Linux หรือไม่?


46

ใน Windows มีเครื่องมือค้นหาไฟล์ที่ดีที่เรียกว่าEverythingซึ่งfindเร็วกว่าและแตกต่างจากlocateผลลัพธ์ที่เป็นปัจจุบันเสมอ AFAIK ใช้งานได้โดยการกรอกฐานข้อมูลจากวารสาร NTFS (มันไม่ทำงานกับระบบไฟล์อื่น)

ฉันสงสัยว่ามีบางอย่างที่คล้ายกัน (ฉันไม่สนใจ GUI จุดของฉันคือความเร็วและการรับประกันที่ทันสมัย) สำหรับ Linux (ext3 หรือ ext4) ฉัน googled แต่ไม่พบอะไรเลย สิ่งนี้สามารถทำได้หรือแม้กระทั่งคนที่ทำงานกับมัน?


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

มีตัวแปรการค้นหาหลายรายการอยู่ (mlocate, slocate, rlocate, .... ) ที่มีลักษณะของตัวเอง (ที่เพิ่มขึ้นที่เพิ่มขึ้น b, เรียลไทม์หรือการสร้างดัชนีที่ปลอดภัย, ... ) ทั้งหมดอยู่ในกำหนดสูง (manpages ของ updatedb.conf และค้นหา)
มนู H

คำตอบ:


30

คุณอาจดูที่การจัดสรรใหม่การปรับใช้การค้นหาใหม่ซึ่งเป็นปัจจุบันอยู่เสมอ อีกโครงการที่น่าสนใจคือการจัดทำใหม่ซึ่งรองรับการจัดทำดัชนีแบบเรียลไทม์และช่วยให้คุณ (เช่นบีเกิ้ล) ทำการค้นหาข้อความแบบเต็มนอกจากนี้ ในที่สุดฉันควรพูดถึงdoodleซึ่งยังสนับสนุนการจัดทำดัชนีตามเวลาจริง หา Doodle มีบางส่วนหน้าดีเช่นปลาดุก

โปรดทราบว่าคุณสามารถสร้าง (r) ค้นหาผลลัพธ์ที่สามารถคลิกได้โดยใช้ตัวอย่างเช่น urxvt เป็นเทอร์มินัลอีมูเลเตอร์และโดยการเขียนบางอย่างเช่น

URxvt.perl-ext: default,matcher URxvt.urlLauncher: /usr/bin/gnome-open     
URxvt.matcher.button: 1 URxvt.matcher.pattern.1: /.*

(และดำเนินการในxrdb -load ~/.Xdefaultsภายหลัง)


1
ฉันคิดว่าคำตอบนี้ควรได้รับการยอมรับ rlocateตัวเองทำให้คำตอบที่สมบูรณ์แล้ว
phunehehe

4
มีอะไรใหม่ในปี 2560 rlocate กล่าวถึง Linux 2.6 และไม่มีแพ็คเกจ Ubuntu 16.04 recoll ดูเหมือนว่าน่าสนใจและได้รับการปรับปรุง แต่ overkill สำหรับความต้องการของฉัน doodle มีแพคเกจ Ubuntu ตั้งแต่ 16.04 ดังนั้นอาจเป็นตัวเลือก
Stéphane Gourichon

เหตุใดจึงเรียกคืนค่า overkill คุณสามารถเรียกใช้ recoll ได้จาก commandline นอกจากนี้ยังทำงานร่วมกับ kde และ unity ได้ดีหากคุณต้องการ
นักเรียน

ปัญหาที่ใหญ่ที่สุดของฉันเกี่ยวกับปลาดุกคือการไม่สามารถโต้ตอบกับไฟล์ได้ - หากฉันต้องการคัดลอก 20 ไฟล์จากผลการค้นหาที่ฉันต้องการถึงShow in File Manager20 เท่า
Annan

เอกสารประกอบของ rlocateมีรายการข้อกำหนด "Kernel configuration" ที่ฉันไม่รู้ว่าจะต้องทำอย่างไรและถ้าฉัน./configureยกเลิกการติดตั้งและรันฉันจะบอกว่าฉันต้อง "ติดตั้งแพ็คเกจด้วยเคอร์เนลเต็ม" เครื่องมือนี้ดูเหมือนจะไม่เอื้ออำนวยสำหรับผู้ที่ไม่ใช่กูรู
Qwertie

6

ฉันยังค้นหาเครื่องมือ "ค้นหาทุกอย่าง" สำหรับ linux และค้นพบ"Search Monkey"ในที่เก็บ Ubuntu รักมัน!

มันมีน้ำหนักเบาโหลดเร็วการค้นหาไวด์การ์ดจะสร้างผลลัพธ์ได้ทันทีพร้อมด้วยตัวกรองและวิธีการค้นหาขั้นสูง

ตอนนี้ฉันมีเครื่องมือค้นหา "ทุกอย่าง" ของฉันกลับมาแล้วสำหรับ linux!


ลิงก์ใช้งานไม่ได้
Chris Nevill

4

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

สิ่งที่อาจใกล้เคียงที่สุดกับสิ่งที่คุณกำลังค้นหาอาจเป็นระบบไฟล์เสมือนของ libferris

ในโลกการจัดทำดัชนีคุณอาจต้องการดูแวบหนึ่งซึ่งอย่างน้อยสามารถอัปเดตและผนวกดัชนีของมันได้

อัปเดต: ฉันเพิ่งอ่านเนื้อหาเกี่ยวกับ "ทุกอย่าง" และดูเหมือนว่ามันไม่ได้มีอยู่ในระบบของ FS ดังนั้น libferris ก็ไม่ได้อยู่ใกล้มากนอกจากนี้ยังอนุญาตให้สร้างดัชนีเนื้อหาไม่ใช่แค่ชื่อไฟล์ มันตอบสนองความต้องการของคุณในการเป็นที่ทันสมัยตลอดเวลา


ชิงช้าสวรรค์รายการจดหมายแห้งขึ้นมาตั้งแต่ปี 2007 และยังคงไม่เกินปี 2010 มีพื้นที่เก็บข้อมูล GitHub ที่ไม่ได้ใช้งานระหว่างไมล์ 2016 และมีนาคม 2017 เป็นgithub.com/monkeyiq/ferris/commits/master บางทีมันยังคง
Stéphane Gourichon

2

คุณสามารถใช้locateคำสั่งและหากคุณต้องการอัพเดตฐานข้อมูลให้รันคำสั่งต่อไปนี้:

# updatedb

คำสั่งนี้อัพเดตฐานข้อมูลค้นหาในไม่กี่วินาที


การใช้งานตัวอย่างแบบโต้ตอบ: github.com/phil294/linux-locate-everything
phil294

2

คุณได้ตรวจสอบโกรธค้นหา มันอ้างในคำอธิบายว่ามันเป็นเหมือนทุกอย่าง FSearchอ้างว่าเหมือนกัน


1
เมื่อพิจารณาถึงจำนวนผลการค้นหาที่คุณได้รับชี้ไปที่ FSearch เมื่อคุณ google สำหรับ Evernote ทางเลือกสำหรับ Linux ฉันประหลาดใจที่คุณเป็นคนเดียวที่โพสต์ที่นี่
Ghos3t

1

คุณควรสร้างบางอย่างเช่นนี้ในโค้ดสองสามบรรทัดโดยใช้ inotify (นอกจากนี้ยังมีแพ็คเกจ inotify-tools ซึ่งจะช่วยให้คุณสามารถใช้งานได้โดยใช้เชลล์สคริปต์)

(ฉันประหลาดใจมากที่เครื่องมือดังกล่าวจะถูกขับเคลื่อนจากวารสาร - มีโอกาสมากขึ้นที่จะนำไปใช้ในระดับระบบไฟล์เสมือน)


1
ฉันไม่แน่ใจว่าinotifyจะมีประโยชน์ที่นี่หรือไม่เพราะไม่เวียนเกิดซ้ำ การสร้างนาฬิกาสำหรับต้นไม้ทั้งหมดนั้นง่าย แต่เคอร์เนลสามารถจัดการกับมันได้หลายหมื่นหรือไม่ แม้ว่ามันจะทำได้ แต่มันก็ไม่ได้ดูเป็นวิธีที่มีประสิทธิภาพสำหรับฉัน
maaartinus


1

btrfsได้ใช้find-newคำสั่งกับ subvolumes เป็นเวลาหลายปี หากคุณเก็บแผนผังสแน็ปช็อตที่ทันสมัยอยู่เสมอมันสามารถใช้เพื่อเฝ้าดูระบบไฟล์แบบอะตอมสำหรับการเปลี่ยนแปลงทั้งหมดด้วยความยุ่งยากเล็กน้อย

คุณจะใช้มันเหมือน:

btrfs sub find-new /chk/path [gen-id]

คุณสามารถรับ gen-id ที่คุณต้องการเพื่อเปรียบเทียบกับคำสั่งเดียวกัน แต่ใช้ bogus gen-id นอกจากนี้ข้อมูลเพิ่มเติมได้ที่นี่


1

UI front-end สำหรับค้นหาคำสั่งที่ใช้งานได้เกือบทุกอย่าง:

https://github.com/AlexTuduran/Locator/releases


1
ดูเหมือนว่าจะถูกสร้างขึ้นบนสมมติฐานที่locateไม่เคยมีการปรับปรุงโดยอัตโนมัติ
roaima

กรุณาพัฒนา คุณหมายถึงอะไรเมื่อค้นหาตำแหน่งที่อัพเดท
Alex Tuduran

รัฐโครงการ GitHub ของคุณว่าคำสั่ง Unixlocateใช้หลักการเดียวกันยกเว้นว่าฐานข้อมูลที่ไม่ได้รับการปรับปรุงโดยอัตโนมัติ locateแพคเกจรวมถึงcronงานที่ไม่ปรับปรุงฐานข้อมูลโดยอัตโนมัติ
roaima

หากนั่นเป็นเรื่องจริงนั่นเป็นเพียงการช่วยเหลือเป้าหมายของเครื่องมือเท่านั้น การให้ฐานข้อมูลอัปเดตโดยอัตโนมัติจะทำให้ผู้ใช้ไม่สามารถทำงานอื่นได้ ผู้ใช้ยังคงสามารถอัพเดตฐานข้อมูลได้อย่างชัดเจนหากต้องการการอัพเดตทันที หรืออะไรคือความกังวลที่นี่เกี่ยวกับหลักฐานเท็จ?
Alex Tuduran

1

ฉันใช้ Angry Search กับ Raspberry Pi 3 B + ที่กำลังทำงานอยู่และทำงานได้ดี มันค่อนข้างเร็วเหมือนค้นหาทุกอย่างบนหน้าต่าง มันดีมากที่สามารถค้นหาไฟล์ได้อย่างรวดเร็ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.