Unix & Linux

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

3
ลำดับเริ่มต้นของการเรียงลำดับ Linux คืออะไร
เป็นเวลานานฉันคิดว่าพฤติกรรมเริ่มต้นของsortโปรแกรมกำลังใช้คำสั่ง ASCII อย่างไรก็ตามเมื่อฉันป้อนบรรทัดต่อไปนี้sortโดยไม่มีข้อโต้แย้งใด ๆ : # @ ฉันได้: @ # แต่ตามตาราง ASCII #คือ 35 และ@เป็น 64 อีกตัวอย่างคือ: A a และผลลัพธ์คือ: a A ใครสามารถอธิบายสิ่งนี้ได้บ้าง โดยวิธีการ 'สั่งพจนานุกรม' เมื่อใช้sort -dคืออะไร?
18 linux  sort  locale 

2
จะหาวิธีจับคู่ fc ได้อย่างไร
เมื่อฉันวิ่งfc-mach SansมันจะกลับมาDejaVuSans.ttf: "DejaVu Sans" "Book"แต่ถ้ามันทำงานเหมือนfc-match "Sans "หรือfc-match "Sans 9"กลับunifont.ttf: "unifont" "Medium"มา ฉันชอบใช้ DejaVu Sans เสมอ แต่ฉันไม่สามารถเข้าใจได้ว่าทำไม fontconfig จึงเลือก unifont ทั้งโลกและการตั้งค่าท้องถิ่นดูเหมือนว่าจะพูดถึง unifont ( grep -ri unifont /etc/fonts/ ~/.fonts.confส่งกลับไม่มีอะไร) เล่นกับ LC_DEBUG ไม่ได้ช่วยฉันเหมือนกัน มีวิธีรับข้อมูลทำไม fontconfig ทำงานเช่นนี้หรือไม่?
18 linux  fonts 

3
ท่อพบใน grep -v
ฉันพยายามค้นหาไฟล์ทั้งหมดที่เป็นประเภทที่แน่นอนและไม่มีสตริงที่แน่นอน ฉันพยายามที่จะไปเกี่ยวกับมันโดยท่อค้นหาเพื่อ grep -v ตัวอย่าง: find -type f -name '*.java' | xargs grep -v "something something" ดูเหมือนจะใช้งานไม่ได้ ดูเหมือนว่าจะส่งคืนไฟล์ทั้งหมดที่พบคำสั่ง สิ่งที่ฉันพยายามจะทำคือค้นหาไฟล์. java ทั้งหมดที่ตรงกับชื่อไฟล์ที่แน่นอน (เช่นลงท้ายด้วย 'Pb' ใน SessionPb.java) และไม่มี 'ขยาย SomethingSomething "ข้างใน ความสงสัยของฉันคือการที่ฉันทำผิด ดังนั้นคำสั่งควรมีลักษณะอย่างไรแทน
18 grep  find  pipe 

7
แก้ไขชื่อเทอร์มินัลหลังจากการบันทึกระยะไกล SSH ไปยังเครื่องอื่น
ตอนนี้ฉันกำลังใช้รหัส perl หนึ่งบรรทัดเพื่อเปลี่ยนชื่อของแถบเทอร์มินัลของฉัน print("\e]0;@ARGV\7"); แต่ทุกครั้งหลังจากที่ฉัน ssh ไปยังเครื่องระยะไกลอื่นชื่อจะถูกแก้ไขโดยโฮสต์ (ซึ่งฉันไม่ได้ใส่ใจโดยเฉพาะอย่างยิ่ง) แต่หลังจากฉันออกจากการเชื่อมต่อชื่อที่แก้ไขจะยังคงอยู่ มีวิธีแก้ไขปัญหานี้หรือไม่? เป็นหลักฉันต้องการชื่อคงที่สำหรับอาคารของฉันเมื่อทำงานในพื้นที่ ฉันใช้ xfce terminal และ terminator เป็นหลักภายใต้ CentOS หรือ Debian ขอบคุณ แก้ไข ความละเอียดอ่อนอีกประการหนึ่งคือการมีเทอร์มินัลทั้งหมดในชื่อเดียวกันฉันต้องการที่จะมีอิสระในการแก้ไขชื่อเรื่องได้ทันที แต่ห้ามเซสชั่น SSH เพียงอย่างเดียวจากการแก้ไขสิ่งที่ฉันแก้ไข

