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

การดำเนินงานในไดเรกทอรีและไดเรกทอรีย่อยซ้ำ

5
วิธีการลบการเรียกใช้งานจากไฟล์ซ้ำโดยไม่ต้องแตะโฟลเดอร์ซ้ำ ๆ
ฉันได้สำรองข้อมูลไปยังไดรฟ์ NTFS และการสำรองข้อมูลนี้ได้รับการพิสูจน์แล้วว่ามีความจำเป็นจริงๆ อย่างไรก็ตามไดรฟ์ NTFS messed up สิทธิ์ ฉันต้องการคืนค่าพวกเขาให้เป็นปกติโดยไม่ต้องแก้ไขด้วยตนเองทุกไฟล์ ปัญหาหนึ่งก็คือไฟล์ข้อความทั้งหมดของฉันได้รับสิทธิในการเรียกใช้งานซึ่งผิดปกติ ดังนั้นฉันจึงพยายาม: sudo chmod -R a-x folder\ with\ restored\ backup/ แต่มันผิดเพราะลบการxอนุญาตจากไดเรกทอรีเช่นกันซึ่งทำให้ไม่สามารถอ่านได้ คำสั่งที่ถูกต้องในกรณีนี้คืออะไร?


5
ความแตกต่างระหว่าง -r และ -R
มันมักจะเกิดขึ้นที่ฉันต้องการใช้การดำเนินการซ้ำ คำสั่งบางคำสั่งเช่น grep ใช้ตัวพิมพ์เล็ก r เพื่อระบุการเรียกซ้ำ ตัวอย่างเช่น grep -r foo . คำสั่งอื่นดูเหมือนจะชอบตัวพิมพ์ใหญ่ R: chmod -R 755 . ฉันได้รับอย่างต่อเนื่องในทางที่ผิดและลืมซึ่งเป็นที่ มีเหตุผลใดบ้างที่อยู่เบื้องหลังการเลือกเคสสำหรับอาร์กิวเมนต์เหล่านี้?

