Unix & Linux

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

2
/ proc / sys vs / sys / modules / mod / พารามิเตอร์
ฉันสงสัยว่าสองสามวันที่ผ่านมามันทำงานอย่างไร เราสามารถตั้งค่าพารามิเตอร์รันไทม์ของเคอร์เนลโดยใช้ sysctl หรือecho boolen 1> /proc/sys/module/exactParameterแต่ใน/sys/modules/module/parameters/parameterเรายังสามารถตั้งค่า พารามิเตอร์สำหรับโมดูล/proc/sys/เกี่ยวข้องกับฮาร์ดไดรฟ์ที่เข้ากับเคอร์เนลหรือไม่? หรืออาจมีพารามิเตอร์สำหรับโมดูลเคอร์เนลที่ใส่ได้ด้วย LKM หลังจากที่โหลดเข้าสู่การทำงานเคอร์เนลเปิดเผยพารามิเตอร์ของพวกเขา/sys/modules/module/paraeter/paramsมา หมายความว่าไม่มีพารามิเตอร์สำหรับโมดูลที่คอมไพล์ลงในเคอร์เนลใช่หรือไม่ ความแตกต่างระหว่างทั้งสองไดเรกทอรีคืออะไร
10 linux  kernel  sysctl  proc 

2
ฉันควรทราบอะไรบ้างเมื่อติดตั้ง Linux บน Mac
ฉันมี Macbook Pro และฉันก็รักมันแม้ว่าฉันจะยังคงพลาดกล่อง Linux แต่มีหลายสิ่งที่ฉันต้องการซึ่งไม่สามารถใช้งานร่วมกับ Mac OS X ได้อย่างสมบูรณ์ฉันได้ยินเรื่องราวมากมายเกี่ยวกับการติดตั้ง Linux บน Mac OS บางคนบอกว่า ไม่ใช่ปัญหา แต่คนอื่นบางคนมักจะพูดต่างออกไป คำถามของฉันคือติดตั้ง Linux หรือไม่ดีสำหรับเครื่อง Mac OS? ข้อดีและข้อเสียคืออะไร? ฉันรู้ดีเกี่ยวกับเครื่องเสมือนจริง ๆ แต่ขอพูดตรงๆนะพวกเขาไม่ได้ทำงานได้ดีเหมือนกันเมื่อทำงานบนฮาร์ดแวร์ทางกายภาพ

4
มี Unix virtual machine ขนาดเล็กที่สะดวกสบายที่ฉันสามารถติดตั้งเป็นแอพ Android ได้หรือไม่?
ดูเหมือนว่า Ubuntu สำหรับ Android จะหายไป ฉันจะเดินทางในวันพรุ่งนี้และฉันต้องใช้เครื่อง Linux พื้นฐานกับฉัน ฉันควรจะเอาแท็บเล็ตของฉันมากกว่าแล็ปท็อป มีลีนุกซ์เสมือนจริงที่เรียบง่ายพอสมควรซึ่งฉันสามารถติดตั้งเป็นแอพ Android ได้ และสิ่งที่ฉันสามารถ ssh กับ Putty จากพีซีใด ๆ ที่ฉันค้นหา (นึกคิดผ่านสาย USB)? ฉันต้องการที่จะทำงานอย่างน้อย emacs, git และ rsync และในอุดมคติหลาม

4
รับตำแหน่งเคอร์เซอร์แนวตั้ง
นี่อาจฟังดูแปลก ๆ แต่ฉันรู้วิธีตั้งตำแหน่งเคอร์เซอร์แนวตั้งใน Bash ดังนี้: echo -e "\e[12H" สิ่งนี้เลื่อนเคอร์เซอร์ไปที่บรรทัดที่ 12 (เริ่มต้นด้วย 1) ดังนั้นฉันจะรับตำแหน่งเคอร์เซอร์ (หมายเลขบรรทัด) โดยใช้ linux bash ได้อย่างไร มันจะมีประโยชน์ถ้าฉันสามารถเก็บค่านี้ไว้ในตัวแปรเพื่อให้ฉันสามารถคำนวณได้ แก้ไข: นี่เป็นข้อผิดพลาดที่ฉันได้รับ: $ sh rowcol.sh -en read: 9: Illegal option -d test.sh: 12: Bad substitution
10 shell  terminal 

