Unix & Linux

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

6
Linux ที่สามารถเรียกใช้งานได้จะถูกคอมไพล์ใน "รสชาติ" ของ Linux หรือไม่
ความสามารถในการเรียกใช้งานของโปรแกรมขนาดเล็กและเรียบง่ายอย่างยิ่งเช่นที่แสดงด้านล่างซึ่งรวบรวมไว้ใน Linux หนึ่งรสชาติที่รันบนรสชาติที่แตกต่างกันหรือไม่? หรือจะต้องทำการคอมไพล์ใหม่? สถาปัตยกรรมของเครื่องจักรมีความสำคัญในกรณีเช่นนี้หรือไม่? int main() { return (99); }

5
ด้วยคำสั่ง Linux“ cat” ฉันจะแสดงเฉพาะบางบรรทัดตามจำนวนได้อย่างไร
หากฉันใช้cat -n text.txtเพื่อกำหนดหมายเลขบรรทัดโดยอัตโนมัติฉันจะใช้คำสั่งเพื่อแสดงเฉพาะหมายเลขที่กำหนดได้อย่างไร

3
เป็นไปได้หรือไม่ที่จะเชื่อมต่อกับพอร์ต TCP 0
การฟังพอร์ต TCP 0 จัดสรรหมายเลขพอร์ตฟรีให้ฉันบนระบบ แต่จะเกิดอะไรขึ้นเมื่อฉันพยายามเชื่อมต่อกับพอร์ต TCP 0 คำตอบที่ชัดเจนคือ: "มันไม่ทำงาน": $ nc localhost 0 nc: port number too small: 0 ระบบนี้จัดการกับที่ใดบ้าง? ในสแต็ก TCP ของเคอร์เนลระบบปฏิบัติการ มี Unixes ที่เชื่อมต่อกับพอร์ต TCP 0 จะทำงานได้อย่างไร
59 networking  tcp 

12
เหตุใดจึงต้องเขียนสคริปต์ทุบตีทั้งหมดในฟังก์ชั่น
ที่ทำงานฉันเขียนสคริปต์ทุบตีบ่อยๆ หัวหน้างานของฉันแนะนำว่าสคริปต์ทั้งหมดจะถูกแบ่งเป็นฟังก์ชั่นคล้ายกับตัวอย่างต่อไปนี้: #!/bin/bash # Configure variables declare_variables() { noun=geese count=three } # Announce something i_am_foo() { echo "I am foo" sleep 0.5 echo "hear me roar!" } # Tell a joke walk_into_bar() { echo "So these ${count} ${noun} walk into a bar..." } # Emulate a pendulum clock for a …

6
ความแตกต่างระหว่าง ls -l และ ll?
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเป็นทั้งบทเรียนและบางส่วนได้รับการบอกให้ผมใช้ls -lจะมองไปที่ไฟล์ในไดเรกทอรีและคนอื่น ๆ llได้รับการพูด ฉันรู้ว่าlsเป็นรายการสั้น ๆ แต่มีความแตกต่างระหว่างอีกสองคนหรือไม่
59 shell  shell-script  ls 

8
จะดาวน์โหลดโฟลเดอร์จากไดรฟ์ google โดยใช้เทอร์มินัลได้อย่างไร
ฉันต้องการดาวน์โหลดโฟลเดอร์จากไดรฟ์ google โดยใช้เทอร์มินัลหรือไม่ มีวิธีใดที่จะทำเช่นนั้น? ฉันลองสิ่งนี้: $ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing" แต่มันกำลังดาวน์โหลดไฟล์ข้อความนี้: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. มีวิธีการดาวน์โหลดโฟลเดอร์ google ไดรฟ์จากสถานีหรือไม่
59 wget  download 

4
การย้าย / var, / home ไปยังพาร์ติชันแยกกัน
ฉันพยายามย้ายบางโฟลเดอร์ (เช่น/varและ/home) ไปยังพาร์ติชันแยกต่างหากหลังจากอ่านคู่มือนี้: 3.2.1 เลือกโครงร่างพาร์ติชันที่ชาญฉลาด ฉันก็สามารถที่จะย้ายโฟลเดอร์หนึ่งที่ประสบความสำเร็จต่อไปนี้คู่มือ อย่างไรก็ตามดูเหมือนจะใช้งานไม่ได้กับหลาย ๆ โฟลเดอร์และโฟลเดอร์ทั้งหมดของฉันถูกเทลงในพาร์ติชั่นโดยไม่มีโฟลเดอร์ที่เหมาะสม ผมอยากจะติด/var, /homeและ/tmpบนพาร์ติชันที่แยกเป็นสัดส่วน ใครสามารถแนะนำฉันเกี่ยวกับเรื่องนี้?

