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

ค้นหาไฟล์ในลำดับชั้นไดเรกทอรี

1
คำสั่ง find Linux ทำงานผิดปกติ
ค้นหาบริการที่ได้รับการแก้ไขระบบตามการเปิดเผยช่องโหว่เมื่อเร็ว ๆ นี้ฉันมาเพื่อดูพฤติกรรมแปลก ๆ จากคำสั่ง find root@localhost:/# find . -name "*systemd-resolved*" ./usr/share/man/man8/systemd-resolved.service.8.gz ./usr/share/man/man8/systemd-resolved.8.gz คำสั่งส่งคืน 0 หรือสองบรรทัดเป็นเอาต์พุตสำหรับการรันครั้งแรก แต่ถ้าฉันรันคำสั่งในครั้งที่สองฉันจะได้รับ: root@localhost:/# find . -name "*systemd-resolved*" ./usr/share/man/man8/systemd-resolved.service.8.gz ./usr/share/man/man8/systemd-resolved.8.gz ./lib/systemd/systemd-resolved ./lib/systemd/system/systemd-resolved.service.d ./lib/systemd/system/systemd-resolved.service นี่หมายถึงเป็นครั้งแรกที่ "ค้นหา" ไม่พบทุกสิ่ง นอกจากนี้สิ่งนี้เกิดขึ้นเพียงครั้งเดียว การรันคำสั่งครั้งต่อไปจะแสดงเอาต์พุตที่ถูกต้อง ฉันตรวจสอบเรื่องนี้ในบางระบบที่ติดตั้ง Debian 8 (jessie) สำหรับผู้ที่มีเคอร์เนล 4.9+ ปัญหานี้จะเกิดขึ้นเสมอ แต่สำหรับระบบที่มีเคอร์เนล 3.16 จะไม่เกิดขึ้น หลังจากรีบูตระบบทั้งหมดนี้เกิดขึ้นอีกครั้ง แต่พฤติกรรมนั้นเหมือนกันสำหรับแต่ละระบบ นั่นหมายความว่าหากการทดสอบระบบเฉพาะส่งคืนสองบรรทัด (ผิด) สำหรับการรันครั้งแรกและเอาต์พุตที่ถูกต้องสำหรับการรันครั้งที่สองการรันครั้งแรกของคำสั่งหลังจากรีบูตระบบจะพิมพ์ 2 บรรทัดอีกครั้ง ดังนั้นระบบแสดงพฤติกรรมเดียวกันหลังจากรีบูตแต่ละครั้ง …
14 linux  find 

2
รับส่วนขยายทั้งหมดและจำนวนไฟล์ที่เกี่ยวข้องในไดเรกทอรี
รับส่วนขยายทั้งหมดสำหรับไดเรกทอรี: ง่าย รับไฟล์นับสำหรับส่วนขยายเฉพาะ: ง่าย แต่การได้รับนามสกุลไฟล์ทั้งหมดและจำนวนไฟล์ที่เกี่ยวข้องนั้นทำให้ฉันรู้สึกแย่ เช่น. + dir + abc.txt + def.txt + abc.pdf * def.pov ควรคืนบางสิ่งเช่น: .txt 2 .pdf 1 .pov 1 จุดประสงค์ของแบบฝึกหัดนี้คือฉันต้องการค้นหาว่านามสกุลไฟล์ใดที่เป็นที่นิยมในบางไดเรกทอรี ขอบคุณล่วงหน้า
14 linux  find  extension 

3
วิธีการค้นหาไฟล์ที่มีสิทธิ์ที่ไม่ถูกต้องในยูนิกซ์?
ฉันกำลังมองหาวิธีการค้นหาไดเรกทอรีหรือไดเรกทอรีและรายการไฟล์ทั้งหมดที่มีการอนุญาตที่ไม่ถูกต้องสำหรับไดเรกทอรีสาธารณะ
14 linux  unix  permissions  find 

7
วิธีค้นหาไฟล์ใน FreeBSD
ฉันพยายามค้นหาสำเนาทั้งหมดของexample.filenameบนเซิร์ฟเวอร์ FreeBSD ของฉัน วิธีที่ดีที่สุด / ง่ายที่สุด / มีประสิทธิภาพมากที่สุดคืออะไร
14 linux  freebsd  files  grep  find 


1
ฉันจะค้นหาลิงก์สัญลักษณ์แบบวงกลมได้อย่างไร
ฉันกำลังทำงานกับระบบ HP-UX และฉันต้องการค้นหาว่ามีลิงก์สัญลักษณ์แบบวงกลมหรือไม่ จนถึงตอนนี้ฉันกำลังใช้คำสั่ง: ls -lrt `find ./ -follow -type l` แต่มันทำ ls -lrt ในไดเรกทอรีปัจจุบันเท่านั้น ฉันควรใช้คำสั่งใดเพื่อค้นหาลิงก์สัญลักษณ์แบบวงกลมทั้งหมดในระบบ


