Unix & Linux

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

9
การอ่านและค้นหาหน้ายาว
ในที่สุดผมก็เบื่อขึ้นเมื่อต้องการที่จะอ่านเกี่ยวกับทุบตี 's readและมันของตัวเลือกที่มี-s man bashฉันพบจุดที่ถูกต้องในที่สุด (ประมาณเส้น 4500) แต่มันก็น่าผิดหวังตามปกติเนื่องจากทั้งคู่/readและ/\s-s\sการค้นหามีการจับคู่มากเกินไป ดังนั้นคำถามคือฉันจะอ่านหน้ายาวอย่างมีประสิทธิภาพหรือรับข้อมูลเดียวกันในวิธีอื่น ๆในพื้นที่ได้อย่างไร เป็นตัวอย่างเฉพาะวิธีเข้าถึงเอกสารที่เกี่ยวข้องหลังจากเห็นread -s pwdในเชลล์สคริปต์ คำตอบที่ดีอาจเป็นข้อมูลโค้ดของเชลล์หรือคำแนะนำเกี่ยวกับเครื่องมือและวิธีการใช้งานหรืออย่างอื่นตราบใดที่มันช่วยในการค้นหาจุดที่เหมาะสมในการอ่าน หมายเหตุ: ฉันไม่ได้ติดแท็กด้วยการทุบตีเพราะฉันต้องการให้คำถามเกี่ยวกับการอ่านหน้าทั่วไปโดยทั่วไปแม้ว่าอาจเป็นหน้ามนุษย์ที่พบเจอบ่อยที่สุด
32 search  man 

2
ลบรูปแบบไฟล์ที่ตรงกัน
ฉันจำเป็นต้องลบไฟล์ทั้งหมดซ้ำในโฟลเดอร์ย่อยทั้งหมดที่ชื่อไฟล์มีหมายเลขตามด้วย 'x' ตามด้วยหมายเลขอย่างน้อยสองครั้ง ตัวอย่าง: ฉันต้องการลบไฟล์เหล่านี้: 'aaa-12x123-123x12.jpg' 'aaa-12x12-123x12-12x123.jpg' แต่ฉันไม่ต้องการลบไฟล์เหล่านี้: 'aaa.jpg' 'aaa-12x12.jpg' 'aaaxaaa-123x123.jpg' 'aaaxaaa-aaaxaaa.jpg' ฉันจะทำสิ่งนั้นได้อย่างไร (จาก bash shell)
32 bash  files  find  wildcards 

2
เปลือกหมายถึงอะไรในโหมด“ vi” หรือโหมด“ emacs”?
คำถามนี้ดังต่อไปนี้โดยตรงจากคำตอบ ในกรณีนี้ฉันไม่สามารถเข้าใจส่วนที่ระบุว่า: ในเรื่องนั้นพฤติกรรมของมันใกล้เคียงกับ emacs 'มากกว่าด้วยโหมด bash (readline) / ksh / zsh emacs แต่แยกออกจากตัวแก้ไขเส้นฝังไดรเวอร์ของเทอร์มินัล (ในโหมด canonical) ซึ่งCtrl-Wจะลบคำก่อนหน้า (werase และใน vi ) ที่นี่เรากำลังพูดถึงเชลล์และไม่ใช่บรรณาธิการซึ่งเป็นสองโปรแกรมที่แตกต่างกัน การบอกว่าเชลล์อยู่ในโหมดตัวแก้ไขบางอย่างหมายความว่าอย่างไร PS: คุณสามารถยึดคำตอบของคุณบนฐานที่ฉันเข้าใจว่าเชลล์คืออะไรและใช้ vim สำหรับการแก้ไขพื้นฐานได้อย่างไร

4
จะตรวจสอบอุณหภูมิของไดรฟ์บน Linux ได้อย่างไร
ฉันเคยใช้มาhdparm -nแล้วsmartctl -Aแต่มันก็ดูเหมือนจะเป็นเทคนิค "ต่อไดรฟ์" เนื่องจากไดรฟ์อาจตอบสนองต่อหนึ่งในเครื่องมือเหล่านี้เท่านั้น ดังนั้นมีวิธีมาตรฐานในการรับอุณหภูมิไดรฟ์บน Linux (HDD หรือ SSD) หรือไม่ ถ้าไม่ฉันสามารถใช้เครื่องมืออะไร (อื่น ๆ ) เพื่อรับข้อมูลนี้ได้บ้าง

