Unix & Linux

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

3
ประมวลผลบรรทัดสุดท้ายก่อนโดยใช้ awk
ฉันมีไฟล์ข้อมูลที่ฉันต้องการทำให้เป็นมาตรฐานโดยใช้awkตามดาต้าพอยน์ล่าสุด ดังนั้นฉันต้องการเข้าถึงจุดข้อมูลสุดท้ายก่อนเพื่อทำให้ข้อมูลเป็นมาตรฐานและดำเนินการตามปกติ วิธีต่อไปนี้ใช้tacสองครั้งเพื่อทำงาน แต่อาจจะซับซ้อนกว่าที่จำเป็น $ cat file 0 5 1 2 2 3 3 4 $ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac 0 1.25 1 0.5 2 0.75 3 1 คำถามของฉันมีดังต่อไปนี้: เป็นไปได้หรือไม่ที่จะได้รับผลลัพธ์ข้างต้นโดยใช้ awk เท่านั้น ฉันคิดว่าคำตอบคือ "ไม่ awk สแกนไฟล์ทีละบรรทัด" แต่ฉันเปิดให้คำแนะนำสำหรับทางเลือก

1
ทำไมไดรฟ์ไม่เข้าสู่โหมดพร้อมใช้งานเมื่อใช้ hdparm -S
เมื่ออ่านhdparmหน้าคู่มือมันบอกว่า-Sค่า ไดรฟ์ถูกใช้เพื่อกำหนดระยะเวลารอ (โดยไม่มีกิจกรรมบนดิสก์) ก่อนที่จะปิดมอเตอร์แกนหมุนเพื่อประหยัดพลังงาน เมื่อกำหนดค่าไดรฟ์ของฉันด้วยhdparm -B 1 -K 1 -S 120 /dev/sd[d-z]เอาต์พุตคือ: setting drive keep features to 1 (on) setting Advanced Power Management level to 0x01 (1) setting standby to 120 (10 minutes) APM_level = 1 และสถานะไดรฟ์เริ่มต้นhdparm -C /dev/sd[d-z]คือ " active / idle " /dev/sd[d-z]ไดรฟ์ทั้งหมดนี้อยู่นอกยี่ห้อและรุ่นเดียวกันไม่ได้แบ่งพาร์ติชันไม่ฟอร์แมตและไม่ติดตั้ง หลังจากรอ 15 นาทีสถานะไดรฟ์จะยังคงเป็น " active …

3
เครื่องมือโอเวอร์คล็อกใน Linux
ฉันพยายามโอเวอร์คล็อกเครื่องของฉัน การเปลี่ยนแปลงทั้งหมดนั้นเกิดขึ้นในระดับ BIOS แต่ก็ต้องมีการตรวจสอบอุณหภูมิแรงดันไฟฟ้า ฯลฯ และทดสอบความเสถียรของการโอเวอร์คล็อก บทช่วยสอนส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) เขียนขึ้นสำหรับ Windows ทางเลือกอื่นสำหรับ Linux: CPU-Z : เพื่อแสดงข้อมูล CPU ทั้งหมดรวมถึง Core Speed, Core Voltage, ตัวคูณปัจจุบัน ฯลฯ HWMonitor : ตรวจสอบความเร็วพัดลมและอุณหภูมิแกนกลาง Prime95 : การทดสอบความเครียดด้วยการตรวจสอบผลลัพธ์ นอกจากนี้ฉันต้องการที่จะสามารถตรวจสอบแรงดันไฟฟ้า VTT และ NB (ดูคำอธิบายสั้น ๆ ของแรงดันไฟฟ้าทั้งหมด ) สำหรับโปรเซสเซอร์ Intel (ฉันมี Q9450) - ฉันยังไม่พบโปรแกรม Windows ที่ใช้งานจริง

2
วิธีการเรียกใช้ linux บน PS3?
ฉันเรียนรู้การคำนวณตัวเลขและมี Core i5, แล็ปท็อปขนาด 4GB ซึ่งฉันพบว่าช้าสำหรับงานบางอย่าง ฉันอ่านแล้วว่า PS3 ตัวเดียวมีพลังการประมวลผลของพีซีแบบคลัสเตอร์ 30 เครื่อง โดยทั่วไปฉันกำลังคิดที่จะซื้อ PS และติดตั้ง Linux บนมันแล้วเรียกใช้โปรแกรมหลามของฉันบนมัน ฉันได้อ่านแล้วว่า Sony ได้ปิดการใช้งานความสามารถในการติดตั้ง Linux ด้วยการอัพเดตเฟิร์มแวร์ 3.21 มีวิธีรัน Linux บน PS เวอร์ชันล่าสุดหรือไม่? มีการแฮ็กรอบข้อ จำกัด ใหม่หรือไม่? ถ้าฉันออกไปซื้อหนึ่งฉันจะสามารถใช้งาน Linux ได้หรือไม่?
11 linux 

