Unix & Linux

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

4
bash: adduser: ไม่พบคำสั่งบน centOS
ฉันติดตั้ง CentOS 5.5 บน VMWare 8 ของฉันเมื่อเร็ว ๆ นี้และฉันพยายามเพิ่มผู้ใช้ใหม่ในระบบ ฉันไม่สามารถเพิ่มผู้ใช้ยกเว้นว่าฉันใช้su -ตัวเลือก ฉันเชื่อว่ามันต้องทำอะไรบางอย่างกับเส้นทางที่ไม่ได้ตั้งอย่างถูกต้อง ฉันอัปเดตเส้นทางแล้วและนี่คือสิ่งที่ดูเหมือน /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/uone/bin:/sbin ฉันเชื่อว่าคำสั่งอยู่ใน / sbin dir ซึ่งเป็นส่วนหนึ่งของเส้นทางแล้ว มีใครแนะนำฉันได้บ้างที่ฉันอาจหายไป?
16 shell  path 

4
ฟีดทราฟฟิกทั้งหมดผ่าน OpenVPN สำหรับเนมสเปซเครือข่ายเฉพาะเท่านั้น
ฉันพยายามตั้งค่า VPN (โดยใช้ OpenVPN) เพื่อให้การรับส่งข้อมูลทั้งหมดและเฉพาะทราฟฟิกไปยัง / จากกระบวนการเฉพาะต้องผ่าน VPN กระบวนการอื่น ๆ ควรใช้อุปกรณ์ทางกายภาพต่อไปโดยตรง ฉันเข้าใจว่าวิธีการทำเช่นนี้ใน Linux คือกับเนมสเปซเครือข่าย หากฉันใช้ OpenVPN ปกติ (เช่น funneling ทุกการเข้าชมจากลูกค้าผ่าน VPN) ก็ทำงานได้ดี โดยเฉพาะฉันเริ่ม OpenVPN ดังนี้: # openvpn --config destination.ovpn --auth-user-pass credentials.txt (ปลายทางรุ่น Redacted.ovpn อยู่ท้ายคำถามนี้) ฉันติดอยู่ในขั้นตอนต่อไปเขียนสคริปต์ที่ จำกัด อุปกรณ์ช่องสัญญาณให้เป็นเนมสเปซ ฉันเหนื่อย: วางอุปกรณ์ช่องสัญญาณโดยตรงในเนมสเปซด้วย # ip netns add tns0 # ip link set dev tun0 …

4
เก็บเอาต์พุตของคำสั่งลงในริงบัฟเฟอร์
ฉันมีคำสั่งที่ใช้เวลานานซึ่งสร้างเอาต์พุตจำนวนมากบน stdout ฉันต้องการเก็บตัวอย่างเช่นสามวันสุดท้ายหรือ gibibyte ล่าสุด (หลีกเลี่ยงการตัดเส้นตรงกลาง) และถ้าเป็นไปได้ในไฟล์ไฟล์ไม่เกิน 20 MiB แต่ละอันถูกตั้งชื่อด้วยส่วนต่อท้ายที่เป็นตัวเลขหรือเวลาประทับ สิ่งที่ต้องการ: my-cmd | magic-command --output-file-template=my-cmd-%t \ --keep-bytes=1G \ --keep-time=3d \ --max-chunk-size=20M \ --compress=xz จะเขียน: my-cmd-2014-09-05T10:04:23Z เมื่อถึง 20M มันจะบีบอัดและเปิดไฟล์ใหม่และอื่น ๆ หลังจากนั้นสักครู่มันจะเริ่มลบไฟล์ที่เก่าที่สุด คำสั่งดังกล่าวมีอยู่จริงหรือไม่? ฉันรู้logrotateและความสามารถในการจัดการไฟล์ที่เขียนโดยแอปพลิเคชั่นอื่น แต่ฉันกำลังมองหาสิ่งที่ง่ายกว่าที่ไม่เกี่ยวข้องกับการตั้งค่างาน cron ระบุกฎระงับกระบวนการ ฯลฯ

