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

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

1
ใช้ inotifywait พร้อมกับเสียงเรียกเข้า
ฉันมีสคริปต์ง่ายๆที่ตรวจสอบไฟล์สำหรับการเปลี่ยนแปลงและ rsyncs ด้วยสำเนาระยะไกล: #!/bin/bash while inotifywait -e close_write somefile do rsync somefile user@host.domain:./somefile done มันใช้งานได้ดีกับนาโน แต่ล้มเหลวด้วยเสียงเรียกเข้า เมื่อฉันใช้ nano มันจะออกผลลัพธ์: somefile CLOSE_WRITE,CLOSE และเริ่มวนรอบถัดไปรอรุ่นอื่น เมื่อฉันใช้เป็นกลุ่มจะไม่มีผลลัพธ์สคริปต์จะปิดด้วยรหัสออก 0 ฉันทำการวิจัยบางอย่างและพบว่า close_write เป็นพารามิเตอร์ที่ถูกต้องสำหรับ uing initofywait พร้อมกับ vim (ตอนแรกฉันต้องการใช้เหตุการณ์แก้ไข) แต่ด้วยเหตุผลบางอย่างมันล้มเหลวสำหรับฉัน
14 files  vim  rsync  inotify 

2
ทำไมลิงค์แข็งถึงดูเหมือนจะใช้พื้นที่เดียวกันกับต้นฉบับ?
ขอขอบคุณ Q&A ที่ดีรอบ ๆ ที่นี่และหน้านี้ฉันเข้าใจลิงก์แล้ว ฉันเห็นฮาร์ดลิงก์อ้างถึงไอโหนดเดียวกันโดยใช้ชื่ออื่นและสำเนาเป็นโหนด "ต่าง ๆ ที่มีชื่อแตกต่างกัน Plus ซอฟต์ลิงค์มีชื่อไฟล์และพา ธ ดั้งเดิมเหมือนกับไอโหนดดังนั้นหากไฟล์ถูกย้าย ดังนั้นฉันทดสอบสิ่งที่ฉันเรียนรู้ด้วยไฟล์บางไฟล์ ("saluton_mondo.cpp" ด้านล่าง) สร้างลิงก์ที่อ่อนนุ่มและสำเนา jmcf125@VMUbuntu:~$ ls -lh soft hard copy s*.cpp -rw-rw-r-- 1 jmcf125 jmcf125 205 Aŭg 27 16:10 copy -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 hard -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 …

5
รายการ X ไฟล์สุ่มจากไดเรกทอรี
มีวิธีในการแสดงรายการชุดของไฟล์ที่สุ่ม 30 ไฟล์จากไดเรกทอรีโดยใช้คำสั่ง Linux มาตรฐานหรือไม่? (ในzsh) คำตอบสูงสุดที่อธิบายไว้ที่นี่ไม่ทำงานสำหรับฉัน ( sortไม่รู้จักตัวเลือก-R)
14 shell  files  zsh 

