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

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


3
วิธีการลบไฟล์. swp ที่ซ่อนทั้งหมดออกจากเทอร์มินัล
ฉันจะลบไฟล์. swp ทั้งหมดได้อย่างไร ฉันพยายามrm *.swpแต่ฉันได้rm: *.swp: No such file or directory rwxr-xr-x 16 teacher staff 544 Jan 17 13:19 . drwxr-xr-x 19 teacher staff 646 Jan 16 12:48 .. -rw-r--r-- 1 teacher staff 20480 Jan 17 09:48 .6-1-period-2.txt.swp -rw-r--r-- 1 teacher staff 16384 Jan 17 09:05 .6-2-period-6.txt.swp -rw-r--r--@ 1 teacher …

3
ความแตกต่างระหว่างตัวเลือก tmux และ shell split บน iTerm2?
ขณะนี้ฉันเปลี่ยนเป็น iTerm2 + VIM สำหรับสภาพแวดล้อมการพัฒนาของฉัน ฉันสังเกตว่าเวอร์ชั่นล่าสุดของ iTerm2 รองรับtmuxและมีคนใช้tmuxแบ่งหน้าต่างออกเป็นหลายครั้ง ฉันยังสังเกตเห็นว่า iTerm2 มีตัวเลือกนอกกรอบเพื่อแยกหน้าต่างออกเป็นหลายเซสชัน คุณสามารถแบ่งเซสชันได้มากเท่าที่คุณต้องการในแนวตั้งและแนวนอนโดยใช้เพียง CMD + D ดังนั้นสำหรับฉันดูเหมือนว่าคุณสามารถใช้งานฟังก์ชันเดียวกันได้ด้วยตัวเลือกเหล่านั้น ฉันอาจผิดทั้งหมด คำถามของฉันคือ: มีความแตกต่าง / ประโยชน์โดยใช้tmuxตัวเลือกการแยกบน iTerm2 หรือไม่
8 macos  bash  shell  tmux  iterm 

1
คำสั่ง Ps และ grep
เหตุใดจึงps -ef | grep $$แสดงgrepคำสั่งในรายการกระบวนการ การgrepประหารชีวิตpsของเขาไม่เสร็จหรือ
8 linux  shell 

3
เหตุใดไฟล์ทั้งหมดจึงไม่ถูกบีบอัดและวิธีปรับปรุงโซลูชัน
ฉันมีโฟลเดอร์ที่มีไฟล์ประมาณ 20K ไฟล์จะถูกตั้งชื่อตามรูปแบบเช่นxy_{\d1,5}_{\d4}\.abc xy_12345_1234.abcฉันต้องการบีบอัด 10K แรกของพวกเขาโดยใช้คำสั่งนี้: ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz อย่างไรก็ตามไฟล์ผลลัพธ์มีไฟล์ประมาณ 2K เท่านั้น ls | sort -n -k1.4,1.9 | head -n10000 | wc -l อย่างไรก็ตามส่งคืน 10,000 ตามที่คาดไว้ ดูเหมือนว่าฉันจะเข้าใจผิดบางสิ่งพื้นฐานที่นี่ ... ฉันใช้ zsh 5.0.2 บน Linux Mint 17.1, GNU tar 1.27.1 แก้ไข: ฟอร์กแนะนำโดย …
8 linux  shell  zsh  tar  pipe 

1
อธิบายแฟล็ก -W สำหรับ rm
การ-Wตั้งค่าสถานะสำหรับrmทำอะไร (บน BSD หรือ Mac OS X) ตามหน้าเพจนั้นแฟล็กพยายามที่จะ "ยกเลิกการลบไฟล์ที่มีชื่อ" และในปัจจุบัน "ตัวเลือกนี้สามารถใช้เพื่อกู้คืนไฟล์ที่มี Whiteouts เท่านั้น" ทั้งหมดนี้เกี่ยวกับอะไรและฉันจะใช้ได้อย่างไร
8 bash  shell  rm 

4
จะเปลี่ยนชื่อไฟล์ภายในโฟลเดอร์โดยใช้คำสั่ง shell ได้อย่างไร?
some/long/path/to/file/myfiel.txtฉันมีไฟล์ที่ some/long/path/to/file/myfile.txtฉันต้องการที่จะเปลี่ยนชื่อเป็น ขณะนี้ฉันทำได้โดยmv some/long/path/to/file/myfiel.txt some/long/path/to/file/myfile.txtแต่การพิมพ์เส้นทางสองครั้งไม่มีประสิทธิภาพมากนัก (แม้จะเสร็จสิ้นการแท็บ) ฉันจะทำสิ่งนี้เร็วขึ้นได้อย่างไร (ฉันคิดว่าฉันสามารถเขียนฟังก์ชันเพื่อเปลี่ยนเซ็กเมนต์ชื่อไฟล์เท่านั้น แต่นั่นคือแผน B)
8 unix  shell  zsh 

