คำถามติดแท็ก bash

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU

5
ฉันจะแสดงเส้นทางสัมบูรณ์ใน bash prompt ได้อย่างไร
ขณะนี้ฉันมีPS1ชุดทุบตีเป็นดังนี้: PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\w\n\$ " ฉันจะทำให้มันแสดงเส้นทางสัมบูรณ์แทนเส้นทางสัมพัทธ์ (เช่น/home/dave/dirแทนที่จะเป็น~/dir) ได้อย่างไร
50 bash  path  prompt 

18
ตรวจสอบไฟล์จนกว่าจะพบสตริง
ฉันใช้ tail -f เพื่อตรวจสอบล็อกไฟล์ที่กำลังเขียนอยู่ เมื่อมีการเขียนสตริงที่แน่นอนไปยังล็อกไฟล์ฉันต้องการออกจากการตรวจสอบและดำเนินการต่อกับสคริปต์ที่เหลือ ขณะนี้ฉันกำลังใช้: tail -f logfile.log | grep -m 1 "Server Started" เมื่อพบสตริง grep จะหยุดทำงานตามที่คาดไว้ แต่ฉันต้องการค้นหาวิธีที่จะทำให้คำสั่ง tail หยุดทำงานเช่นกัน
49 bash  grep  tail  logfiles 

10
ฉันสามารถบันทึกเอกสารเหล่านี้บนเครื่องที่กำลังจะตายจากการลืมเลือน
อันดับแรกคำสารภาพ: ไม่ฉันไม่ได้สำรองข้อมูลที่ฉันควรมี ประการที่สองสถานการณ์: ฉันมี Dell XPS 9550 กับดิสก์สถานะของแข็งทำงานFedora 25 ผมทำงานในไฟล์และพยายามที่จะบันทึกไว้เมื่อฉันได้บอกผมพยายามที่จะบันทึกให้เป็นระบบแฟ้มแบบอ่านอย่างเดียว ปรากฎว่าระบบไฟล์ของฉันเป็นแบบอ่านอย่างเดียวตอนนี้และมีข้อผิดพลาดของ i / oทั่วทุกที่ ฉันสามารถบันทึกไฟล์บางส่วนโดยส่งอีเมลถึงตัวเองผ่านเว็บเบราว์เซอร์ที่เปิดอยู่ แต่นั่นล้มเหลวและฉันไม่สามารถเปิดใช้งานอีกครั้งได้ แต่ฉันยังคงเปิดไฟล์ที่น่าสนใจในตัวแก้ไข ฉันไม่สามารถบันทึกไฟล์ได้ทุกที่ แต่ฉันสามารถคัดลอกเนื้อหาได้ ถ้าเพียง แต่ฉันสามารถหาวิธีกำจัดไฟล์เนื้อหาฉันสามารถช่วยตัวเองให้ทำงานได้หลายเดือน แต่มีข้อ จำกัด ที่น่ากลัวอยู่บ้าง ฉันพยายามที่จะใส่ไดรฟ์ USB แต่ไม่มีอุปกรณ์ใดที่แสดงถึงและmountคำสั่งนั้นตายด้วย segfault ฉันสามารถพยายามที่จะ ssh ไปยังคอมพิวเตอร์เครื่องอื่น แต่ฉันได้รับ "ข้อผิดพลาดรถบัส" และมันก็ตาย ping, dmesg, ifconfigไม่มีของเหล่านี้ทำงาน แต่ฉันมีvimและlessและlsและสามารถวางไข่bashกรณีใหม่ ไม่มีlynxไม่มีไม่มีfirefox google-chromeไม่มีไดรฟ์ดีวีดี โดยทั่วไปดูเหมือนว่า SSD ของฉันจะเสียชีวิตแล้ว หรืออาจเป็นทั้งเมนบอร์ด ฉันมีเอกสารที่มีค่ามากยังคงอยู่ในหน่วยความจำฉันมีที่อยู่ IP และการเชื่อมต่อเครือข่ายฉันสามารถเรียกใช้คำสั่งแบบสุ่มไม่กี่คำและมีอีก 3,500 เส้นทางบนเส้นทางที่ฉันสามารถลองได้ catและgccดูเหมือนว่าจะทำงาน …
49 linux  bash  ssd  fedora  crash 

