ฉันจะค้นหาไฟล์ที่ซ่อนทั้งหมดที่อยู่ในโฟลเดอร์ที่ซ่อนอยู่โดยใช้ Terminal ได้อย่างไร


10

ฉันต้องการหา configs บางส่วนฝังอยู่ในโฟลเดอร์ที่ซ่อนบางอย่างและไม่สามารถจำที่พวกเขาอยู่เพื่อนำทางไปยังพวกเขาโดยตรงCmd+ +ShiftG

ฉันทำsudo find -name Foo*(ช้า) แต่ไม่มีไฟล์ที่ส่งคืนอยู่ในโฟลเดอร์ที่ซ่อนอยู่

วิธีที่ง่ายที่สุดในการค้นหาไฟล์ที่ซ่อนอยู่ทั้งหมดคืออะไร?


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

คำตอบ:


15

mdfindดูเหมือนจะไม่สนใจไฟล์ที่ซ่อนอยู่มากมาย mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'ไม่รายชื่อ.DS_Storeไฟล์ .bash_historyแต่ไม่ได้ยกตัวอย่างเช่น /private/etc/ฉันไม่ได้พบวิธีการค้นหาไฟล์ในไดเรกทอรีที่ซ่อนบางอย่างเช่น

อย่างไรก็ตามการค้นหาไฟล์ใด ๆนั้นเร็วกว่าfindมาก

Find Any File เป็นโปรแกรมสำหรับ Mac OS X ที่ให้คุณค้นหาไฟล์ในดิสก์ของคุณ

  • ตรงกันข้ามกับ Spotlight มันไม่ได้ใช้ฐานข้อมูล แต่ใช้การดำเนินการค้นหาอย่างรวดเร็วของไดรเวอร์ระบบไฟล์แทน สิ่งนี้ช่วยให้คุณค้นหาคุณสมบัติไฟล์เช่นชื่อ, วันที่, ขนาด, ฯลฯ แต่ไม่ใช่สำหรับเนื้อหาไฟล์ (ใช้ Spotlight หรือ EasyFind สำหรับสิ่งนั้น)
  • ค้นหาไฟล์ใด ๆ สามารถค้นหาไฟล์ที่ Spotlight ไม่ได้เช่นไฟล์ที่อยู่ในชุดรวมและแพ็คเกจและในโฟลเดอร์ภายในที่มักจะถูกแยกออกจากการค้นหา Spotlight
  • ในที่สุดมันก็ค่อนข้างเร็ว การค้นหาใช้เวลาเพียงไม่กี่วินาทีในฮาร์ดดิสก์ภายในหรือ SSD ลองด้วยตัวคุณเอง!

6

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

sudo find / -name '.*' \( -type d -exec find {} \; -prune -o -print \)

คำอธิบาย:

  • -type d -exec find {} \; -pruneรันfindบนทุกไดเรกทอรี (ชื่อการจับคู่.*) -pruneและข้ามไปหาน้อยลงในไดเรกทอรีเนื่องจากการที่
  • -type d … -o -printทำให้ไม่ใช่ไดเรกทอรีทั้งหมดที่ตรง.*กับที่จะพิมพ์

หากคุณกำลังมองหาไฟล์ที่มีชื่อหรือรูปแบบเฉพาะ:

sudo find / -name 'Foo*' -path '*/.*'

*/.*ลวดลายบนกองกำลังทั้งเส้นทางตรงจะอยู่ภายใต้ไดเรกทอรีที่ซ่อน

คุณอาจต้องการเพิ่ม-xdevหลังจาก/เพื่อหลีกเลี่ยงการข้ามระบบไฟล์พิเศษและดิสก์แบบถอดได้


อ่าขอบคุณ และดูเหมือนว่าต้องการ -x ในขณะนี้เนื่องจาก -xdev เลิกใช้แล้ว
McStopher เก่า

4

ลองlocateคำสั่ง คุณจะต้องsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistก่อนและรอการค้นหาฐานข้อมูลที่จะสร้าง


3
มันเป็นเรื่องน่ารำคาญที่ Spotlight ไม่เก็บไฟล์ที่ซ่อน / (dot-) เพราะ mdfind นั้นเหนือกว่า slocate อย่างมากมาย
Jason Salaz

2

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

คุณสามารถรับได้จาก App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

คำเตือน: ฉันไม่ได้มีส่วนเกี่ยวข้องกับนักพัฒนา


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