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

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

2
บีบอัดเป็น. tgz
ฉันต้องการบีบอัดไฟล์เป็น. tgz ฉันรู้วิธีทำ tar.gz (กับ tar และ gzip) และบางคนบอกว่ามันเกือบจะเหมือนกัน แต่ฉันต้องทำ. tgz ได้อย่างไร
54 bash  compression  tar  gzip 

6
sudo: source: ไม่พบคำสั่ง
ฉันได้อัปเดตโปรไฟล์เริ่มต้นบางส่วนสำหรับการทุบตีและจากบทเรียนที่ฉันติดตามฉันสามารถโหลดโปรไฟล์ใหม่ด้วยการตั้งค่าสภาพแวดล้อมใหม่โดยใช้: source /etc/bash.bashrc สิ่งเดียวคือ - ตัวแปรสภาพแวดล้อมใหม่พร้อมใช้งานสำหรับผู้ใช้ปัจจุบันของฉันเท่านั้น - และถูกละเว้นเมื่อฉันใช้ sudo พวกเขาพร้อมที่จะ sudo เมื่อฉันปิดเซสชันเทอร์มินัลของฉันและเข้าร่วมอีกครั้ง เมื่อฉันพยายามใช้: sudo source /etc/bash.bashrc ฉันได้รับข้อผิดพลาด: sudo: source: command not found มีวิธีง่าย ๆ ในการโหลดการตั้งค่าโปรไฟล์ bash ใหม่สำหรับ sudo โดยไม่ต้องปิดเครื่องและรีสตาร์ทหรือไม่? - เริ่มแรกฉันใช้สคริปต์ตัวติดตั้งซึ่งอ้างอิงตัวแปร ฉันพบว่าในขณะที่พวกเขาสามารถเข้าถึงตัวแปรเมื่อฉันเรียกใช้สคริปต์โดยตรง (แม้ว่าสิ่งนี้จะทำให้เกิดปัญหาในภายหลังด้วยการสร้างไดเรกทอรีตามที่ฉันต้องการเพื่อรูท) การเรียกใช้สคริปต์การติดตั้งโดยใช้ sudo จะไม่เกิดขึ้น ฉันพิสูจน์โดยการทดสอบด้วยคำสั่งง่ายๆเหล่านี้: echo $ENV_VARIABLE sudo echo $ENV_VARIABLE อันแรกจะเอาท์พุทค่าของตัวแปร แต่อันที่สองจะไม่เอาท์พุทอะไรเลย


11
วิธีการลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรีโดยไม่ต้องลบไดเรกทอรีในทุบตี?
มีคำสั่งให้ลบไฟล์และไดเรกทอรีย่อยทั้งหมดในไดเรกทอรีโดยไม่ลบไดเรกทอรีหรือไม่ ตัวอย่างเช่นถ้าฉันมีไดเรกทอรี "dontDeleteMe" ที่มีไดเรกทอรีย่อย "1", "2", "3" และแต่ละไดเรกทอรีย่อยมีรูปภาพไม่กี่ภาพฉันจะลบไดเรกทอรีย่อย "1", "2" และ "3" ได้อย่างไร และไฟล์ทั้งหมดในนั้นโดยไม่ลบไดเรกทอรีหลัก "dontDeleteMe" หรือไม่

2
การแสดงบรรทัดใหม่บนพรอมต์
ฉันต้องการเพิ่มบรรทัดใหม่ในทุก ๆ ครั้ง แทนที่จะแสดงเคอร์เซอร์บนเส้นเป็น name@machine:~$ _, ฉันต้องการให้มันอยู่ในบรรทัดถัดไปเช่น: name@machine:~$ _ ขอบคุณ
53 bash  scripts 

