Unix & Linux

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

1
TTY บนจอภาพภายนอก
เมื่อใช้แล็ปท็อปที่บ้านฉันมักจะใช้จอภาพภายนอกแป้นพิมพ์และเมาส์กับหน้าจอแล็ปท็อปของฉันเป็นจอภาพที่สอง ทั้งหมดนี้ได้รับการกำหนดค่าอย่างง่ายดายโดยใช้โปรแกรมอรรถประโยชน์ GNOME ที่ดีที่ฉันถือว่าใช้ xrandr ในส่วนแบ็คเอนด์ บางครั้งฉันสนุกกับการใช้คอมพิวเตอร์ผ่าน TTY ฉันอยากจะสลับไปใช้ TTY1 (โดยใช้ ctrl + alt + f1) และให้ tty ปรากฏบนจอภาพภายนอกของฉันตามความละเอียดของจอภาพภายนอกของฉัน แต่มันมักจะปรากฏบนหน้าจอแล็ปท็อปของฉันหรือบนหน้าจอทั้งสอง แต่ที่ความละเอียดของหน้าจอแล็ปท็อปของฉัน มีวิธีทำสิ่งนี้ต่อเนื่องบน Ubuntu 10.10 หรือไม่ (ฉันเดาว่ามันไม่สำคัญ แต่ฉันได้ตั้งค่าไว้เพื่อให้หน้าจอเปิดอัตโนมัติจาก~/.profile)

4
find-command สำหรับไดเร็กทอรีย่อยที่แน่นอน
สมมติว่าผมมีไดเรกทอรีdirที่มีสามไดเรกทอรีย่อย..dir1 dir3และข้างในฉันมีไฟล์มากมายและไดเรกทอรีย่อยอื่น ๆ ฉันต้องการค้นหาไฟล์ข้างในพูดด้วย*.cจุดจบ แต่ฉันต้องการค้นหาเฉพาะในไดเรกทอรีย่อย "dir / dir2" และไดเรกทอรีย่อยทั้งหมด ฉันจะกำหนดสิ่งนั้นได้อย่างไร สมมติว่าdir/ฉันมีฉัน: find . -name "*.c" เพื่อค้นหาในทุกไดเรกทอรี ฉันจะ จำกัด เฉพาะได้dir2อย่างไร
17 linux  bash  shell  find 

2
วิธีที่จะทำให้หน้าจอ - R แนบกับเซสชั่นเดี่ยวที่อายุน้อยที่สุด?
ฉันกำลังใช้หน้าจอบนเดเบียนเลนนี่และฉันต้องการใช้-Rตัวเลือก จากman screen: -R attempts to resume the youngest (in terms of creation time) detached screen session it finds. If successful, all other com‐ mand-line options are ignored. If no detached session exists, starts a new session using the specified options, just as if -R had not been specified. อย่างไรก็ตามเมื่อฉันเรียกใช้screen …
17 gnu-screen 

2
จุดประสงค์ของคำสั่ง hostnamectl คืออะไร?
ตรงข้ามกับการแก้ไข / etc / hostname หรือที่ไหนก็ตามที่เกี่ยวข้อง? จะต้องมีเหตุผลที่ดี (ฉันหวังว่า) - โดยทั่วไปฉันชอบวิธี "เก่า" มากซึ่งทุกอย่างเป็นไฟล์ข้อความ ฉันไม่ได้พยายามโต้เถียง - ฉันอยากรู้และตัดสินใจด้วยตัวเองถ้ามันเป็นเหตุผลที่ดี ขอบคุณ

