Unix & Linux

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

2
การดำเนินการคำสั่ง if จากพรอมต์คำสั่ง
ในทุบตีฉันสามารถทำต่อไปนี้: if [ -f /tmp/test.txt ]; then echo "true"; fi อย่างไรก็ตามหากฉันเพิ่มsudoไว้ด้านหน้ามันจะไม่ทำงานอีกต่อไป: sudo if [ -f /tmp/test.txt ]; then echo "true"; fi -bash: syntax error near unexpected token `then' ฉันจะทำให้มันทำงานได้อย่างไร

7
ออกจากการเชื่อมต่อ SSH ทั้งหมดในหนึ่งคำสั่งและปิด PuTTY
มีวิธีในการสำรองการเชื่อมต่อ SSH ทั้งหมดและปิดPuTTYใน "one shot" หรือไม่ ฉันทำงานใน Windows 7 และใช้ PuTTY กับ SSH ไปยังโฮสต์ Linux ต่างๆ ตัวอย่างของวิธีที่ฉันพบว่าตัวเองทำงาน: SSH to host1 with PuTTY... banjer@host1:~> #...doin some work...ooh! need to go check something on host8... banjer@host1:~> ssh host8 banjer@host8:~> #...doin some work...OK time for lunch. lets close putty... banjer@host8:~> exit banjer@host1:~> exit …
19 linux  ssh  windows  putty  exit 

4
การรัน chsh ไม่เปลี่ยนเชลล์
ฉันต้องการเปลี่ยนเชลล์จาก bash เป็น zsh ฉันได้ลองใช้งานสิ่งต่อไปนี้ขณะที่ล็อกอินในฐานะผู้ใช้ของ zol: $ chsh -s /bin/zsh $ sudo chsh -s /bin/zsh zol $ su -c 'chsh -s /bin/zsh zol' # The above all results with: $ password: $ chsh: Shell not changed. # zsh exists in /etc/shells.. chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh มีอะไรผิดปกติ? ฉันจะแก้ไขได้อย่างไร
19 shell  zsh  users 

4
bash: / dev / stderr: การอนุญาตถูกปฏิเสธ
หลังจากอัปเกรดเป็นเวอร์ชั่นใหม่แล้วbashสคริปต์ของฉันก็เริ่มพ่นข้อผิดพลาด: bash: /dev/stderr: Permission denied ในเวอร์ชันก่อนหน้า Bash จะจำชื่อไฟล์เหล่านั้นได้ภายใน (ซึ่งเป็นสาเหตุที่คำถามนี้ไม่ซ้ำกับของไฟล์นี้ ) และทำสิ่งที่ถูกต้อง (tm)อย่างไรก็ตามสิ่งนี้หยุดทำงานทันที ฉันจะทำอย่างไรจึงจะสามารถเรียกใช้สคริปต์ของฉันอีกครั้งได้สำเร็จ ฉันได้ลองเพิ่มผู้ใช้ที่เรียกใช้สคริปต์ไปยังกลุ่มttyแต่มันก็ไม่ได้ทำให้แตกต่าง (แม้หลังจากออกจากระบบแล้ว) ฉันสามารถทำซ้ำนี้ในบรรทัดคำสั่งโดยไม่มีปัญหา: $ echo test > /dev/stdout bash: /dev/stdout: Permission denied $ echo test > /dev/stderr bash: /dev/stderr: Permission denied $ ls -l /dev/stdout /dev/stderr lrwxrwxrwx 1 root root 15 May 13 02:04 /dev/stderr -> /proc/self/fd/2 …

7
การแม็พระหว่างชื่ออุปกรณ์โลจิคัลและฟิสิคัลบล็อก
ฉันไม่สามารถค้นหาการแม็พระหว่างชื่ออุปกรณ์บล็อกโลจิคัลและฟิสิคัลที่แตกต่างกันได้ ผลลัพธ์ของ "cat / proc / diskstats" คือ: 104 0 cciss/c0d0 ... 104 1 cciss/c0d0p1 ... 104 2 cciss/c0d0p2 ... 104 16 cciss/c0d1 ... 253 0 dm-0 ... 253 1 dm-1 ... 253 2 dm-2 ... 253 3 dm-3 ... ผลลัพธ์ของ "df -h" คือ: /dev/cciss/c0d0p1 99M 39M 56M 42% /boot …
19 lvm  block-device 


5
ฉันจะค้นหาหน่วยความจำรั่วไหลของกระบวนการทำงานได้อย่างไร
มีวิธีฉันสามารถค้นหาหน่วยความจำรั่วไหลของกระบวนการทำงานหรือไม่ ฉันสามารถใช้ Valgrind เพื่อค้นหาการรั่วไหลของหน่วยความจำก่อนเริ่มกระบวนการ ฉันสามารถใช้ GDB เพื่อแนบกับกระบวนการทำงาน ฉันจะดีบักการรั่วไหลของหน่วยความจำของกระบวนการทำงานได้อย่างไร
19 c  gdb  memory-leaks 

3
เคอร์เนล Linux มีกระบวนการเคอร์เนลจริง ๆ หรือไม่
ฉันอ่านในหลาย ๆ ที่ที่ Linux สร้างเคอร์เนลเธรดสำหรับแต่ละเธรดผู้ใช้ใน Java VM (ฉันเห็นคำว่า "kernel thread" ที่ใช้ในสองวิธีที่แตกต่างกัน: เธรดที่สร้างขึ้นเพื่อทำงานหลักของระบบปฏิบัติการและ เธรดที่ระบบปฏิบัติการทราบถึงและกำหนดเวลาเพื่อทำงานของผู้ใช้ ฉันกำลังพูดถึงประเภทหลัง) เคอร์เนลเธรดเหมือนกับกระบวนการเคอร์เนลเนื่องจากกระบวนการ Linux สนับสนุนพื้นที่หน่วยความจำที่แบ่งใช้ระหว่างพาเรนต์และชายด์หรือเป็นเอนทิตีที่แตกต่างกันอย่างแท้จริงหรือไม่?

5
วิธีการทำให้ X มีความไวน้อยลงเมื่อคลิกขวา?
เมื่อใดก็ตามที่ฉันคลิกขวาใน X ฉันมักจะเรียกตัวเลือกแรกในเมนูยกเว้นว่าฉันกำลังคิดเกี่ยวกับสิ่งที่ฉันทำเพราะฉัน: เลื่อนเมาส์ลง; เมนูปรากฏขึ้น ลากเมาส์ 1-3 พิกเซลลงและ / หรือไปทางขวาโดยไม่ตั้งใจ เลื่อนเมาส์ขึ้น รายการเมนูที่เลือก มีวิธีการปรับแต่งนี้เพื่อให้เมนูไม่ได้เรียกค่อนข้างง่าย? หากเป็นเรื่องสำคัญฉันกำลังใช้ Gnome 3 / Cinnamon บน Gentoo Linux
19 x11  mouse 

4
จะซ่อนข้อมูลกระบวนการเชลล์เมื่อเริ่มกระบวนการพื้นหลังได้อย่างไร
[USER@SERVER ~] sleep 3 & [1] 5232 [USER@SERVER ~] [1]+ Done sleep 3 [USER@SERVER ~] ฉัน / dev / null ทั้งสองข้อความได้อย่างไร: [1] 5232 [1]+ Done sleep 3 ps: ดังนั้นฉันต้องการผลลัพธ์ของกระบวนการ แต่ไม่ใช่สองบรรทัดที่กล่าวถึง!
19 bash  ubuntu 


4
ฉันจะทราบได้อย่างไรว่าเปิดใช้งาน IP Multicast
ฉันมีสคริปต์ที่รันการทดสอบ IP multicast แต่สคริปต์ของฉันล้มเหลวในเครื่องลินุกซ์โดยเฉพาะ ฉันรู้ว่าฉันสามารถดูCONFIG_IP_MULTICASTในไฟล์การตั้งค่าเคอร์เนลเพื่อตรวจสอบว่าเคอร์เนลถูกรวบรวมด้วยนี้ อย่างไรก็ตามมันจะง่ายกว่าในการตั้งค่าสถานะความต้องการที่ขาดหายไปในสคริปต์ของฉันถ้าฉันสามารถดู/procหรือsysctlได้รับคำตอบ มีวิธีในการค้นหาว่า IP Multicast ถูกคอมไพล์ลงในเคอร์เนลโดยไม่ต้องดูCONFIG_IP_MULTICASTหรือไม่?

2
-q ปิดการบันทึกผลลัพธ์ของ wget หรือไม่?
ขณะนี้ฉันมีสคริปต์เชลล์ทำงานบนเซิร์ฟเวอร์ linux ซึ่งใช้ wget in oder เพื่อดาวน์โหลดเว็บเพจระยะไกล ในทางกลับกันนี้จะถูกดำเนินการโดยงาน cron ซึ่งมีกำหนดที่จะทำงานในบางช่วงเวลา บางคนได้โปรดยืนยันว่าการเพิ่ม-qตัวเลือกไม่เพียง แต่จะหยุดการส่งออกทั้งหมดที่ส่งคืนไปยังคอนโซล แต่ยังจะหยุดความพยายามทั้งหมดโดยการเขียนบันทึกหรือลองสร้างไฟล์บันทึกหรือไม่
19 linux  shell  wget 

4
เหตุใด kworker จึงใช้ทรัพยากรมากมายบน Linux 3.0.0-12- เซิร์ฟเวอร์
เมื่อวันศุกร์ที่แล้วฉันอัพเกรดเซิร์ฟเวอร์ Ubuntu เป็น 11.10 ซึ่งตอนนี้ทำงานกับเคอร์เนล 3.0.0-12 เซิร์ฟเวอร์ ตั้งแต่นั้นมาประสิทธิภาพโดยรวมก็ลดลงอย่างมาก ก่อนที่การอัปเกรดโหลดระบบจะอยู่ที่ประมาณ 0.3 แต่ปัจจุบันอยู่ที่ 22-30 ในระบบ CPU 8 คอร์ที่มี RAM ขนาด 16GB (ฟรี 10GB ไม่มีการใช้ swap) ฉันจะตำหนิไดรเวอร์ระบบไฟล์ BTRFS และอาร์เรย์ MD ที่อยู่ภายใต้เนื่องจาก [md1_raid1] และ [btrfs-transacti] ใช้ทรัพยากรจำนวนมาก แต่ [kworker / *: *] ทั้งหมดกินเยอะขึ้น sar ได้แสดงสิ่งที่คล้ายกันนี้ตลอดตั้งแต่วันศุกร์ที่: 11:25:01 CPU %user %nice %system %iowait %steal %idle 11:35:01 all …
19 kernel  performance  cpu  load 

2
ความหมายของคำพูดเดี่ยวและคู่ในตัวแปรสภาพแวดล้อมคืออะไร?
ฉันกำหนดตัวแปรสภาพแวดล้อมบางอย่างใน. profile ของฉันเช่นนี้: MY_HOME="/home/my_user" แต่ดูเหมือนว่าตัวแปรจะไม่ประเมินเว้นแต่ว่าฉันจะตัดเครื่องหมายคำพูดออกแล้วทำการซอร์สไฟล์อีกครั้ง ฉันเชื่อว่าจำเป็นต้องมีเครื่องหมายอัญประกาศหากจะมีช่องว่างและใช้เครื่องหมายอัญประกาศเดี่ยวหากไม่ต้องการ Escape บางคนสามารถอธิบายความสำคัญของคำพูดเดี่ยวและคู่ในคำจำกัดความของตัวแปรได้หรือไม่? เห็บหน้าและเห็บหลังเหรอ?

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