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

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


3
ไฟล์หลอกสำหรับข้อมูลชั่วคราว
ฉันมักจะต้องการดึงข้อมูลสตริงที่ค่อนข้างสั้น (อาจมีหลายบรรทัด) ไปยังโปรแกรม commandline ซึ่งยอมรับเฉพาะอินพุตจากไฟล์ (เช่น wdiff) ในรูปแบบซ้ำ ๆ แน่ใจว่าฉันสามารถสร้างไฟล์ชั่วคราวอย่างน้อยหนึ่งไฟล์บันทึกสตริงที่นั่นและรันคำสั่งด้วยชื่อไฟล์เป็นพารามิเตอร์ แต่ดูเหมือนว่าฉันว่าขั้นตอนนี้จะไม่มีประสิทธิภาพสูงถ้าข้อมูลถูกเขียนลงดิสก์จริงและอาจเป็นอันตรายต่อดิสก์ได้มากกว่าที่จำเป็นถ้าฉันทำซ้ำขั้นตอนนี้หลายครั้งเช่นถ้าฉันต้องการป้อนข้อความบรรทัดเดียวแบบยาว ไฟล์เพื่อ wdiff มีวิธีแนะนำให้หลีกเลี่ยงสิ่งนี้โดยใช้ไฟล์หลอกเช่นไพพ์เพื่อเก็บข้อมูลชั่วคราวโดยไม่ต้องเขียนลงดิสก์ (หรือเขียนเฉพาะในกรณีที่เกินความยาววิกฤติ) โปรดทราบว่า wdiff รับสองอาร์กิวเมนต์และwdiff <"text".
98 bash  files  pipe 

4
เปิดไฟล์ครั้งสุดท้าย
เป็นไปได้ไหมที่จะมีเวลาเมื่อเปิดไฟล์ครั้งล่าสุดและเรียงลำดับไฟล์ทั้งหมดในไดเรกทอรีตามเวลาเหล่านั้น?
94 files  ls  date 

3
ทำไม rm สามารถลบไฟล์แบบอ่านอย่างเดียวได้?
หากฉันสร้างไฟล์แล้วเปลี่ยนการอนุญาตเป็น444(อ่านอย่างเดียว) จะrmสามารถลบไฟล์ได้อย่างไร ถ้าฉันทำสิ่งนี้: echo test > test.txt chmod 444 test.txt rm test.txt ... rmจะถามว่าฉันต้องการลบไฟล์ที่ป้องกันการเขียนหรือtest.txtไม่ ฉันคาดว่าrmจะไม่สามารถลบไฟล์ดังกล่าวและฉันจะต้องทำchmod +w test.txtก่อน ถ้าฉันทำrm -f test.txtแล้วrmจะลบไฟล์โดยไม่ต้องถามแม้ว่าจะเป็นแบบอ่านอย่างเดียว ทุกคนสามารถอธิบายได้หรือไม่ ฉันใช้ Ubuntu 12.04 / bash

7
ค้นหาไฟล์ที่ซ้ำกัน
เป็นไปได้หรือไม่ที่จะค้นหาไฟล์ที่ซ้ำกันในดิสก์ของฉันซึ่งมีบิตเป็นบิตเหมือนกัน แต่มีชื่อไฟล์ต่างกัน?


4
เหตุใด Linux จึงใช้ LF เป็นอักขระขึ้นบรรทัดใหม่
เท่าที่ฉันรู้ทุกระบบปฏิบัติการมีวิธีที่แตกต่างในการทำเครื่องหมายจุดสิ้นสุดของบรรทัด (EOL) ระบบปฏิบัติการเชิงพาณิชย์ใช้ carriage return สำหรับ EOL (carriage return และ line feed บน Windows, carriage return บน Mac เท่านั้น) ในทางตรงกันข้าม Linux เพียงใช้ line feed สำหรับ EOL เหตุใด Linux จึงไม่ใช้ carriage return สำหรับ EOL (และเป็นตัวป้อนบรรทัดเท่านั้น)

5
ความเข้าใจในการส่งออกต่าง
ฉันมี file1.txt this is the original text line2 line3 line4 happy hacking ! และ file2.txt this is the original text line2 line4 happy hacking ! GNU is not UNIX ถ้าฉัน: diff file1.txt file2.txtฉันได้รับ: 3d2 < line3 5a5 > GNU is not UNIX โดยทั่วไปแล้วเอาต์พุตจะตีความอย่างไร ฉันคิดว่านั่น<หมายถึงการลบออก แต่สิ่งที่ทำ3d2หรือ5a5หมายความว่าอย่างไร ถ้าฉันทำ: $ diff -u file1.txt …
87 linux  files  diff 


5
วิธีการสร้างไฟล์. txt (ข้อความ) อย่างง่ายโดยใช้เทอร์มินัล [ปิด]
ฉันแค่พยายามตรวจสอบคำสั่งเทอร์มินัลพื้นฐาน ต้องบอกว่าฉันจะสร้างไฟล์ข้อความโดยใช้เทอร์มินัลเท่านั้นได้อย่างไร