3
โครงสร้างซ็อกเก็ตเคอร์เนลและ TCP_DIAG
ฉันกำลังทำงานกับซอฟต์แวร์ที่เชื่อมต่อกับเซิร์ฟเวอร์ข้อมูลแบบเรียลไทม์ (โดยใช้ TCP) และฉันมีการเชื่อมต่อลดลง ฉันเดาว่าลูกค้าไม่อ่านข้อมูลที่มาจากเซิร์ฟเวอร์เร็วพอ ดังนั้นฉันต้องการตรวจสอบซ็อกเก็ต TCP ของฉัน สำหรับสิ่งนี้ฉันพบเครื่องมือ "ss" เครื่องมือนี้อนุญาตให้เห็นสถานะของซ็อกเก็ตทุกอัน - นี่คือตัวอย่างบรรทัดของเอาต์พุตของคำสั่ง ss -inm 'src *:50000' ESTAB 0 0 184.7.60.2:50000 184.92.35.104:1105 mem:(r0,w0,f0,t0) sack rto:204 rtt:1.875/0.75 ato:40 คำถามของฉันคืออะไรส่วนความจำหมายถึงอะไร ดูที่ซอร์สโค้ดของเครื่องมือฉันพบว่าข้อมูลมาจากโครงสร้างเคอร์เนล ( sockในsock.h) แม่นยำยิ่งขึ้นมันมาจากฟิลด์: r = sk->sk_rmem_alloc w = sk->sk_wmem_queued; f = sk->sk_forward_alloc; t = sk->sk_wmem_alloc; มีใครรู้บ้างว่าพวกเขาหมายถึงอะไร? ฉันเดาว่า: rmem_alloc : ขนาดของบัฟเฟอร์ขาเข้า wmem_alloc …
18 linux  tcp  socket 

2
ใช้ sed เพื่อกำจัดอักขระ <>,
ฉันมีไฟล์ที่มีบรรทัดดังนี้: ... ... &lt;230948203[234]&gt;, ... ... &lt;234[24]&gt;, ... .. ฉันต้องการใช้ sed เพื่อลบอักขระ&lt; ,และ&gt;จากทุกบรรทัด ฉันลองใช้sed 's/&lt;&gt;,//g'แต่มันใช้งานไม่ได้ (มันไม่เปลี่ยนอะไรเลย) ฉันต้องหลบหนีตัวละครพิเศษเหล่านี้หรือไม่ เป็นไปได้ไหมที่จะลบหลายอักขระโดยใช้sedคำสั่งเดียว?
18 sed 


