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

การจัดการไฟล์: การคัดลอกการเปลี่ยนชื่อการค้นหาการวิเคราะห์การเก็บถาวรและอื่น ๆ สำหรับการใช้งานกับข้อความในไฟล์ดู / การประมวลผลข้อความ สำหรับคำถามเกี่ยวกับตัวจัดการไฟล์ของ Files (ชื่อเดิม Nautilus) ให้ดู / nautilus

2
วิธีเริ่มต้นปรับแต่งไฟล์ที่ยังไม่ได้สร้าง
ฉันใช้tailในการตรวจสอบความคืบหน้าของงานที่ฉันรู้ว่าจะเขียนความคืบหน้าของพวกเขาไปยังดิสก์ เกือบตลอดเวลาฉันรู้ว่าไฟล์ใดที่พวกเขาจะสร้างก่อนที่จะเริ่มทำงาน (งานถูกส่งโดยตัวจัดตารางเวลาในซูเปอร์คอมพิวเตอร์) มีวิธีในการtailไฟล์เหล่านี้ก่อนที่จะสร้าง? ฉันต้องการทำเช่นนั้นในขณะที่หลีกเลี่ยงสภาพการแข่งขันและ / หรือการตั้งสมมติฐานเกี่ยวกับวิธีการหรือเมื่องานเขียนไปยังดิสก์

4
ฉันจะแยกไฟล์เป็นค่าเริ่มต้นด้วย rsync ได้อย่างไร
ฉันจะแยกไฟล์เป็นค่าเริ่มต้นด้วย rsync ได้อย่างไร นี่คือวิธีที่ rsync ไวยากรณ์ปกติของฉันเริ่มต้น: rsync --exclude ".ht*" --exclude "error_log" --exclude ".DS*" --exclude "old" ... ฉันเคยเห็นการกล่าวถึงการกำหนดค่า/etc/rsyncd.confไฟล์จำนวนมากแต่อาจจะดีกว่าสำหรับ daemon มากกว่าคำสั่ง rsync เป็นไปได้ไหมที่จะมีการยกเว้นค่าเริ่มต้นสำหรับ rsync เมื่อถูกเรียกจากบรรทัดคำสั่งเช่นในไวยากรณ์เริ่มต้นของฉันด้านบน

3
เหตุใดการเรียงลำดับไฟล์ตามเวลาเข้าถึงจึงไม่ทำงาน
ฉันพยายามใช้คำสั่ง ls --time=atime มันทำงานในไดเรกทอรีเดียว แต่ไม่ได้ทำงานในไดเรกทอรีอื่น ฉันเปิดไฟล์บางไฟล์เป็นกลุ่ม, evince และแอปพลิเคชั่นอื่น ๆ แต่หลังจากเวลาเข้าถึงไฟล์คำสั่งไม่เปลี่ยน เมื่อฉันพิมพ์touch file.txtเวลาเข้าถึงจะเปลี่ยนไป แต่เมื่อฉันพิมพ์vim file.txtเวลาเข้าถึงจะไม่เปลี่ยนแปลง เกิดอะไรขึ้นที่นี่?
12 filesystems  files  ls  atime 

3
เครื่องมือสำหรับแสดงไฟล์ใดบ้างที่โปรแกรมเข้าถึง?
ฉันจะไม่ใช้เครื่องมือที่ซับซ้อนเช่นโหมดบ่น AppArmor ฉันต้องการเครื่องมือง่าย ๆ ที่จะบอกฉันว่าไฟล์ใดบ้างที่เข้าถึงได้โดยโปรแกรมเฉพาะ

3
Zip Archive มีจำนวนไฟล์ จำกัด
ฉันสามารถใช้คำสั่งใดในการสร้างzips ด้วยการ จำกัด จำนวนไฟล์ ฉันมีโฟลเดอร์ (ไม่มีโฟลเดอร์ย่อย) ที่บอกว่ามีไฟล์ 5,000 ไฟล์ดังนั้นฉันต้องการคำสั่งที่สามารถแบ่งจำนวนนั้นและสร้างzipคลังเก็บ10 ไฟล์แต่ละไฟล์แต่ละไฟล์มีไฟล์ไม่เกิน 500 ไฟล์ ฉันไม่ต้องการให้zipไฟล์10 ไฟล์เชื่อมต่อกันเพื่อให้ฉันสามารถเปิดได้ทีละไฟล์และไม่จำเป็นต้องเปิดทั้ง 10 ไฟล์ในเวลาเดียวกัน
12 files  zip 