7
ฉันจะแก้ไข PATH ของฉันได้อย่างไรเพื่อให้การเปลี่ยนแปลงนั้นมีอยู่ในเซสชันเทอร์มินัลทุกครั้ง
ฉันต้องการเพิ่มไดเรกทอรีเพื่อค้นหาเส้นทางการค้นหาของฉัน ฉันรู้ว่าฉันต้องแก้ไขPATHตัวแปรสภาพแวดล้อม อย่างไรก็ตามฉันต้องการให้การเปลี่ยนแปลงเป็นแบบถาวรเพื่อให้มีผลเสมอสำหรับทุกหน้าต่างเทอร์มินัล (ทุบตี) ที่ฉันเปิด มีข้อมูลที่สับสนและอาจเกิดความขัดแย้งมากเกินไปในhttps://help.ubuntu.com/community/EnvironmentVariables ฉันใช้ Ubuntu 10.04 สมมติว่าผมต้องการที่จะเพิ่มของฉัน/usr/local/foo PATHซึ่งไฟล์ ( .bashrc, .profile, .bash_loginฯลฯ ... ) ฉันควรแก้ไขและสิ่งที่บรรทัดใหม่ (s) ควรมีลักษณะอย่างไร

2
เหตุใดจึงมี / bin / echo และทำไมฉันต้องการใช้
ฉันสังเกตเห็นว่ามีระบบปฏิบัติการไบนารี/bin/echoบน Ubuntu MATE 17.04 ของฉัน ฉันคิดว่ามันแปลกเพราะ $ type echo echo is a shell builtin การทดสอบแบบคร่าวๆแสดงให้เห็นว่า/bin/echoสิ่งเดียวกันกับ Bash builtin echo: $ /bin/echo foo foo $ /bin/echo $USER zanna เหตุใดจึงมีรุ่นอื่นechoแยกต่างหากจากโปรแกรม Bash และเพราะเหตุใดหรือเมื่อใดฉันจึงต้องการใช้



4
ฉันจะส่งข้อความมือถือจากเทอร์มินัลได้อย่างไร
ฉันเพิ่งทำโทรศัพท์หาย ฉันรู้ว่ามันอยู่ที่นี่ในบ้านของฉันเพราะฉันใช้มันเมื่อคืนและลำโพงบลูทู ธ ของฉันจะเชื่อมต่อกับมันเมื่อเช้านี้ ฉันจะส่งข้อความโทรศัพท์โดยใช้ bash ได้อย่างไร จากนั้นการแจ้งเตือนทางโทรศัพท์จะดังขึ้นและฉันสามารถค้นหาโทรศัพท์ของฉันได้ หมายเหตุ:ฉันขอโซลูชัน bash เพราะง่ายกว่าการติดตั้งและกำหนดค่า GUI นอกจากนี้ฉันรู้สึกสะดวกสบายในการทำงานกับ bash มากกว่า python, HTML หรือ java และสุดท้าย bash solution จะทำงานใน Windows 10 เมื่อคุณใช้ระบบย่อย Windows สำหรับ Linux ( WSL ) หมายเหตุ 2:ตอบกลับความคิดเห็น: ฉันไม่มีโทรศัพท์บ้านดังนั้นฉันจึงไม่สามารถโทรหาสมาร์ทโฟนของฉันได้ เวลา 6 โมงเช้าของวันอาทิตย์เมื่อฉันทำโทรศัพท์หาย คนที่ฉันสามารถส่งอีเมลเพื่อโทรหาโทรศัพท์ของฉันกำลังนอนหลับอยู่ ฉันไม่แน่ใจเกี่ยวกับระดับการชาร์จแบตเตอรี่และถ้ามันตายฉันก็ไม่สามารถส่งข้อความได้ ไม่กี่สัปดาห์ก่อนหน้านี้ฉันปิดการแจ้งเตือนด้วยเสียงทางอีเมลบนสมาร์ทโฟนของฉันดังนั้นฉันจึงไม่สามารถส่งอีเมลตัวเองได้ ฉันไม่มีskypeหรือผู้ให้บริการVOIP หลังจาก 30 นาทีฉันหาสมาร์ทโฟนโดยส่งข้อความโดยใช้คำตอบที่ฉันโพสต์ด้านล่าง มันถูกซ่อนอยู่ใต้ 4 "ชั้นวางของเฟอร์นิเจอร์สูงจากพื้นในห้องนั่งเล่น ...

