Unix & Linux

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

3
เค้นความเร็วในการดาวน์โหลดของ wget หรือขดขณะดาวน์โหลด
เป็นไปได้ไหมที่จะ จำกัด ความเร็วในการดาวน์โหลดของwgetหรือcurl? เป็นไปได้หรือไม่ที่จะเปลี่ยนค่าเค้นในขณะที่กำลังดาวน์โหลด?


7
วิธี "เหมาะสม" เพื่อทดสอบว่าบริการกำลังทำงานอยู่ในสคริปต์หรือไม่
ปัญหาของฉัน: ฉันกำลังเขียนสคริปต์ทุบตีและในนั้นฉันต้องการตรวจสอบว่าบริการที่กำหนดทำงานอยู่หรือไม่ $ service [service_name] statusฉันรู้วิธีการทำด้วยตัวเองด้วย แต่ (โดยเฉพาะอย่างยิ่งตั้งแต่การย้ายไปยัง systemd) ที่พิมพ์ข้อความจำนวนมากที่ไม่ยุ่งยากในการแยกวิเคราะห์ ฉันสันนิษฐานว่ามีคำสั่งสำหรับสคริปต์ที่มีเอาต์พุตแบบง่ายหรือค่าส่งคืนที่ฉันสามารถตรวจสอบได้ แต่ Googling รอบ ๆ ให้ผลลัพธ์แบบ "โอ้เพียงแค่ps aux | grep -v grep | grep [service_name]" เท่านั้น นั่นเป็นวิธีปฏิบัติที่ดีที่สุดไม่ได้เหรอ? จะเกิดอะไรขึ้นถ้าอินสแตนซ์อื่นของคำสั่งนั้นกำลังทำงานอยู่ แต่ไม่ใช่สคริปต์ที่เริ่มต้นโดย SysV init หรือฉันควรปิดและทำให้มือสกปรกด้วย pgrep เล็กน้อย?

5
ความแตกต่างระหว่าง“ function foo () {}” และ“ foo () {}”
ฉันสามารถกำหนดbashฟังก์ชั่นการใช้หรือละเว้นfunctionคำหลักได้ มีความแตกต่างหรือไม่? #!/bin/bash function foo() { echo "foo" } bar() { echo "bar" } foo bar ทั้งการเรียกใช้ฟังก์ชันfooและbarประสบความสำเร็จและฉันไม่เห็นความแตกต่างเลย ดังนั้นฉันสงสัยว่ามันเป็นเพียงเพื่อปรับปรุงการอ่านหรือมีบางสิ่งที่ฉันขาดหายไป ... BTW ในเชลล์อื่น ๆ เช่นdash(เชื่อม/bin/shโยงกับdashเดเบียน / Ubuntu) มันล้มเหลวเมื่อใช้functionคำหลัก
96 bash  shell  function  posix 

2
ฉันจะเริ่ม python SimpleHTTPServer บนพอร์ต 80 ได้อย่างไร
ฉันใช้คำสั่งนี้บน Ubuntu แต่มันเริ่มต้นที่พอร์ต 8080 และฉันไม่มีเซิร์ฟเวอร์อื่นที่ใช้งานได้ดังนั้นฉันต้องการให้มันเริ่มที่พอร์ต 80 ฉันเห็นวิธีที่คุณสามารถตั้งค่าสคริปต์ทุบตีเพื่อทำอะไรบางอย่างเช่น สิ่งนี้ แต่ไม่มีแฟล็กบรรทัดคำสั่งหรือสิ่งที่ง่ายกว่าในการระบุพอร์ต python -m SimpleHTTPServer

5
ประวัติของ bash ถูกเก็บไว้ที่ไหน?
ถ้าฉันเรียกใช้historyฉันสามารถดูคำสั่งที่เรียกใช้ล่าสุดของฉันได้ แต่ถ้าฉันทำtail -f $HISTFILEหรือtail -f ~/.bash_historyพวกเขาไม่ได้อยู่ในรายการ ไฟล์ถูกล็อคหรือไม่มีตำแหน่งชั่วคราวหรือคล้ายกัน


7
มีการสอนพื้นฐานสำหรับ grep, awk และ sed หรือไม่? [ปิด]
ฉันเคยเป็นผู้ใช้ลีนุกซ์มาระยะหนึ่งแล้วและฉันก็เข้าใจดีมากเกี่ยวกับยูทิลิตี้บรรทัดคำสั่งทั่วไป แต่คนที่มาขึ้นและขึ้นอีกครั้งในความสัมพันธ์กับการเขียนโปรแกรมgrep, และawksed เกี่ยวกับสิ่งเดียวที่ฉันใช้ grep สำหรับคือการวางข้อมูลลงในไฟล์เพื่อค้นหาไฟล์ในล็อกไฟล์ผลลัพธ์ของไฟล์psอื่น ๆ ที่ฉันไม่ได้ใช้awkหรือsedเลย มีแบบฝึกหัดที่ดีสำหรับสาธารณูปโภคเหล่านี้หรือไม่?
95 grep  sed  awk 