4
การเข้าถึงรหัสออกนอก su -m $ USER -c“ <cmd>”
คำสั่งด้านล่างพิมพ์ "0" หรือ "1" ถูกต้องขึ้นอยู่กับความล้มเหลวหรือไม่เพราะฉันใส่ $? ภายในคำสั่ง "su" sudo su -m $USER -c "./shutdown.sh &amp;&gt; /dev/null; echo \$?" อย่างไรก็ตามถ้าฉันทำสิ่งนี้: sudo su -m $USER -c "$BASE/bin/shutdown.sh &amp;&gt; /dev/null"; echo $? มันจะพิมพ์ "0" เสมอเพราะ "su" จริงจะประสบความสำเร็จเสมอแม้ว่าส่วนคำสั่งจะล้มเหลว มีความคิดใดที่ฉันสามารถเรียกรหัสออกจาก subshell
8 linux  shell  su  exit-code 

3
ทำไมฉันต้องพิมพ์“ ./” เสมอก่อนที่โปรแกรมจะเรียกใช้งานใน Linux?
เมื่อฉันรวบรวม egxc โดย: GCC x.c -o x ในการดำเนินการผลลัพธ์ฉันต้องเขียน: ./x และเพียงพิมพ์: x ล้มเหลวด้วยข้อความนี้: x: ไม่พบคำสั่ง หมายความว่า Linux ไม่ค้นหาไดเรกทอรีปัจจุบัน! มี (ฉันแน่ใจว่ามี) ปัญหาใด ๆ ที่เหมาะสมหลังพฤติกรรมนี้?
8 linux  shell 

2
เป็นไปได้หรือไม่ที่จะกำหนดค่าวิธีทุบตีชื่อไดเรกทอรีให้สมบูรณ์
ฉันต้องการสั่งทุบตีให้ใช้วิธีพิเศษเพื่อดำเนินการให้เสร็จสมบูรณ์ในชื่อไดเรกทอรีบางอย่าง ตัวอย่างเช่นทุบตีจะเรียกโปรแกรมของฉันเพื่อดำเนินการให้เสร็จสมบูรณ์หากเส้นทางเริ่มต้นด้วย "$$" และดำเนินการเสร็จตามปกติมิฉะนั้น เป็นไปได้ไหม? คุณจะใช้มันอย่างไร? เงินรางวัล : ฉันขอขอบคุณคำตอบสำหรับคำถามนั้น เป้าหมายคืออนุญาตให้autojumpดำเนินการกับพา ธสำหรับคำสั่งทั้งหมดเมื่อผู้ใช้เริ่มต้นด้วยคำนำหน้าบางอย่าง ตัวอย่างเช่นเมื่อคัดลอกไฟล์จากไดเรกทอรีไกลคุณสามารถพิมพ์: cp $$patern + &lt;Tab&gt; และการกระโดดอัตโนมัติจะเสร็จสมบูรณ์ cp /home/user/CompliCatedDireCTOry/long/path/bla/bla และคุณจะต้องเพิ่มตำแหน่งที่คุณต้องการวางไฟล์ แน่นอนฉันสามารถใช้ความคิดเห็นของ ott เพื่อเพิ่มลงในคำสั่งเฉพาะบางอย่าง แต่ถ้าใครมีความคิดที่ดีกว่าฉันจะขอบคุณมาก

1
ข้อผิดพลาดข้อความที่มองไม่เห็นในการทุบตีข้อผิดพลาดหรือคุณสมบัติ?
ในการแจกจ่ายลินุกซ์ทุกครั้งฉันใช้ 10 ปีที่ผ่านมามีความไม่สะดวกดังต่อไปนี้: คุณเรียกใช้โปรแกรมใน terminal โดยใช้ bash หลังจากที่โปรแกรมหยุดทำงานหรือถูกขัดจังหวะบางครั้งสิ่งที่คุณพิมพ์จะมองไม่เห็น จากนั้นคุณสามารถป้อนคำสั่ง "รีเซ็ต" และล้างหน้าจอและเคอร์เซอร์จะปรากฏอีกครั้ง เนื่องจากข้อผิดพลาดนี้ฉันจึงเปลี่ยนเชลล์เป็น zsh ทุกครั้งที่ฉันลงชื่อเข้าใช้เทอร์มินัลใหม่เป็นครั้งแรก ใน zsh ข้อผิดพลาดข้อความที่มองไม่เห็นไม่เคยเกิดขึ้น เนื่องจากข้อผิดพลาดตอนนี้มีมานานกว่า 10 ปีแล้วฉันเริ่มสงสัยว่ามันเป็นคุณสมบัติของการทุบตี ดังนั้นทุกคนสามารถบอกฉันว่ามันดีสำหรับอะไร นอกจากนี้ที่อยู่บ้านทุบตี / ติดตามข้อผิดพลาดอยู่จริง Bash.org ดูเหมือนจะเกี่ยวกับ "IT bashing" และ #bash irc channel ก็เช่นกัน เหตุใดการแจกแจงลินุกซ์ส่วนใหญ่จึงมีเชลล์ที่ยากที่จะให้ข้อเสนอแนะเมื่ออย่างน้อยหลายทางเลือกนั้นดี?
8 bash  shell 