3
ลบไฟล์และไดเรกทอรีด้วยชื่อ ไม่พบไฟล์หรือโฟลเดอร์ที่คุณค้นหา
ฉันต้องการลบข้อมูลที่รวบรวมทั้งหมด: ไดเรกทอรีที่เรียกว่าbuild, ไดเรกทอรีที่เรียกว่าobj, ไฟล์ * .so ฉันเขียนคำสั่ง find \( -name build -o -name obj -o -name *.so \) -exec rm -rf {} \; ที่ผ่านไดเรกทอรีทั้งหมดซ้ำและลบทั้งหมดที่ฉันต้องการ ทำไมฉันถึงมีผลลัพธ์เช่นนี้ในตอนท้าย? บางทีฉันควรเขียนคำสั่งอื่น find: `./3/obj': No such file or directory find: `./3/build': No such file or directory find: `./1/obj': No such file or directory find: `./1/build': No …
32 find  rm  recursive 

2
rm -r ทำงานอย่างไรในการลบแบบเรียกซ้ำ? ในลำดับใด
มีคำสั่งของการดำเนินงานที่จะrm? ฉันดำเนินการrmในไดเรกทอรีขนาดใหญ่และฉันอยากรู้ว่าควรดูว่ามีอะไรที่ถูกลบไปบ้าง ไม่rmทำงานในไฟล์แรกแล้วไดเรกทอรี? หรือมันเป็นไปตามข้อมูลบางอย่างในตารางไอโหนด? ข้อมูลจำเพาะ: rm จาก GNU coreutils 8.22 ระบบ: Arch Linux ทำงานบนระบบไฟล์ beagleboneblack ที่ทำงานอยู่เป็น Seagate HDD (ext4) ภายนอกโดยใช้ USB 2.0 backstory: ฉันกำลังทำการล้างข้อมูลไดเรกทอรีและดำเนินการ cp -r A/ B/ C/ Dest/ ฉันติดตามไปด้วยโดยไม่เจตนา rm -r A/ B/ C/ Dest/ เมื่อฉันตั้งใจจะแสดง rm -r A/ B/ C/ ฉันจับได้แล้วกดCtrl+ Cก่อนที่จะผ่านไปนานเกินไป โดยเฉพาะมันเป็น <3 วินาทีขณะที่ผมกำลังใช้timeคำสั่งร่วมกับ&rm cpฉันเข้าไปในและตรวจสอบโดยDest/คาดหวังว่ามันจะไม่มีอยู่จริง แต่ดูเถิดและเห็นว่ามันเป็นทั้งหมดและดูเหมือนจะไม่ได้รับผลกระทบ …
30 rm  recursive 



2
ฉันจะหยุดการค้นหาจากมากไปน้อยในไดเรกทอรีที่พบได้อย่างไร
ฉันต้องการค้นหาไดเรกทอรีทั้งหมดด้วยสตริงที่ระบุเพื่อให้ฉันสามารถค้นหาอื่นในไฟล์ที่อยู่ภายใน ดังนั้นฉันไม่ต้องการเสียเวลากับ./my-search-term/dir/my-search-termฯลฯ ฉันจะหยุดการเรียกซ้ำเมื่อฉันพบไดเรกทอรีของฉันคำค้นหาแรกได้อย่างไร
24 find  recursive 

4
wget - วิธีดาวน์โหลดแบบซ้ำ ๆ และเฉพาะประเภท mime / ส่วนขยายที่เฉพาะเจาะจง (เช่นข้อความเท่านั้น)
วิธีดาวน์โหลดเว็บไซต์แบบเต็ม แต่ไม่ต้องสนใจไฟล์ไบนารีทั้งหมด wgetมีฟังก์ชั่นนี้ใช้การ-rตั้งค่าสถานะ แต่มันดาวน์โหลดทุกอย่างและบางเว็บไซต์มีมากเกินไปสำหรับเครื่องที่มีทรัพยากรต่ำและมันไม่ได้ใช้งานด้วยเหตุผลเฉพาะที่ฉันดาวน์โหลดเว็บไซต์ นี่คือบรรทัดคำสั่งที่ฉันใช้: wget -P 20 -r -l 0 http://www.omardo.com/blog(บล็อกของตัวเอง)

2
ยกเว้นไดเรกทอรีย่อยที่ซ่อนอยู่จาก grep -r
ฉันมีสำเนาโลคอล svn ฉันต้องการค้นหาสตริง some_string $ grep some_string * -r lang/en:some_string=Some string lang/.svn/en:some_string=Some string แต่ถ้าไปไกลกว่านั้นดูเหมือนว่าไดเรกทอรีระดับแรกจะถูกยกเว้น: $ cd lang && grep some_string * -r en:some_string=Some string ฉันจะลบ diretories svn ที่ซ่อนอยู่ออกจากผลลัพธ์ของฉันได้อย่างไรและไม่เพียง แต่จากระดับความลึกแรก $ grep some_string * -r --which_option_here? lang/en:some_string=Some string
22 grep  recursive 

7
วิธีคัดลอกโครงสร้างโฟลเดอร์และสร้างลิงก์สัญลักษณ์ไปยังไฟล์ได้อย่างไร
ฉันมีโฟลเดอร์ SOURCE ที่มีโฟลเดอร์ย่อยหลายโฟลเดอร์โดยแต่ละไฟล์มีไฟล์ของตัวเอง ฉันต้องการคัดลอกโฟลเดอร์นี้ในโฟลเดอร์ใหม่คัดลอกที่ฉันต้องการคัดลอกโครงสร้างไดเรกทอรี แต่เก็บไฟล์เป็นลิงก์สัญลักษณ์ไปยังไฟล์ต้นฉบับใน SOURCE และโฟลเดอร์ย่อย

6
การค้นหาแบบเรียกซ้ำไม่ทำงานสำหรับ grep บน solaris
Solaris บนเซิร์ฟเวอร์ของเราฉันพบว่าไม่ทำงานซึ่งเป็นวิธีการปกติที่ผมใช้grep -r grepดูเหมือนว่าegrepจะมีพฤติกรรมเหมือนกัน เนื่องจากฉันไม่สามารถควบคุมเครื่องได้มีวิธีgrepทำการค้นหาแบบเรียกซ้ำหรือไม่? หรือฉันจะต้องท่อส่งออกของfindเข้ามาgrep?

1
rsync ซ้ำกับความลึกของโฟลเดอร์ย่อย
ฉันต้องการrsyncโฟลเดอร์ซ้ำ แต่ต้องการให้โฟลเดอร์ย่อยรวมอยู่ในระดับความลึกที่แน่นอน ตัวอย่างเช่นฉันต้องการความลึกของ 1,2,3 หรือ 4 โฟลเดอร์ย่อยเช่นนี้ source/ ├── subfolder 1 │ ├── subsubfolder │ │ ├── subsubsubfolder │ │ │ └── wanted with depth 4.txt │ │ └── wanted with depth 3.txt │ └── wanted with depth 2.txt ├── subfolder 2 │ └── wanted with depth 2.txt └── wanted …

8
ls เนื้อหาของไดเรกทอรีที่ละเว้น symlinks
ฉันมีไดเรกทอรีที่ฉันต้องการแสดงรายการเนื้อหาทั้งหมด (ไฟล์และไดเรกทอรีย่อย) โดยไม่แสดงลิงก์สัญลักษณ์ ฉันใช้โปรแกรมอรรถประโยชน์ GNU บน Linux lsรุ่นคือ 8.13 ตัวอย่าง: รายการไดเรกทอรีเต็ม: ~/test$ ls -Gg total 12 drwxrwxr-x 2 4096 Jul 9 10:29 dir1 drwxrwxr-x 2 4096 Jul 9 10:29 dir2 drwxrwxr-x 2 4096 Jul 9 10:29 dir3 -rw-rw-r-- 1 0 Jul 9 10:29 file1 -rw-rw-r-- 1 0 Jul 9 10:29 …
17 ls  symlink  recursive 

5
chmod ได้รับอนุญาตซ้ำกับไฟล์หลายพันไฟล์
นี่เป็นคำถามทั่วไปเกี่ยวกับ 'chmoding' แบบเรียกซ้ำ ฉันมีสคริปต์นี้ซึ่งในบางจุดจำเป็นต้องเปลี่ยนการอนุญาตซ้ำในโฟลเดอร์ที่มีไฟล์สองสามแสนไฟล์ มีไฟล์ใหม่เพิ่มเข้ามาในโฟลเดอร์นั้นทุกวัน แต่ไฟล์ที่มีอยู่แล้วมีการตั้งค่าการอนุญาตแล้วและจะไม่เปลี่ยนแปลง คำถามของฉันคือ ... เมื่อฉันโทร chmod 775 -R ลองตั้งค่าการอนุญาตสำหรับไฟล์ที่มีการตั้งค่าการอนุญาตที่เหมาะสมอยู่แล้วหรือเฉพาะสำหรับไฟล์ใหม่ที่ไม่มีการอนุญาตที่ถูกต้อง? ดูเหมือนว่าจะต้องใช้เวลานานกว่าจะผ่านคำสั่งนี้ในสคริปต์แม้ว่าไฟล์ 'ใหม่' จะมีอยู่เพียงไม่กี่พันไฟล์เท่านั้นและควรจะอนุญาตอย่างรวดเร็ว ฉันได้ดูหน้าคนสำหรับ chmod แต่ดูเหมือนจะไม่พูดถึงอะไรในกรณีนี้ หาก chmod ไม่ตรวจสอบการอนุญาตล่วงหน้าฉันควรเริ่มดูการรวม 'find' กับ 'chmod' หรือไม่

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