2
การแก้ไขลิงก์สัญลักษณ์ (pwd)
พูดว่าฉันทำต่อไปนี้: cd /some/path ln -s /target/path symbolic_name ถ้าเป็นเช่นนั้น: cd /some/path cd symbolic_name pwd ฉันเข้าใจ: /some/path/symblic_name และไม่: /target/path มีวิธีที่จะให้เชลล์ "แก้ปัญหาอย่างเต็มที่" ลิงก์สัญลักษณ์ (เช่นการอัปเดต CWD ฯลฯ ) ราวกับว่าฉันทำเสร็จแล้ว: cd /target/path ? ฉันต้องเรียกใช้บางโปรแกรมที่ดูเหมือนจะ "รับรู้" หรือ "ละเอียดอ่อน" เกี่ยวกับวิธีที่ฉันไปยังเส้นทางเป้าหมายของฉันและฉันต้องการให้พวกเขาคิดว่าฉันมาถึงเส้นทางเป้าหมายราวกับว่าทำcd /target/pathโดยตรง
32 files  symlink  cwd 

12
ใช้การแจ้งเตือน - ส่งด้วย cron
ฉันใช้ Arch Linux กับ KDE / Awesome WM ฉันพยายามที่จะได้รับ ในการทำงานด้วยnotify-sendcron ฉันได้ลองตั้งค่าDISPLAY/ XAUTHORITYตัวแปรและใช้งานnotify-sendด้วย "sudo -u" โดยไม่มีผลลัพธ์ ฉันสามารถโทรแจ้ง - ส่งแบบโต้ตอบจากเซสชันและรับการแจ้งเตือน FWIW งาน cron ทำงานได้ดีซึ่งฉันตรวจสอบโดยการสะท้อนสิ่งที่เป็นไฟล์ชั่วคราว มันเป็นเพียง "แจ้ง - ส่ง" ที่ล้มเหลวในการทำงาน รหัส: [matrix@morpheus ~]$ crontab -l * * * * * /home/matrix/scripts/notify.sh [matrix@morpheus ~]$ cat /home/matrix/scripts/notify.sh #!/bin/bash export DISPLAY=127.0.0.1:0.0 export XAUTHORITY=/home/matrix/.Xauthority echo "testing cron" …

3
วิธีการดาวน์โหลดไฟล์ด้วย wget ที่หน้าทำให้คุณรอการดาวน์โหลด?
ฉันพยายามดาวน์โหลดไฟล์จาก sourceforge โดยใช้ wget แต่อย่างที่เราทุกคนรู้ดีว่าเราต้องคลิกที่ปุ่มดาวน์โหลดแล้วรอให้มันดาวน์โหลดอัตโนมัติ คุณจะดาวน์โหลดไฟล์ประเภทนี้โดยใช้ wget ได้อย่างไร? ฉันพยายามดาวน์โหลดสิ่งนี้: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download แต่การทำ wget บนลิงค์ url นั้นจะไม่ทำให้ฉันได้รับไฟล์เนื่องจากไฟล์นั้นโหลดโดยอัตโนมัติผ่านเบราว์เซอร์
32 wget 

6
Iceweasel กับ Firefox แตกต่างกันอย่างไร
ฉันใช้ Mozilla Firefox ใน Windows และตอนนี้ฉันใช้ Iceweasel ใน Debian 6 มีความแตกต่างกับโปรแกรมสองโปรแกรมหรือไม่? ข้อดีและข้อเสียของแต่ละโปรแกรมคืออะไร อันไหนที่ดูดีกว่ากัน?