6
วิธีที่ดีที่สุดในการเข้าร่วมไฟล์อีกครั้งหลังจากแยกพวกเขาคืออะไร?
หากฉันมีไฟล์ขนาดใหญ่และจำเป็นต้องแยกเป็น 100 เมกาไบต์ฉันจะทำ split -b 100m myImage.iso ที่มักจะให้อะไรฉันชอบ xaa xab xac xad และเพื่อให้พวกเขากลับมารวมกันฉันได้ใช้ cat x* > myImage.iso ดูเหมือนว่าควรมีวิธีที่มีประสิทธิภาพมากกว่าการอ่านแต่ละบรรทัดของรหัสในกลุ่มของไฟล์ด้วยcatและเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ใหม่ เช่นเดียวกับการเปิดไฟล์สองไฟล์ให้ลบEOFเครื่องหมายออกจากไฟล์แรกและเชื่อมต่อไฟล์เหล่านั้นโดยไม่ต้องผ่านเนื้อหาทั้งหมด Windows / DOS มีคำสั่ง copy สำหรับไฟล์ไบนารี วิธีใช้ระบุว่าคำสั่งนี้ถูกออกแบบมาเพื่อให้สามารถรวมหลายไฟล์ได้ มันทำงานร่วมกับไวยากรณ์นี้: ( /bสำหรับโหมดไบนารี) copy /b file1 + file2 + file3 outputfile มีบางสิ่งที่คล้ายกันหรือเป็นวิธีที่ดีกว่าในการเข้าร่วมไฟล์ขนาดใหญ่บน Linux มากกว่า cat? ปรับปรุง ดูเหมือนว่าcatเป็นวิธีที่ถูกต้องและเป็นวิธีที่ดีที่สุดในการเข้าร่วมไฟล์ ดีใจที่รู้ว่าฉันใช้คำสั่งที่ถูกต้องมาตลอด :) ขอบคุณทุกคนสำหรับความคิดเห็นของคุณ

8
Linux ls เพื่อแสดงวันที่และชื่อไฟล์เท่านั้น
ฉันจะใช้lsใน linux เพื่อดูรายการวันที่และชื่อไฟล์ได้เท่านั้น ฉันไม่ต้องการเห็นข้อมูลอื่นเช่นเจ้าของหรือการอนุญาต เป็นไปได้ไหม
72 linux  command-line  files  ls 

6
แบนไดเรกทอรีที่ซ้อนกัน
นี่อาจจะง่ายมาก แต่ฉันไม่สามารถเข้าใจได้ ฉันมีโครงสร้างไดเรกทอรีเช่นนี้ (dir2 อยู่ภายใน dir1): /dir1 /dir2 | --- file1 | --- file2 เป็นวิธีที่ดีที่สุดในการ 'แผ่' โครงสร้างผู้กำกับนี้ในลักษณะที่จะได้รับ file1 และ file2 ใน dir1 ไม่ใช่ dir2

3
grep ส่งคืน“ การจับคู่ไฟล์ไบนารี (อินพุตมาตรฐาน)” เมื่อพยายามค้นหารูปแบบสตริงในไฟล์
ฉันอยู่บน Ubuntu และฉันพิมพ์cat .bash_history | grep gitและมันกลับมา ไฟล์ไบนารี (อินพุตมาตรฐาน) ตรงกัน ฉันไม่อยู่และมีหลายสายในนั้นที่เริ่มต้นด้วยbash_historygit เกิดอะไรขึ้นกับแสดงข้อผิดพลาดนี้และฉันจะแก้ไขได้อย่างไร
71 files  grep  binary 

5
รายการไฟล์ที่เข้าถึงโดยโปรแกรม
time เป็นคำสั่งที่ยอดเยี่ยมถ้าคุณต้องการที่จะคำนวณเวลาของ CPU ที่คำสั่งที่ได้รับ ฉันกำลังมองหาสิ่งที่คล้ายกันซึ่งสามารถแสดงรายการไฟล์ที่โปรแกรมและลูก ๆ ของคุณเข้าถึงได้ ไม่ว่าจะเป็นแบบเรียลไทม์หรือเป็นรายงานในภายหลัง ปัจจุบันฉันใช้: #!/bin/bash strace -ff -e trace=file "$@" 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print' sudoแต่ล้มเหลวหากคำสั่งในการทำงานที่เกี่ยวข้องกับการ มันไม่ได้ฉลาดมาก (มันจะดีถ้ามันสามารถแสดงรายการไฟล์ที่มีอยู่หรือมีปัญหาสิทธิ์หรือจัดกลุ่มเป็นไฟล์ที่อ่านและไฟล์ที่เขียน) นอกจากนี้ยังstraceเป็นไปอย่างช้าดังนั้นมันจะดีกับทางเลือกที่เร็วขึ้น

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