5
วิธีการหลีกเลี่ยงอักขระพิเศษในสตริงได้อย่างไร
สมมติว่า$fileเก็บค่าชื่อไฟล์Dr' A.tifไว้ ในการเขียนโปรแกรม bash ฉันจะหนีจากเครื่องหมายคำพูดเดี่ยวและอักขระพิเศษอื่น ๆ$fileโดยไม่ลบอักขระพิเศษได้อย่างไร อัพเดทเมื่อวันที่ 9 กรกฎาคม 2557 ตามคำขอจาก @Gillesโค้ดต่อไปนี้ที่ไม่สามารถจัดการได้Dr' A.tif: files=$(find /path/ -maxdepth 1 -name "*.[Pp][Dd][Ff]" -o -name "*.[Tt][Ii][Ff]") echo "${files}" > ${TEMP_FILE} while read file do newfile=$(echo "${file}" | sed 's, ,\\ ,g') ## line 1 done < ${TEMP_FILE} หลังจากที่ฉันได้ลองคำตอบจาก @Patrickบนline 1ดูเหมือนว่าจะทำงานให้ฉัน แต่ถ้าผมมีไฟล์เช่นDr\^s A.tif, คำสั่งไม่ได้ดูเหมือนความช่วยเหลือมันแสดงให้เห็นฉันprintf Dr\^s\ …
16 bash 

3
การอ่านอย่างต่อเนื่องจากไปป์ที่มีชื่อ (cat หรือ tail -f)
ฉันได้กำหนดค่าrsyslogให้บันทึกเหตุการณ์การบันทึกบางอย่างไปที่/dev/xconsole: *.*;cron.!=info;mail.!=info |/dev/xconsole /dev/xconsoleเป็นชื่อไปป์ ( fifo) cat /dev/xconsoleถ้าผมต้องการที่จะเห็นสิ่งที่จะถูกบันทึกไว้ที่ฉันสามารถทำได้ ฉันกำลังแปลกใจที่จะเห็นว่าคำสั่งcat /dev/xconsoleไม่เสร็จสมบูรณ์หลังจากที่ได้อ่านไฟล์ tail -fแต่แทนที่จะทำหน้าที่เป็น กล่าวอีกนัยหนึ่งทั้งสองคำสั่งทำงานเหมือนกัน: cat /dev/xconsole tail -f /dev/xconsole ใครช่วยอธิบายหน่อยได้ไหมว่าเพราะอะไร มีความแตกต่างระหว่างสองคนนี้ไหม?
16 pipe  cat  tail  fifo 

1
ละเว้น DNS จากเซิร์ฟเวอร์ DHCP ใน Ubuntu
ฉันตั้งค่าสแตติกDNSใน/etc/resolvconf/resolv.conf.d/baseไฟล์: nameserver 8.8.8.8 nameserver 8.8.4.4 แต่พีซีของฉันยังได้รับ DNS จาก DHCP นี่คือของฉัน/etc/resolv.conf: nameserver 192.168.100.2 nameserver 8.8.8.8 nameserver 8.8.4.4 วิธีการเพิกเฉยที่ได้รับDNSจากDHCPเซิร์ฟเวอร์?
16 ubuntu 

3
วิธี จำกัด ทรัพยากรทั้งหมด (หน่วยความจำ) ของกระบวนการและลูก ๆ ของกระบวนการ
มีคำถามและคำตอบมากมายเกี่ยวกับการ จำกัด ทรัพยากรของกระบวนการเดียวเช่น RLIMIT_AS สามารถใช้เพื่อ จำกัด หน่วยความจำสูงสุดที่จัดสรรโดยกระบวนการที่สามารถมองเห็นเป็น VIRT topได้ เพิ่มเติมเกี่ยวกับหัวข้อเช่นที่นี่มีวิธี จำกัด ปริมาณหน่วยความจำที่กระบวนการเฉพาะสามารถใช้ใน Unix ได้หรือไม่? setrlimit(2) เอกสารกล่าวว่า: กระบวนการลูกที่สร้างผ่าน fork (2) สืบทอดข้อ จำกัด ทรัพยากรของผู้ปกครอง ข้อ จำกัด ทรัพยากรจะถูกเก็บรักษาไว้ใน execve (2) ควรเข้าใจด้วยวิธีต่อไปนี้: หากกระบวนการมี RLIMIT_AS เช่น 2GB จะไม่สามารถจัดสรรหน่วยความจำได้มากกว่า 2GB เมื่อวางไข่เด็กขีด จำกัด พื้นที่แอดเดรสของ 2GB จะถูกส่งผ่านไปยังเด็ก แต่การนับเริ่มต้นที่ 0 กระบวนการทั้งสองเข้าด้วยกันสามารถใช้หน่วยความจำได้สูงสุด 4GB แต่อะไรจะเป็นวิธีที่มีประโยชน์ในการ จำกัด ผลรวมของหน่วยความจำที่จัดสรรโดยแผนผังกระบวนการทั้งหมด?