4
จัดรูปแบบเอาต์พุตของ xargs
ฉันต้องการเปลี่ยนรูปแบบของเอาต์พุต xargs ที่แสดง cat k.txt 1 2 3 และ cat k.txt | xargs 1 2 3 แต่ผมอยากจะมีหรือ1, 2, 3 1|2|3ข้อเสนอแนะใด ๆ
10 xargs 

3
ผลลัพธ์จากแอปพลิเคชันเริ่มต้นจากตัวจัดการหน้าต่างไปที่ไหน
หากคุณเริ่มต้นแอปพลิเคชันจากเทอร์มินัลคุณสามารถเห็นเอาต์พุตไปยัง stdout และ stderr แต่หากแอปพลิเคชันเริ่มต้นจากตัวจัดการหน้าต่างโดยทั่วไปผลลัพธ์ไปยังไฟล์เหล่านี้ไปที่ใด ถึง / dev / null?
10 xorg  logs  stdout 


1
Xfce และ Xscreensaver ดูเหมือนจะไม่พิจารณากิจกรรมแป้นพิมพ์ "กิจกรรม" - การเปลี่ยนแปลงอย่างไร
หลังจากที่ฉันอัพเกรดจาก Debian Squeeze เป็น Wheezy การรวมกันของ Xfce และ Xscreensaver ดูเหมือนจะไม่ถือว่ากิจกรรมแป้นพิมพ์เป็นกิจกรรมของผู้ใช้ เนื่องจากบางครั้งฉันใช้แป้นพิมพ์เป็นเวลานานซึ่งหมายความว่าในที่สุดโปรแกรมรักษาหน้าจอจะเปิดใช้งานเนื่องจากไม่มีการป้อนข้อมูลเมาส์ นี่เป็นเรื่องที่ค่อนข้างน่ารำคาญ แต่การกดปุ่มอีกครั้ง (หรือการกดเมาส์) จะทำให้หน้าจอหายไปและรอเป็นระยะเวลาหนึ่งก่อนที่จะเริ่มเตะอีกครั้ง ฉันจะทำให้ระบบพิจารณาว่าคีย์บอร์ดเป็นกิจกรรมได้อย่างไร ฉันดูการตั้งค่าสกรีนเซฟเวอร์ แต่ไม่พบสิ่งที่เกี่ยวข้อง อีกวิธีหนึ่งฉันจะสลับไปยังระบบย่อยของตัวรักษาหน้าจอที่ยอมรับอินพุตคีย์บอร์ดเป็นกิจกรรมของผู้ใช้ได้อย่างไร (สิ่งที่ฉันต้องการคือสกรีนเซฟเวอร์หน้าจอเปล่าและมอนิเตอร์ DPMI หยุดชั่วคราวและปิดเครื่องหลังจากการหน่วงเวลาที่กำหนดค่าได้ใน X) ในกรณีที่เป็นเรื่องสำคัญฉันกำลังใช้แป้นพิมพ์ USB เชื่อมต่อโดยตรงกับพีซี (ไม่มีฮับ USB อยู่) เมาส์ยังเป็น USB
10 xfce  debian 

3
ใช้มินต์เป็นเทอร์มินัลเริ่มต้นบน Cygwin และเชลล์เริ่มต้นเป็น bash
มีอยู่แล้วใครตอบคำถามที่วิธีที่ดีที่สุดที่จะใช้เปลือก Cygwin ใน Windows 7 นั่นคือการเริ่มต้น Cygwin ด้วยC:\cygwin\bin\mintty.exe - ด้วยความที่ $SHELL = /bin/sh ฉันจะเปิดตัว mintty ด้วย/usr/bin/bashเปลือกเริ่มต้นได้อย่างไร
10 terminal  cygwin 