4
ฆ่าเซสชัน tmux และเลือกเซสชัน tmux อื่น
ฉันพยายามผูกXให้ทำต่อไปนี้: แจ้งให้ผู้ใช้ทราบว่าเซสชันควรจะถูกฆ่าหรือไม่ ถ้าyถูกป้อนให้ฆ่าเซสชัน หลังจากเซสชั่นถูกฆ่าตายเลือกเซสชั่นอื่น (ครั้งสุดท้ายก่อนหน้าหรือเซสชั่นถัดไป) คำสั่งที่คล้ายกันบางคำที่ไม่ถูกต้อง ฆ่าเซสชันและปิดเทอร์มินัล: bind X confirm-before -p "Kill #S (y/n)?" kill-session แจ้งผู้ใช้ให้รับชื่อเซสชันเพื่อฆ่าและเลือกเซสชันถัดไปหลังจาก kill: bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'" ฉันไม่พบตัวอย่างคำสั่งที่คล้ายกัน นี่คือวิธีแก้ปัญหาที่ใช้งานไม่ได้: bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
11 tmux 

2
ปัญหาในสคริปต์ด้วยช่องว่างในชื่อไฟล์
ฉันมีสคริปต์ที่ scp เป็นไฟล์จากโฮสต์ระยะไกลกลับสู่ท้องถิ่น บางครั้งชื่อไฟล์มีช่องว่าง scp ไม่ชอบช่องว่างในชื่อไฟล์ ด้วยเหตุผลบางประการความพยายามของฉันในการจัดการช่องว่างไม่ได้ส่งผลให้เส้นทาง scp ที่ถูกต้อง รหัส: PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg scp $PATH Me@10.1.10.33:/Users/Me/Desktop ผลลัพธ์ใน Cannot find directory: var/root/Documents/MyFile Cannot find directory: OG-v1.2.3.pkg การใส่ PATH ในเครื่องหมายคำพูด"$PATH"ทำให้เกิดข้อผิดพลาดเดียวกัน การสลับช่องว่างสำหรับช่องว่างที่หลบหนียังไม่ทำงานแม้ว่าเท่าที่ฉันสามารถบอกได้ก็ควรจะ: ESC_PATH=${PATH/' '/'\ '} แม้ว่าการพิมพ์พา ธ ที่หลบหนีแสดงว่าการแก้ไขทำงานได้: echo $ESC_PATH > /var/root/Documents/MyFile\ OG-v1.2.3.pkg

1
วิธีทุบตีแนะนำแพคเกจที่ขาดหายไป?
ในขณะที่ใช้งาน Ubuntu ในขณะที่พยายามรันคำสั่งใน bash มันเคยแนะนำว่าโปรแกรมดังกล่าวหายไป แต่พบในแพ็คเกจ Y อื่นและฉันสามารถลองติดตั้งได้ ตอนนี้ในระบบ Debian นั่นไม่ใช่กรณีอีกต่อไป หากไม่พบคำสั่งคำสั่งจะไม่แนะนำสิ่งใด ๆ แต่รายการผู้จัดการแพ็กเกจจะได้รับการอัพเดต ฉันจะขอแนะนำแพ็คเกจจากคำสั่งที่กำหนดใน bash ได้อย่างไร?

1
จะเข้าใจได้อย่างไรว่าทำไมแพ็กเก็ตถูกพิจารณาว่าเป็น "iptables" ที่ไม่ถูกต้อง
ฉันตั้งค่าiptablesกฎบางอย่างเพื่อให้บันทึกและวางแพ็กเก็ตที่ไม่ถูกต้อง ( --state INVALID) การอ่านบันทึกฉันจะเข้าใจได้อย่างไรว่าทำไมแพ็คเก็ตจึงถือว่าไม่ถูกต้อง ตัวอย่างเช่นต่อไปนี้: Nov 29 22:59:13 htpc-router kernel: [6550193.790402] ::IPT::DROP:: IN=ppp0 OUT= MAC= SRC=31.13.72.7 DST=136.169.151.82 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=5104 DF PROTO=TCP SPT=80 DPT=61597 WINDOW=0 RES=0x00 ACK RST URGP=0

2
awk เลขคณิตความแม่นยำสูง
ฉันกำลังมองหาวิธีที่จะบอก awk ให้ทำเลขคณิตความแม่นยำสูงในการดำเนินการทดแทน สิ่งนี้เกี่ยวข้องกับการอ่านฟิลด์จากไฟล์และแทนที่ด้วยการเพิ่มค่า 1% อย่างไรก็ตามฉันสูญเสียความแม่นยำที่นั่น นี่คือการทำสำเนาของปัญหาที่ง่ายขึ้น: $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {print}' 0.546748 ที่นี่ฉันมี 16 หลักหลังจากความแม่นยำทศนิยม แต่ awk ให้เพียงหก เมื่อใช้ printf ฉันจะได้ผลลัพธ์เดียวกัน: $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {printf("%.16G\n", $1)}' 0.546748 ข้อเสนอแนะเกี่ยวกับวิธีการได้รับความแม่นยำที่ต้องการ?

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

