Unix & Linux

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

1
นามแฝงคำสั่งให้ทำงานในพื้นหลัง
ฉันต้องการแป้นพิมพ์ลัดเพื่อทำงานดังนี้: > e foo.txt เพื่อขยายเป็น > emacs foo.txt & ใช้ง่ายalias e=emacsแต่ฉันจะแทรก&ชื่อไฟล์หลังได้อย่างไร ฉันรู้ว่ามันอาจเป็นไปไม่ได้ที่จะใช้เพียงอย่างเดียวaliasดังนั้นฉันจะยอมรับโซลูชันทุบตีใด ๆ หากจำเป็นต้องใช้เชลล์สคริปต์โปรดอธิบายวิธีการทำงาน
25 bash  alias 

6
ฉันจะเปิดเทอร์มินัลใหม่ในไดเรกทอรีเดียวกันของสิ่งที่ใช้ล่าสุดจาก keybind จัดการหน้าต่างได้อย่างไร
ฉันใช้ตัวจัดการหน้าต่างเรียงต่อกันและฉันเปลี่ยนจากgnome-terminalแท็บหลายแท็บเป็นหลายurxvtอินสแตนซ์ที่จัดการโดยตัวจัดการหน้าต่าง หนึ่งในคุณสมบัติที่ฉันพลาดคือความสามารถในการเปิดเทอร์มินัลใหม่ซึ่งเป็นค่าเริ่มต้นไปยังไดเรกทอรีการทำงานของอันสุดท้าย กล่าวโดยย่อ: ฉันต้องการวิธีในการเปิด urxvt ใหม่ (ทุบตี) ที่เป็นค่าเริ่มต้นที่ $ PWD ของรายการที่ใช้ล่าสุด ทางออกเดียวที่อยู่ในใจของฉันคือการบันทึกเส้นทางปัจจุบันในทุก ๆcdสิ่ง: echo $PWD > ~/.last_dir และกู้คืนพา ธ บนเทอร์มินัลใหม่ด้วยวิธีนี้: cd `cat ~/.last_dir` ฉันสามารถสั่งคำสั่งที่สองได้.bashrcแต่ฉันไม่รู้วิธีเรียกใช้คำสั่งแรกในทุกการเปลี่ยนแปลงของไดเรกทอรี :) ยินดีต้อนรับทางออกที่ง่ายกว่าที่ไม่เกี่ยวข้องscreenหรือtmuxการใช้งาน


6
มีวิธีตั้งค่าขนาดของรายการประวัติเป็น bash มากกว่า 5,000 บรรทัดหรือไม่?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 8 ปีที่ผ่านมา ไม่ว่าฉันจะตั้งค่าHISTSIZEตัวแปรสภาพแวดล้อมให้ใหญ่กว่า 5,000 เท่าไหร่เมื่อพิมพ์รายการประวัติด้วยhistorybuiltin มันจะพิมพ์เฉพาะคำสั่ง 5000 ล่าสุดเท่านั้น ฉันต้องการสิ่งนั้นเพราะฉันมักจะมีขนาดใหญ่.bash_historyซึ่งเกิน 5,000 บรรทัดและบางครั้งหนึ่งต้องระบุคำสั่งก่อนหน้าโดยกดCtrl-Rแต่ถ้าคำสั่งนั้นมากกว่า 5,000 คำสั่งก่อนหน้าฉันไม่สามารถเข้าถึงได้โดยใช้กลไกนั้น ฉันรู้ว่าฉันสามารถใช้grepบน.bash_historyแต่ผมคิดว่าCtrl-Rกลไกที่จะมากขึ้นเร็วขึ้น (และสะดวก) ฉันใช้ gnu bash เวอร์ชั่น 4.1 นั่นคือเนื้อหาทั้งหมดของไฟล์. bashrc ของฉัน: #!/bin/bash # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # …
25 linux  bash  shell 

