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

เชลล์คือซอฟต์แวร์ที่ช่วยให้ผู้ใช้โต้ตอบกับระบบปฏิบัติการโดยปกติแล้วพิมพ์ที่บรรทัดคำสั่ง

6
ต้องการทดลองใช้งาน Linux ทำอย่างไร
ฉันเรียนรูบี้บนรางอยู่พักหนึ่งแล้ว ตอนแรกฉันต่อต้านการใช้คอนโซล แต่หลังจากผ่านไปครู่หนึ่งฉันสามารถพูดได้ว่าฉันรักมัน ถ้าลีนุกซ์เป็นอย่างนั้นฉันคิดว่ามันจะเป็นเรื่องถูกกฎหมาย ฉันคิดว่าฉันจะลอง Ubuntu ในขณะนี้ อย่างไรก็ตามนี่คือคำถามคุณจะเรียนรู้เคล็ดลับเทคนิคและทางลัดของ poweruser สำหรับการใช้งาน Linux ได้ที่ไหน ฉันต้องการติดตามอย่างถูกต้องตั้งแต่เริ่มต้น - ลดสิ่งรบกวนสมาธิเพิ่มประสิทธิภาพการทำงาน ฯลฯ ฉันคิดเหมือนแป้นพิมพ์ลัดและพื้นฐานแบบสัมบูรณ์ของ Linux

10
Mac OS X - ไม่สามารถเริ่ม Terminal.app - เชลล์มีค่าผิดกฎหมาย
ฉันไม่สามารถเรียกใช้ Terminal.app หลังจากย้อนกลับระบบจากเครื่องย้อนเวลา Mac OS X เวอร์ชัน 10.6.2 จะแสดงข้อผิดพลาดดังต่อไปนี้ "คุณไม่ได้รับอนุญาตให้เรียกใช้แอปพลิเคชันนี้" "ผู้ดูแลระบบได้ตั้งค่าเชลล์ของคุณเป็นค่าที่ผิดกฎหมาย" หลังจากนั้นฉันลบไฟล์ ~ / Library / Preferences / com.apple.Terminal.plist แต่ข้อความเดียวกันจะปรากฏขึ้น ฉันซ่อมแซมสิทธิ์ระบบทั้งหมดด้วย DiskUtility แต่ไม่ได้ช่วย

4
วิธีกระจายไดเร็กตอรี่สำหรับไฟล์ต่าง ๆ , แต่ไม่ใช่แบบทีละบรรทัด
ฉันต้องการดูไฟล์ซ้ำที่แตกต่างกันในสองไดเรกทอรี Diff สามารถทำสิ่งนี้ได้ แต่มันแสดงให้เห็นถึงความแตกต่างแบบบรรทัดต่อบรรทัดซึ่งฉันไม่ต้องการ มีเครื่องมือที่ทำสิ่งนี้หรือวิธีการทำสิ่งนี้กับ Diff (ฉันอ่าน man page ฉันไม่เห็นอะไรเลย)?

4
นานแค่ไหนสำหรับคำสั่ง Unix 'ไฟล์'?
เมื่อคุณส่งไฟล์ข้อความไปยังfileคำสั่งUnix มันอาจบอกสิ่งที่คุณต้องการ: input.txt: UTF-8 Unicode English text, with very long lines ใครสามารถบอกจำนวนอักขระขั้นต่ำที่บรรทัดจะต้องมีให้ถือว่ายาวมากได้หรือไม่ หน้าคนไม่พูดอะไรเกี่ยวกับเรื่องนี้และฉันไม่ต้องการค้นหาซอร์สโค้ด หากมีใครสามารถบอกฉันได้ว่าจะนำคำถามนี้ไปใช้กับการค้นหาของ Google ซึ่งไม่ได้ผลลัพธ์เป็นพันล้านรายการซึ่งเกือบทั้งหมดไม่เกี่ยวข้องฉันก็มีความสุขเช่นกัน
16 unix  shell 

2
http ได้รับจากเชลล์ใน Mac OS X
ฉันต้องการดาวน์โหลดลิงค์เช่น: http://example.org/file.mp3 ตอนนี้ฉันมีกระสุนเพียงพอที่จะรู้ว่า SCP ทำอะไร แต่นั่นเป็นเรื่องที่ฉันไม่รู้จบ ดังนั้นมีโปรแกรมเชลล์ที่ให้ฉันทำ http get และไปป์มันผ่านไปยังไฟล์ได้หรือไม่?
16 macos  shell  http 