9
ฉันจะควบคุมคำสั่ง UNIX ได้อย่างไร
ฉันคิดว่าฉันค่อนข้างก้าวหน้าในการใช้การค้นหา แต่ทุกครั้งที่ฉันใช้ฉันไม่สามารถใช้ชีวิตของฉันได้จำวิธีการปิดตัวเลือก -exec ฉันใช้เวลาอ่านหนังสือทุกครั้งที่ใช้งาน ฉันแค่ใช้มันไม่พอหรือคาดหวังตัวเองมากเกินไปหรือเปล่า? ให้เริ่มต้นด้วยตัวอย่างทั่วไปที่ทำให้ฉันผิดหวัง โครงสร้างไดเรกทอรีมีไฟล์ที่มีสิทธิ์ที่ไม่ถูกต้องไฟล์ที่ซ่อนลิงก์สัญลักษณ์ ฯลฯ ฉันต้องการเปลี่ยนความเป็นเจ้าของให้คุ้มค่า find . -type f -exec chown username {} \; find . -type d -exec chown username {} \; find . -type d -exec chgrp usergroup {} \; find . -type f -exec chgrp usergroup {} \; (ยกโทษให้ฉันถ้าตอนจบอยู่ข้างหลัง ... ฉันดูมันเมื่อชั่วโมงก่อนและฉันก็ยังไม่แน่ใจ) แต่ฉันกลัวที่จะเรียกใช้เพราะเมานต์ลิงก์สัญลักษณ์ ฯลฯ …

3
ใช้ find อย่างปลอดภัยด้วย sudo
บนเซิร์ฟเวอร์ Linux ฉันต้องลบสิทธิ์การใช้งานรูทออกจากกลุ่มผู้ใช้ แต่ผู้ใช้เหล่านั้นมีเหตุผลอันชอบด้วยกฎหมายที่จะสามารถใช้ยูทิลิตี "ค้นหา" เพื่อค้นหาไฟล์ตามชื่อไฟล์วันที่แก้ไขและเมตาดาต้าอื่น ๆ บนเซิร์ฟเวอร์ชื่อไฟล์ไม่สำคัญ แต่เนื้อหาไฟล์อาจเป็น ฉันต้องการใช้ sudo เพื่อให้ผู้ใช้สามารถค้นหาไฟล์ได้ทุกที่บนเซิร์ฟเวอร์ ยูทิลิตี "find" นั้นยอดเยี่ยม แต่มันช่วยให้เกิดผลข้างเคียงทุกชนิดเช่นการใช้ "-exec" เพื่อวางคำสั่งโดยพลการ ฉันสามารถfindทำงานกับข้อ จำกัด ของฉันได้หรือไม่?
10 linux  sudo  find 

6
ฉันจะใช้ตาข่ายเพื่อค้นหากฎโดยใช้รูปแบบได้อย่างไร
ฉันสงสัยว่าทุกคนใน Microsoft เคยมีสถานการณ์ที่พวกเขาจำชื่อกฎไม่ได้หรือไม่! มีnetsh advfirewall firewall show ruleเพียงชื่อเดียวเท่านั้นที่ยอมรับ1ชื่อและไม่มีสิ่งอำนวยความสะดวกในการจับคู่รูปแบบบน netsh เพื่อช่วยค้นหากฎโดยใช้รูปแบบเช่น"SQL*"หรือ^SQL.+$ ใช้การแสดงและname=allเป็นไปได้ที่จะแสดงรายการกฎทั้งหมด แต่ฉันไม่สามารถหาเครื่องมือ grep ฉันต้องการที่จะเรียกใช้คำสั่งเช่นนี้: netsh advfirewall firewall show rule name=sql* เป็นไปได้ไหม