4
เหตุใดฉันจึงไม่สามารถฆ่าการหมดเวลาที่เรียกจากสคริปต์ Bash ด้วยการกดแป้นได้
[แก้ไข: นี่คล้ายกับคำถามอื่น ๆ ที่ถามว่าจะฆ่ากระบวนการที่เกิดมาทั้งหมดได้อย่างไร - คำตอบทั้งหมดดูเหมือนจะใช้ pkill ดังนั้นหลักของคำถามของฉันอาจเป็น: มีวิธีการเผยแพร่ Ctrl-C / Z ไปยังกระบวนการทั้งหมดที่เกิดจากสคริปต์หรือไม่?] เมื่อเรียกใช้ SoX recด้วยtimeoutคำสั่งจาก coreutils (กล่าวถึงที่นี่ ) ดูเหมือนจะไม่มีทางที่จะฆ่ามันด้วยการกดแป้นเมื่อมีการเรียกใช้จากภายในสคริปต์ Bash ตัวอย่าง: timeout 10 rec test.wav ... สามารถถูกฆ่าด้วยCtrl+ CหรือCtrl+ Zจากการทุบตี แต่ไม่ใช่เมื่อมันถูกเรียกจากภายในสคริปต์ timeout 10 ping nowhere ... สามารถถูกฆ่าด้วยCtrl+ CหรือCtrl+ Zจาก bash และด้วยCtrl+ Zเมื่อมันถูกเรียกใช้จากภายในสคริปต์ ฉันสามารถค้นหารหัสกระบวนการและฆ่าด้วยวิธีนั้น แต่ทำไมฉันไม่สามารถใช้การกดแป้นพิมพ์มาตรฐาน และมีวิธีการจัดโครงสร้างสคริปต์ของฉันเพื่อให้ฉันสามารถ?

2
ทำไมผู้ใช้ที่ไม่มีสิทธิพิเศษสามารถดำเนินการคำสั่ง `sync` ได้?
ขณะนี้บน Ubuntu Linux แต่ฉันสังเกตเห็นสิ่งนี้บนระบบปฏิบัติการอื่น ๆ ด้วย เห็นได้ชัดว่าผู้ใช้ทุกคนสามารถรันsyncคำสั่ง - แต่ทำไมถึงเป็นเช่นนั้น? ฉันเห็น แต่ข้อเสีย: ระบบช้าลงเนื่องจากการเขียนดิสก์ที่ไม่จำเป็น ทำไมผู้ใช้ทุกคนสามารถดำเนินการsync?

12
เป็นวิธีที่ดีในการกรองไฟล์ข้อความเพื่อลบบรรทัดว่างอะไร
ฉันมีไฟล์. csv (สำหรับ mac) ที่มีบรรทัดว่างมากมายเช่น: "1", "2", "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum ","2","3","4" "1", "2", "lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum …

2
วิธีการแทนที่ Gnome 3 SSH handler?
ฉันอยากจะคลิกที่ลิงค์ SSH ที่มีหน้าตาเหมือนกันssh://user@servernameและมี gnome-terminal open ที่รัน SSH อยู่ด้านใน หลังจากอ่านข้อมูลเกี่ยวกับ XDG ฉันได้ทำสิ่งต่อไปนี้: ฉันสร้างเชลล์สคริปต์ใน $ HOME / bin / ssh-terminal ด้วยสิ่งต่อไปนี้: #!/bin/sh dest=${1#ssh://} gnome-terminal -e "ssh $dest" & สิ่งนี้ใช้ได้จากบรรทัดคำสั่ง ฉันสร้าง $ HOME / .local / share / applications / ssh-terminal.desktop ด้วย: [Desktop Entry] Type=Application Name=SSH Terminal Exec=ssh-terminal %u Icon=utilities-terminal StartupNotify=false MimeType=x-scheme-handler/ssh; ฉันวิ่ง …
11 gnome3  gvfs 

4
การต่อท้ายประทับเวลาพร้อมกับบรรทัดไฟล์บันทึก
ฉันมีล็อกไฟล์และฉันต้องการเพิ่มการประทับเวลาในแต่ละบรรทัดเมื่อเพิ่ม ดังนั้นฉันกำลังมองหาสคริปต์ที่เพิ่มการประทับเวลาในแต่ละรายการในบรรทัดบันทึกและที่สามารถทำงานเป็นงาน cron
11 logs  date 

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