Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

4
วิธีรับ pid ของคำสั่งที่ดำเนินการครั้งสุดท้ายในเชลล์สคริปต์?
ฉันต้องการมีเชลล์สคริปต์เช่นนี้: my-app & echo $my-app-pid แต่ฉันไม่ทราบวิธีการรับ pid ของคำสั่งที่ดำเนินการเพียง ฉันรู้ว่าฉันสามารถใช้jobs -p my-appคำสั่งเพื่อ grep pid แต่ถ้าฉันต้องการรันเชลล์หลาย ๆ ครั้งวิธีนี้จะไม่ทำงาน เพราะjobspecไม่ชัดเจน

16
เป็นไปได้ไหมที่จะเห็นความเร็ว cp และเปอร์เซ็นต์การคัดลอก
ฉันมีปัญหาเมื่อคัดลอกไฟล์ขนาดใหญ่โดยใช้หอยโข่ง (ติดอยู่) cpฉันต้องคัดลอกโดยใช้ ฉันต้องการทราบว่ามีพารามิเตอร์ใด ๆ ที่แสดง% คัดลอกและความเร็วในการถ่ายโอนหรือไม่
251 cp 

5
ขดมีการหมดเวลาหรือไม่?
จนถึงตอนนี้ฉันไม่สามารถพบสิ่งใดได้จริง แต่มันเป็นความจริงที่curlไม่ได้หมดเวลาเลยใช่ไหม user@host:~# curl http://localhost/testdir/image.jpg ฉันถามเพราะฉันเปลี่ยนเส้นทางการร้องขอภาพtestdirไปยังโมดูล Apache แยกต่างหากซึ่งสร้างภาพเหล่านั้นได้ทันที อาจใช้เวลาสูงสุด 15 นาทีก่อนที่ภาพจะพร้อมใช้งานจริงและส่งไปยังลูกค้าที่ขอ จะcurlรอ (หรือขึ้นอยู่กับการกำหนดค่า) หรือหมดเวลาหรือไม่
251 curl  timeout 

12
ฉันจะวนซ้ำไดเรกทอรีต่างๆใน bash ได้อย่างไร
ฉันมีโฟลเดอร์ที่มีไดเรกทอรีและไฟล์บางไฟล์ (บางไฟล์ถูกซ่อนอยู่เริ่มต้นด้วยจุด) for d in *; do echo $d done จะวนซ้ำไฟล์ทั้งหมด แต่ฉันต้องการวนซ้ำผ่านไดเรกทอรีเท่านั้น ฉันจะทำอย่างไร
249 bash  files  directory 

3
ฉันต้องหลบตัวละครอะไรเมื่อใช้ sed ในสคริปต์ sh?
ใช้สคริปต์ต่อไปนี้: #!/bin/sh sed 's/(127\.0\.1\.1)\s/\1/' [some file] หากฉันพยายามเรียกใช้สิ่งนี้ในsh( dashที่นี่) มันจะล้มเหลวเนื่องจากวงเล็บซึ่งต้องหลีกหนี แต่ฉันไม่จำเป็นต้องหลบหลีกแบ็กสแลชตัวเอง (ระหว่างออคเต็ตหรือใน\sหรือ\1) กฎนี่คืออะไร สิ่งที่เกี่ยวกับเมื่อฉันจำเป็นต้องใช้{...}หรือ[...]? มีรายการสิ่งที่ฉันทำและไม่จำเป็นต้องหลบหนีหรือไม่?

13
ฉันกำลังใช้เซิร์ฟเวอร์ DNS ใด
ฉันจะตรวจสอบว่าฉันใช้เซิร์ฟเวอร์ DNS ใด (ใน Linux) ฉันใช้ตัวจัดการเครือข่ายและการเชื่อมต่อแบบใช้สายกับ LAN ในมหาวิทยาลัยของฉัน (ฉันกำลังพยายามหาสาเหตุที่โดเมนของฉันไม่ได้รับการแก้ไข)
248 networking  dns 