1
เวอร์ชันของ netcat
ฉันได้ลอง netcat สองเวอร์ชันหลัก: GNU และ BSD (ของฉันคือเวอร์ชั่น BSD) ในเวอร์ชัน GNU คำสั่ง $ nc -l -p 12345 ทำงานได้ดี แต่ด้วย BSD ตัวเลือก -l (ฟัง) ไม่สามารถใช้ร่วมกับ -p (พอร์ตท้องถิ่น) ฉันไม่เข้าใจว่าทำไมจึงมีความแตกต่างเช่นนี้ระหว่างสองเวอร์ชันนี้ ในรุ่น BSD เมื่อฉันใช้ตัวเลือก -p มันจะเรียกโดยอัตโนมัติ -l (ฟัง)? ขอบคุณ ;-) ป.ล. : https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p จะแตกต่างกันระหว่างทั้งสอง รุ่น OpenBSD ใช้เพื่อตั้งค่าพอร์ตต้นทางสำหรับการเชื่อมต่อระยะไกลในขณะที่ nc ดั้งเดิมใช้เพื่อระบุพอร์ตท้องถิ่นที่จะรับฟังเมื่ออยู่ในโหมดฟัง

5
Linux: ทั้ง chsh และ ypchsh ไม่ทำงานฉันสามารถเปลี่ยนเชลล์ได้ไหม?
ฉันเป็นยูนิกซ์โรงเรียนเก่าดังนั้นทักษะลินุกซ์ของฉันอาจจะล้าสมัยเล็กน้อย แต่ดูเหมือนว่ามันควรจะง่ายพอ บนระบบ Red Hat Linux ที่ฉันไม่ได้รูท (เป็นผู้ดูแลโดยแผนก IT ของ บริษัท ) ฉันต้องการเปลี่ยนเชลล์ล็อกอินของฉัน วิ่ง chsh ให้ฉัน: $ chsh -s /bin/bash chsh: can only change local entries; use ypchsh instead. ดังนั้นฉันวิ่ง ypchsh แทน: $ ypchsh userid ypchsh: can't find the master ypserver: Internal NIS error สิ่งที่ช่วยให้? ใครมีแนวคิดอื่นบ้าง
8 linux  shell 

6
ทุบเปลือกสีบน Mac?
คุณจะทำให้ bash shell แสดงรายการไฟล์ที่สามารถเรียกใช้งานได้ในสีที่แตกต่างจากไฟล์ที่ไม่สามารถเรียกใช้งานได้อย่างไร ฉันพยายามแก้ไข~/.bashrcเพื่อให้มีบรรทัดต่อไปนี้ (เป็นอย่างอื่นว่างเปล่า): LS_OPTIONS='--color=auto' แต่มันไม่ทำงาน ผมทำอะไรผิดหรือเปล่า? ฉันกำลังทำงานกับ Mac OS X
8 macos  bash  shell 

4
ฉันจะบันทึกคำสั่งเชลล์ UNIX ทั้งหมดที่ส่งโดยผู้ใช้ทั้งหมดได้อย่างไร
มีวิธีที่ฉลาดในการบันทึกทุกคำสั่งที่ส่งในเชลล์ทั้งหมดบนเครื่องหรือไม่? นี่คือบริบทของเซิร์ฟเวอร์อูบุนตูที่ใช้บ่อยซึ่งฉันเป็นผู้ใช้คนเดียว (มีบัญชีผู้ใช้หลายบัญชีที่ระบบอัตโนมัติใช้) scriptฉันต้องการนี้จะสร้างความรำคาญและค่าใช้จ่ายต่ำดังนั้นฉันรักมันถ้ามีวิธีการที่ง่ายที่เกี่ยวข้องกับสิ่งที่ชอบ
8 unix  shell  logging 

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