Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

5
มีวิธีในการกำหนดค่าที่เหมาะสมที่สุดสำหรับพารามิเตอร์ bs เป็น dd หรือไม่?
ในบางครั้งฉันเห็นความคิดเห็นออนไลน์ตามบรรทัดของ "ให้แน่ใจว่าคุณตั้งค่า 'bs =' เพราะค่าเริ่มต้นจะใช้เวลานานเกินไป" และประสบการณ์ที่ไม่มีหลักวิทยาศาสตร์ของฉันเอง "ซึ่งดูเหมือนจะใช้เวลานานกว่าที่อื่น เวลาเมื่อสัปดาห์ที่แล้ว "ดูเหมือนจะทนได้ ดังนั้นเมื่อใดก็ตามที่ฉันใช้ 'dd' (โดยทั่วไปจะอยู่ในช่วง 1-2GB) ฉันแน่ใจว่าได้ระบุพารามิเตอร์ bytes ประมาณครึ่งหนึ่งที่ฉันใช้ค่าที่ระบุในคู่มือออนไลน์ที่ฉันกำลังคัดลอกมา เวลาที่เหลือฉันจะเลือกหมายเลขที่เหมาะสมจากรายการ 'fdisk -l' สำหรับสิ่งที่ฉันถือว่าเป็นสื่อที่ช้ากว่า (เช่นการ์ด SD ที่ฉันเขียน) สำหรับสถานการณ์ที่กำหนด (ประเภทสื่อขนาดบัสหรืออะไรก็ตามที่สำคัญ) มีวิธีการกำหนดค่า "ดีที่สุด" หรือไม่? มันง่ายที่จะกำหนด? ถ้าไม่มีวิธีง่ายๆในการรับ 90-95% จากที่นั่นหรือไม่? หรือ "เพียงแค่เลือกสิ่งที่ใหญ่กว่า 512" แม้แต่คำตอบที่ถูกต้องหรือไม่ ฉันคิดว่าจะลองทำการทดสอบด้วยตัวเอง แต่ (นอกเหนือจากการทำงานมาก ๆ ) ฉันไม่แน่ใจว่าปัจจัยใดที่ส่งผลกระทบต่อคำตอบดังนั้นฉันจึงไม่รู้วิธีออกแบบการทดสอบที่ดี

5
แทนที่ช่องว่างหลายช่องด้วยช่องว่างโดยใช้ 'tr' เท่านั้น
ฉันมีไฟล์f1.txt: ID Name 1 a 2 b 3 g 6 f จำนวนช่องว่างไม่คงที่ วิธีที่ดีที่สุดในการแทนที่ช่องว่างสีขาวทั้งหมดด้วยช่องว่างเดียวใช้เพียงtrใด นี่คือสิ่งที่ฉันมี: cat f1.txt | tr -d " " แต่ผลลัพธ์คือ: IDName 1a 2b 3g 6f แต่ฉันต้องการให้มันเป็นเช่นนี้: ID Name 1 a 2 b 3 g 6 f sedโปรดลองและหลีกเลี่ยง
71 shell  cut  tr 

10
แสดงผลรวมของขนาดไฟล์ในรายการไดเรกทอรี
dirคำสั่งรายชื่อไดเรคทอรี Windows มีบรรทัดที่ท้ายแสดงจำนวนพื้นที่ทั้งหมดที่ใช้โดยไฟล์ที่แสดง ตัวอย่างเช่นdir *.exeแสดง.exeไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันขนาดและผลรวมทั้งหมดของขนาด ฉันชอบที่จะมีฟังก์ชั่นที่คล้ายกันกับdirนามแฝงของฉันในทุบตี แต่ฉันไม่แน่ใจว่าจะทำอย่างไร ขณะนี้ฉันมีalias dir='ls -FaGl'ในของฉัน.bash_profileแสดง drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./ drwxr-x--x. 256 root 12288 Apr 8 21:29 ../ -rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history -rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout -rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile …
71 bash  shell-script  awk  ls 

7
แสดงไฟล์ทั้งหมดจนถึงการแข่งขัน
grep --before-context 5 แสดง 5 บรรทัดก่อนการแข่งขัน ฉันต้องการแสดงทุกอย่างก่อนการแข่งขัน การgrep --before-context 99999999ทำงานจะได้ผล แต่มันไม่ได้เป็นมืออาชีพมากนัก วิธีการแสดงไฟล์ทั้งหมดถึงการแข่งขัน?

12
tar - ยกเว้นไม่รวม ทำไม?
ฉันมีบรรทัดที่ง่ายมากในสคริปต์ทุบตีซึ่งดำเนินการสำเร็จ (เช่นการผลิต_data.tarไฟล์) ยกเว้นว่าจะไม่แยกไดเรกทอรีย่อยที่มีการบอกว่าไม่รวมผ่าน--excludeตัวเลือก: /bin/tar -cf /home/_data.tar --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' /data แต่จะสร้าง_data.tarไฟล์ที่มีทุกอย่างภายใต้ / data รวมถึงไฟล์ในไดเรกทอรีย่อยที่ฉันต้องการยกเว้น มีความคิดอะไรไหม และจะแก้ไขได้อย่างไร อัปเดตฉันใช้การสังเกตของฉันตามลิงก์ที่ให้ไว้ในคำตอบแรกด้านล่าง (dir ระดับสูงสุดก่อนไม่มีช่องว่างหลังจากยกเว้นครั้งสุดท้าย): /bin/tar -cf /home/_data.tar /data --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' แต่นั่นไม่ได้ช่วย ไดเร็กทอรีย่อย "ที่แยกออก" ทั้งหมดมีอยู่ใน_data.tarไฟล์ผลลัพธ์ นี่ทำให้งง ไม่ว่าจะเป็นข้อผิดพลาดใน tar ปัจจุบัน (GNU tar 1.23, บน CentOS 6.2, Linux 2.6.32) หรือ "ความไวสูง" ของ tar …
71 tar 

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