2
อะไรคือความแตกต่างระหว่าง“ คำสั่ง && คำสั่ง” และ“ คำสั่ง; คำสั่ง”
ฉันเห็นการใช้งานสองอย่างนี้ใน Ubuntu "command && command" และ "command; command" เช่นapt-get update && apt-get upgrade ถ้าฉันใช้จะแตกต่างกันapt-get update; apt-get upgradeอย่างไร ฉันไม่ได้ร้องขอการใช้งานเฉพาะนี้ แต่โดยทั่วไปแล้วการใช้งานสองอย่างนี้แตกต่างกันอย่างไร

3
คำสั่ง Bash เพื่อมุ่งเน้นหน้าต่างเฉพาะ
มีวิธีในบรรทัดคำสั่ง bash หรือไม่เพื่อให้ความสำคัญกับหน้าต่างเฉพาะของกระบวนการที่กำลังทำงานอยู่ สมมติว่าฉันรู้ชื่อกระบวนการหมายเลขและสิ่งอื่นใดที่ฉันต้องการ ตัวอย่างเช่นถ้าฉันมีอินสแตนซ์เดียวของ Firefox ที่ทำงานอยู่ แต่จะย่อเล็กสุด (หรือมีหน้าต่างอื่นอยู่ด้านบน) ฉันต้องการคำสั่ง bash ที่แสดงและให้ความสำคัญกับหน้าต่าง Firefox โดยทำให้เป็นหน้าต่างที่ใช้งานอยู่
49 ubuntu  bash  gnome 

7
ตรวจสอบ TCP Traffic บนพอร์ตเฉพาะ
ฉันค้นหาสิ่งนี้อย่างกว้างขวาง แต่ดูเหมือนจะไม่สามารถเกิดขึ้นกับตัวอย่างการทำงานได้ วัตถุประสงค์ของฉันคือการตรวจสอบปริมาณการใช้งาน TCP บนพอร์ตเฉพาะเพื่อดูการเชื่อมต่อขาเข้าและเขียนลงในไฟล์ข้อความ การจับคือฉันยังต้องประทับเวลาในแต่ละแถวเพื่อแสดงว่าลูกค้าเชื่อมต่อกับวินาที ฉันหมดแล้ว netstat, nmap และ tcptrack แต่ไม่มีการประทับเวลาสนับสนุน ฉันคิดว่าสคริปต์ linux shell อาจใช้งานได้หากฉันตรวจสอบพอร์ตเฉพาะและเขียนข้อความไปยังไฟล์เมื่อทำการเชื่อมต่อจากนั้นเพียงเชื่อมต่อวันที่ในแต่ละบรรทัด ฉันกำลังเล่นกับสิ่งนี้: netstat -ano|grep 443|grep ESTABLISHED เช่นนี้: tcptrack -i eth0 port 443 แต่ไม่เหมาะกับความต้องการของฉันเพราะฉันต้องการเวลาที่การเชื่อมต่อเข้ามาที่ หากคุณมีข้อเสนอแนะใด ๆ หรือสามารถชี้ฉันในทิศทางที่ถูกต้องมันจะได้รับการชื่นชมอย่างมาก ขอบคุณ :)
49 linux  bash 