3
มีทางเลือกอื่นสำหรับ `dd 'หรือไม่?
ฉันควรใช้เครื่องมืออื่นใดในการอ่านและเขียนไฟล์ที่มีการตัด, การค้นหาและการข้าม ตัวเลือกบรรทัดคำสั่งของ dd ดูไม่สะดวกและแปลกปลอมและฉันไม่ชอบการเลือกระหว่างโหมดการค้นหาที่ช้า แต่แม่นยำ ( bs=1) และรวดเร็ว แต่โหมดยืดหยุ่น ( bs=4kหรืออะไรก็ตาม) มีเครื่องมือที่ทันสมัยกว่าในการอ่าน 555 ไบต์จากไฟล์หนึ่งไฟล์ (หรือไพพ์หรือซ็อกเก็ตหรือ dev) จากตำแหน่ง 31337 และเขียนลงในไฟล์อื่นที่ตำแหน่ง 128205 (โดยใช้บล็อก 512 + 43) โดยมีหรือไม่มีการตัดปลาย
14 files  utilities  dd  binary 

2
ฉันจะลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในระยะเวลาหนึ่งได้อย่างไร
ฉันต้องการเรียกใช้งาน cron ทุกคืนที่ลบไฟล์ทั้งหมดในโฟลเดอร์ที่ไม่ได้เข้าถึงในหนึ่งสัปดาห์ขึ้นไป วิธีที่มีประสิทธิภาพมากที่สุดในการทำเช่นนี้ในทุบตีคืออะไร?

4
dd: ไฟล์อินพุตหลายไฟล์
ฉันต้องต่อชิ้นไฟล์สองไฟล์เข้าด้วยกัน: ถ้าฉันต้องการเชื่อมไฟล์ทั้งหมดเข้าด้วยกันฉันก็ทำได้ cat file1 file2 > output แต่ฉันต้องข้าม 1MB แรกจากไฟล์แรกและฉันต้องการเพียง 10 MB จากไฟล์ที่สอง ddเสียงเหมือนงานสำหรับ dd if=file1 bs=1M count=99 skip=1 of=temp1 dd if=file2 bs=1M count=10 of=temp2 cat temp1 temp2 > final_output มีความเป็นไปได้ที่จะทำเช่นนี้ในขั้นตอนเดียว? คือไม่จำเป็นต้องบันทึกผลลัพธ์ระดับกลางหรือไม่ ฉันสามารถใช้ไฟล์อินพุตหลายไฟล์ได้ddหรือไม่
14 files  dd  cat  data 

6
ยกเว้นไดเรกทอรีในการค้นหาการค้นหา
การค้นหาด้วยlocateค้นหาพา ธ ในระบบไฟล์ บ่อยครั้งที่คุณรู้ว่าคุณมีความสนใจในไฟล์อย่างใดอย่างหนึ่งเท่านั้นหรือไดเรกทอรีเท่านั้น การค้นหา 'ค้นหา' มักจะส่งคืนผลลัพธ์จำนวนมาก มันจะมีประโยชน์ที่จะรวมเพียงหนึ่งประเภทในผลลัพธ์เพราะจะช่วยให้ผลผลิตสั้นลง แต่มีข้อโต้แย้งที่น่าสนใจที่จะทิ้งไฟล์หรือไดเรคทอรีไว้อย่างใดอย่างหนึ่งเนื่องจากรายการของพา ธ ผลลัพธ์สามารถคลุมเครือไม่เพียง แต่ในทางทฤษฎี ตัวอย่างด้านล่างเป็นกรณีของโลกแห่งความจริงและไม่ผิดปกติ: $ locate --regex --basename "xfce4-keyboard-overlay$" /usr/local/bin/xfce4-keyboard-overlay /usr/local/share/xfce4-keyboard-overlay ตกลงเราพบบางอย่าง! แต่ ... ไฟล์หรือไดเรกทอรี? $ file /usr/local/bin/xfce4-keyboard-overlay /usr/local/bin/xfce4-keyboard-overlay: bash script นั่นคือไฟล์ ... $ file /usr/local/share/xfce4-keyboard-overlay /usr/local/share/xfce4-keyboard-overlay: directory ในขณะที่สองไม่ใช่ ความคลุมเครือนี้คือการทำให้รายการยาวของเส้นทางยากที่จะอ่านดังนั้นมันจะดีจริงๆไดเรกทอรีกรองออกเช่นใช้ตัวเลือกบรรทัด comman locateสำหรับ สิ่งนี้มีอยู่จริงหรือไม่? แม้ว่าตัวกรองสำหรับไดเรกทอรีแยกจากการค้นหาหรือไม่ อย่างน้อยหนึ่งสามารถใช้สคริปต์เพื่อวนซ้ำชื่อไฟล์ทั้งหมดเพื่อตรวจสอบ - ซึ่งอาจช้า
14 files  find  directory  locate 

4
วนซ้ำผ่านโฟลเดอร์และไฟล์รายการ
ฉันมีโฟลเดอร์ชื่อ 'ตัวอย่าง' และมันมี 3 ไฟล์อยู่ในนั้น ฉันต้องการเขียนเชลล์สคริปต์ซึ่งจะอ่านไฟล์เหล่านี้ภายในโฟลเดอร์ตัวอย่างและโพสต์ไปยังไซต์ HTTP โดยใช้ curl ฉันเขียนสิ่งต่อไปนี้เพื่อแสดงรายการไฟล์ภายในโฟลเดอร์: for dir in sample/*; do echo $dir; done แต่มันให้ผลลัพธ์ต่อไปนี้กับฉัน: sample/log sample/clk sample/demo มันกำลังแนบโฟลเดอร์แม่ในนั้น ฉันต้องการผลลัพธ์ดังนี้ (ไม่มีชื่อโฟลเดอร์หลัก) log clk demo ฉันจะทำสิ่งนี้ได้อย่างไร

6
ทำไมฉันถึงได้รับอนุญาตปฏิเสธเมื่อใช้ mv แม้ว่าสิทธิ์ของไดเรกทอรีจะถูกต้อง?
ฉันได้รับอนุญาตปฏิเสธเมื่อพยายามย้ายโฟลเดอร์Musicผ่านmvแม้ว่าเจ้าของไดเรกทอรีจะถูกตั้งค่าเป็นผู้ใช้ของฉันและการอนุญาตของผู้ใช้ถูกตั้งค่าเป็น 7 เกิดอะไรขึ้น (ฉันรู้ว่าฉันสามารถใช้ sudo ได้ แต่ฉันต้องการค้นหาว่ามีอะไรผิดปกติมีบางอย่างมีกลิ่นคาวที่นี่) Ps: ฉันใช้ Mac OS X El Capitan

4
การลบไฟล์เฉพาะตามชื่อไฟล์จาก terminal
ฉันมีไดเรกทอรีที่มีไฟล์ชื่อ rho_0.txt rho_5000.txt rho_10000.txt rho_150000.txt rho_200000.txt และอื่น ๆ ฉันต้องการลบสิ่งที่มีค่าเป็น 5000 ฉันพยายามต่อไปนี้: แต่ที่ทำให้ผมมีการตอบสนองprintf 'rho_%d.txt\n' $(seq 5000 10000 25000) | rmrm: missing operand มีวิธีอื่นในการทำเช่นนี้หรือไม่?
13 files  rm 

4
ไม่สามารถนับใหม่ / ย้อนกลับเป็นอ่านอย่างเดียวหลังจากอัปเกรดแพ็คเกจ
ฉันกำลังใช้ Debian Stretch read-onlyพาร์ทิชันรากของฉันคือการติดตั้ง เฉพาะเมื่อฉันติดตั้งหรืออัปเกรดแพ็คเกจจะ/ติดตั้งใหม่read-write(โดยใช้ apt hook) แล้วจึงติดตั้งใหม่อีกroครั้ง บางครั้งหลังจากอัปเกรดแพ็คเกจฉันไม่สามารถนับใหม่/เป็นอ่านอย่างเดียว: mount -o remount,ro / mount: / is busy สำหรับ Debian เวอร์ชั่นเก่า (Wheezy) ฉันสามารถแสดงรายการไฟล์ที่ไม่ได้ลิงก์กับlsof: lsof +L1 หรือโดยเฉพาะอย่างยิ่งไฟล์ที่ป้องกันไม่ให้/ถูกนับใหม่กลับไปเป็น ro: { lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)' อย่างไรก็ตามใน Debian Stretch lsof +L1จะไม่มีรายการไฟล์ใด ๆ ฉันไม่เห็นการเปลี่ยนแปลงใด ๆ+|-Lในman lsofที่จะอธิบายว่าทำไมมันหยุดทำงาน …
13 debian  files  apt  readonly  lsof 

3
เหตุใดจึงเป็น rm -rf และไม่ใช่ rmdir -rf
rm -rfฉันได้รับเสมออยากรู้อยากเห็นว่าทำไมคำสั่งสำหรับทุกสิ่งที่ลบในไดเรกทอรีคือ ทำไมไม่มีธงทำเช่นเดียวกันกับrmdir? มันจะไม่ใช้งานง่ายกว่าrmdirสำหรับการดำเนินการไดเรกทอรีหรือไม่
13 shell  files  directory 


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


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