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

โครงสร้างระบบไฟล์ที่ใช้เก็บไฟล์คอมพิวเตอร์

2
วิธีการหลอกลวง / เลียนแบบไดเรกทอรีที่ใช้โดยแอปพลิเคชันไบนารีเป็นไดเรกทอรีอื่น
สมมติว่ามีแอ็พพลิเคชันไบนารีที่เขียนข้อมูลไปยัง/tmpเสมอ ฉันจะหลอก / จำลอง/tmpเพื่อประโยชน์ของไบนารีนี้เป็นไดเรกทอรีอื่น ๆ (เช่นhome/tmp) ได้อย่างไร สมมติว่าฉันไม่มีวิธีแก้ไขไบนารีนี้เพื่อบังคับให้ใช้ไดเรกทอรีอื่น
9 directory 

1
ls -l - กลุ่มไดเรกทอรีแรก (ดำเนินการกับ symlink ด้วย)
lsตัวเลือก--group-directories-firstทำให้ไดเรกทอรีที่จะแสดงรายการอยู่ด้านบนซึ่งทำให้การส่งออกของlsดีและสะอาด: ls -l --group-directories-first อย่างไรก็ตามมันไม่ได้ดำเนินการกับsymlinksซึ่งเป็นsymlinksไดเรกทอรีจริงๆ มีความเป็นไปได้ที่จะใช้เป็น ls -l -L --group-directories-first ซึ่งจะแสดงรายการทั้งสองประเภทของไดเรกทอรีที่ด้านบน แต่จะไม่แยกความแตกต่างระหว่างไดเรกทอรีที่เหมาะสมและไดเรกทอรี symlinked ซึ่งทำให้เกิดความสับสนอีกครั้ง สามารถlsแสดงไดเรกทอรี symlinked ด้านบนในขณะที่ยังคงแตกต่างจากไดเรกทอรีปกติได้หรือไม่ แก้ไข:bashฉันใช้
9 bash  zsh  directory  ls  symlink 

1
rm สามารถลบไดเรกทอรีที่ว่างเปล่าซ้ำ ๆ ได้หรือไม่
ใน Unix เวอร์ชันเก่าrmคำสั่งจะลบไดเรกทอรีถ้าว่างเปล่า จากหน้าคู่มือการวิจัย Unix Eighth Edition สำหรับ rm : "ถ้ารายการเป็นไดเรกทอรีรายการนั้นจะถูกลบออกหากว่างเปล่า" ฉันชอบพฤติกรรมนี้ดังนั้นฉันจึงมีนามแฝงนี้ในของฉัน/etc/profile: alias rm='rm -d'ฉันใช้รุ่น GNU coreutils rmซึ่ง-dบอกrmให้ไปข้างหน้าและลบไดเรกทอรีหากไม่มี จนถึงตอนนี้ดีมาก นามแฝงนี้อนุญาตให้ฉันใช้rmเหมือนวันเก่า ๆ อย่างไรก็ตามฉันต้องการที่จะก้าวไปอีกขั้น ฉันต้องการrmเพื่อลบไดเรกทอรีแม้ว่าไดเรกทอรีนั้นจะมีไดเรกทอรีอื่นอยู่ตราบใดที่ไดเรกทอรีมีเพียงสิ่งเดียว ไม่สำคัญว่าโครงสร้างไดเรกทอรีจะลึกแค่ไหนหากไม่มีไฟล์อยู่ในนั้นเพียงแค่ว่างเปล่า (เมื่อคุณไปถึงด้านล่าง) ไดเรกทอรีฉันต้องการrmลบออกทั้งหมด สิ่งนี้สามารถเขียนเป็นนามแฝงซึ่งจะยังคงทำงานเหมือนปกติrmและลบไฟล์ใด ๆ ที่ส่งไปหรือไม่
9 directory  rm  alias 

