คำถามติดแท็ก command-line

คำถามเกี่ยวกับการใช้อินเตอร์เฟสบรรทัดคำสั่ง (CLI)

2
ฉันจะแทนที่หลายบรรทัดด้วยคำเดียวในไฟล์ (แทนที่แทนที่) ได้อย่างไร
เนื้อหาของfilenameไฟล์ของฉันเป็นดังต่อไปนี้ (ตัวอย่าง): My block of line starts from here START First line second line third line END and end to here for example. ฉันต้องการที่จะแทนที่บล็อกเส้นระหว่างSTARTและมีเพียงคำเดียวเช่นกับEND SINGLEWORDชอบด้านล่าง: My block of line starts from here SINGLEWORD and end to here for example. ฉันสามารถหาบล็อกของบรรทัดด้วยการใช้คำสั่งนี้: grep -Pzo "START(.|\n)*END" filename และผลลัพธ์ของการรันคำสั่งด้านบนจะเป็นดังนี้: START First line second line …


4
ระบุเซิร์ฟเวอร์ที่ฉันกำลังทำงานอยู่
วิธีระบุเซิร์ฟเวอร์ที่คุณใช้เมื่อใช้ ssh จากเทอร์มินัล ฉันต้อง ssh เป็น 30 เซิร์ฟเวอร์ทุกวันและสลับระหว่างพวกเขาอย่างต่อเนื่อง ขณะนี้ฉันกำลังแก้ไขชื่อแท็บและเขียน IP iddress เพื่อข้ามจากที่หนึ่งไปยังอีก มีวิธีอัตโนมัติในการทำเช่นนี้ (กำหนดที่อยู่ IP ของเซิร์ฟเวอร์เป็นชื่อแท็บ) หรือไม่ ทางเลือกอื่นที่ไม่เกี่ยวข้องกับการแก้ไขไฟล์ในแต่ละเซิร์ฟเวอร์?


2
การรัน. sh เพื่อเรียกใช้งานหลายคำสั่ง
ฉันสงสัยว่าฉันจะใช้หลายคำสั่งผ่าน shell script ได้อย่างไร ตัวอย่างเช่นเพียงลองใช้ฉันต้องการเชื่อมต่อ .desktop กับ. sh ที่จะเรียกใช้รหัสอัปเดตทั้งหมดดังนั้นฉันจึงไม่ต้องพิมพ์ออกมา ฉันรู้วิธีรันคำสั่งเดียวผ่าน. sh ไม่ใช่หลายคำสั่ง อย่างไรก็ตาม?

1
ติดตั้ง terminal virtualbox guest นอกจากนี้ยังมี
ฉันต้องการติดตั้ง Virtualbox guest โดยใช้เทอร์มินัล เนื่องจากเป็นสิ่งที่ง่ายที่สุดในการทำซ้ำและทำเอกสาร บนเซิร์ฟเวอร์ฉันมี Ubuntu 12.04.2 LTS ฉันมี Virtualbox 4.3.16 ฉันเคยทำมาแล้วในอดีตที่ผ่านมาโดยใช้: bash sudo apt-get update sudo apt-get install build-essential linux-headers-$(uname -r) sudo apt-get install virtualbox-guest-x11 พบในฉันจะติดตั้งบุคคลทั่วไปใน VirtualBox VM ได้อย่างไร ตอนนี้ฉันทำซ้ำ กำลังดำเนินการ: modinfo vboxguest ผลตอบแทน: bernard@bernard-vbox2:~$ modinfo vboxguest filename: /lib/modules/3.11.0-22-generic/updates/dkms/vboxguest.ko version: 4.2.16_Ubuntu license: GPL description: Oracle VM VirtualBox Guest …

4
เปลี่ยนทิศทางเอาต์พุตไปที่ไฟล์จากคำสั่ง piping grep
ฉันกำลังทำงานนี้: cat /dev/urandom|hexdump| grep -i "ffff f" > random และฉันไม่ได้อะไรเลยในไฟล์randomมันยังคงมีความยาวเป็นศูนย์หลังจากคำสั่งถูกขัดจังหวะ จะทำให้มันเขียนออกไปยังไฟล์ได้อย่างไร? ฉันต้องเขียนผลลัพธ์ไปยังไฟล์ซึ่งควรมีข้อมูลผลลัพธ์เช่นนี้ 021bc40 7724 d4f5 59ec bcbb ffff fd26 ab3c 9b7c 03a9100 b3a5 8601 fa33 ffff f23c 4326 2e7f 0c8a 0449810 e459 d5af 4e11 ffff fc55 8660 9efb 3c9b

2
การใช้ backticks หรือดอลลาร์ในเชลล์สคริปต์
ฉันไม่ว่างที่จะเขียนเชลล์สคริปต์ (โดยใช้ Bash) ซึ่งฉันต้องเติมตัวแปรบางตัวจากผลลัพธ์ที่ส่งคืนของคำสั่งอื่น ดังนั้นฉันจึงใช้ไวยากรณ์เช่นนี้ VAR=`command 2>/dev/null` แต่เมื่อค้นหาข้อมูลเกี่ยวกับเชลล์สคริปต์ฉันพบว่าบ่อยครั้งที่สามารถทำได้โดยใช้ไวยากรณ์ต่อไปนี้ด้วย: VAR=$(command 2>/dev/null) ทั้งสองใช้งานได้สำหรับฉัน (ฉันได้รับผลลัพธ์ที่คาดหวังในทั้งสองกรณี) และฉันจึงสงสัยว่าถ้าฉันยังสามารถใช้ทั้งสองรูปแบบแทนกันได้หรือถ้าฉันต้องติดรูปแบบเดียวเพื่อให้แน่ใจว่าสอดคล้องกับวิวัฒนาการในอนาคตของ เปลือก ?