5
ไม่สามารถแหล่ง. bashrc ได้สำเร็จจากเชลล์สคริปต์
โดยปกติเราสามารถซอร์ส~/.bashrcไฟล์โดยใช้คำสั่งนี้ source ~/.bashrc แต่ถ้าฉันเขียนสิ่งนี้ในเชลล์สคริปต์และดำเนินการมันจะไม่มีอะไรเกิดขึ้น ทำไม? มีวิธีการทำเช่นนี้? สคริปต์ของฉัน: #!/bin/bash chmod a+x ~/.bashrc source ~/.bashrc นอกจากนี้ยังพยายาม.(dot) sourceแทน ผลลัพธ์เดียวกัน
51 bash  scripts  bashrc 

12
ลบไฟล์ทั้งหมดยกเว้นไฟล์ที่มีนามสกุลไฟล์ PDF ในไดเรกทอรี
ฉันมีไดเรกทอรีที่มีดังต่อไปนี้: x.pdf y.zip z.mp3 a.pdf ฉันต้องการที่จะลบไฟล์ทั้งหมดนอกเหนือจากและx.pdf a.pdfฉันจะทำสิ่งนี้ได้อย่างไรจากเครื่องเทอร์มินัล ไม่มีไดเรกทอรีย่อยดังนั้นจึงไม่จำเป็นต้องเรียกซ้ำ

5
การทำให้แท็บสมบูรณ์ไม่สามารถใช้คำสั่งได้
ฉันกำลังพยายามใช้การทำให้แท็บเสร็จสมบูรณ์สำหรับคำสั่งใน Ubuntu 11.04 Beta 1 ซึ่งใช้งานการอัปเดตล่าสุดทั้งหมด แต่ดูเหมือนจะไม่ทำงาน (แม้ว่าจะมีการติดตั้งแพคเกจทุบตีเสร็จสิ้นแล้ว) การทำให้แท็บเสร็จสมบูรณ์ทำงานได้อย่างถูกต้องเฉพาะกับไดเรกทอรีหรือไฟล์ ความคิดใดที่จะขุด?

7
วิธีการตรวจสอบว่าสตริงเป็นสตริงย่อยของอื่นในทุบตี?
ฉันต้องการดูว่าสตริงอยู่ในส่วนของสตริงอื่นหรือไม่ เช่น: 'ab' in 'abc' -> true 'ab' in 'bcd' -> false ฉันจะทำสิ่งนี้ในเงื่อนไขของสคริปต์ทุบตีได้อย่างไร

4
ฉันจะล้างหรือปิดใช้งานแคชหน่วยความจำได้อย่างไร
หลังจากที่ระบบเริ่มทำงานในไม่กี่นาทีแคชหน่วยความจำของฉันเต็มและมันก็เริ่มใช้การแลกเปลี่ยน นี่คือภาพหน้าจอของ / proc / meminfo อย่างไรก็ตามหากฉันสามารถปิดการใช้งานกระบวนการนี้ / ทำความสะอาดแคชได้หลังจากนั้นฉันคิดว่าระบบของฉันจะเพิ่มความเร็วได้บ้าง แก้ไขฉันถ้าฉันผิดที่นี่ ฉันได้ลองใช้การล้างหน่วยความจำ Bleachbit ด้วย แต่ดูเหมือนว่าจะไม่ได้ล้างแคชหน่วยความจำอย่างถูกต้อง นอกจากนี้คุณลักษณะนี้ยังอยู่ในขั้นทดลอง มีคำถามที่คล้ายกันโพสต์ที่นี่: ฉันจะปิดใช้งานแคช prefetch ได้อย่างไร แต่มันเกี่ยวกับ Ubuntu Server และคำตอบที่เกี่ยวข้องกับการตั้งค่าด้วยตนเองเป็นต้น ดังนั้นฉันต้องการทราบว่ามีซอฟต์แวร์บางตัวสำหรับปิดหรือเปิดใช้งาน Memory Cache สำหรับ Ubuntu 12.04 หรือไม่

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