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

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

3
สคริปต์ bash สามารถเชื่อมโยงกับไฟล์ได้หรือไม่?
ฉันต้องการให้สคริปต์เข้าสู่โหมดสลียกเว้นว่ามีการแก้ไข / ลบไฟล์บางไฟล์ (หรือไฟล์ที่สร้างในไดเรกทอรีหรือ ... ) สามารถทำได้ในลักษณะที่สง่างาม? สิ่งที่ง่ายที่สุดที่อยู่ในใจของฉันคือการวนรอบที่หลับสักพักก่อนที่จะตรวจสอบสถานะอีกครั้ง แต่อาจมีวิธีที่สง่างามกว่านี้ไหม
32 linux  shell  files  hook 

2
ลบรูปแบบไฟล์ที่ตรงกัน
ฉันจำเป็นต้องลบไฟล์ทั้งหมดซ้ำในโฟลเดอร์ย่อยทั้งหมดที่ชื่อไฟล์มีหมายเลขตามด้วย 'x' ตามด้วยหมายเลขอย่างน้อยสองครั้ง ตัวอย่าง: ฉันต้องการลบไฟล์เหล่านี้: 'aaa-12x123-123x12.jpg' 'aaa-12x12-123x12-12x123.jpg' แต่ฉันไม่ต้องการลบไฟล์เหล่านี้: 'aaa.jpg' 'aaa-12x12.jpg' 'aaaxaaa-123x123.jpg' 'aaaxaaa-aaaxaaa.jpg' ฉันจะทำสิ่งนั้นได้อย่างไร (จาก bash shell)
32 bash  files  find  wildcards 

2
การแก้ไขลิงก์สัญลักษณ์ (pwd)
พูดว่าฉันทำต่อไปนี้: cd /some/path ln -s /target/path symbolic_name ถ้าเป็นเช่นนั้น: cd /some/path cd symbolic_name pwd ฉันเข้าใจ: /some/path/symblic_name และไม่: /target/path มีวิธีที่จะให้เชลล์ "แก้ปัญหาอย่างเต็มที่" ลิงก์สัญลักษณ์ (เช่นการอัปเดต CWD ฯลฯ ) ราวกับว่าฉันทำเสร็จแล้ว: cd /target/path ? ฉันต้องเรียกใช้บางโปรแกรมที่ดูเหมือนจะ "รับรู้" หรือ "ละเอียดอ่อน" เกี่ยวกับวิธีที่ฉันไปยังเส้นทางเป้าหมายของฉันและฉันต้องการให้พวกเขาคิดว่าฉันมาถึงเส้นทางเป้าหมายราวกับว่าทำcd /target/pathโดยตรง
32 files  symlink  cwd 

6
แทนที่ไฟล์ด้วยฮาร์ดลิงก์ไปที่ / dev / null
ฉันใช้งานแอปพลิเคชันที่เขียนไปยัง log.txt แอพนี้ได้รับการอัพเดตเป็นเวอร์ชั่นใหม่ทำให้ปลั๊กอินที่รองรับไม่รองรับอีกต่อไป มันบังคับให้เกิดข้อผิดพลาดจำนวนมหาศาลใน log.txt และดูเหมือนจะไม่สนับสนุนการเขียนไปยังไฟล์บันทึกอื่น ฉันจะเขียนพวกเขาไปยังบันทึกอื่นได้อย่างไร ฉันได้พิจารณาแทนที่ log.txt ด้วยฮาร์ดลิงก์ (แอปพลิเคชันไม่สามารถบอกความแตกต่างได้ใช่ไหม) หรือฮาร์ดลิงก์ที่ชี้ไปที่ / dev / null ตัวเลือกของฉันคืออะไร?

1
เหตุใดไฟล์ที่เรียกทำงานได้ในเช่น / usr / sbin สามารถเขียนได้โดย root?
คุณช่วยอธิบายได้ไหมว่าทำไมไฟล์คอมไพล์ไบนารี (ตัวอย่างเช่น/usr/sbin) มีสิทธิ์ในการเขียนสำหรับrootผู้ใช้ สำหรับฉันมันถูกรวบรวม หมายความว่าการเขียนโดยตรงนั้นไม่มีประโยชน์และอาจทำให้ไฟล์มีปัญหาด้านความปลอดภัยบางประการ สคริปต์ (เช่นbashไฟล์) อาจเขียนได้เพราะมันเป็นไฟล์ข้อความโดยทั่วไป แต่ทำไมมันจึงเป็นแบบเดียวกันสำหรับไฟล์ที่คอมไพล์โดยที่ไม่จำเป็นต้องเขียนจริง ๆ เท่าที่ฉันรู้ ขอบคุณล่วงหน้าสำหรับความคิดเห็นของคุณ

