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

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

4
ต่อท้ายไฟล์ขนาดใหญ่ต่อกันโดยไม่ต้องคัดลอก
มีไฟล์ขนาดใหญ่ 5 ไฟล์ (file1, file2, .. file5) ประมาณ 10G แต่ละไฟล์และมีพื้นที่ว่างเหลือน้อยมากเหลือน้อยบนดิสก์และฉันต้องการเชื่อมไฟล์ทั้งหมดนี้ให้เป็นไฟล์เดียว ไม่จำเป็นต้องเก็บไฟล์ต้นฉบับไว้เพียงไฟล์สุดท้ายเท่านั้น การต่อข้อมูลตามปกติจะเกิดขึ้นcatตามลำดับสำหรับไฟล์file2.. file5: cat file2 >> file1 ; rm file2 น่าเสียดายที่วิธีนี้ต้องการพื้นที่ว่างอย่างน้อย 10G ที่ฉันไม่มี มีวิธีการเชื่อมไฟล์โดยไม่ต้องคัดลอกจริง แต่บอกระบบไฟล์อย่างใดที่ file1 ไม่ได้จบที่ file1 เดิมและดำเนินการต่อที่ file2 เริ่ม? PS ระบบไฟล์เป็น ext4 ถ้าเรื่องนั้นสำคัญ

