Unix & Linux

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

3
ฉันจะเริ่ม cronjob ได้อย่างไร 1 ชั่วโมงต่อวันในแต่ละวัน?
ฉันต้องเริ่ม cronjob ทุกวัน แต่หนึ่งชั่วโมงต่อมาในแต่ละวัน สิ่งที่ฉันมีจนถึงตอนนี้ส่วนใหญ่ยกเว้น 1 วันของปี: 0 0 * * * sleep $((3600 * (10#$(date +\%j) \% 24))) && /usr/local/bin/myprog เมื่อวันของปีคือ 365 งานจะเริ่มเวลา 5:00 น. แต่ในวันถัดไป (ไม่นับปีอธิกสุรทิน) จะมีวันของปีเป็น 1 ดังนั้นงานจะเริ่มเวลา 1:00 ฉันจะกำจัดตัวเรือนมุมนี้ได้อย่างไร
16 cron 

4
เหตุใด ls จึงยอมรับสวิตช์ที่ซ้ำกัน
ฉันอยากรู้อยากเห็น - มีความแตกต่างระหว่างls -lและls -lllllllllllllllllllllllllllll? ผลลัพธ์ดูเหมือนจะเหมือนกันและฉันสับสนว่าทำไมจึงlsอนุญาตให้สวิตช์ซ้ำกัน นี่เป็นมาตรฐานการปฏิบัติระหว่างคำสั่งส่วนใหญ่หรือไม่?
16 ls  options 

5
แยกค่าระหว่างเครื่องหมายคำพูดคู่
""แบบสอบถามของฉันคือการดึงค่าระหว่างคำพูดคู่ ตัวอย่างอินพุตคือ: 10.219.41.68 - - - [11 / Jun / 2014: 10: 23: 04 -0400] วินาที: 0 MicSec: 1797 "GET / balancer-manager HTTP / 1.1" 200 28980 "-" "ขด / 7.15.5 (i386 -redhat-linux-gnu) libcurl / 7.15.5 OpenSSL / 0.9.8b zlib / 1.2.3 libidn / 0.6.5 " ฉันมีล็อกไฟล์ขนาดใหญ่ดังนั้นค่าสามารถแตกต่างกันไปในแต่ละบรรทัดจำเป็นต้องแยกค่าระหว่างการเกิดขึ้นครั้งแรกของเครื่องหมายคำพูดคู่ ... ผลลัพธ์ที่คาดหวัง: GET …
16 awk 

1
การหมุนไฟล์บันทึกขณะที่กระบวนการยังทำงานอยู่
/var/log/dragonturtle.logฉันมีกระบวนการทำงานที่เขียนออกมาตรฐานและข้อผิดพลาดมาตรฐานไปยังล็อกไฟล์ มีอยู่แล้วเพื่อหมุนไฟล์บันทึกและมีขั้นตอนอย่างต่อเนื่องในการเขียนไปยังไฟล์บันทึกใหม่โดยไม่ต้องฆ่ากระบวนการ? สิ่งที่เกิดขึ้นในปัจจุบัน (กำหนดค่า logrotate ด้านล่าง) กระบวนการเขียนถึง /var/log/dragonturtle.log Logrotate ย้าย/var/log/dragonturtle.logไปที่/var/log/dragonturtle.log.1 กระบวนการเขียนต่อไป /var/log/dragonturtle.log.1 สิ่งที่ฉันต้องการจะเกิดขึ้น: กระบวนการเขียนถึง /var/log/dragonturtle.log บันทึกการคัดลอก/var/log/dragonturtle.logไปยัง/var/log/dragonturtle.log.1 ตัดทอน Logrotate /var/log/dragonturtle.log กระบวนการเขียนต่อไป /var/log/dragonturtle.log /etc/logrotate.d/dragonturtle: /var/log/dragonturtle.log { daily missingok rotate 7 compress delaycompress notifempty create 644 dragonturtle dragonturtle }
16 logs  stdout  logrotate 

1
agrep พร้อมการลงโทษแบบอคติ
ฉันกำลังใช้tre-agrep (manpage) , การนำไปใช้agrep (manpage)เพื่อดำเนินการจับคู่รูปแบบโดยประมาณ ยูทิลิตี้นี้ค้นหาการจับคู่ตามระยะทางของ Levenshteinและผู้ใช้สามารถกำหนดค่าการลงโทษที่ใช้สำหรับการทดแทนการแทรกหรือการแก้ไขการลบ อย่างไรก็ตามฉันต้องการใช้น้ำหนักที่แตกต่างกันไปตามความยาวของข้อความค้นหานั่นคือมีน้ำหนักที่ต่ำกว่าสำหรับการลบที่จุดเริ่มต้น (ซ้ายสุด) ของข้อความค้นหามากกว่าด้านขวา manหน้ายูทิลิตี้นี้ไม่ได้แสดงให้เห็นว่าระดับการควบคุมดังกล่าวเป็นไปได้ มีเครื่องมือบรรทัดคำสั่งอื่น ๆ ที่การจับคู่โดยประมาณกับการควบคุมที่ดีกว่าสำหรับบทลงโทษที่ไม่ตรงกันเป็นไปได้หรือไม่?
16 grep  agrep 

3
หน่วยผู้ใช้ Systemd ที่ขึ้นอยู่กับหน่วยระบบ (sleep.target)
ฉันอ่านหมอและมันก็ยังไม่ชัดเจนสำหรับฉันไม่ว่าจะเป็นไปได้ที่จะสำเร็จ: บริการที่กำหนดใน~/.config/systemd/user/task.serviceนั้นขึ้นอยู่กับระบบsleep.target( ~/.config/systemd/user/sleep.target.wants/task.service) ตอนนี้ฉันคาดหวัง task.serviceจะเริ่มเมื่อฉันวิ่ง$ systemctl suspendแต่task.serviceยังไม่เริ่ม ฉันใช้เดเบียนกับ systemd รุ่น 208 systemd --userกำหนดค่ามากหรือน้อยตามที่อธิบายไว้ใน ArchWiki ฉันสงสัยว่าสถานการณ์ของฉันอาจจะนำมาใช้กับ systemd ที่ทั้งหมดหรือมี--systemและ--userสมบูรณ์แยกจากการออกแบบเพื่อให้--userหน่วยอาจจะไม่พึ่งพาของ--systemหน่วย ในกรณีที่เป็นไปได้สิ่งที่อาจเป็นปัญหาในกรณีของฉัน?
16 systemd 

2
การติดตั้งเซิร์ฟเวอร์ mysql ในสคริปต์เชลล์ bootstrap vagrant (จะข้ามการตั้งค่าได้อย่างไร)
ฉันลองติดตั้ง mysql-server บนเครื่องเสมือน Vagrant Ubuntu 12.04 LTS ของฉัน เมื่อฉันทำเช่นนั้นการตั้งค่าอัตโนมัติจะเริ่มขึ้น ฉันเห็นสิ่งนี้ในผลลัพธ์ของ Vagrant: แม้ว่าจะไม่ได้รับคำแนะนำ แต่อย่างใดขอแนะนำให้คุณตั้งรหัสผ่าน "สำหรับผู้ใช้" root "ของผู้ดูแลระบบ MySQL ถ้าฟิลด์นี้เว้นว่างไว้รหัสผ่านจะไม่ถูกเปลี่ยน││││รหัสผ่านใหม่สำหรับ ผู้ใช้ MySQL "root" หลังจากนั้นข้อความเอาต์พุตจะยุ่งเหยิง - ± ├⎺ ⎼␊⎻┌▒␌␊ ┌␋␉⎽─┌␋├␊3-0 3.7.9-2┤␉┤┼├┤1 (┤⎽␋┼± ...แต่ค่อนข้างยาวและเต็มไปด้วยสีเขียวและสีแดงดังนั้นฉันจึงเชื่อว่าส่วนที่เหลือของการติดตั้งจะเสร็จสมบูรณ์ แต่ฉันสามารถยืนยันการขาดการติดตั้งหลังจาก: sudo apt-get install --just-print mysql-server-5.5 ... The following NEW packages will be installed: mysql-server-5.5 ฉันจะส่งสัญญาณที่ถูกต้องผ่านเชลล์สคริปต์เพื่อกำหนดค่าเซิร์ฟเวอร์ MYSQL ได้อย่างไร? หรือถ้าฉันทำไม่ได้ฉันจะหยุดการเปิดตัวการกำหนดค่าอัตโนมัติหรือฆ่าการตั้งค่าเมื่อเปิดตัวในขณะที่ยังคงมีการติดตั้งแพคเกจ?
16 ubuntu  mysql  vagrant 

5
ระบบปฏิบัติการรู้ได้อย่างไรว่าคำสั่งนั้นต้องการ sudo?
เมื่อคุณเรียกใช้ไฟล์ปฏิบัติการบางครั้งระบบปฏิบัติการจะปฏิเสธการอนุญาตของคุณ ยกตัวอย่างเช่นการทำงานmake installที่มีคำนำหน้าเป็นเส้นทางระบบจะต้องในขณะที่มีคำนำหน้าเป็นเส้นทางที่ไม่มีระบบจะไม่ถามหาsudo sudoระบบปฏิบัติการตัดสินใจอย่างไรว่าการเรียกใช้งานโปรแกรมจะต้องใช้สิทธิ์มากกว่าที่ผู้ใช้มีก่อนที่โปรแกรมจะทำอะไร บางครั้งการใช้งานโปรแกรมจะไม่ถูกปฏิเสธการอนุญาต sudoแต่โปรแกรมจะสามารถที่จะทำสิ่งต่างๆมากขึ้นหากมีการทำงานกับ ตัวอย่างเช่นเมื่อทำงานduในบางไดเรกทอรีระบบเท่านั้นที่ sudoจะสามารถเข้าถึงบางไดเรกทอรี เหตุใด OS จึงไม่ปฏิเสธการอนุญาตให้เรียกใช้โปรแกรมดังกล่าวหรือแจ้งเตือนสิทธิพิเศษเพิ่มเติมก่อนที่โปรแกรมจะทำงานได้ เป็นความจริงหรือไม่ว่าเมื่อใดก็ตามที่sudoทำงานsuจะทำงานด้วยและทุกครั้งที่suทำงานsudoจะทำงานด้วยหรือไม่ หรือกับsuผู้ใช้สามารถทำได้มากกว่าด้วยsudo? ระบบปฏิบัติการตัดสินใจsudoอย่างไรเมื่อใช้งานและเมื่อsuจำเป็น?
16 permissions  sudo 

2
เคอร์เนล Linux วางรหัสการสแกนคีย์บอร์ดแบบกำหนดเอง
ฉันมีแป้นพิมพ์ M คีย์ IBM 122 รุ่นวินเทจที่ฉันปรับให้ใช้กับคอมพิวเตอร์ที่ทันสมัย ฉันใช้ Teensy 2.0 เพื่อทำการเข้ารหัสและจัดการกับด้าน USB ของสิ่งต่าง ๆ ฉันยืมเฟิร์มแวร์จากโครงการแป้นพิมพ์ฮัมเบิลแฮ็กเกอร์ ( https://github.com/humblehacker/keyboard ) และฉันเพิ่มคีย์พิเศษในการกำหนดค่าบิลด์ จนถึงตอนนี้ดีมาก คีย์ "ปกติ" ทั้งหมดใช้งานได้ แต่เคอร์เนลดูเหมือนจะวางคีย์พิเศษ ( F13- F24และอื่น ๆ ) การเรียกใช้/lib/udev/keymap -i input/event0แสดงรหัสสแกนของปุ่มปกติทั้งหมด แต่ไม่มีสิ่งใดสำหรับปุ่มพิเศษ การเรียกใช้wiresharkแพ็คเก็ตเพื่อจับแพ็คเก็ตพอร์ต USB แสดงว่าแป้นพิมพ์กำลังส่งรหัสสแกน แต่ดูเหมือนว่าเคอร์เนลกำลังวางมันลงบนหลักการ ฉันรู้สึกว่านี่เป็นสิ่งที่อยู่ในเคอร์เนลไดรเวอร์ที่ไม่ส่งโค้ดสแกนที่ไม่ได้คาดหวัง ฉันคิดว่าจะมีการเรียงลำดับของคีย์หลัก "master" ใน.hไฟล์บางไฟล์ในเคอร์เนลที่อื่น แต่จนถึงตอนนี้ฉันยังไม่ประสบความสำเร็จในความพยายามที่จะค้นหา เป็นเรื่องที่น่าเครียดที่ฉันไม่ได้ถามเกี่ยวกับการทำแผนที่ปุ่มพิเศษใน X เหมือนกับคนอื่น ๆ ก่อนหน้าฉัน นี่เป็นปัญหาระดับต่ำซึ่งมีความเกี่ยวข้องกับเคอร์เนล สมมติว่าฉันจะไม่ใช้ X เลย …


6
วิธีพิมพ์ชื่อไฟล์ต่าง ๆ ด้วยการกดปุ่มน้อยลง
หากฉันต้องการแปลง a pdfเป็นpngภาพด้วย imagemagick ฉันทำสิ่งที่ชอบ: convert -trim -density 400 this_is_a_very_long_filename_of_my_pdf_file.pdf this_is_a_very_long_filename_of_my_pdf_file.png ไฟล์ pdf มักจะมีชื่อไฟล์ที่ยาวมากด้วยเหตุผลบางอย่างและฉันต้องการpngไฟล์ที่มีชื่อเดียวกันยกเว้นนามสกุล ฉันมักจะเลือกthis_is_a_very_long_filename_of_my_pdf_file.pdfสองครั้งผ่านทางแท็บzsh-menuและเปลี่ยนแล้วpdfจะpngด้วยตนเองสำหรับอาร์กิวเมนต์ที่สอง อย่างไรก็ตามมีวิธีที่เร็วกว่าในการทำเช่นนี้?

5
minicom แสดงแบบออฟไลน์
ฉันกำลังพยายามใช้minicomใน Ubuntu เมื่อต้องการทำสิ่งนี้ฉันต้องเชื่อมต่อตัวแปลง USB กับตัวแปลงสัญญาณ DB9 ก่อนจากนั้นฉันพิมพ์คำสั่งนี้บนเทอร์มินัลdmesg | grep ttyเพื่อตรวจสอบว่าตัวแปลงตัวเชื่อมต่อ USB กับตัวเชื่อมต่อ DB9 ถูกต้องหรือไม่ ฉันได้ผลลัพธ์นี้: [ 0.000000] console [tty0] enabled [ 54.200503] usb 2-1.2: pl2303 converter now attached to ttyUSB0 [ 76.183173] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device [ 118.363275] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device [ 190.079494] cdc_acm 1-1.1:1.2: …
16 linux  ubuntu  usb  minicom 


1
จอภาพที่เชื่อมต่อผ่าน Displayport ไปยังอะแดปเตอร์ DVI จะไม่ทำงานอย่างถูกต้อง
ฉันมีจอภาพเชื่อมต่อกับเครื่องของฉันที่แสดงพฤติกรรมแปลก ๆ เมื่อเข้าสู่โหมดประหยัดพลังงาน เมื่อเข้าสู่โหมดสลีปมอนิเตอร์จะสลับระหว่างการทำ blanking และการแสดงภาพพื้นหลังเดสก์ทอปเริ่มต้น (ค่าเริ่มต้นของ KDE 4 ซึ่งไม่ใช่สิ่งที่ฉันใช้) จอภาพนี้เชื่อมต่อกับเครื่องของฉันผ่านทางพอร์ตจอแสดงผลที่ใช้งานกับอะแดปเตอร์ลิงค์เดียว DVI และสาย DVI จอภาพไม่มีปัญหานี้เมื่อก่อนเชื่อมต่อโดยตรงกับ DVI หรือผ่านสาย HDMI-> DVI ฉันไม่ต้องการแก้ไขปัญหานี้เพื่อให้จอภาพพอร์ตจอภาพกับผู้อื่นอย่างถูกต้อง เพื่อแสดงสิ่งที่ฉันเห็นนี่คือเดสก์ท็อปปกติของฉัน: จอภาพที่มีปัญหาคือ 25% ที่ถูกต้องที่สุดของภาพนี้ นี่คือสิ่งที่ฉันเห็นเมื่อหน้าจอสลีป: สิ่งที่คุณเห็นอยู่ที่นี่คือจอภาพกลางสองหลับอย่างถูกต้องทีวีบ่นว่าไม่มีสัญญาณ (เหมาะสม) และจอภาพที่ถูกต้องที่สุดแสดงภาพพื้นหลัง KDE เริ่มต้น จอภาพนี้จะสลับกันระหว่างการเว้นว่างและการแสดงภาพพื้นหลังนี้ มันตื่นขึ้นมาตามปกติเมื่อมันควรจะเป็น ไม่สำคัญว่าจะเชื่อมต่อกับจอภาพใด - จอภาพนี้ทำงานเมื่อเชื่อมต่อผ่าน HDMI หรือ DVI และจอภาพอื่น ๆ ทำงานผิดปกติเมื่อเชื่อมต่อกับอะแดปเตอร์จอแสดงผล ฉันสงสัยว่าปัญหานี้เกี่ยวข้องกับ KDE และการโต้ตอบกับไดรเวอร์ nvidia การสนับสนุนการเก็งกำไรนี้คือสถานะของแอปกำหนดค่าการแสดงผลใน KDE ฉันตั้งค่าเป็นสถานะนี้ด้วยตนเอง: แต่หลังจากนอนหลับมันจะจบลงในสถานะนี้เสมอ: ความแตกต่างที่นี่คือตำแหน่งของจอภาพขวาสุด …

5
คุณ“ ปิดการใช้งาน” oh-my-zsh (และ zsh) โดยไม่ถอนการติดตั้งได้อย่างไร?
ฉันกำลังลองสภาพแวดล้อม dev ใหม่ ๆ รวมถึง zsh และ oh-my-zsh ตอนนี้ฉันได้ติดตั้ง oh-my-zsh แล้วมันเริ่มต้นตามค่าเริ่มต้นที่เทอร์มินัลของฉัน (iTerm2 และเทอร์มินัล) เริ่มต้นด้วย zsh เสมอและด้วยการตั้งค่าจาก oh-my-zsh ฉันสงสัยว่ามันเป็นไปได้ที่จะ "ปิดการใช้งาน" หรือหยุดใช้ zsh และการตั้งค่าด้วย oh-my-zsh โดยไม่ต้องถอนการติดตั้ง oh-my-zsh? นอกจากนี้ยังเป็นการดีที่จะทราบวิธีการเปิดใช้งานผลิตภัณฑ์เหล่านั้นด้วย ปัจจุบันเทอร์มินัลของฉันไปที่ zsh โดยอัตโนมัติ (ฉันคิดว่า) และใช้ oh-my-zsh โดยอัตโนมัติ ฉันต้องการควบคุมมากกว่านั้นและฉันสามารถควบคุมทั้งสองได้เมื่อใช้ zsh และเมื่อใช้คุณสมบัติ oh-my-zsh สิ่งหนึ่งที่ฉันสนใจในการรู้ก็คือแอปพลิเคชันเทอร์มินัลรู้ได้อย่างไรว่าเชลล์ใดที่จะเริ่มทำงานเมื่อเริ่มต้น นั่นจะเป็นการดีที่สามารถควบคุมได้เช่นกัน! หากคุณอธิบายให้มากที่สุดเท่าที่จะทำได้ใน "ทำไม" ของทุกคำสั่งที่คุณให้ฉันนั่นจะเป็นประโยชน์! :) ฉันใช้งานบน OS X ไม่แน่ใจว่ามีความสำคัญหรือไม่ แต่ฉันมักจะชอบคำตอบที่มากกว่าสำหรับสภาพแวดล้อม Unix ทั่วไปมากกว่าสำหรับฉัน
16 zsh  oh-my-zsh 

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