5
ส่งผ่านตัวแปรเชลล์เป็น / pattern / ไปยัง awk
มีดังต่อไปนี้ในหนึ่งในฟังก์ชั่นเปลือกของฉัน: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } ดังนั้นเมื่อเรียกว่าเป็น_process $arg, $argได้รับการส่งผ่านเป็น$1และนำมาใช้เป็นรูปแบบการค้นหา มันทำงานได้ด้วยวิธีนี้เพราะเชลล์ขยาย$1แทนรูปแบบ awk! นอกจากนี้ยังlสามารถนำมาใช้ภายในโปรแกรม awk -v l="$line"ถูกประกาศด้วย ทุกอย่างดี เป็นไปได้หรือไม่ที่จะให้รูปแบบการค้นหาเป็นตัวแปร การติดตามจะไม่ทำงาน awk -v l="$line" -v search="$pattern" ' BEGIN {p=0} /search/ {p=1} END{ if(p) print l >> "outfile.txt" …
59 shell  awk  quoting  variable 

1
ไดอะแกรมของ Linux kernel เทียบกับเครื่องมือประสิทธิภาพหรือไม่
มีแผนภาพที่แสดงให้เห็นว่าประสิทธิภาพของเครื่องมือต่างๆเช่นip, netstat, perf, top, psฯลฯ โต้ตอบกับระบบย่อยต่างๆภายในเคอร์เนลลินุกซ์?

4
ฉันจะรับคำสั่ง tac บน OS X ได้อย่างไร
ผมชอบที่จะใช้ในการย้อนกลับการส่งออกของtac catอย่างไรก็ตามมันไม่สามารถใช้ได้ในเทอร์มินัล Mavericks ฉันพยายามค้นหาบน MacPorts และไม่สามารถใช้งานได้อีก ใครช่วยกรุณาแสดงให้ฉันเห็นว่าจะได้รับtac? มันมีประโยชน์มากสำหรับการอ่านไฟล์บันทึก
59 osx  cat 

4
อะไรคือความรับผิดชอบของแต่ละองค์ประกอบ Pseudo-Terminal (PTY) (ซอฟต์แวร์ด้านหลักด้านทาส)
ฉันพยายามคิดว่า tty ทำงานอย่างไร1 (กระบวนการทำงานและความรับผิดชอบของแต่ละองค์ประกอบ) ฉันได้อ่านบทความที่น่าสนใจหลายเรื่องเกี่ยวกับเรื่องนี้ แต่ยังมีบางพื้นที่ที่พร่ามัว นี่คือสิ่งที่ฉันเข้าใจ: เทอร์มินัลที่จำลองทำให้การเรียกใช้ระบบแตกต่างกันไป/dev/ptmxส่วนหลักของเทอร์มินัลหลอก ส่วนหลักของเทอร์มินัลหลอกหลอกจัดสรรไฟล์/dev/pts/[0-N]ให้สอดคล้องกับพอร์ตอนุกรมที่ล้าสมัยและ "แนบ" เทอร์มินัลหลอกหลอกไปที่มัน เทอร์มินัลหลอกหลอกเก็บข้อมูลเช่นรหัสเซสชันงานพื้นหน้าจอขนาด นี่คือคำถามของฉัน: ptmxมีจุดประสงค์อื่นนอกเหนือจากการจัดสรรส่วนทาสหรือไม่? มันจัดให้มี "ปัญญา" บางชนิดหรือเทอร์มินัลจำลอง (เช่น xterm) มีสติปัญญาทั้งหมดของการทำงานเหมือนเทอร์มินัลหรือไม่? ทำไม xtermจึงต้องโต้ตอบกับชิ้นส่วนหลักเพราะมันจะส่งต่อ stdout และ stdin ของส่วนทาสเท่านั้น ทำไมถึงไม่สามารถมัน โดยตรงเขียนและอ่านจากแฟ้มจุด ? ID เซสชันจะแนบกับไฟล์ pts หนึ่งไฟล์และในทางกลับกันหรือไม่ ฉันสามารถพิมพ์คำสั่ง ps และพบ2 sessionId สำหรับ / dev / pts / X เดียวกันได้หรือไม่ ข้อมูลอื่น ๆ ของptsร้านค้า? Xterm อัปเดตทุกฟิลด์ด้วยตัวเองหรือไม่หรือจะptmเพิ่ม …