5
ความแตกต่างระหว่าง“ cat” และ“ cat <”
ผมทำงานผ่านการกวดวิชาและเห็นการใช้งานของทั้งสองและcat myfile.txt cat &lt; myfile.txtมีความแตกต่างระหว่างสองคำสั่งเหล่านี้หรือไม่? ดูเหมือนว่าทั้งคู่จะพิมพ์เนื้อหาของไฟล์ลงในเชลล์
70 cat 

2
วิธี grep ผลลัพธ์ของ cURL?
ฉันต้องดึงวันหมดอายุของใบรับรอง SSL curlแอพลิเคชันไม่ให้ข้อมูลนี้: $ curl -v https://google.com/ * Hostname was NOT found in DNS cache * Trying 212.179.180.121... * Connected to google.com (212.179.180.121) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello …

8
จะเปลี่ยนชื่อแท็บเทอร์มินัลใน gnome-terminal ได้อย่างไร?
ใช้เพื่อให้สามารถคลิกขวาที่แท็บและเปลี่ยนชื่อ ไม่แน่ใจวิธีการทำเช่นนี้อีกต่อไป เพิ่งอัพเกรดเป็น Fedora 21 แก้ไข: ฉันเปลี่ยนจาก gnome-terminal เป็น ROXterm

4
คำสั่ง ls ไม่ทำงานสำหรับไดเรกทอรีที่มีไฟล์จำนวนมาก
ฉันมีไดเรกทอรีซึ่งมีไฟล์ประมาณ5 ล้านไฟล์ เมื่อฉันพยายามเรียกใช้lsคำสั่งจากภายในไดเรกทอรีนี้ระบบของฉันใช้หน่วยความจำจำนวนมากและจะหยุดทำงานหลังจากนั้นไม่นาน มีวิธีที่มีประสิทธิภาพในการแสดงรายการไฟล์นอกเหนือจากการใช้lsคำสั่งหรือไม่?
70 ls 

9
bash - แทนที่ช่องว่างด้วยบรรทัดใหม่
ฉันจะแทนที่ช่องว่างด้วยบรรทัดใหม่ในอินพุตเช่น: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 ฯลฯ ... เพื่อรับสิ่งต่อไปนี้: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 บันทึก ฉันโพสต์คำถามนี้เพื่อช่วยผู้ใช้รายอื่นมันไม่ง่ายเลยที่จะหาคำตอบที่มีประโยชน์ใน UNIX SE จนกว่าฉันจะเริ่มพิมพ์คำถามนี้ หลังจากนั้นฉันพบสิ่งต่อไปนี้: คำถามที่เกี่ยวข้อง ฉันจะค้นหาและแทนที่ด้วยบรรทัดใหม่ได้อย่างไร

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

10
มีเครื่องมือที่รวม zcat และ cat อย่างโปร่งใสหรือไม่?
เมื่อจัดการกับไฟล์บันทึกบางไฟล์จะลงท้ายด้วยไฟล์ gzipped ต้องขอบคุณlogrotateและบางไฟล์ไม่ใช่ ดังนั้นเมื่อคุณลองทำสิ่งนี้: $ zcat * คุณท้ายด้วยบรรทัดคำสั่งเช่นzcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gzแล้วด้วย: gzip: xyz.log: not in gzip format มีเครื่องมือที่จะใช้เวทย์มนตร์ไบต์คล้ายกับวิธีการfileทำงานและใช้zcatหรือcatขึ้นอยู่กับผลลัพธ์เพื่อให้ฉันสามารถท่อส่งออกไปgrepเป็นตัวอย่าง? NB: ฉันรู้ว่าฉันสามารถเขียนสคริปต์ได้ แต่ฉันกำลังถามว่ามีเครื่องมือที่มีอยู่แล้ว

3
Shell: จะไปยังจุดเริ่มต้นของบรรทัดอย่างไรเมื่อคุณอยู่ในหน้าจอ
ฉันอยู่ในหน้าจอ (หน้าจอ -Ra) ฉันมีคำสั่งยาวและฉันอยู่ท้าย แทนที่จะเก็บลูกศรซ้ายคุณจะไปยังจุดเริ่มต้นของบรรทัดได้อย่างไร CTRL-A ทำงานเมื่อฉันอยู่ในหน้าต่างปกติ แต่เมื่อฉันอยู่ในหน้าจอที่กด CTRL-A จะให้ข้อความ "ไม่มีหน้าต่างอื่น" - ดูเหมือนว่า CTRL-A ถูกส่งไปที่หน้าจอ คุณจะไปที่จุดเริ่มต้นของบรรทัดในหน้าจอได้อย่างไร

5
ลบบรรทัดที่มีสตริงที่แน่นอนและบรรทัดต่อไปนี้
ฉันใช้สิ่งนี้ cat foo.txt | sed '/bar/d' เพื่อลบบรรทัดที่มีสตริงbarในไฟล์ ฉันต้องการ แต่จะลบเส้นที่และสายโดยตรงหลังจากที่มัน โดยเฉพาะอย่างยิ่งในsed, awkหรือเครื่องมืออื่น ๆ ที่มีอยู่ใน MinGW32 มันเป็นสิ่งที่ตรงกันข้ามกับสิ่งที่ฉันสามารถเข้าgrepกับ-Aและ-Bพิมพ์บรรทัดที่ตรงกันรวมถึงบรรทัดก่อน / หลังบรรทัดที่ตรงกัน มีวิธีง่าย ๆ เพื่อให้บรรลุหรือไม่

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