5
การทำให้ไดเรกทอรีได้รับการป้องกันจาก 'rm -rf'
ฉันเพียงแค่สูญเสียข้อมูลบางอย่างในโฟลเดอร์ซึ่งเป็นโฟลเดอร์ภายใน B rm -rf Bหลังจากที่ทำ ก่อนที่ฉันจะรู้ว่าสิ่งที่ฉันทำมันจบลงแล้ว ตอนนี้ฉันได้เรียนรู้บทเรียนแล้วฉันต้องการทำให้โฟลเดอร์ของฉันงี่เง่าพิสูจน์เพื่อหลีกเลี่ยงในครั้งต่อไปเมื่อฉันทำสิ่งที่คล้ายกันและต้องการที่จะฆ่าตัวตาย rmวิธีการหนึ่งที่ฉันสามารถคิดคือการเขียนฟังก์ชั่นการทุบตีและนามแฝงมัน .dontdeleteฟังก์ชั่นนี้จะดูในแต่ละโฟลเดอร์ย่อยสำหรับไฟล์ที่ซ่อนอยู่เช่น เมื่อพบว่ามันจะถามว่าฉันต้องการที่จะดำเนินการต่อไป ฉันไม่สามารถป้องกันการเขียนได้เนื่องจากมีกระบวนการที่เขียนไปยังโฟลเดอร์นี้อย่างต่อเนื่อง มีวิธีที่ดีกว่าที่จะทำหรือไม่

4
ผ่านหลายไดเรกทอรีไปยังตัวเลือก -prune ในการค้นหา
ฉันใช้findเพื่อค้นหาและลบไฟล์สำรองข้อมูล แต่ต้องการแยกไดเรกทอรีบางอย่างออกจากการค้นหา ชื่อไฟล์สำรองข้อมูลอาจยุติใน.bck, bak, หรือ~backup โค้ดตัวอย่างการทำงานขั้นต่ำ (MWE) ที่มีเพียงสามไดเรกทอรีที่ต้องแยกคือ: #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o -path "./Documents" \) -prune -o -type f \( -name "*.bck" -o -name "*.bak" -o -name "*~" -o -name "*.backup" \) -print0 | xargs -0 --no-run-if-empty trash-put \( -path "dir1" …

4
ข้อดีของโครงสร้างระบบไฟล์ Unix คืออะไร
ถ้าฉันติดตั้งแอปพลิเคชั่นใน Linux เช่น Debian / Gnu Linux ไฟล์ของแอปพลิเคชันจะถูกคัดลอกไปยังไดเรกทอรีต่าง ๆ ในระบบไฟล์ สคริปต์บางตัวจะเข้าสู่/ usr / share .. / usr / localไฟล์อื่น ๆ ลงใน/ var .. / log .. etc /และอื่น ๆ สำหรับฉันมันก็โอเคเพราะฉันได้เรียนรู้บางอย่างเกี่ยวกับระบบไฟล์และไดเรกทอรีส่วนใหญ่อยู่ที่นั่นเพื่อเก็บไฟล์เพื่อวัตถุประสงค์เฉพาะ มันเข้ากันได้ดีกับปรัชญาของ Unix "ทำสิ่งหนึ่งสิ่งใดและทำได้ดี" แต่คำถามของฉันคือข้อดีของโครงสร้างไดเรคทอรีนั้นคืออะไร? หรือเป็นเพียงมรดกของยุคยูนิกซ์เก่า ๆ (เช่นเมื่อเปรียบเทียบกับการใช้งาน windows เดียวซึ่งไฟล์ทั้งหมดสำหรับแอปพลิเคชันอยู่ใน "โฟลเดอร์" หนึ่งโฟลเดอร์เท่านั้น)

2
ฉันต้องการที่จะ tar ไดเรกทอรี X ไม่รวมถึงผู้ปกครอง
tar cvf /var/lib/backup/sample.tar /home/user/.project อย่างไรก็ตามเมื่อฉันแยกฉันก็รับพ่อแม่ของมันเช่นกัน /backup/ - /home/ - /user/ - .project/ คำสั่ง tar นี้ทำงานได้เนื่องจากไม่ได้รวมสิ่งใดไว้ในรายการในพาเรนต์ ( userตัวอย่างเช่นโฟลเดอร์อื่น ๆ) ฉันต้องการทำสิ่งนี้โดยทางโปรแกรมดังนั้นการเปลี่ยนไดเรกทอรีการทำงานปัจจุบัน/home/user/เป็นไม่ได้เป็นตัวเลือก เป็นไปได้ไหมที่จะทำเช่นนั้น?
9 directory  tar 

4
ค้นหาไฟล์ที่มีชื่อเหมือนกัน แต่มีเนื้อหาต่างกันหรือไม่?
ฉันต้องการสร้างรายการไฟล์ที่มี: ชื่อเดียวกัน เนื้อหาที่แตกต่าง ในไดเรกทอรี (รวมถึงไดเรกทอรีลูกและเนื้อหาทั้งหมด) วิธีการทำ? ทุบตี Perl อะไรก็ได้ ดังนั้นไฟล์สองไฟล์ที่มีชื่อเหมือนกันและเนื้อหาเดียวกันไม่ควรแสดงขึ้นมา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.