7
unix - แยกไฟล์. gz ขนาดใหญ่ทีละบรรทัด
ฉันแน่ใจว่าบางคนมีความต้องการด้านล่างสิ่งที่เป็นวิธีที่รวดเร็วในการแยกไฟล์. gz ขนาดใหญ่ทีละบรรทัด? ไฟล์ข้อความต้นแบบมี 120 ล้านแถว ฉันมีพื้นที่ว่างในดิสก์ไม่เพียงพอที่จะ gunzip ไฟล์ทั้งหมดในครั้งเดียวดังนั้นฉันจึงสงสัยว่ามีบางคนรู้ว่าสคริปต์หรือเครื่องมือทุบตี / perl ที่สามารถแยกไฟล์ได้ . เช่นเรียกมันว่า: bash splitter.sh hugefile.txt.gz 4000000 1 would get lines 1 to 40 mn bash splitter.sh hugefile.txt.gz 4000000 2 would get lines 40mn to 80 mn bash splitter.sh hugefile.txt.gz 4000000 3 would get lines 80mn to 120 mn …
16 linux  perl  bash  shell  unix 


1
วิธีหลบหนี“!” และ“ &” ใน varibles สภาพแวดล้อมของนักเทียบท่า
ฉันมีที่จอดนักเทียบท่าฉันต้องการเรียกใช้และส่งมอบรหัสผ่านบางส่วน อีกอันหนึ่งมีเครื่องหมายอัศเจรีย์!และอีกอันหนึ่งมีเครื่องหมาย&และ ดังนั้นฉันต้องการเรียกใช้นี้: docker run -i -t --rm \ -e "LDAP_FILTER=(&(objectCategory=person)(objectClass=user)" \ -e "LDAP_PASS=Secret!Password" \ user-prefix/container-name ที่ใช้งานไม่ได้ &ถูกแทนที่ด้วย{LDAP_FILTER}และการ!ตัดทอน ฉันค่อนข้างแน่ใจว่าฉันต้องหลบหนีสิ่งเหล่านี้ แต่\!และ\&ก็ไม่ได้ผล

5
ฆ่าโปรแกรมหลังจากส่งเอาต์พุตบรรทัดที่กำหนดจากเชลล์สคริปต์
พื้นหลัง: ฉันกำลังเขียนสคริปต์ทดสอบสำหรับซอฟต์แวร์ชีววิทยาเชิงคอมพิวเตอร์ ซอฟต์แวร์ที่ฉันกำลังทดสอบอาจใช้เวลาหลายวันหรือหลายสัปดาห์ในการเรียกใช้ดังนั้นจึงมีฟังก์ชั่นการกู้คืนในตัวในกรณีที่ระบบขัดข้องหรือไฟฟ้าขัดข้อง ฉันพยายามหาวิธีทดสอบระบบกู้คืน โดยเฉพาะฉันไม่สามารถหาวิธี "หยุด" โปรแกรมในลักษณะที่ควบคุมได้ ฉันกำลังคิดถึงจังหวะเวลาที่คำสั่ง SIGKILL จะทำงานหลังจากเวลาผ่านไประยะหนึ่ง นี่อาจไม่เหมาะเนื่องจากกรณีทดสอบไม่รับประกันว่าจะทำงานด้วยความเร็วเดียวกันทุกครั้ง (ทำงานในสภาพแวดล้อมที่ใช้ร่วมกัน) ดังนั้นการเปรียบเทียบบันทึกกับผลลัพธ์ที่ต้องการอาจเป็นเรื่องยาก ซอฟต์แวร์นี้พิมพ์บรรทัดสำหรับการวิเคราะห์แต่ละส่วนที่เสร็จสมบูรณ์ คำถาม: ฉันสงสัยว่ามีวิธีที่ดี / สง่างาม (ในเชลล์สคริปต์) เพื่อจับภาพเอาต์พุตจากโปรแกรมแล้วฆ่าโปรแกรมเมื่อบรรทัด / # บรรทัดที่กำหนดถูกส่งออกโดยโปรแกรมหรือไม่
16 linux  shell 

4
นามแฝงในกระบวนการ subshell / child
ฉันตั้งค่านามแฝงใน /etc/profile.d/alias.sh สำหรับแต่ละเชลล์ล็อกอิน แต่ถ้าฉันใช้งาน script.sh ฉันจะใช้นามแฝงนั้นไม่ได้ ฉันจะตั้งชื่อแทนอย่างไรสำหรับ subshells หรือกระบวนการลูก? /etc/profile.d/alias.sh alias rmvr='rm -rv'; alias cprv='cp -rv'; alias mvrv='mv -rv';
16 linux  shell  alias 