3
หลีกเลี่ยงเส้นทางที่ไม่ต้องการในไฟล์ซิป
ฉันทำเชลล์สคริปต์เพื่อทำแพคเกจไฟล์บางไฟล์ ฉันกำลังซิปไดเรกทอรีเช่นนี้: zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/ ปัญหาคือไฟล์เก็บถาวร out.zip มีเส้นทางไฟล์ทั้งหมดในนั้น นั่นคือเมื่อคลายซิปไฟล์มันจะมีเส้นทาง "/ Users / me / development / anotherthing /" ทั้งหมดอยู่ในนั้น เป็นไปได้หรือไม่ที่จะหลีกเลี่ยงพา ธ ที่ลึกเหล่านี้เมื่อใส่ไดเร็กตอรี่ในไฟล์เก็บถาวร เมื่อฉันเรียกใช้ zip จากภายในไดเรกทอรีเป้าหมายฉันไม่มีปัญหานี้ zip -r out.zip ./folder/ ในกรณีนี้ฉันไม่ได้รับขยะทั้งหมด อย่างไรก็ตามสคริปต์ที่สงสัยจะถูกเรียกจากที่ใดก็ได้ FWIW ฉันใช้ทุบตีบน Mac OS X 10.6
49 macos  bash  zip  path  shell-script 

7
ฉันจะจัดเรียงไฟล์ทั้งหมดตามขนาดในไดเรกทอรีได้อย่างไร?
ฉันจะแสดงไฟล์ในไดเรกทอรี unix ที่เรียงตามขนาดที่มนุษย์สามารถอ่านได้จากใหญ่ไปหาน้อยที่สุดได้อย่างไร ฉันเหนื่อย du -h | sort -V -k 1 แต่ดูเหมือนจะไม่ทำงาน
48 bash  unix  shell 

3
สัญลักษณ์แปลก ๆ นี้“:>” ใน bash หมายถึงอะไร
ฉันพบบางสิ่งในสคริปต์ แต่ไม่ได้เป็นของสคริปต์หลัก มีอยู่:>ในแถว คุณช่วยอธิบายความหมายของฉันให้ฉันได้ไหม :> file while read A B C D E; do echo "$A;$B;$D;$E;$C" >> file; done < otherfile
47 bash 

5
วิธีการ cd ไปยังไดเรกทอรีที่มีช่องว่างในชื่อของมัน?
ฉันมีไดเรกทอรีชื่อ "Reader 0.5" ในเดสก์ท็อปของฉันบน Mac Os X เมื่อเข้าใช้งานไดเรกทอรีในเทอร์มินัลฉันใช้โค้ดด้านล่าง: cd /Users/niho/Desktop/Reader 0.5 แต่มันจะพ่น: ไม่พบไฟล์หรือโฟลเดอร์ ความผิดพลาด ฉันจะซีดีลงในไดเรกทอรีนั้นได้อย่างไร ขอบคุณ
47 macos  bash  shell 

8
Bash: มีวิธีการค้นหาสตริงเฉพาะในไดเรกทอรีของไฟล์หรือไม่? [ซ้ำ]
ซ้ำได้: ค้นหารูปแบบข้อความใน linux ในทุบตีฉันสงสัยว่ามีคำสั่งใด ๆ ที่จะแจ้งให้คุณทราบว่าสตริงเฉพาะที่คุณกำลังมองหาอยู่ในไฟล์ที่อยู่ในไดเรกทอรีปัจจุบันที่คุณอยู่ สมมติว่าคุณกำลังมองหาฟังก์ชั่น 'toUpperCase ()' ภายในชุดของไฟล์ C ในไดเรกทอรีปัจจุบันของคุณ มีไฟล์จำนวนมากดังนั้นคุณไม่ต้องการเปิดแต่ละไฟล์ด้วยตนเองโดยใช้ vim และตรวจสอบสตริง 'toUpperCase' เพราะมันใช้เวลานาน ถ้าไม่ใช่บรรทัดคำสั่ง bash มีวิธีอื่นที่จะทำสิ่งนี้ได้อย่างมีประสิทธิภาพหรือไม่?
47 search  bash 

3
มีไฟล์ชื่อ ~ (tilde) ในโฮมไดเร็กตอรี่ของฉัน
ฉันเพิ่งสังเกตเห็นว่าฉันมีไฟล์ที่เรียกว่า~ใน~ไดเรกทอรีของฉัน $ ls -la ~ ... -rw-r----- 1 x1 x1 733962240 Mar 1 17:55 ~ ... ความคิดใดที่ฉันสามารถmvหรือrmมันได้หรือไม่