16
ฉันจะรัน ssh-add อัตโนมัติได้อย่างไรโดยไม่ต้องใส่รหัสผ่าน?
ฉันต้องการสื่อสารระหว่างคอมพิวเตอร์หลายเครื่องบนเครือข่ายของฉัน (สแตติกอีเธอร์เน็ต) ผ่าน SSH เพื่อที่จะทำเช่นนั้นฉันจำเป็นต้องเรียกใช้ ssh-add ทุกครั้งที่ฉันเข้าสู่ระบบบนเครื่องที่เฉพาะเจาะจงฉันจะทำมันได้อย่างไรเพื่อให้มันตั้งขึ้นหนึ่งครั้งและไม่ถามฉันสำหรับวลีรหัสผ่านทุกครั้งที่ฉันเข้าสู่ระบบหรือรีบูต เครื่องของฉัน ฉันรู้ว่ามีวิธีที่คุณควรเพิ่มบางบรรทัดในbash_profileไฟล์ แต่ฉันยังต้องพิมพ์รหัสผ่านทุกครั้งที่ฉันรีบูต / เข้าสู่ระบบไปยังเครื่องเฉพาะ if [ -z "$SSH_AUTH_SOCK" ] ; then eval `ssh-agent -s` ssh-add fi
247 ssh  ssh-agent 


3
ตัวควบคุมและการเปลี่ยนเส้นทางของเชลล์คืออะไร
ฉันมักจะเห็นบทเรียนออนไลน์ที่เชื่อมต่อคำสั่งต่าง ๆ ด้วยสัญลักษณ์ที่แตกต่างกัน ตัวอย่างเช่น: command1 | command2 command1 & command2 command1 || command2 command1 && command2 คนอื่น ๆ ดูเหมือนจะเชื่อมต่อคำสั่งกับไฟล์: command1 > file1 command1 >> file1 สิ่งเหล่านี้คืออะไร พวกเขาเรียกว่าอะไร พวกเขาทำอะไร? มีอะไรอีกบ้าง? Meta หัวข้อเกี่ยวกับคำถามนี้ .

6
อะไรคือความแตกต่างระหว่างโอเปอเรเตอร์ Bash [[vs [vs (vs (vs))
ฉันสับสนเล็กน้อยเกี่ยวกับสิ่งที่ตัวดำเนินการเหล่านี้ทำแตกต่างกันเมื่อใช้ในการทุบตี [[ , [ , ( , (( ฉันเคยเห็นคนใช้พวกเขาถ้างบเช่นนี้: if [[condition]] if [condition] if ((condition)) if (condition)
245 bash  shell  test 

8
ลบไฟล์ / ไดเรกทอรีทั้งหมดยกเว้นไฟล์เดียว
ฉันมีไดเรกทอรีที่มีไฟล์จำนวนมาก ฉันต้องการลบไฟล์ทั้งหมดยกเว้น file.txt ฉันจะทำสิ่งนี้ได้อย่างไร มีไฟล์จำนวนมากเกินกว่าที่จะลบไฟล์ที่ไม่ต้องการทีละรายการและชื่อของพวกเขามีความหลากหลายเกินกว่าที่จะใช้ * เพื่อลบไฟล์ทั้งหมดยกเว้นไฟล์เดียว มีคนแนะนำให้ใช้ rm !(file.txt) แต่มันไม่ทำงาน มันกลับมา: Badly placed ()'s ระบบปฏิบัติการของฉันคือ Scientific Linux 6 ความคิดใด ๆ


14
ฉันจะใช้ sed เพื่อแทนที่สตริงหลายบรรทัดได้อย่างไร
ฉันสังเกตเห็นว่าถ้าฉันเพิ่ม\nรูปแบบสำหรับการทดแทนโดยใช้sedมันไม่ตรงกัน ตัวอย่าง: $ cat > alpha.txt This is a test Please do not be alarmed $ sed -i'.original' 's/a test\nPlease do not/not a test\nBe/' alpha.txt $ diff alpha.txt{,.original} $ # No differences printed out ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร

9
ฉันจะส่งอาร์กิวเมนต์บรรทัดคำสั่งไปยังเชลล์สคริปต์ได้อย่างไร
ฉันรู้ว่าเชลล์สคริปต์เพียงแค่เรียกใช้คำสั่งราวกับว่าพวกเขาถูกดำเนินการในที่พรอมต์คำสั่ง ฉันต้องการที่จะสามารถเรียกใช้เชลล์สคริปต์ราวกับว่าพวกเขาเป็นฟังก์ชั่น ... นั่นคือการใส่ค่าหรือสตริงลงในสคริปต์ ฉันจะทำสิ่งนี้ได้อย่างไร


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