1
/lib64/ld-linux-x86-64.so.2 คืออะไรและทำไมจึงสามารถใช้เพื่อเรียกใช้ไฟล์ได้
เร็ว ๆ /lib64/ld-linux-x86-64.so.2นี้ผมได้เรียนรู้เคล็ดลับว่าถ้าไฟล์ที่ขาดสิทธิ์ปฏิบัติการเราสามารถเรียกใช้ไฟล์ว่าด้วยการใช้ ตัวอย่างเช่นในการกู้คืนสิทธิ์ x สำหรับ -rw-r--r-- 1 root root 59K Mar 1 2017 /bin/chmod เราสามารถวิ่งได้ /lib64/ld-linux-x86-64.so.2 /bin/chmod +x /bin/chmod ฉันไม่รู้จริง ๆ ว่ามันสามารถทำได้มันไม่ใช่ของปรกติลึกลับชนิดไหน
17 linux  files  libraries 

1
เสียงผ่าน HDMI บน Arch Linux
ฉันมีแลปท็อปโตชิบา (Satellite A300) ของฉันเชื่อมต่อกับทีวีของฉันผ่าน HDMI แล้ว การใช้ VLC 2.2.6 ทำให้วิดีโอใช้งานได้ดี ปัจจุบันฉันพยายามส่งเสียงไปยังลำโพงของทีวี aplay -l แสดงอุปกรณ์เล่น HDMI เป็นอุปกรณ์ตัวที่สาม: **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC268 Analog [ALC268 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC268 Digital [ALC268 …
17 arch-linux  audio  vlc  hdmi 

1
dmesg: อ่านเคอร์เนลบัฟเฟอร์ล้มเหลว: การอนุญาตถูกปฏิเสธ
ตั้งแต่เมื่อเร็ว ๆ นี้ Debian ได้เปลี่ยนพฤติกรรมเริ่มต้นสำหรับdmesgและฉันไม่สามารถใช้งานได้เพียงแค่จากผู้ใช้ท้องถิ่นของฉัน % dmesg dmesg: read kernel buffer failed: Operation not permitted กันไปสำหรับ: % cat /dev/kmsg cat: /dev/kmsg: Operation not permitted นำแสดงโดยตัวติดตามบั๊กนำไปสู่: dmesg: อ่านเคอร์เนลบัฟเฟอร์ล้มเหลว: การดำเนินการไม่ได้รับอนุญาต ฉันจะเปลี่ยนพฤติกรรมนี้กลับไปเป็นพฤติกรรมก่อนหน้านี้ได้อย่างไรซึ่งผู้ใช้ภายในจะได้รับอนุญาตให้ใช้ dmesg ฉันไม่พบกลุ่มใดกลุ่มหนึ่ง (เช่น. sudoers หรืออะไรทำนองนั้น)
17 linux  debian  dmesg  sysctl 

2
วิธีหมุนชุดรูปภาพจากบรรทัดคำสั่ง?
ฉันมีภาพ JPEG ชุดใหญ่ทั้งหมดที่มีความละเอียดเท่ากัน การเปิดแต่ละรายการในอินเทอร์เฟซแบบกราฟิกของ Imagemagic หรือ Gimp ใช้เวลานานเกินไป ฉันจะทำให้แต่ละรูปภาพหมุนและบันทึกเป็นชื่อไฟล์เดียวกันได้อย่างไร

5
การเชื่อมโยงอาเรย์ของ BASH
มีวิธีพิมพ์อาร์เรย์ทั้งหมด ([คีย์] = ค่า) โดยไม่วนรอบองค์ประกอบทั้งหมดหรือไม่ สมมติว่าฉันได้สร้างอาร์เรย์ที่มีองค์ประกอบบางอย่าง: declare -A array array=([a1]=1 [a2]=2 ... [b1]=bbb ... [f500]=abcdef) ฉันสามารถพิมพ์อาเรย์ทั้งหมดด้วย for i in "${!array[@]}" do echo "${i}=${array[$i]}" done อย่างไรก็ตามดูเหมือนว่าทุบตีรู้วิธีการรับองค์ประกอบอาร์เรย์ทั้งหมดใน "ไป" - คีย์ทั้งสอง ${!array[@]}${array[@]}และค่านิยม มีวิธีในการทุบตีพิมพ์ข้อมูลนี้โดยไม่วนซ้ำหรือไม่? แก้ไข: typeset -p arrayทำอย่างนั้น! อย่างไรก็ตามฉันไม่สามารถลบทั้งคำนำหน้าและคำต่อท้ายในการทดแทนเดียว: a="$(typeset -p array)" b="${a##*(}" c="${b%% )*}" มีวิธีที่สะอาดกว่าในการรับ / พิมพ์เฉพาะส่วน key = value ของเอาต์พุตหรือไม่?

2
นามแฝงและฟังก์ชั่น
จากคู่มือทุบตี กฎที่เกี่ยวข้องกับคำจำกัดความและการใช้นามแฝงค่อนข้างสับสน Bash จะอ่านบรรทัดที่สมบูรณ์อย่างน้อยหนึ่งรายการก่อนดำเนินการคำสั่งใด ๆ ในบรรทัดนั้น นามแฝงจะถูกขยายเมื่อคำสั่งถูกอ่านไม่ใช่เมื่อถูกเรียกใช้งาน ดังนั้นคำนิยามนามแฝงที่ปรากฏบนบรรทัดเดียวกันกับคำสั่งอื่นจะไม่มีผลจนกว่าจะอ่านบรรทัดอินพุตถัดไป คำสั่งที่ตามหลังนิยาม alias บนบรรทัดนั้นจะไม่ได้รับผลกระทบจาก alias ใหม่ ลักษณะการทำงานนี้ยังเป็นปัญหาเมื่อใช้งานฟังก์ชัน นามแฝงจะถูกขยายเมื่อคำจำกัดความฟังก์ชั่นการอ่านไม่ได้เมื่อฟังก์ชั่นการดำเนินการเพราะคำนิยามฟังก์ชั่นเป็นตัวเองคำสั่งผสม เป็นผลให้, นามแฝงที่กำหนดในฟังก์ชั่นจะไม่สามารถใช้งานได้จนกว่าจะมีการใช้งานฟังก์ชันดังกล่าว เพื่อความปลอดภัยให้ใส่คำจำกัดความของนามแฝงบนบรรทัดแยกต่างหากเสมอและห้ามใช้นามแฝงในคำสั่งผสม ประโยคสองประโยค "นามแฝงถูกขยายเมื่อนิยามฟังก์ชันถูกอ่านไม่ใช่เมื่อเรียกใช้ฟังก์ชัน" และ "นามแฝงที่กำหนดในฟังก์ชันไม่พร้อมใช้งานจนกว่าหลังจากฟังก์ชันนั้นถูกเรียกใช้งาน" ดูเหมือนจะขัดแย้งกัน คุณสามารถอธิบายสิ่งที่พวกเขาหมายถึงตามลำดับ?
17 bash  alias  function 

1
อย่าจัดการเปิดใช้งาน HDMI บนแล็ปท็อป (ที่มี optimus / bumblebee)
ฉันกำลังพยายามใช้เอาต์พุต HDMI บนพีซี (HP ZBook) กับ Debian (ยืด) ฉันได้กำหนดค่า Bumblebee มันใช้งานได้ดี (glxinfo และ optirun glxinfo รายงานข้อมูลที่คาดไว้และฉันทดสอบ GLSL shaders ที่ซับซ้อนซึ่งทำงานได้ตามที่คาดไว้) ตอนนี้ฉันต้องการเสียบ videoprojector ที่ HDMI ฉันได้อ่านที่นี่ [1] ที่ intel-virtual-output สามารถใช้เพื่อกำหนดค่าเมื่อเชื่อมต่อ HDMI บนบอร์ด NVidia (ใช้เอาต์พุต VIRTUAL ที่สามารถจัดการได้โดย xrandr) อย่างไรก็ตาม intel-virtual-output พูดว่า: no VIRTUAL outputs on ":0" เมื่อฉันทำxrandr -qไม่มีการแสดงผล VIRTUAL ฉันมี: Screen 0: minimum …

2
แหล่งที่มากับ ทำไมพฤติกรรมที่แตกต่างกันอย่างไร
ฉันเพิ่งเรียนรู้ว่า . ./.a.aและ./.a.aเหมือนกัน อย่างไรก็ตามการพยายามsource source .a.aให้ข้อผิดพลาด IMO .การเป็นคนทุบตีแทนsourceไม่ควรทำตัวแตกต่างดังนั้นฉันจะพลาดอะไรไป? โบนัสทำไม. .ตกลงในขณะที่source sourceไม่?
17 bash 

2
การหยุดเอาต์พุตเทอร์มินัล
ฉันมีคำสั่งที่ส่งออกข้อมูลจำนวนมาก (พูด strace กับ syscalls จำนวนมากที่ทำงานสองสามนาที) มีตัวเลือก (เช่น wrapper คำสั่งหรือสิ่งที่คล้ายกัน) ที่จะให้ฉันหยุดการส่งออกของคำสั่ง (เพียงแค่เอาท์พุทบนหน้าจอฉันไม่รังเกียจคำสั่งทำงานในพื้นหลัง) แล้วยกเลิกมันหลังจากที่ฉันใช้ ดูผลลัพธ์ของมัน?

2
วิธี zip ไดเร็กทอรีด้วยการเข้ารหัสสำหรับชื่อไฟล์?
ใช้บรรทัดคำสั่งฉันรู้ว่าฉันสามารถเข้ารหัสไดเรกทอรีด้วยคำสั่งต่อไปนี้: zip -er Directory.zip /path/to/directory อย่างไรก็ตามสิ่งนี้ไม่ได้เข้ารหัสชื่อไฟล์ด้วยตนเอง หากมีคนวิ่ง: unzip Directory.zip และป้อนรหัสผ่านไม่ถูกต้องซ้ำ ๆ คำสั่ง unzip จะวนซ้ำตามชื่อไฟล์ที่มีอยู่ทั้งหมดจนกว่าจะป้อนรหัสผ่านที่ถูกต้อง ตัวอย่างผลลัพธ์: unzip Directory.zip Archive: Directory.zip creating: Directory/ [Directory.zip] Directory/sensitive-file-name-1 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-1 incorrect password [Directory.zip] Directory/sensitive-file-name-2 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-2 incorrect password [Directory.zip] Directory/sensitive-file-name-3 password: password incorrect--reenter: password incorrect--reenter: …

3
วิธีการจัดรูปแบบเลขทศนิยมด้วยเลข 2 ตัวที่สำคัญในการทุบตี?
ฉันต้องการพิมพ์เลขทศนิยมด้วยเลขนัยสำคัญสองตัวใน bash (อาจใช้เครื่องมือทั่วไปเช่น awk, bc, dc, perl และอื่น ๆ ) ตัวอย่าง: ควรพิมพ์ 76543 เป็น 76000 0.0076543 ควรพิมพ์เป็น 0.0076 ในทั้งสองกรณีตัวเลขที่สำคัญคือ 7 และ 6 ฉันได้อ่านคำตอบสำหรับปัญหาที่คล้ายกันเช่น: วิธีการปัดเลขทศนิยมในเปลือก? Bash จำกัดความแม่นยำของตัวแปร floating point แต่คำตอบจะเน้นที่การ จำกัด จำนวนตำแหน่งทศนิยม (เช่นbcคำสั่งด้วยscale=2หรือprintfคำสั่งด้วย%.2f) แทนตัวเลขที่มีนัยสำคัญ มีวิธีที่ง่ายในการจัดรูปแบบตัวเลขด้วยตัวเลข 2 ตัวที่สำคัญหรือฉันต้องเขียนฟังก์ชั่นของตัวเองหรือไม่?
17 bash  awk  bc  floating-point  dc 

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