3
ฉันจะทุบตีเพื่อดำเนินการตามแท็บให้กับนามแฝงได้อย่างไร
ฉันมีสคริปต์การทุบตีเสร็จสิ้นการตั้งค่า (ส่วนใหญ่ใช้ bash-it และการตั้งค่าด้วยตนเอง) ฉันยังมีพวงของการติดตั้งนามแฝงสำหรับงานทั่วไปเช่นสำหรับgco git checkoutตอนนี้ฉันสามารถพิมพ์git checkout dTabและdevelopเสร็จสมบูรณ์สำหรับฉัน แต่เมื่อฉันพิมพ์gco dTabไม่สมบูรณ์ ฉันสมมติว่านี่เป็นเพราะสคริปต์การดำเนินการเสร็จสิ้นแล้วgitและไม่สามารถมองเห็นgcoได้ มีวิธีการโดยทั่วไป / โดยทางโปรแกรมทำให้สคริปต์เสร็จสมบูรณ์ทั้งหมดของฉันทำงานกับนามแฝงของฉันหรือไม่ ไม่สามารถดำเนินการให้เสร็จสมบูรณ์เมื่อใช้นามแฝงชนิดที่เอาชนะวัตถุประสงค์ของนามแฝง

4
ฉันต้องการเปลี่ยน DPI ด้วย ImageMagick โดยไม่เปลี่ยนขนาดข้อมูลไบต์ตามจริง
ใน GIMP มีวิธีง่าย ๆ ในการทำสิ่งที่ฉันต้องการ ฉันได้ติดตั้งกล่องโต้ตอบภาษาเยอรมันเท่านั้น แต่ฉันจะพยายามแปลมัน ฉันกำลังพูดถึงการไปPicture -> PrintingSizeแล้วปรับค่าX-ResolutionและY-Resolutionที่ฉันรู้จักซึ่งเรียกว่าค่า DPI Pixel/Inchนอกจากนี้คุณยังสามารถเลือกรูปแบบซึ่งเริ่มต้นคือ (ในภาษาเยอรมันกล่องโต้ตอบอยู่ที่Bild -> Druckgrößeนั่นX-AuflösungและY-Auflösung) ตกลงค่าต่างๆมักจะเป็น72ค่าเริ่มต้น เมื่อฉันเปลี่ยนเป็นเช่น300นี้จะมีผลกระทบที่ภาพจะยังคงเหมือนเดิมบนคอมพิวเตอร์ แต่ถ้าฉันพิมพ์มันจะมีขนาดเล็กลงถ้าคุณดูมัน แต่รายละเอียดทั้งหมดยังคงอยู่ที่นั่นเล็กกว่า -> มันมี ความละเอียดสูงกว่าบนกระดาษที่พิมพ์ (แต่ขนาดเล็กกว่า ... ซึ่งใช้ได้สำหรับฉัน) ฉันมักจะทำอย่างนั้นเมื่อฉันทำงานกับ LaTeX หรือพูดตามคำสั่งpdflatexบน Ubuntu-Machine ล่าสุด เมื่อฉันทำตามกระบวนการข้างต้นกับ GIMP ด้วยตนเองทุกอย่างทำงานได้ดี รูปภาพจะเล็กลงในไฟล์ PDF ที่เป็นผลลัพธ์ แต่มีคุณภาพการพิมพ์สูง สิ่งที่ฉันพยายามทำคือการทำให้กระบวนการเข้าสู่ GIMP โดยอัตโนมัติและปรับค่า DPI เนื่องจาก ImageMagick เป็นที่รู้จักกันดีและฉันใช้มันสำหรับงานอื่น ๆ ฉันพยายามที่จะบรรลุเป้าหมายของฉันด้วยเครื่องมือนี้ แต่มันไม่ได้ทำในสิ่งที่ฉันต้องการ หลังจากลองสิ่งต่างๆมากมายฉันคิดว่านี่เป็นคำสั่งที่ควรเป็นเพื่อนของฉัน: convert input.png …


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