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

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

4
เรียกใช้แอป GUI บนคอมพิวเตอร์ระยะไกลจาก SSH
ฉันต้องการเรียกใช้แอปพลิเคชัน GUI บนคอมพิวเตอร์ Ubuntu ของฉัน แต่ควรเริ่มต้นด้วยสคริปต์เชลล์บนเซิร์ฟเวอร์ Debian ของฉันได้ลอง SSH เป็นไปได้ไหม
10 linux  command-line  ssh  shell  gui 

5
Mac จะช่วยฉันเรียนรู้ Linux หรือไม่
ฉันทำงานกับ Mac สัปดาห์ที่แล้วเป็นครั้งแรก ฉันสังเกตเห็นว่าเชลล์นั้นคล้ายกับ Linux มาก โดยปกติฉันจะพัฒนาบนเครื่อง Windows และมักจะเป็น noob ในทุกสิ่ง Linux Mac จะช่วยฉันในเรื่องนี้หรือจะทำให้สิ่งเลวร้ายลงสำหรับฉันเนื่องจากความแตกต่างเล็กน้อยในระบบปฏิบัติการ Mac
10 linux  macos  shell 


3
ฉันจะเปลี่ยนเชลล์เริ่มต้นของฉันเพื่อใช้ ZSH ใน Ubuntu ได้อย่างไร [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ปิดให้บริการใน8 ปีที่ผ่านมา ซ้ำเป็นไปได้: ฉันจะทำให้ Bash เปลือกเริ่มต้นของฉันบน Ubuntu ได้อย่างไร ฉันต้องการเปลี่ยนเชลล์เริ่มต้นใน Ubuntu เป็น ZSH คำสั่งให้ทำคืออะไร

3
คิดออกว่าเส้นทางที่ไม่ใช่ symlink จะเป็นอย่างไร
บนลีนุกซ์ถ้าฉันมีซีดีอยู่แล้วและตอนนี้อยู่ในไดเรกทอรีแล้วมีวิธีที่จะคิดออกว่าเส้นทางที่แท้จริงไปยังไดเรกทอรีนั้นคืออะไรถ้าฉันไม่ได้ใช้ลิงก์สัญลักษณ์เพื่อไปที่นั่น พิจารณา: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4/5 5 $ cd 5 $ pwd /home/dave/tmp/5 หรือ: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4 4 $ cd 4/5 $ pwd /home/dave/tmp/4/5 มีวิธีที่จะคิดออกว่า / home / dave / tmp / 5 เป็นจริง / …

5
วิธีคัดลอกไฟล์ (เริ่มต้นด้วยจุด) ที่ซ่อนอยู่และไดเรกทอรีย่อยใน linux?
วิธีคัดลอกไฟล์ที่ซ่อนอยู่และไดเรกทอรีย่อยที่ซ่อนอยู่ (ไฟล์ที่ขึ้นต้นด้วยจุด) ในโฟลเดอร์ A ไปยังโฟลเดอร์ B เช่นถ้าฉันมีโครงสร้างนี้: A/a A/b A/.a A/.b/ A/.b/somefile A/.b/.c ฉันต้องการคัดลอกไปที่ B เพียงไฟล์ที่ซ่อนและไดเรกทอรีย่อยที่ซ่อนอยู่ใน A: B/.a B/.b/ B/.b/somefile B/.b/.c ผมได้พยายามแล้วคำสั่งนี้: cp A/.* Bจากคำถาม superuser อื่น ๆ อย่างไรก็ตามมันไม่ได้คัดลอกไดเรกทอรีย่อย ลองcp -r A/.* Bแล้ว แต่มันก็อปปี้.ดังนั้นฉันจึงลงท้ายด้วยสำเนาที่แน่นอนของ A (รวมถึงไฟล์ปกติ) ความช่วยเหลือใด ๆ ที่ชื่นชม

2
FileZilla: ฉันสามารถรันคำสั่ง remote shell ผ่านไคลเอนต์ FileZilla ได้หรือไม่
ฉันมีคำถามง่าย ๆ ฉันสามารถรันคำสั่ง remote shell บนเซิร์ฟเวอร์ผ่านทางไคลเอนต์ FileZilla ได้หรือไม่ เช่นฉันสามารถทำ: tar -zxvf myarchive.tar.gz อื่น ๆ ... (ไม่คิดว่ามันเป็นไปได้ด้วย FTP ธรรมดาสงสัยเกี่ยวกับโปรโตคอลอื่น ๆ ที่เสนอโดย FileZilla) ขอบคุณ

1
ทำไมคำสั่งบางคำสั่ง (ยาวบ่อย) อ่านไม่ออกใน bash & zsh
หลายครั้งที่ฉันป้อนคำสั่งแบบยาวใน bash หรือ zsh (นี่เป็นเพียงกระสุนสองตัวที่ฉันคิดว่าฉันเห็นนี่) เคอร์เซอร์วาร์ปไปที่ไหนสักแห่งที่อยู่กลางสตริงที่ฉันป้อนทุกคนสามารถอธิบายได้ว่าทำไมถึงเป็นเช่นนี้ และถ้าบางสิ่งสามารถทำได้เกี่ยวกับเรื่องนี้? ฉันสังเกตเห็นว่าสิ่งนี้มักจะเกิดขึ้นเมื่อฉันเรียกดูประวัติของเชลล์ของฉัน (โดยใช้ปุ่มลูกศร) เมื่อฉันพบรายการที่ยาวรายการใหม่ที่ยาวจะผสมกับรายการก่อนหน้าโดยแสดงข้อความที่อ่านไม่ออก ฉันมีตัวอย่างที่มีสตริงสั้น ๆ ซึ่งฉันเพิ่งสังเกตเห็น: ประวัติประกอบด้วย: mkdir sune1 mkdir sune2 ถ้าฉันนำทางไปmkdir sune1และหลังจากนั้นจะmkdir sune2ผมจะคาดหวังบรรทัดคำสั่งของฉันจะmkdir sune2(ตั้งแต่นี้เป็นสิ่งที่ฉันได้ในขณะนี้เพื่อสำรวจ) - mkdir1sune2แต่ฉันได้รับ ฉันสังเกตเห็นสิ่งนี้บ่อย ๆ เป็นเวลาหลายปี แต่อย่าให้มันรบกวนฉันมากเกินไป แต่ฉันคิดว่ามันถึงเวลาสำหรับการเปลี่ยนแปลงแล้ว! ดังนั้นความคิดใด ๆ
10 bash  shell  zsh 

3
จะใช้คำสั่ง updatedb ในฐานะผู้ใช้ธรรมดาได้อย่างไร?
locateคำสั่งเป็นเครื่องมือที่มีประโยชน์มากในลินุกซ์ แต่ดูเหมือนว่ารากเท่านั้นที่สามารถเรียกใช้updatedbคำสั่งซึ่งเป็น unconvinent มากที่จะใช้มัน ดังนั้นวิธีการทำให้ผู้ใช้สามัญมีสิทธิ์ในการเรียกใช้คำสั่ง updateb? updatedb คือคำสั่งที่ใช้เพื่ออัพเดต db ที่ใช้โดยคำสั่งค้นหา แต่มีข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อพยายามเรียกใช้ updateb ในฐานะผู้ใช้ธรรมดา: [mirror@home code]$ updatedb updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db' หรือ: updatedb -o db updatedb: can not change group of file `/var/lib/gforge/chroot/home/users/bigmeow/tmp/db.uhEZFQ': Operation not permitted
10 linux  shell  search  locate 

3
วิธีการเปลี่ยนเปลือกเริ่มต้นสำหรับ Linux susbsystem สำหรับ Windows
ฉันติดตั้งระบบย่อย Linux สำหรับ Windows 10 ทำงานได้ดี แต่ฉันต้องการเปลี่ยนสภาพแวดล้อมเชลล์เริ่มต้นสำหรับระบบย่อย ฉันได้แล้วsudo apt-get install fish chsh -s /usr/bin/fishแต่เมื่อฉันเริ่มต้นbash.exeใน Windows มันจะเริ่มทุบตี (ฉันคิดว่ามันคาดเดาได้) ไม่มีใครรู้ว่าข้อโต้แย้งที่จะเปลี่ยนพฤติกรรมนี้?

2
หน้าจอ GNU: ไม่สามารถใช้คำสั่งคัดลอกข้อมูลได้ยกเว้นว่ามีการแนบหน้าจอหรือไม่
ฉันมีสคริปต์ต่อไปนี้ screen -d -m -S $1 #start screen minimized screen -S $1 -X stuff "$beast " #stuff commands เว้นแต่ฉันจะแนบหน้าจอก่อนดูเหมือนว่าผลกระทบของสิ่งต่าง ๆ จะไม่ทำอะไรเลย? เหตุใดจึงเป็นเช่นนี้และฉันจะแก้ไขสคริปต์นี้ได้อย่างไรจึงไม่ต้องแนบหน้าจอ

2
ฉันขอเก็บ และ .. จาก. * การขยายตัว?
ฉันมักจะพบว่ามันน่ารำคาญ (หรือแย่กว่า) เมื่อฉันพิมพ์ command .* ใน bash และคำสั่งใช้กับไดเร็กทอรีพาเรนต์และไดเร็กทอรีปัจจุบัน มีบางตัวเลือกเปลือกหรือการกำหนดค่าอื่น ๆ ที่ฉันสามารถปรับแต่งเพื่อให้ทุบตียกเว้น.และ..จากการขยายตัวของ.*?

2
วิธีรับรายการกระบวนการลูกทั้งหมดที่เกิดจากสคริปต์
บริบท: ผู้ใช้ระบุสคริปต์ที่กำหนดเองเพื่อเรียกใช้ สคริปต์เหล่านี้อาจเป็นประเภทใด ๆ เช่นสคริปต์เพื่อเริ่มโปรแกรม GUI หลาย ๆ บริการแบ็กเอนด์ ฉันไม่สามารถควบคุมวิธีการเขียนสคริปต์ได้ สคริปต์เหล่านี้สามารถเป็นประเภทการบล็อกเช่นการดำเนินการรอจนกว่ากระบวนการลูกทั้งหมด (โปรแกรมที่ทำงานตามลำดับ) ออก #exaple of blocking script echo "START" first_program second_program echo "DONE" หรือประเภทการปิดกั้นที่ไม่ใช่ประเภทที่แยกเด็กกระบวนการในพื้นหลังและออกจากสิ่งที่ชอบ #example of non-blocking script echo "START" first_program & second_program & echo "DONE" ฉันพยายามทำอะไรให้สำเร็จ ผู้ใช้ให้สคริปต์สามารถเป็นหนึ่งในสองประเภทข้างต้นหรือผสมกันทั้งสอง งานของฉันคือเรียกใช้สคริปต์และรอจนกว่ากระบวนการทั้งหมดที่เริ่มต้นโดยจะออกจากนั้นปิดโหนด หากเป็นประเภทการบล็อกกรณีง่าย ๆ คือรับ PID ของกระบวนการดำเนินการสคริปต์และรอจนกระทั่ง ps -ef | grep -ef PID …

2
kill 0 ทำอะไรได้จริง
ในman page, มันบอกว่า: 0 All processes in the current process group are signaled และฉันลองแบบนี้: $ man kill & [1] 15247 $ [1]+ Stopped man kill $ kill 0 $ ps 15247 pts/41 00:00:00 man ขณะที่ผมเข้าใจจะฆ่ากระบวนการทั้งหมดในกระบวนการปัจจุบันซึ่งรวมถึงkill 0 pid15247อย่างไรก็ตามมันไม่ได้ทำอะไรในตัวอย่างนี้ ใครบ้างมีความคิดเกี่ยวกับวิธีการใช้งานหรือไม่
10 linux  shell  unix  process  kill 


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