4
เครื่องมือ qtconfig สำหรับ Qt 5?
ฉันเพิ่งติดตั้ง QT 5 ใน Arch Linux แต่ใช้qtconfigไม่ได้: %> qtconfig qtconfig: could not exec '/usr/lib/qt/bin/qtconfig': No such file or directory ใช่ไม่มีไฟล์ดังกล่าวแม้กระทั่ง /usr/lib/qt5/bin/qtconfig แนวคิดใดที่จะค้นหาได้ ฉันต้องปรับแบบอักษรของsmplayerซึ่งเชื่อมโยงกับห้องสมุด QT 5 ในขณะนี้
16 arch-linux  qt 

7
คำสั่งเพื่อแสดงการใช้งานหน่วยความจำการใช้ดิสก์และโหลด CPU
ฉันต้องการแสดงการใช้หน่วยความจำ, การใช้ดิสก์และโหลด CPU ในรูปแบบต่อไปนี้: Memory Usage: 33/512MB (6%) Disk usage: 4.2/20GB (23%) CPU Load: 0.01 ฉันจะทำอย่างไร

6
ทำไมฉันไม่ ping Google
ฉันไม่สามารถ ping google.com (เจ้าภาพไม่ทราบ) แต่ฉันสามารถ ping ที่อยู่ IP ได้ ฉันพยายาม ping ที่อยู่ IP ของ Google แต่ไม่ได้ผล resolv.conf nameserver 8.8.8.8 nameserver 209.139.209.33 ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:xx:xx:xx inet addr:10.2.0.63 Bcast:10.2.15.255 Mask:255.255.240.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:638762803 errors:0 dropped:0 overruns:0 frame:0 TX packets:231307131 errors:0 dropped:0 overruns:0 carrier:0 …
16 dns  ip  internet  ping  route 


2
แป้นพิมพ์ลัดของ Thunar เพื่อเปลี่ยนแท็บ
ขณะนี้อยู่ใน Thunar หากต้องการเปลี่ยนเป็นแท็บถัดไปจะต้องใช้Ctrl+ Alt+ PageDownฉันต้องการที่จะเปลี่ยนไปอย่างใดอย่างหนึ่งCtrl+ Tabหรือ+CtrlPageDown ตอนนี้~/.config/Thunar/accels.scmเป็นที่ซึ่งทางลัดทั้งหมดถูกกำหนดในรูปแบบนี้: (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t") คำถามของฉันคือ: คำหลักสำหรับการเปลี่ยนแท็บที่ควรแทนที่new-tabในตัวอย่างข้างต้นคืออะไร Ctrl<Primary>-> ถ้างั้นTab-> และPageDown->?
16 gtk  thunar 


3
เซ็กเตอร์ที่ไม่ดีบ่งบอกถึงดิสก์ที่ล้มเหลวหรือไม่?
ระบบ Ubuntu 13.10 ของฉันทำงานได้ไม่ดีในวันสุดท้าย ดูบันทึกของเคอร์เนลปรากฏว่าดิสก์ SATA 3TB อายุน้อยกว่า 1 ปีมีปัญหากับเซกเตอร์เฉพาะ: Nov 4 20:54:04 mediaserver kernel: [10893.039180] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Nov 4 20:54:04 mediaserver kernel: [10893.039187] ata4.01: BMDMA stat 0x65 Nov 4 20:54:04 mediaserver kernel: [10893.039193] ata4.01: failed command: READ DMA EXT Nov 4 …

5
Bash: การใช้ประเภท (Bash builtins) คืออะไร?
ฉันเจอคำสั่งในสคริปต์ Bash ที่ฉันพบ: find /var/log/abcd -type f คำสั่งดังกล่าวอยู่ในบริบทของการทำความสะอาดไฟล์บันทึก ฉันรู้ว่าสิ่งที่findทำ หลังจากได้เห็น-type fฉันดูหน้าคู่มือด้วยตนเอง ฉันได้เห็นมันใน man page ของBASH_BUILTINS (1) คำอธิบายของแฟล็ก -f ภายใต้typeคำสั่งคือ: - The -f option suppresses shell function lookup, as with the command builtin. ต่อไปนี้เป็นคำถามของฉัน: การใช้งานtypeคืออะไร? ความสำคัญของการ-fตั้งค่าสถานะคืออะไร? การใช้typeกับfindคำสั่งคืออะไร [แก้ไข]: -หลังจากที่ได้อ่านความคิดเห็นทั้งหมดและคำตอบจนถึงตอนนี้ผมอยากจะพูดถึงสาเหตุการเข้าใจผิดของฉันVs-type option in command find type commandทั้งหมดนี้เกิดขึ้นเพราะผมสมมติและจนถึงวันที่ได้เห็นเพียงตัวเลือกสั้น (การทดสอบในกรณีของfindคำสั่ง) ที่มีเครื่องหมายลบเดียว '-' , ls -lตัวอย่างเช่น …
16 bash  bash-script 

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