1
ไฟล์สองไฟล์ในหนึ่งในโฟลเดอร์ของฉันจะมีชื่อเหมือนกันได้อย่างไร
ฉันดาวน์โหลดสองไฟล์พวกเขาทั้งสองถูกบันทึกไว้ในชื่อไฟล์เดียวกันจากนั้นฉันก็โอนไฟล์เหล่านั้นด้วย scp ไปยังคอมพิวเตอร์เครื่องอื่น ทำไมพวกเขาถึงไม่กลายเป็นหนึ่งในนั้นเมื่อวินาทีที่ถูกบันทึกไว้?
12 files  filenames 

2
SCP และเจ้าของไฟล์
อะไรคือสาเหตุที่ทำให้เกิดการเปลี่ยนแปลงในการเป็นเจ้าของไฟล์หลังจากที่scp'เปลี่ยนจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่น? ความเป็นเจ้าของไฟล์เปลี่ยนจาก ' owner ' เป็น ' apache ' scp -pผมใช้ ผู้ใช้ ' เจ้าของ ' มีอยู่ในเซิร์ฟเวอร์ทั้งสองและมี UID เดียวกัน
12 files  scp  chown 

5
ย้ายไฟล์ตามรายการในไฟล์ (พร้อมช่องว่างนำหน้า)
ฉันมีไฟล์ที่มีชื่อไฟล์ ตัวอย่างเช่น: /tmp/list.txt (ขึ้นอยู่กับช่องว่างที่จุดเริ่มต้นของแต่ละบรรทัด): /tmp/file.log /app/nir/home.txt /etc/config.cust ฉันต้องการใช้หนึ่งบรรทัดเพื่อย้ายไฟล์ทั้งหมดที่ระบุไว้/tmp/list.txtไปยัง/app/dest ดังนั้นควรเป็นดังนี้: cat /tmp/list.txt | xargs mv /app/dest/