9
วิธีลบไดเรกทอรีที่ไม่สามารถลบได้นี้
ฉันยกเลิกการติดตั้งไฟล์ tar ที่เสียหายและจัดการเพื่อจบลงด้วยไดเรกทอรีบางอย่างที่ฉันไม่สามารถลบได้ถ้าฉันพยายามลบมันดูเหมือนว่าหาไม่พบ แต่lsแสดงว่ามันมีอยู่ทั้งทุบตีและหลามด้วย ลักษณะการทำงานที่คล้ายกันยกเว้นขวาหลังจากที่ฉันพยายามที่จะลบมันด้วยrm -rf, lsบ่นไม่สามารถหามันแล้วมันจะแสดงรายการมัน (ดูด้านล่างหลังrm -rf) findคำสั่งแสดงไฟล์ที่เป็นปัจจุบัน แต่ยังคงฉันไม่สามารถคิดวิธีที่จะลบมัน นี่คือความพยายามของฉัน: ที่นี่คุณเห็นlsและfindเห็นด้วยเรามีไดเรกทอรี rl]$ ls mikeaâ??cnt rl]$ find -maxdepth 1 -type d -empty -print0 ./mikeaâcnt แต่ฉันไม่สามารถลบได้: rl]$ find -maxdepth 1 -type d -empty -print0 | xargs -0 rm -f -v rm: cannot remove `./mikeaâ\302\201\302\204cnt': Is a directory rl]$ ls mikeaâ??cnt …
40 files  directory  nfs  rm 

5
วิธีการคัดลอกไดเรกทอรีด้วยการรักษาฮาร์ดลิงก์?
วิธีย้ายไดเรกทอรีที่มีไฟล์เหมือนกันจากพาร์ทิชั่นหนึ่งไปยังอีกพาร์ติชั่น? สมมติว่าเรามีพาร์ติชั่นติดตั้ง/mnt/Xพร้อมกับไดเรกทอรีแชร์ไฟล์ด้วยฮาร์ดลิงก์ วิธีย้ายไดเรกทอรีดังกล่าวไปยังพาร์ติชันอื่นปล่อยให้มันอยู่/mnt/Yกับการรักษาฮาร์ดลิงก์เหล่านั้น เพื่อให้ภาพประกอบดีขึ้นฉันหมายถึงอะไรโดย "ไดเรกทอรีแชร์ไฟล์ร่วมกันกับฮาร์ดลิงก์" นี่คือตัวอย่าง: # let's create three of directories and files mkdir -p a/{b,c,d}/{x,y,z} touch a/{b,c,d}/{x,y,z}/f{1,2,3,4,5} # and copy it with hardlinks cp -r -l a hardlinks_of_a หากต้องการเจาะจงมากขึ้นสมมติว่าขนาดไฟล์ทั้งหมดคือ 10G และแต่ละไฟล์มี 10 ลิงก์ คำถามคือวิธีการย้ายไปยังปลายทางด้วยการใช้ 10G (บางคนอาจพูดเกี่ยวกับการคัดลอกด้วย 100G และจากนั้นใช้การขจัดความซ้ำซ้อน - ไม่ใช่สิ่งที่ฉันถาม)
40 files  cp  hard-link 

2
การเปลี่ยนแอตทริบิวต์“ สร้างวันที่” และ“ แก้ไขล่าสุด” ของไฟล์เป็นไฟล์อื่น
ฉันใช้การผสานเพื่อสร้างไฟล์ pcap จาก 15 ไฟล์ สำหรับไฟล์ที่ผสานฉันได้เปลี่ยนชื่อเป็นไฟล์แรกจาก 15 ไฟล์ แต่ฉันต้องการเปลี่ยนคุณลักษณะของไฟล์ที่ผสานเช่น "วันที่สร้าง" และ "แก้ไขครั้งสุดท้าย" เป็นคุณสมบัติแรก อย่างไรก็ตามมีการทำเช่นนี้? FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}')) TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//') mergecap -w "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}" mv "${dir_dcn}"/merge_dcn.pcap "${dir_dcn}"/"${TAG1_dcn}".pcap ฉันพยายามเข้าถึงไฟล์ที่ผสานผ่านเซิร์ฟเวอร์แซมบ้า (Ubuntu) เพื่อให้ฟังก์ชันตัวแยกข้อมูลสามารถเข้าถึงการแยกไฟล์ไปยังโฟลเดอร์ …
40 linux  bash  files  samba 

4
ทุบตีเปิดไฟล์ใน O_APPEND เมื่อใช้“ >>” บน linux หรือไม่
ถ้าเราใช้echo 1234 >> some-fileแล้วเอกสารระบุว่าเอาท์พุทจะถูกผนวกเข้า ฉันเดาว่าถ้าไม่มีไฟล์บางไฟล์ O_CREAT จะสร้างไฟล์ใหม่ ถ้า>ใช้แล้ว O_TRUNC จะตัดทอนไฟล์ที่มีอยู่ ในกรณีของ>>: ไฟล์จะถูกเปิดเป็น O_WRONLY (หรือ O_RDWR) และพยายามที่จะจบและเขียนการดำเนินการจำลอง O_APPEND? หรือไฟล์จะถูกเปิดเป็น O_APPEND ปล่อยให้มันอยู่ในเคอร์เนลเพื่อให้แน่ใจว่าการต่อท้ายเกิดขึ้น? ฉันกำลังถามเรื่องนี้เพราะกระบวนการ conserver เขียนทับเครื่องหมายบางตัวที่ใส่โดย echo เมื่อไฟล์เอาต์พุตมาจากจุดเมานต์ของ NFS & เอกสารของ NFS บอกว่า O_APPEND ไม่รองรับเซิร์ฟเวอร์ดังนั้นเคอร์เนลไคลเอ็นต์จะต้องจัดการมัน ฉันเดาว่ากระบวนการ conserver ใช้ O_APPEND แต่ไม่แน่ใจในการทุบตี>>กับ linux ดังนั้นจึงถามคำถามที่นี่
38 linux  files  nfs  glibc 

6
Linux เลือกแอปพลิเคชั่นใดในการเปิดไฟล์
หากไฟล์บอกระบบปฏิบัติการในรูปแบบไฟล์ระบบปฏิบัติการจะเลือกแอปพลิเคชั่นที่จะเปิดโดยค่าเริ่มต้นอย่างไร ใน Windows จะมีการจัดเก็บความสัมพันธ์ไว้ในตารางรีจิสทรีหรือไม่ Linux เลือกแอปพลิเคชั่นใดในการเปิดไฟล์ ฉันเคยใช้ Nautilus บ่อยครั้ง แต่ตอนนี้ฉันเปลี่ยนเป็นเทอร์มินัล เป็นความจริงหรือเปล่าที่เทอร์มินัลเราต้องระบุแอปพลิเคชันที่จะเปิดไฟล์อย่างชัดเจนเสมอ การตั้งค่าของแอปพลิเคชั่นที่จะเปิดไฟล์ในรูปแบบที่แน่นอนโดยค่าเริ่มต้นเป็นของตัวจัดการไฟล์ (เช่น Nautilus) และไม่เป็นปัญหาเมื่อเราอาศัยอยู่ในอาคารหรือไม่?

4
grep จากจุดสิ้นสุดของไฟล์ไปยังจุดเริ่มต้น
ฉันมีไฟล์ที่มีเส้นประมาณ 30.000.000 บรรทัด (การบัญชี Radius) และฉันต้องการค้นหาคู่สุดท้ายของรูปแบบที่กำหนด คำสั่ง: tac accounting.log | grep $pattern ให้สิ่งที่ฉันต้องการ แต่ช้าเกินไปเพราะระบบปฏิบัติการจะต้องอ่านไฟล์ทั้งหมดก่อนแล้วจึงส่งไปที่ไพพ์ ดังนั้นฉันต้องการสิ่งที่รวดเร็วที่สามารถอ่านไฟล์จากบรรทัดสุดท้ายถึงบรรทัดแรก

1
gvim -p ขีด จำกัด ของแท็บที่เปิดอยู่หรือไม่
เมื่อฉันวิ่ง: gvim -p *.xyz ฉันพบว่ามีไฟล์บางไฟล์เท่านั้นที่เปิดในแท็บ รู้สึกเหมือนขีด จำกัด แท็บชนิดใด? แต่! เมื่อฉันพยายามที่จะเปิดปิดด้วย: :tabnew มันเปิดถัดจากแท็บก่อนหน้า - ใช้งานได้! วิธีการgvim -p ...เปิดไฟล์ทั้งหมดโดยไม่จำเป็นต้องเปิดไฟล์ดังกล่าวด้วยตนเอง:tabnew? Btw ข้อ จำกัด นี้ถูกเขียนที่ไหนสักแห่ง? เป็นไปได้ที่จะกำหนดค่า?


11
วิธีสุ่มตัวอย่างชุดย่อยของไฟล์
มีคำสั่ง Linux ใดบ้างที่สามารถใช้เพื่อตัวอย่างชุดย่อยของไฟล์? ตัวอย่างเช่นไฟล์มีหนึ่งล้านบรรทัดและเราต้องการสุ่มตัวอย่างเพียงหนึ่งพันบรรทัดจากไฟล์นั้น สำหรับการสุ่มฉันหมายความว่าทุก ๆ เส้นมีความน่าจะเป็นเหมือนกันในการเลือกและไม่มีเส้นใดที่เลือกซ้ำ headและtailสามารถเลือกไฟล์ย่อย แต่ไม่สุ่ม ฉันรู้ว่าฉันสามารถเขียนสคริปต์ python ได้ตลอดเวลา แต่สงสัยว่าจะมีคำสั่งสำหรับการใช้งานนี้หรือไม่

3
สามารถสร้างไฟล์โดยกำหนดสิทธิ์ในบรรทัดคำสั่งได้หรือไม่
เมื่อสร้างไดเรกทอรีmkdir -m <mode> <dir>ให้สำหรับการสร้างหนึ่งหรือหลายไดเรกทอรีด้วยชุดโหมด / การอนุญาตที่กำหนด (ตามปกติ) มีการสร้างไฟล์ที่เทียบเท่าในบรรทัดคำสั่งหรือไม่ คล้ายกับ: open("file", O_WRONLY | O_APPEND | O_CREAT, 0777); ใช้touchตามด้วยchmodตัวเลือกเดียวของฉันที่นี่? แก้ไข:หลังจากลองใช้คำแนะนำของ teppic เพื่อใช้installฉันก็วิ่งผ่านstraceเพื่อดูว่ามันใกล้กับอะตอมมากแค่ไหน คำตอบคือไม่มาก: $ strace install -m 777 /dev/null newfile ... open("newfile", O_WRONLY|O_CREAT|O_EXCL, 0666) = 4 fstat(4, {st_mode=S_IFREG|0666, st_size=0, ...}) = 0 ... fchmod(4, 0600) = 0 close(4) = 0 ... chmod("newfile", …

8
อะไรคือความแตกต่างระหว่างฮาร์ดลิงก์และไฟล์?
เชื่อมโยงยากที่ถูกกำหนดให้เป็นตัวชี้ไปยัง inode ลิงค์อ่อนยังเป็นที่รู้จักในฐานะผู้เชื่อมโยงสัญลักษณ์ถูกกำหนดให้เป็นไฟล์ชี้อิสระเพื่อการเชื่อมโยงอื่นโดยไม่มีข้อ จำกัด ของการเชื่อมโยงอย่างหนัก อะไรคือความแตกต่างระหว่างไฟล์และฮาร์ดลิงก์? ฮาร์ดลิงก์ชี้ไปที่ไอโหนดดังนั้นไฟล์คืออะไร รายการ inode ตัวเอง? หรือไอโหนดที่มีฮาร์ดลิงก์? สมมติว่าฉันสร้างไฟล์ด้วยการสัมผัส แล้วรายการ inode ถูกสร้างขึ้นในตาราง inode และฉันสร้างฮาร์ดลิงก์ซึ่งมีหมายเลขไอโหนดเดียวกันกับไฟล์ ดังนั้นฉันจึงสร้างไฟล์ใหม่ หรือไฟล์ถูกกำหนดเป็น inode หรือไม่?

2
ไม่มีผู้ใช้และกลุ่มคืออะไร
บนเซิร์ฟเวอร์ของฉัน (Synology DS212) บางไฟล์และโฟลเดอร์มีnobody nobodyผู้ใช้และกลุ่ม ผู้ใช้และกลุ่มนี้มีลักษณะอย่างไร? ใครสามารถเขียนอ่านไฟล์นี้ ฉันจะเปลี่ยนได้อย่างไร ผู้ใช้และกลุ่มใด

1
ฉันจะเปิดใช้งานการค้นหาและจัดคิวฐานข้อมูลที่จะสร้างได้อย่างไร
ในอินสแตนซ์ Ubuntu 10.4 ใหม่ฉันพยายามใช้locateคำสั่งเพื่อรับข้อผิดพลาดเท่านั้น locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory จากการใช้คำสั่งนี้กับระบบอื่นฉันเดาว่านี่หมายความว่าฐานข้อมูลยังไม่ได้ถูกสร้างขึ้น (เป็นการติดตั้งใหม่) ฉันเชื่อว่าควรรันทุกวัน แต่ฉันจะจัดคิวให้ทำงานทันทีได้อย่างไร นอกจากนี้ยังมีการกำหนด "รันทุกวัน" อย่างไร ถ้าฉันมีกล่องที่เปิดเพียงหนึ่งชั่วโมงต่อครั้งฐานข้อมูลจะถูกสร้างขึ้นด้วยตัวเองหรือไม่?

7
มันเป็น UUOC (ใช้แมวไร้ประโยชน์) เพื่อเปลี่ยนเส้นทางไฟล์หนึ่งไปยังอีกไฟล์หนึ่งหรือไม่?
ถ้าผมต้องการที่จะทำให้เนื้อหาของfile2ตรงกับเนื้อหาของผมเห็นได้ชัดว่าสามารถทำงานเพียงfile1cp file1 file2 แต่ถ้าผมต้องการที่จะรักษาทุกอย่างที่เกี่ยวกับการfile2 ยกเว้นเนื้อหาเจ้าของสิทธิ์คุณสมบัติการขยาย, ACL ของการเชื่อมโยงอย่างหนัก ฯลฯ ฯลฯ แล้วฉันจะไม่ต้องการที่จะทำงานcp. * ในกรณีที่ว่าผมแค่อยากจะป๋อม เนื้อหาของเข้าfile1file2 ดูเหมือนว่าต่อไปนี้จะทำ: < file1 > file2 แต่มันไม่ทำงาน file2ถูกตัดทอนเป็นไม่มีอะไรและไม่ได้เขียนถึง อย่างไรก็ตาม cat < file1 > file2 ไม่ทำงาน มันทำให้ฉันประหลาดใจว่ารุ่นแรกไม่ทำงาน รุ่นที่สองเป็น UUOC หรือไม่ มีวิธีการทำเช่นนี้โดยไม่ต้องใช้คำสั่งเพียงแค่ใช้การเปลี่ยนเส้นทาง? หมายเหตุ: ฉันทราบว่า UUOC เป็นจุดอวดความรู้มากกว่ารูปแบบการต่อต้านที่แท้จริง * ตามที่ค้นพบ tniles09 จริง ๆแล้วcp จะใช้งานได้ในกรณีนี้

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