7
ฉันจะหลอกให้กระบวนการคิดว่าไฟล์ไม่มีอยู่ได้อย่างไร
ฉันมีโปรแกรมที่จัดเก็บการตั้งค่าใน ~/.config/myprogramฉันใช้ทั้งแบบโต้ตอบและกับระบบคิวแบบแบตช์ เมื่อเรียกใช้แบบโต้ตอบฉันต้องการให้โปรแกรมนี้ใช้ไฟล์การกำหนดค่าของฉัน แต่เมื่อทำงานในโหมดแบทช์ไฟล์การกำหนดค่าไม่จำเป็นเพราะฉันระบุตัวเลือกบรรทัดคำสั่งที่เขียนทับการตั้งค่าที่เกี่ยวข้องทั้งหมด นอกจากนี้การเข้าถึงไฟล์กำหนดค่าผ่านเครือข่ายจะเพิ่มเวลาเริ่มต้นของโปรแกรมเป็นเวลาหลายวินาที หากไฟล์ไม่มีอยู่โปรแกรมจะเริ่มเร็วขึ้นมาก (เนื่องจากแต่ละงานใช้เวลาเพียงหนึ่งนาทีเท่านั้น แต่เนื่องจากฉันใช้โปรแกรมแบบโต้ตอบฉันไม่ต้องการย้าย / ลบไฟล์การกำหนดค่าตลอดเวลา ขึ้นอยู่กับเวลาที่งานแบ็ตช์ของฉันถูกกำหนดเวลาไว้ในคลัสเตอร์ (ขึ้นอยู่กับการใช้งานของผู้ใช้รายอื่น) (นอกเหนือจาก: ประสิทธิภาพของไฟล์เครือข่ายช้ามากอาจเป็นข้อบกพร่อง แต่ฉันเป็นเพียงผู้ใช้ของคลัสเตอร์ดังนั้นฉันสามารถแก้ไขได้เท่านั้นไม่สามารถแก้ไขได้) ฉันสามารถสร้างเวอร์ชันของโปรแกรมที่ไม่อ่านไฟล์การกำหนดค่า (หรือมีตัวเลือกบรรทัดคำสั่งไม่ให้ใช้) สำหรับการใช้แบทช์ แต่สภาพแวดล้อมการสร้างของโปรแกรมนี้ออกแบบมาไม่ดีและติดตั้งยาก ฉันชอบที่จะใช้ไบนารีที่ติดตั้งผ่านผู้จัดการแพ็คเกจของระบบของฉัน ฉันจะหลอกลวงอินสแตนซ์ของโปรแกรมนี้โดยเฉพาะเพื่อแกล้งทำเป็นไฟล์การกำหนดค่าของฉันไม่มีอยู่ (โดยไม่ต้องแก้ไขโปรแกรม) ฉันหวังว่าจะได้รูปแบบ pretendfiledoesntexist ~/.config/myprogram -- myprogram --various-options...แต่ฉันเปิดให้โซลูชั่นอื่น ๆ
31 files 

4
มีคำสั่งเหมือนด้านบนที่แสดงแบนด์วิดท์เครือข่ายและการเข้าถึงไฟล์ของกระบวนการทำงาน
ตัวอย่างเช่นเราต้องการดู: PROCESS IF TX RX FILE(regular) R/W prog1 eth0 200kB/s 12kB/s -- -- wlan0 12kB/s 100kB/s -- -- -- -- -- file1 R -- -- -- file2 R -- -- -- file3 W prog2 eth0 0kB/s 200kB/s -- -- -- -- -- file4 W -- -- -- file5 W เป็นไปได้ไหม …

5
ลบไฟล์ในไดเรกทอรีโดยไม่มีข้อผิดพลาดหากไฟล์นั้นว่างเปล่า
ในฐานะส่วนหนึ่งของสคริปต์การปรับใช้งานฉันต้องการถ่ายโอนข้อมูลที่แคชไว้บางส่วนจากไดเรกทอรีชั่วคราวของฉัน ฉันใช้คำสั่งเช่น: rm /tmp/our_cache/* อย่างไรก็ตามถ้า/tmp/our_cacheว่างเปล่า (เป็นเรื่องธรรมดาเมื่อทำการเปลี่ยนแปลงจำนวนมากอย่างต่อเนื่องไปยังเซิร์ฟเวอร์ทดสอบของเรา) สิ่งนี้จะพิมพ์ข้อความแสดงข้อผิดพลาดต่อไปนี้: rm: cannot remove `/tmp/our_cache/*': No such file or directory มันไม่ใช่เรื่องใหญ่ แต่มันน่าเกลียดนิดหน่อยและฉันต้องการลดอัตราส่วนสัญญาณรบกวนต่อสัญญาณในเอาต์พุตจากสคริปต์นี้ มีวิธีรัดกุมในยูนิกซ์เพื่อลบเนื้อหาของไดเรกทอรีโดยไม่ได้รับข้อความบ่นว่าไดเรกทอรีว่างเปล่าอยู่แล้ว?
31 files  rm 

6
วิธีแสดงรายการไฟล์ที่เรียงลำดับตามวันที่แก้ไขซ้ำ ๆ (ไม่มีคำสั่งสถิติให้ใช้!)
ฉันจะรับรายชื่อของไฟล์ทั้งหมดภายใต้ไดเรกทอรีปัจจุบันพร้อมกับวันที่แก้ไขและเรียงลำดับตามวันที่ได้อย่างไร ตอนนี้ฉันรู้วิธีการที่จะประสบความสำเร็จที่มีfind, statและsortแต่ด้วยเหตุผลแปลกบางอย่างstatไม่ได้ติดตั้งบนกล่องและมันไม่น่าที่ฉันจะได้รับการติดตั้ง ตัวเลือกอื่น ๆ ? PS: gccไม่ได้ติดตั้งเช่นกัน
31 files  date  sort 

3
ฉันจะ“ แมวและติดตาม” ไฟล์ได้อย่างไร
wgetไฟล์จะถูกดาวน์โหลดตามลำดับโดย หากฉันเริ่มเปิดออกด้วยcat myfile.tar.bz2 | tar -xjอาจเป็นแกะอย่างถูกต้องหรือล้มเหลวด้วย "ไม่คาดคิด EOF" ขึ้นอยู่กับสิ่งที่เร็วขึ้น วิธี "cat และ follow" ไฟล์เช่นเนื้อหาที่ส่งออกของไฟล์ไปยัง stdout แต่ไม่ออกจาก EOF ให้หม่อม subribed ไปที่ไฟล์นั้นและทำการส่งออกส่วนใหม่ของข้อมูลออกต่อเมื่อปิดไฟล์โดย ผู้เขียนและไม่เปิดใหม่ภายใน N วินาที ฉันได้สร้างสคริปต์cat_and_followตามคำตอบของ @ arielCo ซึ่งจะยุติtailเมื่อไฟล์ไม่ถูกเปิดเพื่อการเขียนอีกต่อไป
31 files  pipe  cat  tail  open-files 


1
เมื่อใดที่ไดเรกทอรีหยุดอ่านเป็นไฟล์ได้
ฉันมีหนังสือ The Unix Programming Environment รุ่นที่ 1 ในบทที่ 2 ผู้เขียนระบุว่าไดเรกทอรีสามารถอ่านได้เป็นไฟล์และพูดถึงข้อเท็จจริงบางอย่างเกี่ยวกับรูปแบบของไฟล์เหล่านี้ พวกเขาให้ตัวอย่างการใช้งานบางอย่างเช่นcat .(ในแบบฝึกหัด 2-2) อย่างน้อยในดาร์วินไดเรกทอรีจะไม่สามารถอ่านเป็นไฟล์ได้อีกต่อไป อย่างน้อยไฟล์เหล่านั้นดูเหมือนจะเป็นศูนย์ความยาวเมื่ออ่าน การเปลี่ยนแปลงนี้เกิดขึ้นเมื่อใดและมีเอกสารอย่างเป็นทางการเกี่ยวกับเรื่องนี้หรือไม่?

8
ทดสอบว่ามีไฟล์ที่ตรงกับรูปแบบเพื่อเรียกใช้สคริปต์หรือไม่
ฉันพยายามเขียนifคำสั่งเพื่อทดสอบว่ามีไฟล์ใดที่ตรงกับรูปแบบที่กำหนดหรือไม่ หากมีไฟล์ข้อความในไดเรกทอรีควรเรียกใช้สคริปต์ที่กำหนด รหัสของฉันในปัจจุบัน: if [ -f /*.txt ]; then ./script fi โปรดให้แนวคิดบางอย่าง; ฉันต้องการเรียกใช้สคริปต์หากมีอยู่.txtในไดเรกทอรีเท่านั้น

6
Gedit จะไม่บันทึกไฟล์ในการแบ่งปัน VirtualBox: ไฟล์ข้อความไม่ว่าง
ฉันมีไฟล์ข้อความที่ฉันสามารถเปลี่ยนได้โดยใช้แอปพลิเคชันอื่น (ตัวอย่างopenoffice) แต่เมื่อฉันพยายามเปลี่ยนและบันทึกโดยใช้geditฉันได้รับข้อผิดพลาดจากgedit: Could not save the file /media/sf_Ubuntu/BuildNotes.txt. Unexpected error: Error renaming temporary file: Text file busy สิทธิ์ของ BuildNotes.txt เป็นดังนี้: -rwxrwx--- 1 root vboxsf 839 2012-10-26 12:08 BuildNotes.txt และ ID ผู้ใช้คือ: m@m-Linux:/media/sf_Ubuntu$ id uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf) ปัญหาคืออะไรและฉันจะแก้ไขได้อย่างไร

2
เหตุใดแพคเกจซอฟต์แวร์จึงทำงานได้ดีแม้ในขณะที่กำลังอัปเกรดอยู่
สมมติว่าฉันกำลังใช้งานซอฟต์แวร์และจากนั้นฉันเรียกใช้ตัวจัดการแพคเกจเพื่ออัปเกรดซอฟต์แวร์ฉันสังเกตเห็นว่า Linux ไม่ลดขั้นตอนการทำงานสำหรับการอัปเกรดแพ็คเกจ - มันยังทำงานได้ดี Linux ทำสิ่งนี้ได้อย่างไร
29 linux  files  inode 

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