5
ต่อท้ายข้อความในชื่อไฟล์ที่ไม่มีจุด
รับไฟล์ต่อไปนี้: english_api english_overview style.css ฉันอยากจะได้: english_api.html english_overview.html style.css กล่าวอีกนัยหนึ่งวิธีผนวกข้อความไปยังไฟล์ทั้งหมดที่ไม่มีจุด ( .) ภายในไดเรกทอรีโดยใช้เทอร์มินัล เห็นได้ชัดว่ามีไฟล์จำนวนมากในโฟลเดอร์นั้น ฉันเพิ่งเขียน 3 เป็นตัวอย่าง ถ้าฉันจะบอกว่าแทนที่.cssด้วย.htmlในโฟลเดอร์นั้นฉันจะใช้: rename .css .html *.css แต่ฉันไม่สามารถคิดถึงวิธีจับคู่ไฟล์ที่ไม่มีบางสิ่งได้ นอกจากนี้วิธีการผนวก (vs replace) โดยใช้renameคำสั่ง?

2
ท่อด้วย Moreutils ts
ฉันมีสตรีมขาเข้าที่พอร์ตอนุกรมโดยมีบรรทัดใหม่ปรากฏขึ้นหนึ่งครั้งต่อวินาที wren@Raven:~$ cat /dev/ttyUSB0 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 ฉันต้องการตัดเส้นที่ว่างเปล่าและประทับเวลาที่เหลือ sed จะเลือกบรรทัดว่างและเพิ่มการประทับเวลา แต่ฉันไม่สามารถอัปเดตการประทับเวลาได้เพียงรายงานเวลาที่เรียกใช้: wren@Raven:~$ cat /dev/ttyUSB0 | sed -e '/^$/d' -e "s/$/`date +\,%F\,%T`/" A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 ^C ฉันได้พบ ts ส่วนหนึ่งของ Moreutils และสามารถเข้าไปในนั้นเพื่อรับการบันทึกเวลาที่อัปเดต wren@Raven:~$ cat /dev/ttyUSB0 | ts May 14 09:49:26 A_Sensor1,B_22.00,C_50.00 May 14 09:49:26 May 14 …

3
เทอร์มินัลพรอมต์สับสนหลังจากเปลี่ยนค่า PS1
ฉันป้อนคำสั่งในเทอร์มินัลอย่างไม่ระมัดระวังซึ่งควรอยู่ในเชลล์สคริปต์: export PS1=$PATH:~/drush23/drush/ ตอนนี้ใน terminal ของฉันแทนสิ่งนี้: ubuntu@ip-10-16-134-18:/home/ubuntu$ ฉันเห็นสิ่งนี้: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ubuntu/drush23/drush/ และเมื่อฉันเปลี่ยนไดเรกทอรีบรรทัดนี้จะยังคงอยู่เสมอ ... ฉันไม่รู้จะทำอย่างไร ฉันมี byobu ...

2
จะบอกพารามิเตอร์ใดที่จะถูกส่งไปยังคำสั่งด้วยโอเปอเรเตอร์โอเปอเรเตอร์
งานนี้: $ echo "แจ้งเตือน - ส่ง HELLO" | ณ ตอนนี้ สิ่งนี้ไม่: $ ที่ตอนนี้ <echo "แจ้งเตือน - ส่ง HELLO" มันระบุว่า 'ไม่พบไฟล์หรือไดเรกทอรี " ฉันเข้าใจว่ามี-fตัวเลือกสำหรับคำสั่งนี้ซึ่งฉันสามารถจัดหาไฟล์ที่จะดำเนินการในช่วงเวลาที่กำหนด ดังนั้นนี่ทำให้ฉันคิดว่า ... โดยทั่วไปฉันจะทราบได้อย่างไรว่าพารามิเตอร์ใดที่ผู้ดำเนินการเปลี่ยนเส้นทางจัดหาค่า

1
ออกจากเปลือกปลา
ฉันมีการตั้งค่าปลาเป็นเปลือกเริ่มต้นของฉัน ฉันต้องการที่จะออกจากการfishbash ฉันจะทำอย่างนั้นกับเปลือกปลาที่เปิดได้อย่างไร


5
สคริปต์เพื่อเพิ่มผู้ใช้หลายคนในอูบุนตู (เป็นกลุ่ม)
ฉันต้องการเพิ่มผู้ใช้ 10 คนโดยสคริปต์ใน Ubuntu 12.04 ที่สามารถลดเวลาด้วยการเพิ่มผู้ใช้ด้วยตนเองและฉันสามารถใช้สคริปต์นี้บนเดสก์ทอปอื่น ผู้ใช้แต่ละคนจะมีผู้ใช้เฉพาะและในกลุ่มเฉพาะ ความคิดใด ๆ

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