2
GNU Emacs; รุ่น GUI มีอะไรมากกว่าความสามารถในการมีเมนู GUI หรือไม่?
ฉันได้ดู GNU Emacs เป็นเวลาสองสามเดือนแล้วเปิดและปิด (ส่วนใหญ่ปิด) และฉันไปเท่าที่ทดสอบสิ่งพื้นฐานบางอย่างที่ฉันต้องการในการแก้ไขโดยเฉพาะ ... ค่อยๆรับรู้ภูมิประเทศของมันและมันเริ่มที่จะทำให้ความรู้สึก (ดี) .... สิ่งสำคัญที่ฉันสังเกตเห็นคือดูเหมือนว่าจะทำงานได้เหมือนกันในรุ่น X-GUI เหมือนกับในรุ่น X-Terminal (และฉันสงสัยว่ามันจะเหมือนกันในสภาพแวดล้อมที่ไม่ใช่ GUI .. . ตอนแรกฉันคิดว่าฉันจะรู้สึกไม่สบายตัวมากที่ทำงานในโปรแกรมแก้ไขที่ไม่ใช่ GUI และมันก็เป็นเช่นนั้น แต่ยิ่งฉันตบเบา ๆ ในน่านน้ำ Emacs ยิ่งมีความสำคัญน้อยลงที่ต้องกลายเป็น ... ดังนั้นตอนนี้ฉันกำลังดูอยู่ จากส่วนอื่น ๆ ของก้าน ... ฉันเปลี่ยนโฟกัสของฉันไปทำงานเป็นหลักในรุ่น Terminal .. คำถามของฉันคือ: นอกเหนือจากเมนู GUI ที่ชัดเจน (ซึ่งกลายเป็นสิ่งที่ไม่จำเป็น) มีความแตกต่างที่น่าสังเกตระหว่างเวอร์ชัน (X-GUI, X-Terminal และ no-GUI) หรือไม่ *
25 x11  emacs 

3
ไดเร็กทอรีมาตรฐานและ / หรือไดเร็กทอรีทั่วไปบน Unix / Linux OS
มาจากโลกของ Windows ฉันพบว่าส่วนใหญ่ของชื่อไดเรกทอรีโฟลเดอร์จะค่อนข้างง่าย: \Program Files มีไฟล์ที่ใช้โดยโปรแกรม (แปลกใจ!) \Program Files (x86) มีไฟล์ที่ใช้งานโดยโปรแกรม 32 บิตบนระบบปฏิบัติการ 64 บิต \Users(เดิมDocuments and Settings) มีไฟล์ของผู้ใช้เช่นเอกสารและการตั้งค่า \Users\USER\Application Data มีข้อมูลเฉพาะแอปพลิเคชัน \Users\USER\Documents มีเอกสารที่เป็นของผู้ใช้ \Windows มีไฟล์ที่เป็นของการทำงานของ Windows เอง \Windows\Fonts เก็บไฟล์ตัวอักษร (แปลกใจ!) \Windows\Temp เป็นไดเรกทอรีชั่วคราวทั่วโลก และอื่น ๆ แม้ว่าฉันจะไม่รู้ว่าโฟลเดอร์เหล่านี้ทำอะไรฉันก็สามารถเดาได้อย่างแม่นยำจากชื่อของพวกเขา ตอนนี้ฉันใช้ Linux ดูดีและสับสนมากเกี่ยวกับวิธีค้นหาวิธีการรอบ ๆ ระบบไฟล์ ตัวอย่างเช่น: /binมีไบนารี แต่ทำเพื่อ/sbin, /usr/bin, /usr/sbinและอาจจะมากกว่าที่ฉันไม่ทราบเกี่ยวกับ อันไหน ?? ความแตกต่างระหว่างพวกเขาคืออะไร? ถ้าฉันต้องการสร้างไบนารีและวางไว้ที่ไหนสักแห่งทั้งระบบฉันจะวางมันไว้ที่ไหน? …

5
เช็ด 1MB สุดท้ายของฮาร์ดไดรฟ์
มีคำสั่งง่าย ๆ ที่ฉันสามารถใช้เพื่อกำจัดฮาร์ดไดรฟ์ 1MB ล่าสุดหรือไม่ dd if=/dev/zero of=/dev/sdx bs=1M count=1สำหรับการเริ่มต้นของไดรฟ์ผมจะ seekเลือกสำหรับรูปลักษณ์ DD สัญญาว่า แต่คนที่มีวิธีที่ง่ายต่อการตรวจสอบว่าวิธีไกลฉันควรขอ? ฉันมีอุปกรณ์ RAID ของฮาร์ดแวร์ที่เก็บการกำหนดค่า RAID บางอย่างไว้ที่ส่วนท้ายของไดรฟ์ ฉันต้องการอุปกรณ์ RAID เพื่อดูว่าไดรฟ์นั้นไม่ได้กำหนดค่าดังนั้นฉันต้องการลบการกำหนดค่า RAID โดยไม่ต้องใช้เวลาในการลบไดรฟ์แบบเต็ม ฉันมีไดรฟ์ 2TB โหลและการลบไดรฟ์ทั้งหมดนั้นใช้เวลานาน
25 linux  partition 

9
จะใช้การอัปเดตเกี่ยวกับ OpenBSD, NetBSD และ FreeBSD ได้อย่างไร
ฉันใช้ OpenBSD มาระยะหนึ่งแล้ว สิ่งที่ฉันทำคือไปจากรีลีสหนึ่งไปยังอีกเพียงแค่อัปเดตเสมอ ฉันกำหนดค่าระบบเพื่อให้ทำงานเป็นเราเตอร์และไฟร์วอลล์ของฉันและทำงานได้ดีเช่นนั้น แต่ฉันไม่เคยอัปเดตแพ็คเกจ สิ่งที่ฉันทำก็แค่เลื่อนไปที่รีลีสถัดไป มาจากโลก Linux ฉันคุ้นเคยกับการใช้การอัปเดตสองสามครั้งต่อสัปดาห์ แต่ฉันจะทำอย่างนั้นใน * BSD ได้อย่างไร - หรือนี่ไม่ใช่ส่วนหนึ่งของปรัชญา * BSD?

7
ข้อดีของ Debian บน Ubuntu [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว ข้อดีหลัก ๆ ของการใช้ Debian แทน Ubuntu คืออะไร

5
ซิงค์ไดเรกทอรีทั้งสองทิศทางด้วย rsync
ฉันรู้เกี่ยวกับ rsyn และฉันใช้ rsync เพื่อซิงค์ระหว่าง mac และเซิร์ฟเวอร์ linux ดังนี้ rsync -r -t -v MAC LINUX rsync -r -t -v LINUX MAC ฉันคาดว่าจะเรียกใช้คำสั่งแรกเพื่อซิงค์ แต่ฉันต้องการคำสั่งที่สองเช่นกันเมื่อมีการเปลี่ยนแปลงใน LINUX ฉันพลาดอะไรไปรึเปล่า? rsync มีตัวเลือกในการซิงค์ระหว่างสองไดเรกทอรีหรือไม่

2
อะไรคือจุดประสงค์ของอาร์กิวเมนต์แรกในการเลือกการเรียกของระบบ?
จาก man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds เป็นตัวบอกไฟล์ที่มีหมายเลขสูงสุดในสามชุดใด ๆ บวก 1 วัตถุประสงค์ของการคืออะไรnfdsเมื่อเรามีอยู่แล้วreadfds, writefdsและexceptfdsจากการที่อธิบายไฟล์สามารถกำหนด?

7
หน้าต่างคอนโซลซีเรียลที่ปรับขนาดได้หรือไม่
เมื่อใช้คอนโซลอนุกรมของระบบของฉันฉันมักจะจบลงด้วยและ$COLUMNS=80$LINES=24 ในขณะที่ฉันสามารถเปลี่ยนตัวแปรเหล่านี้ด้วยตนเองมันค่อนข้างน่ารำคาญที่จะทำเช่นนี้ได้ตลอดเวลาเมื่อหน้าต่างเทอร์มินัลฝั่งไคลเอ็นต์ถูกปรับขนาด screen /dev/mytty baudrateโดยปกติผมเชื่อมต่อไปยังคอนโซลใช้ การเปลี่ยน$TERMตัวแปรสภาพแวดล้อมเป็น "หน้าจอ" หรือ "xterm" ไม่ได้ช่วยอะไร ฉันจะต้องโทรหาใครgettyบางคนแทนที่จะเป็น vt100 หรือไม่? จำเป็นต้องพูดว่าทั้งหมดนี้ทำงานได้ดีเมื่อฉันเชื่อมต่อกับเครื่องเดียวกันโดยใช้ ssh

1
การใช้งาน CPU สูงด้วย CFS?
ฉันถามคำถามก่อนหน้านี้เพื่อลองและแยกแหล่งที่มาของการเพิ่มขึ้นของการใช้งาน CPU เมื่อย้ายแอปพลิเคชันจาก RHEL 5 ไปยัง RHEL 6 การวิเคราะห์ที่ฉันทำเพื่อดูเหมือนจะบ่งชี้ว่าเกิดจาก CFS ในเคอร์เนล ผมเขียนแอพลิเคชันทดสอบและพยายามตรวจสอบว่านี้คือกรณี (การประยุกต์ใช้การทดสอบเดิมลบออกให้พอดีกับขนาด จำกัด แต่ยังคงมีอยู่ในrepo คอมไพล์ ฉันรวบรวมมันด้วยคำสั่งต่อไปนี้ใน RHEL 5: cc test_select_work.c -O2 -DSLEEP_TYPE=0 -Wall -Wextra -lm -lpthread -o test_select_work จากนั้นฉันก็เล่นกับพารามิเตอร์จนกระทั่งเวลาดำเนินการต่อการทำซ้ำประมาณ 1 ms ใน Dell Precision m6500 ฉันได้ผลลัพธ์ต่อไปนี้ใน RHEL 5: ./test_select_work 1000 10000 300 4 time_per_iteration: min: 911.5 us avg: 913.7 …

4
ฉันใช้โปรแกรมอะไรในการตรวจสอบเมล
ฉันได้รับ "คุณมีจดหมาย" ข้อความและเป็นไปตามวิธีการเอา“คุณมีจดหมาย” ข้อความต้อนรับmailฉันควรจะอ่านจดหมายของฉันด้วย อย่างไรก็ตามฉันไม่พบคำสั่งในระบบของฉัน (เซิร์ฟเวอร์ Ubuntu 10.04) ฉันต้องติดตั้งอะไรบ้าง

9
จะพิมพ์เฉพาะคอลัมน์สุดท้ายได้อย่างไร
echo -e 'one two three\nfour five six\nseven eight nine' one two three four five six seven eight nine ฉันจะทำ "MAGIC" บางอย่างเพื่อรับเอาต์พุตนี้ได้อย่างไร: three six nine อัปเดต: ฉันไม่ต้องการในวิธีนี้โดยเฉพาะฉันต้องการโซลูชันทั่วไปเพื่อให้ไม่ว่าจะมีคอลัมน์อยู่กี่แถวเช่น: awk แสดงคอลัมน์สุดท้ายเสมอ

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