2
zsh: ไม่รวมไฟล์จากรูปแบบ
ว่าฉันมีไฟล์ต่อไปนี้: |-- bar `-- foo |-- type_A_1 |-- type_A_2 |-- type_B_1 |-- type_B_2 |-- type_B_xx |-- type_B_xx `-- something_else ฉันคิดว่าคำสั่งดังต่อไปนี้ print -l foo/*~{type_B*} จะพิมพ์ทุกอย่างภายใต้foo ยกเว้นสิ่งที่เริ่มต้นด้วยtype_Bแต่ไม่พิมพ์แทนทุกอย่างภายใต้ foo: foo/type_A_1 foo/type_A_2 foo/type_B_1 foo/type_B_2 foo/type_B_xx foo/something_else ฉันพยายามprint -l foo/*~type_Bและได้สิ่งเดียวกัน wildcard ข้อยกเว้น~ทำงานใน zsh อย่างไร

5
ทำการแมป CapsLock เพื่อ Escape และควบคุมระบบใหม่
เป็นไปได้ไหมที่จะทำการแมประบบปุ่ม CapsLock ใหม่อีกครั้งเช่นเมื่อกดปุ่ม CapsLock ด้วยตัวเองมันจะทำหน้าที่เป็นปุ่ม Escape และเมื่อกดด้วยปุ่มอื่นมันจะทำหน้าที่เป็นปุ่มควบคุมหรือไม่?
18 keyboard 

1
zmv สำหรับ zsh: หน้าแห้งและหน้าคน
ฉันเคยได้ยินสิ่งที่ดีเกี่ยวกับzmvในzshและชอบที่จะเรียนรู้ที่จะใช้มัน อย่างไรก็ตามฉันยังไม่มีประสบการณ์ค่อนข้างใน zsh และมีคำถามพื้นฐาน: มี man page ไว้สำหรับzmvในzsh(man zsh เอาต์พุต "ไม่มีรายการคู่มือสำหรับzmv") ไม่zmvnatively อนุญาตให้มีการวิ่งแห้ง? หากคำตอบข้างต้นคือไม่คุณจะทดสอบหรือทำแห้งด้วยวิธีzmvอย่างไร
18 zsh  rename 

4
จะทราบได้อย่างไรว่าไฟล์ PDF นั้นถูกบีบอัดหรือไม่และเพื่อ (un) บีบอัดไฟล์นั้น
ฉันเพิ่งเรียนรู้ว่าไฟล์ PDF สามารถบีบอัดเพื่อลดขนาดดิสก์ ฉันสงสัยว่าจะรู้ได้อย่างไรว่าไฟล์ PDF ถูกบีบอัดอยู่แล้ว? แอปพลิเคชัน / คำสั่งใดที่สามารถใช้ในการบีบอัดหรือคลายการบีบอัดไฟล์ PDF สภาพแวดล้อมของฉันคือ Linux Ubuntu 10.10 ความพยายามบางอย่างไม่ให้ผลลัพธ์ที่น่าพอใจ: นี่คือผลลัพธ์ของการลองpdftk: $ pdftk 3.pdf output 5.pdf uncompress $ pdftk 3.pdf output 3comp.pdf compress $ ls -l 3.pdf 3comp.pdf 5.pdf -rwxrwx--- 1 root plugdev 8652269 2011-07-30 12:27 3comp.pdf -rwxrwx--- 1 root plugdev 8652319 2011-07-29 22:15 3.pdf …
18 pdf 

3
DAC (สิทธิ์ของไฟล์), ACL และ MAC (SELinux) มีบทบาทอะไรในการรักษาความปลอดภัยของไฟล์ Linux?
ฉันต้องการชี้แจง / ยืนยัน / ทำอย่างละเอียดเกี่ยวกับบทบาทที่แตกต่างกันของ DAC, ACL และ MAC ในการรักษาความปลอดภัยไฟล์ Linux หลังจากการวิจัยจากเอกสารประกอบนี่เป็นความเข้าใจของฉันเกี่ยวกับสแต็ก: SELinux ต้องอนุญาตให้คุณเข้าถึงวัตถุไฟล์ หาก ACL ของไฟล์ (เช่นsetfacl, getfaclการติด ACL) ชัดเจนให้ / ปฏิเสธการเข้าถึงวัตถุแล้วการประมวลผลต่อไปไม่จำเป็นต้องมี มิฉะนั้นจะขึ้นอยู่กับการอนุญาตของไฟล์ (โมเดล rwxrwxrwx DAC) ฉันพลาดอะไรไปรึเปล่า? มีสถานการณ์ที่นี่ไม่ใช่กรณีหรือไม่

5
การใช้ข้อมูลที่อ่านจากไพพ์แทนที่จะเป็นไฟล์ในตัวเลือกคำสั่ง
ตามนิยามของมนุษย์คำสั่งนี้รับอินพุตจากไฟล์ $ command -r FILENAME สมมติว่าเป็นไฟล์ที่มีรายชื่อของชื่อไฟล์เป็นมันถูกสร้างขึ้นโดยใช้FILENAMEls &gt; FILENAME ฉันจะป้อนคำสั่งด้วยผลลัพธ์lsโดยตรงได้อย่างไร ในหัวของฉันบางสิ่งเช่นนี้น่าจะเป็นไปได้: $ ls | command -r แต่ไม่เช่นนั้นผลลัพธ์ของการlsไม่ได้รับการเชื่อมต่อเป็นอาร์กิวเมนต์ เอาท์พุท: Usage: command -r FILENAME error: -r option requires an argument ฉันจะได้รับผลที่ต้องการได้อย่างไร
18 bash  pipe 

5
วิธีบูต Debian ให้เป็นโหมดข้อความโดยไม่ต้องใช้ GUI
ฉันจะบูต Debian เข้าสู่โหมดข้อความได้อย่างไร เมาส์และคีย์บอร์ดของฉันทำงานในด้วง แต่เมื่อหน้าจอเข้าสู่ระบบปรากฏขึ้นพวกเขาไม่ทำดังนั้นฉันไม่สามารถทำอะไรได้เลย

2
ใช้ wget อะไรคือคำสั่งที่ถูกต้องในการรับ gzipped แทนที่จะเป็น HTML จริง
ฉันสะดุดกับเว็บไซต์นี้ที่พูดถึงเรื่องนี้ ดังนั้นเมื่อดาวน์โหลดทั้งเว็บไซต์โดยรับรุ่น gzipped คำสั่งที่ถูกต้องคืออะไร? ฉันได้ทดสอบคำสั่งนี้ แต่ไม่ทราบว่าจะรับเวอร์ชัน gzipped จริงหรือไม่: wget --header="accept-encoding: gzip" -m -Dlinux.about.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://linux.about.com/
18 wget 

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