5
getopt, getopts หรือการแยกวิเคราะห์แบบแมนนวล - จะต้องใช้อะไรเมื่อฉันต้องการสนับสนุนตัวเลือกทั้งระยะสั้นและระยะยาว
ขณะนี้ฉันกำลังเขียนสคริปต์ Bash ซึ่งมีข้อกำหนดดังต่อไปนี้: ควรรันบนแพลตฟอร์ม Unix / Linux ที่หลากหลาย ควรสนับสนุนตัวเลือกทั้งแบบสั้นและยาว (GNU) ฉันรู้ว่าgetoptsจะเป็นวิธีที่ต้องการในแง่ของการพกพา แต่ AFAIK มันไม่สนับสนุนตัวเลือกยาว getoptรองรับตัวเลือกยาว แต่BashGuideแนะนำอย่างยิ่งกับมัน: ห้ามใช้ getopt (1) getopt ไม่สามารถจัดการกับสตริงอาร์กิวเมนต์ว่างเปล่าหรือขัดแย้งกับช่องว่างที่ฝังตัว โปรดลืมว่ามันมีอยู่จริง ดังนั้นยังคงมีตัวเลือกในการแยกวิเคราะห์ด้วยตนเอง นี่เป็นข้อผิดพลาดง่ายสร้างรหัสสำเร็จรูปค่อนข้างมากและฉันต้องจัดการข้อผิดพลาดด้วยตัวเอง (ฉันเดาว่าgetopt(s)จัดการข้อผิดพลาดด้วยตัวเอง) ดังนั้นสิ่งที่จะเป็นตัวเลือกที่ต้องการในกรณีนี้

4
ควรติดตั้งดิสก์แบบถาวรเป็นพิเศษที่ไหนใน“ /”
ตามที่ Wikipedia http://en.wikipedia.org/wiki/Unix_directory_structure http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ไม่ควรติดตั้งดิสก์เพิ่มเติม/mnt/ตามลิงก์แรก แต่ไม่ได้ตะเข็บตามลิงก์ที่สอง /mediaทั้งสองพูดคิดว่าพวกเขาไม่ควรจะอยู่ใน คำถาม ดังนั้นควรติดตั้งดิสก์แบบถาวรพิเศษที่ไหน?

2
รับพฤติกรรมของโปรแกรมเมื่อสังหาร -HUP แล้วหรือยัง
มีวิธีใดบ้างที่จะทราบว่าโปรแกรมจะทำอะไรเมื่อได้รับสัญญาณการฆ่า HUP โดยไม่ต้องรันคำสั่ง ofc: D ตัวอย่างเช่น killall -HUP pppdจะรีสตาร์ท pppd killall -HUP firefoxเพียง แต่จะฆ่า firefox
32 kill  signals 

5
วิธีเพิ่มความเร็ว X ผ่าน SSH ในการเชื่อมต่อเครือข่ายที่ช้า?
มีคำแนะนำเฉพาะเกี่ยวกับการเร่งความเร็วแอปพลิเคชัน X ผ่าน ssh ในการเชื่อมต่อเครือข่ายที่ช้าหรือไม่? ในกรณีเฉพาะนี้ฉันกำลังเข้าถึงเซิร์ฟเวอร์ที่ตั้งอยู่ในฝั่งตะวันตกจากแล็ปท็อปในฝั่งตะวันออกและนั่นก็เป็นการเชื่อมต่อ DSL ที่ไม่เร็วเกินไป การตั้งค่าใด ๆ สำหรับ ssh? เคล็ดลับทั่วไป?


3
-e ทำอะไรใน bash shebang?
ฉันมีสคริปต์ทุบตีต่อไปนี้: #!/bin/bash -e egrep "^username" /etc/passwd >/dev/null if[ $? -eq 0 ] then echo "doesn't exist" fi สคริปต์นี้จะไม่ทำงานหากไม่มี -e อะไร-eทำเพื่อสคริปต์นี้ นอกจากนี้สิ่งที่$?ทำในบริบทนี้?
32 linux  bash 

3
ทำให้แพคเกจติดตั้งอย่างชัดเจนใน Pacman
ฉันมีแพ็คเกจที่ติดตั้งบนพีซีของฉันเพื่ออ้างอิงกับแพ็คเกจอื่น ฉันต้องการติดตั้งแพ็กเกจอย่างชัดเจน แต่ไม่มีการติดตั้งใหม่หรือดาวน์โหลดไฟล์ใด ๆ เป็นไปได้ไหม อัปเดต : ฉันไม่มีแพ็คเกจใด ๆ ในแคช/var/cache/pacman/pkgซึ่งเป็นหนึ่งในเหตุผลที่ฉันต้องการเปลี่ยนรายละเอียดแพ็คเกจโดยไม่ต้องติดตั้งใหม่ แม้ว่าฉันจะมีแพ็กเกจแคชอยู่ก็ตามการรัน pacman -S ก็หมายความว่าการติดตั้งทั้งหมดนั้นรันซึ่งฉันต้องการหลีกเลี่ยง

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