1
คุณสามารถสร้าง "นามแฝง" ใน Bash ได้หลายวิธี
ฉันเพียงรู้ของสองวิธีและalias foo=barfunction foo() { bar } เหตุผลที่ฉันถามคือ - ทั้งหมดในเซสชัน bash ของฉัน - ฉันไม่สามารถเรียกใช้lnคำสั่งได้เนื่องจากbashมีข้อผิดพลาด-bash: /usr/local/.../ln: No such file or directory(ซึ่ง/usr/local/.../เป็นหนึ่งในรายการในPATHตัวแปรสภาพแวดล้อมของฉัน) มันไม่ใช่PATHปัญหาเพราะถ้าฉันเรียกใช้which lnมันจะเอาท์พุทไบนารีที่คาดหวังของ/usr/bin/ln(ซึ่งฉันสามารถทำงานได้ดีถ้าฉันระบุเส้นทางที่แน่นอน) ฉันยังตรวจสอบlnในของฉันaliasและfunctionประกาศและไม่มีอะไร: $ declare -f | grep ln $ alias | grep ln ปัญหากำลังเกิดขึ้นในเซสชัน bash เดียว ถ้าฉันเริ่มเชลล์ใหม่มันจะทำงานได้ดีอีกครั้ง แต่ฉันอยากรู้ว่าอะไรทำให้เกิดปัญหานี้ในทันทีในเซสชั่นของการทุบตีนี้ ความคิดใด ๆ เกี่ยวกับสิ่งที่อาจทำให้เกิดสิ่งนี้
10 bash  shell  alias 