3
ทำไมไดเรกทอรีรูทถึงด้วยเครื่องหมาย /?
ฉันได้ทำการวิจัยเกี่ยวกับเรื่องนี้ใน Google แล้ว แต่ผลลัพธ์ก็มีเมฆมาก ทำไม/เครื่องหมายถูกใช้เพื่อแสดงถึงไดเรกทอรีราก มีเหตุผลใดที่อยู่เบื้องหลังหรือไม่

7
ทำไมเราต้องแยกเพื่อสร้างกระบวนการใหม่
ใน Unix ทุกครั้งที่เราต้องการสร้างกระบวนการใหม่เราแยกกระบวนการปัจจุบันสร้างกระบวนการลูกใหม่ซึ่งเหมือนกับกระบวนการแม่ จากนั้นเราทำการเรียกระบบ exec เพื่อแทนที่ข้อมูลทั้งหมดจากกระบวนการหลักด้วยกระบวนการนั้นสำหรับกระบวนการใหม่ เหตุใดเราจึงสร้างสำเนาของกระบวนการหลักในตอนแรกและไม่สร้างกระบวนการใหม่โดยตรง

4
ฉันจะรู้ได้อย่างไรว่าฉันใช้ Debian เวอร์ชันใด
ในบทช่วยสอนฉันได้รับแจ้งว่า "หากคุณกำลังใช้งาน Squeeze ให้ทำตามคำแนะนำเหล่านี้ ... "และ"หากคุณใช้งาน Wheezy ให้ทำตามคำแนะนำอื่น ๆ เหล่านี้ ... " เมื่อฉันเรียกใช้unameฉันได้รับข้อมูลต่อไปนี้: Linux dragon-debian 3.2.0-4-686-pae #1 SMP Debian 3.2.63-2+deb7u2 i686 GNU/Linux ข้อมูลนั้นเพียงพอที่จะรู้หรือไม่ว่าฉันกำลังใช้SqueezeหรือWheezyหรือฉันได้รับสิ่งนั้นจากที่อื่นหรือไม่?
95 debian  version 

10
จะลบแทร็กเสียงออกจากไฟล์วิดีโอ mp4 ได้อย่างไร
ฉันมีไฟล์วิดีโอ mp4 ที่มีแทร็กเสียงหลายแทร็ก ฉันต้องการตัดแทร็กที่เหลือออกไปและเก็บไว้เพียงอันเดียว ฉันจะทำสิ่งนี้ได้อย่างไร

2
gpg: keyserver ได้รับล้มเหลว: ไม่มีการยืนยัน
ขณะพยายามรับคีย์ในเซิร์ฟเวอร์ Debian Stretch ของฉันฉันได้รับข้อผิดพลาดนี้: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF Executing: /tmp/apt-key-gpghome.4B7hWtn7Rm/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory gpg: connecting dirmngr at '/tmp/apt-key-gpghome.4B7hWtn7Rm/S.dirmngr' failed: No such file or directory gpg: keyserver receive failed: No dirmngr
94 debian  apt  gpg 

2
ทำไม grep ไม่สนใจไฟล์ไบนารีโดยปริยาย
manpage สำหรับgrepอธิบาย-Iแฟล็กดังนี้: -I Ignore binary files. This option is equivalent to --binary-file=without-match option. มันยังบอกว่าเรื่องนี้เกี่ยวกับไฟล์ไบนารี: --binary-files=value Controls searching and printing of binary files. Options are binary, the default: search binary files but do not print them; without-match: do not search binary files; and text: treat all files as text. ฉันไม่สามารถนึกถึงสถานการณ์ที่ฉันสนใจเกี่ยวกับการจับคู่ในไฟล์ไบนารี หากสถานการณ์ดังกล่าวมีอยู่แน่นอนมันจะต้องเป็นข้อยกเว้นมากกว่าบรรทัดฐาน …
94 grep 

2
วงเล็บใส่คำสั่งลงใน subshell หรือไม่?
จากสิ่งที่ฉันได้อ่านการวางคำสั่งในวงเล็บควรเรียกใช้ใน subshell คล้ายกับการเรียกใช้สคริปต์ ถ้าเป็นจริงมันจะเห็นตัวแปร x ถ้า x ไม่ถูกส่งออกได้อย่างไร x=1 การรัน(echo $x)บนบรรทัดคำสั่งจะส่งผลให้ 1 การรันecho $xสคริปต์จะไม่ส่งผลอะไรตามที่คาดไว้

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