2
หน่วยเวลาใดที่ใช้คำว่า "top"
หากฉันออกคำสั่ง "top" และรับผลลัพธ์เช่น: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 00001 bob 25 0 77380 1212 1200 R 95.8 0.0 89122:13 fee 00002 bob 25 0 77380 1196 1184 R 95.4 0.0 88954:14 fi 00003 sam 18 0 427m 16m 6308 R 30.0 0.1 54:46.43 …
59 man  time  top 

2
เทอร์มินัลอีมูเลเตอร์สามารถเร็วเท่ากับ TTY 1-6 ได้หรือไม่?
ฉันลองใช้ตัวจำลองเทอร์มินัลเมื่อไม่นานมานี้จาก gnome-terminal, aterm, xterm, wterm, rxvt ในตัว การทดสอบที่ฉันทำอยู่ในลำดับนี้: เปิดหน้าต่าง tmux ที่มี 2 บานหน้าต่าง บานหน้าต่างด้านซ้ายจะเป็นงานที่ต้องใช้ความละเอียดสูงเช่นgrep a /et/c -rหรือแบบง่ายtime seq -f 'blah blah %g' 100000 บานหน้าต่างด้านขวาจะเป็นหน้าต่างกลุ่มที่มีไวยากรณ์เปิดไฟล์ใด ๆ ที่มีรหัสมากกว่า> 100 บรรทัด เมื่อบานหน้าต่างด้านซ้ายกำลังพิมพ์เอาต์พุตจำนวนมากบานหน้าต่างด้านขวาดูเหมือนจะช้ามากและไม่ตอบสนองฉันพยายามเลื่อนเป็นกลุ่ม แต่ใช้เวลา 1-2 วินาทีในการเปลี่ยน เมื่อฉันพยายามกดCtrlCที่บานหน้าต่างด้านซ้ายมันจะรอนานกว่า 10 วินาทีก่อนที่มันจะหยุด เมื่อฉันทำสิ่งเดียวกันใน TTY (การกดCTRL+ ALT+ ( F[1-6])) มันจะไม่เกิดขึ้นและบานหน้าต่างทั้งสองตอบสนองได้ดีมาก ฉันเปลี่ยนการกำหนดค่าบางอย่างเช่นตัวอักษร antialias การเปลี่ยนสีใช้การตั้งค่าเริ่มต้นและเปลี่ยนเป็น xmonad และ openbox แต่มันไม่เปลี่ยนแปลงอะไรเลย ผลลัพธ์ของtime …
59 terminal  tty 

2
เหตุใดไลบรารีที่แบ่งใช้จึงสามารถเรียกใช้งานได้
เหตุใดจึงมีการแชร์ไลบรารีเกือบทั้งหมดใน/usr/lib/จึงมีบิตสิทธิการใช้งานที่ตั้งค่าได้ ฉันไม่เห็นกรณีใช้งานใด ๆ สำหรับการดำเนินการ บางคนจัดการเพื่อเชื่อมต่อรูปแบบของmainฟังก์ชั่นบางอย่างเพื่อพิมพ์ลิขสิทธิ์สั้น ๆ และหมายเหตุรุ่น แต่หลายคนไม่ทำอย่างนั้น ดังนั้นจุดประสงค์ของการตั้งค่านี้xคืออะไร ผู้ทำแพ็กเกจไลบรารีต้องทำเช่นนั้นหรือไม่ จะเกิดอะไรขึ้นถ้าฉันdlopen()เป็นห้องสมุดสาธารณะที่มี0644สิทธิ์

3
รีเฟรชตัวแปร env หลังจากแก้ไขไฟล์ bashrc
ฉันแก้ไข.bashrcไฟล์เพื่อส่งออกตัวแปรสภาพแวดล้อมใหม่บ่อยครั้ง แทนที่จะปิดคอนโซลและเริ่มใหม่เพื่อรีเฟรชตัวแปร env มีวิธีที่สะดวกในการรีเฟรชหรือไม่?

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