3
วิธีการพิมพ์อักขระบรรทัดใหม่ด้วย echo
ผมถ่ายโอนข้อมูลสตริงด้วยเช่นนี้hexdump 2031 3334 2e30 0a32 2032 3331 302e 000aเป็นที่ชัดเจนว่า0x0aเป็นอักขระบรรทัดใหม่ แต่เมื่อฉันพยายามที่จะสะท้อนสตริงนี้ออกมาฉันมักจะได้รับ1 430.2 2 13.0- บรรทัดใหม่จะถูกแทนที่ด้วยช่องว่างแม้ฉันจะใช้-eธง อาจมีปัญหาอะไร? tailing \0ทำลายผลลัพธ์หรือไม่? มีทางเลือกอื่นในการพิมพ์0x0aบรรทัดใหม่หรือไม่? ขอขอบคุณและขอแสดงความนับถือ.


1
เมื่อสร้างลิงก์สัญลักษณ์ฉันจะแก้ปัญหา 'ลิงก์สัญลักษณ์หลายระดับ' ได้อย่างไร
ฉันพยายามสร้างลิงก์สัญลักษณ์บน Ubuntu 10.04 ((Lucid Lynx)) มันบอกว่า: me@laptop:~/PHPUnit$ ls assertions.php LICENSE PHPUnit README.markdown build.xml package.xml phpunit.bat Tests ChangeLog.markdown phpunit phpunit.xml.dist me@laptop:~/PHPUnit$ ln -s phpunit /usr/bin/phpunit ln: accessing `/usr/bin/phpunit': Too many levels of symbolic links และเมื่อฉัน/usr/bin$ ls php*ฉันเพิ่งได้รับ: php php5 php-config php-config5 phpize phpize5 ฉันพยายามสร้างมันขึ้นมาก่อนและฉันไม่แน่ใจว่าฉันรันคำสั่งผิด ...

2
วิธีใช้ไพพ์เพื่อแก้ไขไฟล์ด้วย vi
ช่วยบอกว่าฉันมีไฟล์ชื่อ file.txt ในนั้นเป็นชื่อของไฟล์ที่ฉันต้องการแก้ไขด้วย vi ฉันต้องการทำอะไรเช่นนี้เพื่อที่ฉันจะสามารถแก้ไขไฟล์: cat file.txt | vi อย่างไรก็ตามนั่นไม่ได้ผล จะทำอย่างไร? เพื่อชี้แจงสิ่งต่าง ๆ : นี่คือเนื้อหาของ file.txt: textfile ดังนั้นผมจึงต้องการอย่างใดส่งเนื้อหาของ file.txt เพื่อ vi vi textfileเพื่อให้สิ่งเดียวกันที่จะเกิดขึ้นเมื่อการพิมพ์ เนื้อหาของ file.txt สามารถเปลี่ยนแปลงได้ ฉันต้องการให้ vi แก้ไขไฟล์ใดก็ได้ที่ระบุไว้ใน file.txt
15 macos  command-line  vim  shell  vi 

3
เคอร์เซอร์ของเมาส์ในเทอร์มินัล?
ฉันใช้ Mac OS X Terminal.app แต่คำตอบสำหรับเรื่องนี้อาจนำไปใช้กับเครื่องจำลองเทอร์มินัล UNIX-ish ทั่วไปในสภาพแวดล้อมแบบกราฟิก คำถาม - ฉันต้องทำอย่างไรกับ: ใช้เคอร์เซอร์ของเมาส์เพื่อคลิกที่ตำแหน่งอักขระในบรรทัดปัจจุบันของเทอร์มินัลและให้เคอร์เซอร์ของเทอร์มินัลข้ามไปที่จุดนั้น? โดยทั่วไปคุณต้องกดแป้นลูกศรค้างไว้เพื่อเลื่อนไปยังตำแหน่งเคอร์เซอร์ที่ถูกต้อง หากคุณกำลังวางข้อความจำนวนมากที่เชลล์พรอมต์หรือทำงานในโปรแกรมแก้ไขเช่น VI สิ่งนี้อาจใช้เวลานาน ฉันรู้ว่าบรรณาธิการมีปุ่มนำทางอื่น ๆ เช่นคำข้าม แต่ฉันชอบเคอร์เซอร์เมาส์

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