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

Bash (Bourne-Again SHell) เป็นเชลล์ที่ใช้ในอินเตอร์เฟสบรรทัดคำสั่งของ Ubuntu ตามค่าเริ่มต้น

2
ฉันจะทุบตีเตือนฉันได้อย่างไรเมื่อเขียนทับไฟล์ที่มีอยู่
ฉันคิดว่าชื่อนั้นค่อนข้างอธิบายตนเองได้ ทั้งหมดที่ฉันต้องการคือทุบตีเพื่อเตือนฉันเมื่อฉันพยายามที่จะเขียนทับที่มีอยู่ในขณะที่ใช้หรือcp mvฉันขอขอบคุณความช่วยเหลือ :)
34 bash 

6
แสดงคำว่า "cowsay" ในทุกเทอร์มินัลเซสชันใหม่
ฉันต้องการแสดงcowsayข้อความในทุกหน้าต่างเทอร์มินัล คำสั่งที่ฉันใช้คือ fortune | cowsay แนวคิดใดบ้างที่จะทำให้ปรากฏเมื่อใดก็ตามที่ฉันเริ่มเซสชันเทอร์มินัลใหม่

5
การใช้คำสั่งคืออะไร: `command '?
เมื่อเร็ว ๆ นี้ฉันพบคำสั่ง: commandซึ่งไม่มีรายการคู่มือ แต่ความช่วยเหลือแสดงดังต่อไปนี้: $ help command command: command [-pVv] command [arg ...] Execute a simple command or display information about commands. Runs COMMAND with ARGS suppressing shell function lookup, or display information about the specified COMMANDs. Can be used to invoke commands on disk when a function with …

10
ls จะแสดงรายการไฟล์ที่ rm จะลบเสมอหรือไม่
สิ่งที่ฉันรู้สึกว่าฉันควรจะรู้แน่นอน: ถ้าฉันls <something>จะrm <something>ลบไฟล์เดียวกับที่lsแสดงหรือไม่ มีสถานการณ์ใดบ้างที่rmสามารถลบไฟล์ที่lsไม่แสดง (นี่คือใน 18.04 bash) แก้ไข: ขอบคุณทุกคนที่ตอบ ฉันคิดว่าคำตอบแบบเต็มคือการรวมกันของคำตอบทั้งหมดดังนั้นฉันจึงยอมรับคำตอบที่ได้รับการโหวตมากที่สุดว่า "คำตอบ" สิ่งที่ไม่คาดคิดที่ฉันได้เรียนรู้ระหว่างทาง: ls ไม่ตรงไปตรงมาอย่างที่คุณคิดในการจัดการกับข้อโต้แย้ง ในการติดตั้งอูบุนตูง่ายๆโดยใช้นามแฝง. bashrc ls อย่าตั้งชื่อไฟล์ของคุณที่ขึ้นต้นด้วยเส้นประเนื่องจากมันสามารถดูเหมือนอาร์กิวเมนต์คำสั่งและการตั้งชื่อหนึ่ง -r กำลังขอมัน!
33 bash  18.04  ls  rm  hidden-files 

1
“ -” ใน“ bash -” หมายถึงอะไร?
อะไรbash -เฉลี่ยในรหัสเปลือกทุบตีต่อไปนี้หรือไม่? ดูเหมือนว่าจะใช้ในการส่งออกรหัสสุดท้ายเป็นอินพุท ถ้าเป็นเช่นนั้นฉันจะเขียนมันเป็นbashหรือxargs bash? curl --silent --location https://rpm.nodesource.com/setup | bash -

2
สคริปต์จะตรวจจับเวลาว่างของผู้ใช้ได้อย่างไร
ฉันต้องการตรวจสอบภายในสคริปต์ทุบตีว่าผู้ใช้ของเซสชัน X ไม่มีการใช้งานนานเท่าใด ผู้ใช้เองไม่จำเป็นต้องใช้ bash แต่เป็นเพียง X ถ้าผู้ใช้เลื่อนเม้าส์ตัวอย่างคำตอบที่ดีคือ "ไม่ได้ใช้งานเป็นเวลา 0 วินาที" หากเขาไม่ได้สัมผัสคอมพิวเตอร์ใน 5 นาทีคำตอบที่ดีก็คือ "ว่าง 300 วินาที" เหตุผลที่ไม่ใช้ xautolock ทันทีเพื่อให้สามารถใช้พฤติกรรมที่ซับซ้อนได้ ตัวอย่างเช่นหากผู้ใช้ไม่ได้ใช้งานเป็นเวลา 10 นาทีให้ลองระงับหากเขาไม่ได้ใช้งานนานกว่า 5 นาทีให้ปิดเครื่อง (ฉันรู้ว่ามันฟังดูแปลก แต่การระงับไม่ได้ทำงานที่นี่เสมอ ... )
33 xorg  bash 

8
คุณส่งออกชื่อไฟล์ในคำสั่ง find ขณะใช้ -exec ได้อย่างไร
ฉันใช้บรรทัดต่อไปนี้เพื่อค้นหาไดเรกทอรีย่อยทั้งหมดของ PWD และเรียกใช้svnadmin verifyในแต่ละไดเรกทอรี (ฉันรู้อยู่แล้วว่าพวกเขาเป็นที่เก็บข้อมูลการโค่นล้ม) find ./* -maxdepth 0 -exec svnadmin verify {} \; สิ่งนี้ทำงานได้ดีนอกเหนือจากข้อเท็จจริงที่ว่าผลลัพธ์จะเป็นดังนี้: * Verifying repository metadata ... * Verifying metadata at revision 1 ... * Verifying metadata at revision 2 ... * Verifying metadata at revision 4 ... * Verifying metadata at revision 5 ... * Verifying …

9
ชื่อไฟล์ที่มีช่องว่างสำหรับลูปค้นหาคำสั่ง
ฉันมีสคริปต์ที่ค้นหาไฟล์ทั้งหมดในหลาย ๆ โฟลเดอร์ย่อยและเก็บถาวรเพื่อ tar สคริปต์ของฉันคือ for FILE in `find . -type f -name '*.*'` do if [[ ! -f archive.tar ]]; then tar -cpf archive.tar $FILE else tar -upf archive.tar $FILE fi done คำสั่ง find ให้ผลลัพธ์ต่อไปนี้แก่ฉัน find . -type f -iname '*.*' ./F1/F1-2013-03-19 160413.csv ./F1/F1-2013-03-19 164411.csv ./F1-FAILED/F2/F1-2013-03-19 154412.csv ./F1-FAILED/F3/F1-2011-10-02 212910.csv …
33 bash  scripts  find 

3
จะบันทึกประวัติเทอร์มินัลด้วยตนเองได้อย่างไร
ฉันเข้าใจว่าไฟล์ประวัติถูกอัพเดตเมื่อเทอร์มินัลออก แต่บางครั้งคอมพิวเตอร์ของฉันก็ล่มและเทอร์มินัลก็ไม่ออกอย่างหมดจดจากนั้นฉันก็สูญเสียคำสั่งเหล่านั้นจากประวัติของฉันซึ่งน่ารำคาญ ฉันจะทำให้ล้างข้อมูลได้ทันทีเพื่อให้รายการยังคงอยู่ที่นั่นแม้ว่าคอมพิวเตอร์ของฉันจะล่มสลาย ในขณะนี้ฉันใช้วิธีแก้ปัญหานี้แต่ฉันรู้สึกว่าควรมีวิธีที่ดีกว่า ฉันใช้ gnome-terminal กับ Ubuntu 12.10

4
เหตุใดฉันจึงไม่สามารถไปที่เครื่องหมายตัวหนอน ('~') ได้?
การเขียนสคริปต์แรกของฉันดังนั้นฉันจึงมั่นใจว่านี่เป็นคำถามพื้นฐาน แต่มีคนช่วยอธิบายให้ฉันหน่อยได้ไหมว่าทำไมฉันถึงทำได้: cd ~ cd bin cd ~/bin cd 'bin' แต่ไม่ cd '~' cd '~/bin' ฉันต้องไปcdยังเส้นทางไดเรกทอรีที่มีช่องว่างในหนึ่งในชื่อไดเรกทอรีดังนั้นฉันต้องการคำพูด (มันเป็น Windows Program Filesภายใต้ไวน์) ฉันสามารถแก้ไขได้ด้วยสองcdคำสั่ง แต่ทำไมฉันไม่สามารถใส่~เครื่องหมายคำพูดได้? ถ้าฉันพิมพ์cd '~'(หรือcd "~") ฉันจะได้รับ: bash: cd: ~: No such file or directory

6
เชลล์สั่งรันคำสั่งและเปลี่ยนเส้นทางสตรีมในลำดับใด
ผมพยายามที่จะเปลี่ยนเส้นทางทั้งสองstdoutและstderrไปยังแฟ้มในวันนี้และฉันมาข้ามนี้: <command> > file.txt 2>&1 นี้เห็นได้ชัดว่าการเปลี่ยนเส้นทางstderrไปstdoutก่อนแล้วจึงส่งผลให้มีการเปลี่ยนเส้นทางไปยังstdoutfile.txt อย่างไรก็ตามทำไมถึงไม่สั่งซื้อ<command> 2>&1 > file.txt? หนึ่งธรรมชาติจะอ่านหนังสือเล่มนี้เป็น (สมมติว่าการดำเนินการจากซ้ายไปขวา) คำสั่งที่กำลังดำเนินการครั้งแรกที่stderrถูกนำไปstdoutแล้วส่งผลให้ถูกเขียนไปstdout file.txtแต่ข้างต้นเท่านั้นเปลี่ยนเส้นทางstderrไปที่หน้าจอ เชลล์ตีความทั้งสองคำสั่งอย่างไร

3
“ ไฟล์ mv” และตอนนี้มันหายไป
ในหน้าต่างเทอร์มินัลฉันพิมพ์: mv filename ..\.. [Note the wrong slash.] ตอนนี้ฉันหามันไม่เจอ ที่ไปแล้ว. ฉันใช้การค้นหาและค้นหาไฟล์ที่ถูกลบที่กู้คืนได้ ไม่มีอะไร เกย์. ทำหน้าที่ให้ฉันถูกต้องสำหรับการใช้เครื่อง Windows ทันที ใครรู้ว่ามันอาจหายไปไหน?

1
ฉันจะทำให้ cowsay พูดบางสิ่งได้ทุกครั้งที่ปิดเทอร์มินัลได้อย่างไร
ฉันต้องการ cowsay เพื่อพิมพ์บางอย่างเช่น "มีวันที่ดี" เมื่อฉันปิดสถานี ฉันรู้ว่าฉันต้องมีสคริปต์บางอย่าง แต่ฉันไม่แน่ใจด้วยซ้ำว่าจะเขียนสคริปต์หรือใช้อย่างไรเมื่อมีการเขียน คำแนะนำใด ๆ?
32 bash  scripts 


6
วิธีการตรวจสอบกระบวนการกำลังทำงานอยู่หรือไม่
ฉันต้องการตรวจสอบกระบวนการเฉพาะในการทำงานหรือไม่ ฉันอ่านคำถามและคำตอบนี้ แต่ฉันไม่ได้รับการแก้ปัญหาเฉพาะใด ๆ ต่อไปนี้เป็นตัวอย่างที่ฉันพยายาม: ฉันได้สร้างไฟล์และเรียกใช้สคริปต์นี้บนพื้นหลังเช่นabc.shsh abc.sh & ตอนนี้ไฟล์นี้กำลังทำงานบนพื้นหลังและฉันใช้ps aux | grep "abc"คำสั่ง ต่อไปนี้เป็นผลลัพธ์ของคำสั่งนี้: prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep --color=auto abc หลังจากนั้นฉันหยุดabc.shสคริปต์ทำงานและยิงคำสั่งเดียวกันps aux | grep "abc"คำสั่ง แต่ฉันได้รับผลลัพธ์เดียวกันเช่น: prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep --color=auto abc มีวิธีอื่นในการค้นหากระบวนการที่กำลังทำงานอยู่หรือไม่?

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