3
คัดลอกเฉพาะไฟล์ปกติจากไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่ง
ฉันต้องการคัดลอกเนื้อหาของไดเรกทอรี 1 ไปยังไดเรกทอรี 2 อย่างไรก็ตามฉันต้องการคัดลอกเฉพาะไฟล์ (และไม่ใช่ไดเรกทอรี) จากไดเรกทอรีของฉัน 1 ฉันจะทำอย่างไร cp dir1/* dir2/* แล้วฉันยังคงมีปัญหาไดเรกทอรี นอกจากนี้ไฟล์ทั้งหมดของฉันไม่ได้มีส่วนขยายใด ๆ ดังนั้น จะไม่ทำเคล็ดลับ
12 files  cp 

5
วิธีให้สิทธิ์ในการอ่านเขียน แต่ไม่ลบไฟล์
ฉันต้องการให้ผู้ใช้สามารถสร้างการเขียนและอ่านไฟล์ในไดเรกทอรีผู้ใช้อื่น ๆ แต่ไม่มีตัวเลือกในการลบไฟล์หลังจากที่สร้าง (ตัวอย่างเช่นไม่สามารถใช้งานได้ที่นี่ ... ): ฉันมีผู้ใช้ที่manager มีไดเรกทอรีrepository ฉันมีผู้ใช้worker1ที่ต้องเขียนไฟล์ไป/manager/repositoryแต่ไม่สามารถลบไฟล์ ฉันมีผู้ใช้worker2ที่ต้องเขียนไฟล์ไป/manager/repository แต่ไม่สามารถลบไฟล์ที่ ฉันมีผู้ใช้worker3ที่ต้องเขียนไฟล์ไป/manager/repository แต่ไม่สามารถ ลบไฟล์ แต่worker 1-2-3ไม่สามารถลบไฟล์หลังจากที่สร้างขึ้นเท่านั้นmanagerและrootสามารถลบไฟล์ที่worker 1-2-3สร้างขึ้นได้ ฉันลองใช้chownและใช้chmodกลเม็ดน้อยในการใช้บิตที่ไม่สำเร็จ

2
ฉันจะตรวจสอบว่า rsync ทำการเปลี่ยนแปลงในทุบตีได้อย่างไร?
ฉันมีสคริปต์ที่ใช้ rsync เพื่อซิงค์ข้อมูลในรีโมต -> สถานการณ์จำลองในเครื่อง ทันทีหลังจากรันคำสั่ง rsync การตรวจสอบเพื่อดูว่ารหัสข้อผิดพลาดเท่ากับศูนย์หรือไม่ หากเป็นศูนย์จะดำเนินการคำสั่งเพิ่มเติม อย่างไรก็ตามสิ่งนี้ไม่ได้คำนึงถึงข้อเท็จจริงที่ว่า rsync อาจทำงานได้สำเร็จ แต่ไม่ได้ทำการเปลี่ยนแปลงใด ๆ ด้วยเหตุนี้สภาพศูนย์เท่ากับจะทำงานโดยไม่คำนึงถึงซึ่งซ้ำซ้อนเล็กน้อย rsync -aEivm --delete /path/to/remote/ /path/to/local/ if [ $? -eq 0 ]; then # Success do some more work! else # Something went wrong! exit 1; fi สิ่งที่จะเป็นวิธีที่ดีที่สุดในการขยายสิ่งนี้เพื่อตรวจสอบว่ามีการเปลี่ยนแปลงจริง ๆ ตามคำสั่ง rsync ที่รันหรือไม่ ฉันอ่านแล้วว่าแฟล็ก -i สามารถให้เอาต์พุตกับ stdout …

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

5
รายการไดเรกทอรีทั้งหมดที่ไม่มีไฟล์ที่มีชื่อไฟล์ที่กำหนดไว้ภายใน
ฉันจะไปยังรายการไดเรกทอรีทั้งหมดที่ไม่มีไฟล์ที่มีชื่อไฟล์ที่กำหนดไว้ภายในได้อย่างไร? เช่นได้รับต้นไม้ต้นนี้ / /a README file001 file002 /b README file001 /c file003 ฉันต้องการที่จะแสดงรายการไดเรกทอรีที่ไม่ได้ตั้งชื่อไฟล์เป็นในกรณีนี้มันจะเป็นไดเรกทอรีREADME /cฉันจะทำอย่างไร ฉันไม่สามารถคิดใด ๆ findไวยากรณ์ใช้เช่น
12 files  directory 

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

3
ทำการทดสอบ -nt / -ot ใน POSIX sh
บิวด์อินtestและ[ยูทิลิตีมีการทดสอบ-nt("ใหม่กว่า") และ-ot("เก่ากว่า") ในเชลล์ส่วนใหญ่แม้ว่าเชลล์จะทำงานใน "โหมด POSIX" (เช่นเดียวกับยูทิลิตี้ภายนอกของชื่อเดียวกันบน ระบบที่ฉันสามารถเข้าถึงได้) การทดสอบเหล่านี้ใช้สำหรับการเปรียบเทียบการประทับเวลาการปรับเปลี่ยนในสองไฟล์ เอกสารความหมายของพวกเขาจะแตกต่างกันเล็กน้อยในการใช้งาน (โดยคำนึงถึงสิ่งที่เกิดขึ้นหากไฟล์หนึ่งหรือไฟล์อื่นที่ไม่ได้อยู่) แต่พวกเขาจะไม่รวมอยู่ในข้อมูลจำเพาะ POSIX สำหรับtestยูทิลิตี้ พวกเขาจะไม่ถูกพาไปข้างหน้าในtestยูทิลิตี้เมื่อคำสั่งแบบมีเงื่อนไขถูกลบออกจากเปลือก [KornShell] เพราะพวกเขาไม่ได้รวมอยู่ในtestยูทิลิตี้ที่มีอยู่ในการติดตั้งในอดีตของshยูทิลิตี้ สมมติว่าฉันต้องการเปรียบเทียบการประทับเวลาการปรับเปลี่ยนระหว่างไฟล์ใน/bin/shเชลล์สคริปต์แล้วดำเนินการขึ้นอยู่กับว่าไฟล์หนึ่งใหม่กว่าอีกไฟล์หนึ่งดังเช่นใน if [ "$sigfile" -nt "$timestamp" ] || [ "$sigfile.tmp" -nt "$timestamp" ] then return fi ... ยูทิลิตี้อื่น ๆ ที่ฉันสามารถใช้นอกเหนือจากmake(ซึ่งจะทำให้สคริปต์ที่เหลือไม่ได้พูดอย่างน้อยที่สุด) หรือฉันควรจะสมมติว่าไม่มีใครที่จะเรียกใช้สคริปต์ใน "การดำเนินการทางประวัติศาสตร์ของsh" หรือลาออกเพื่อเขียนเปลือกเฉพาะเช่นbash?
11 files  timestamps  posix  test 

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