3
การกำหนดเอาต์พุตของเคียวรี SQL ให้กับตัวแปร
ฉันกำลังเชื่อมต่อกับฐานข้อมูล Oracle และยิงแบบสอบถามและกำหนดผลลัพธ์ให้กับตัวแปร แต่เมื่อฉันสะท้อนค่าของตัวแปรมันไม่ได้รับการพิมพ์อย่างถูกต้อง count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END set pagesize 0 feedback off verify off heading off echo off; select max(cust_id) from cutomers exit; END` echo $count แบบสอบถามส่งคืนผลลัพธ์ที่ถูกต้องเมื่อเรียกใช้งานบนฐานข้อมูล แต่ตัวแปร "นับ" มีค่าที่ไม่ถูกต้อง

1
ในกรณีใดที่ SIGHUP ไม่ส่งงานเมื่อคุณออกจากระบบ?
ฉันอ่านคำตอบจากผู้ใช้ที่อ้างว่าใช้งานได้ foo 2>&1 >& output.log & จะส่งผลfooให้ทำงานต่อไปแม้ในขณะที่ออกจากระบบ ตามที่ผู้ใช้คนนี้ทำงานได้ดีกว่าการเชื่อมต่อ SSH ฉันไม่เชื่อจริง ๆ เพราะฉันรู้สึกว่าในกรณีที่ตัดการเชื่อมต่อจาก SSH หรือยกเลิก TTY เชลล์และกระบวนการของมันจะได้รับ SIGHUP ทำให้พวกเขายุติ นี้ภายใต้สมมติฐานของฉันเป็นเหตุผล แต่เพียงผู้เดียวสำหรับการใช้nohupในกรณีดังกล่าวหรือtmux, screenet al, ฉันดูคู่มือของ glibc แล้ว : สัญญาณนี้ยังใช้เพื่อรายงานการยุติกระบวนการควบคุมในเทอร์มินัลไปยังงานที่เกี่ยวข้องกับเซสชันนั้น การยุตินี้จะยกเลิกการเชื่อมต่อกระบวนการทั้งหมดในเซสชันจากเทอร์มินัลการควบคุมอย่างมีประสิทธิภาพ ดูเหมือนว่าจะยืนยันความคิดของฉัน แต่เมื่อมองไปไกลมันก็บอกว่า : หากกระบวนการเป็นผู้นำเซสชันที่มีเทอร์มินัลการควบคุมสัญญาณ SIGHUP จะถูกส่งไปยังแต่ละกระบวนการในงานเบื้องหน้าและเทอร์มินัลการควบคุมจะถูกยกเลิกการเชื่อมโยงจากเซสชันนั้น ดังนั้นนี่หมายความว่างานที่อยู่ในพื้นหลังจะไม่ได้รับ SIGHUP หรือไม่? สำหรับความสับสนที่เพิ่มขึ้นของฉันฉันใช้เซสชัน Zsh แบบอินเทอร์แอคทีฟวิ่งyes >& /dev/null &และพิมพ์exitเมื่อ Zsh เตือนฉันว่าฉันทำงานอยู่และหลังจากพิมพ์exitครั้งที่สองบอกฉันว่ามีงานหนึ่งงาน การทำเช่นเดียวกันนี้ใน Bash ทำให้งานหยุดทำงาน ...
10 ssh  tty  signals 

5
แล็ปท็อปทำงาน ~ 30 °ร้อนกว่าปกติ CPU / Load เป็นข่าวปกติ สิ่งใดที่ทำให้เกิดสิ่งนี้และฉันจะวินิจฉัยได้อย่างไร
ฉันกำลังใช้งาน Arch Linux ล่าสุดบนแล็ปท็อป ThinkPad t420 ของฉันและฉันมีปัญหาความร้อนเป็นระยะ ๆ ที่อุณหภูมิของฉันจะเพิ่มขึ้นจากอุณหภูมิปกติ ~ 45 ° C ถึง ~ 75-90 ° C และอยู่ที่นั่นจนกว่าฉันจะรีบูตเครื่อง ผมเคยทำงานเครื่องมือวินิจฉัยหลายแห่งรวมถึงที่เห็นได้ชัดhtopและอื่น ๆ ที่ googling ได้แนะนำรวมทั้งpowertop, iostatsและคนอื่น ๆ แน่นอนผมจำไม่ได้ว่า จนถึงตอนนี้ฉันเกิดปัญหาที่ไม่ชัดเจนและไม่มีความแตกต่างในการอ่านข้อมูลไม่ว่าเครื่องของฉันจะทำงานได้ตามปกติหรือในสภาวะร้อนจัด ฉันยังฆ่ากระบวนการที่น่าสงสัยที่สุดทีละราย (ฐานข้อมูลและ daemons อื่น ๆ ) โดยหวังว่าจะหาผู้กระทำความผิดที่ซ่อนอยู่เพื่อประโยชน์ใด ๆ นอกเหนือจากความพยายามเหล่านี้ฉันไม่ทราบว่าจะเริ่มแก้ไขปัญหาได้ที่ไหน ฉันหวังว่าบางคนสามารถชี้ฉันในทิศทางที่ถูกต้องเพื่อเริ่มมองหาปัญหาที่ลึกซึ้งยิ่งขึ้น เพื่อความแม่นยำคำถามของฉันไม่ใช่วิธีทำให้เครื่องเย็นลง แต่สิ่งที่อาจทำให้เกิดการเปลี่ยนแปลงความร้อนมากกว่า 30 องศาในระบบที่มีการรายงาน CPU และโหลดเป็นปกติ ฉันสามารถใช้เครื่องมือ / การปฏิบัติอะไรในการวินิจฉัย หมายเหตุบางประการที่อาจเป็นประโยชน์: ฉันสามารถทำให้ระบบเย็นลง (เช่นโดยการยกเลิกการควบคุมพัดลมอย่างสมบูรณ์) …

3
วิธีแปลงไฟล์ UTF-8 txt ไปเป็นตัวพิมพ์ใหญ่ทั้งหมดใน bash?
ฉันมีไฟล์ UTF-8 .txt บางไฟล์ซึ่งฉันต้องการแปลงเป็นตัวพิมพ์ใหญ่ทั้งหมด หากเป็นเพียง ASCII ฉันสามารถใช้: tr [:lower:] [:upper:] แต่เนื่องจากฉันทำงานกับกำกับกำกับและเนื้อหามันจึงไม่ทำงาน ฉันเดาว่าอาจใช้งานได้หากฉันตั้งค่าภาษาที่เหมาะสม แต่ฉันต้องการให้สคริปต์นี้พกพาได้
10 locale  unicode  text  tr 

4
ความแตกต่างระหว่าง 'cd' และ 'cd ~'
ฉันสงสัยว่าถ้าซีดีเพียงอย่างเดียวส่งฉันไปที่โฟลเดอร์บ้านและcd ~ทำแบบเดียวกันทำไม ~ ถูกเพิ่มเข้ามาตั้งแต่แรก? เป็นสิ่งที่เฉพาะเจาะจงกับ BASH หรือว่าพวกเขาจะมีพฤติกรรมที่แตกต่างในเชลล์อื่นหรือไม่?
10 cd-command  home 

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