4
เหตุใด FIND บน Windows 7 จึงมีข้อผิดพลาด“ Access Denied” [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันมีบัญชีผู้ดูแลระบบในเครื่อง Windows 7 x64 ไม่ใช่บัญชีผู้ดูแลระบบบัญชีเป็นเพียงสมาชิกของกลุ่มผู้ดูแลระบบ การติดตั้งเป็นค่าเริ่มต้น เมื่อผู้ใช้เปิดพรอมต์คำสั่งมันจะจบลงในไดเรกทอรี% HOMEPATH% ของผู้ใช้ซึ่งคุณจะพบไดเรกทอรีต่าง ๆ เช่นโฟลเดอร์เอกสาร หากผู้ใช้ใช้คำสั่ง FIND (windows) ต่อไปนี้จะเกิดข้อผิดพลาด "Access Denied": FIND /I "My String" C:\Users\Rann\Documents Access denied - C:\USERS\RANN\DOCUMENTS การใช้ runas หรือคลิกขวาที่พรอมต์คำสั่งเพื่อเรียกใช้ในฐานะผู้ดูแลระบบจะไม่เปลี่ยนพฤติกรรมนี้ cmd.exe ระดับผู้ดูแลระบบยังคงทำให้ฉันมีข้อผิดพลาดเดียวกัน การเปลี่ยนพา ธ ไปยังไดเร็กทอรีอื่นให้ข้อผิดพลาดเดียวกัน คำถามของฉันคือ: เราควรใช้คำสั่ง FIND (และอื่น ๆ ) ได้อย่างไร? สิทธิอะไรบ้างที่จำเป็น?

3
ค้นหาตัวเลือก - ของจริง: เพื่ออะไร
GNU หา (และอื่น ๆ ?) มี-trueการทดสอบพร้อมกับปกติ-name, -mode, -userและอื่น ๆ จากหน้าคน: จริงจริงเสมอ ทุกครั้งที่ฉันเห็นหน้าคนฉันสังเกตเห็นสิ่งนี้และสงสัยว่ามันจะมีประโยชน์เมื่อใด ดังนั้นขอยกตัวอย่างบางอย่างว่ามีประโยชน์เมื่อ: ~)
10 linux  shell  find 

7
ฉันจะค้นหาไฟล์และไดเรกทอรีทั้งหมดที่เขียนได้โดยผู้ใช้ที่ระบุได้อย่างไร
ภายใต้ Linux ฉันจะค้นหาไฟล์และไดเรกทอรีทั้งหมดที่สามารถเขียนได้ (หรือที่จริงแล้วไม่สามารถเขียนได้) โดยผู้ใช้รายใด แก้ไข: เพื่อชี้แจงฉันหมายถึงภายใต้ตำบลเฉพาะไม่ทั้งระบบ และใช่นั่นหมายถึงการเรียงสับเปลี่ยนและการรวมกันของผู้ใช้กลุ่มและการเขียนทั่วโลกที่จะอนุญาตให้ผู้ใช้เขียน ฉันรู้ว่าสิ่งที่คำถามสร้างความหมายฉันหวังว่าหนึ่งหรือไม่กี่ซับเพื่อรันเพื่อรับรายการของไฟล์เหล่านี้
10 linux  users  find 

5
ไวยากรณ์การค้นหา -exec ที่ถูกต้องคืออะไร
ฉันต้องการลบไฟล์ที่มีขนาดมากกว่า 2MB ภายในโฟลเดอร์เฉพาะ ดังนั้นฉันจึงวิ่ง: find . -size +2M และฉันได้รายการไฟล์สองไฟล์ ./a/b/c/file1 ./a/f/g/file2 ดังนั้นฉันจึงเรียกใช้: find . -size +2M -exec rm ; และฉันได้รับข้อความแสดงข้อผิดพลาด Find: missing argument to -exec ฉันตรวจสอบไวยากรณ์ใน man page และมันบอกว่า -exec command ; ดังนั้นฉันลองแทน find . -size +2M -exec rm {} + และมันใช้งานได้ ผมเข้าใจว่า {} ให้มันรันคำสั่งชอบแทนrm file1 file2rm file1; rm file2; …
10 linux  find 

2
Linux & SVN: วิธีลบไฟล์ที่มีเวอร์ชันทั้งหมดยกเว้นโครงสร้างไดเร็กทอรี KEEP ให้ข้าม. svn dirs?
ฉันต้องการลบไฟล์ที่มีเวอร์ชันทั้งหมดออกจากที่เก็บของฉัน แต่ให้ KEEP เป็นโครงสร้างไดเรกทอรีที่มีเวอร์ชัน เห็นได้ชัดว่าฉันต้องการออกจากไดเรกทอรี. svn ทั้งหมดที่ไม่มีใครแตะต้อง กล่าวอีกนัยหนึ่งฉันต้องการลบโครงสร้างไดเรกทอรีของสำเนาการทำงานโดยไม่ทำลายโครงสร้างไดเรกทอรีเอง ตัวอย่างเช่นการลบไฟล์ออกจากโครงสร้างนี้: dir/ .svn/ [files] svsubdir1/ file1 .svn/ [files] subdir2/ file2 file3 file4 .svn/ [files] subsubdir1/ file5 .svn/ [files] ควรส่งผลให้: dir/ .svn/ [files] svsubdir1/ .svn/ [files] subdir2/ .svn/ [files] subsubdir1/ .svn/ [files] ฉันกำลังมองหาfindคำสั่งบางอย่างหรือบางสิ่งบางอย่างเพื่อทำสิ่งนี้และฉันมีปัญหาในการสร้างคำสั่ง ขอบคุณสำหรับความช่วยเหลือ!
9 linux  svn  find  recursive 

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