Unix & Linux

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

3
ทำไมฉันถึงได้รับสถานะการออกที่แตกต่างกันสำหรับ ps | grep ในสคริปต์หรือไม่
ฉันใช้สคริปต์ด้านล่าง: #!/bin/bash ps ax | grep -q [v]arnish if [ $? -eq 0 ];then echo varnish is running... exit 0 else echo "Critical : varnish is not running " exit 2 fi ผลลัพธ์เป็นเหมือน :: [root@server ~]# sh -x check_varnish_pro.sh + ps ax + grep -q '[v]arnish' + '[' 0 -eq …

3
การสร้างไฟล์เก็บถาวร tar โดยไม่รวมไดเร็กทอรีพาเรนต์เมื่อไฟล์ถูกเก็บในไดเร็กทอรีอื่น
ฉันมีสี่ไฟล์ต่อไปนี้ในระบบไฟล์: /home/martin/cvs/ops/cisco/b/s1 /home/martin/cvs/ops/cisco/b/s2 /home/martin/cvs/ops/extreme/b/r3 /home/martin/cvs/ops/j/b/r5 ฉันต้องใส่ไฟล์เหล่านั้นลงในไฟล์เก็บถาวร tar แต่ฉันไม่ต้องการเพิ่มไดเรกทอรี สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือ: tar -C ~/cvs/ops/ -czvf archive.tgz cisco/b/s1 cisco/b/s2 extreme/b/r3 j/b/r5 นี่ยังไม่สมบูรณ์เพราะแต่ละไฟล์ในไฟล์เก็บถาวรมีสองไดเรกทอรีที่ลึก มีวิธีที่ดีกว่า? หรือไม่ผมก็ต้องคัดลอกs1, s2, r3และr5ไฟล์ลงในไดเรกทอรีหนึ่งและสร้างที่เก็บด้วยtar -czvf archive.tgz s1 s2 r3 r5?
11 tar 

1
ที่อยู่ IP แบบยืดหยุ่นต่างจากที่อยู่ IP แบบคงที่อย่างไร
คำถามเพิ่มเติมจาก Amazon Web Services EC2 หวังว่าจะไม่ปิดหัวข้อนี้ด้วย ฉันมีอินสแตนซ์วานิลลาอูบุนตูกับพวกเขาและปิดมัน ในการรีบูตไม่สามารถ ssh ไปที่ FQDN เพราะที่อยู่ IP ภายนอกมีการเปลี่ยนแปลง มีค่าใช้จ่ายเพิ่มเติมสำหรับ "ที่อยู่" หรือที่อยู่ IP แบบคงที่หรือไม่ ฉันจะชำระให้กึ่งถาวร เสียงที่ยืดหยุ่นเกี่ยวกับสิทธิในการพูดการตลาด หรือนี่คือมาตรการรักษาความปลอดภัยหรือไม่ ฉันเลือกที่จะมีที่อยู่ IP ภายนอก แต่เป็นบัญชีฟรี เอกสารพูดว่า: ที่อยู่ IP แบบยืดหยุ่นคือที่อยู่ IPv4 แบบคงที่ที่ออกแบบมาสำหรับการคำนวณแบบคลาวด์แบบไดนามิก ที่อยู่ IP ยืดหยุ่นนั้นเชื่อมโยงกับบัญชี AWS ของคุณ ด้วยที่อยู่ IP แบบยืดหยุ่นคุณสามารถปกปิดความล้มเหลวของอินสแตนซ์หรือซอฟต์แวร์โดยทำการแมปที่อยู่ไปยังอินสแตนซ์อื่นในบัญชีของคุณอย่างรวดเร็ว ที่อยู่ IP ยืดหยุ่นคือที่อยู่ IPv4 สาธารณะซึ่งสามารถเข้าถึงได้จากอินเทอร์เน็ต ที่อยู่ IP ภายนอกที่ฉันใช้สำหรับ ssh แตกต่างจากที่ฉันเห็นเมื่อทำงานifconfigดังนั้นพวกเขาจึงใช้ …
11 ip  hostname  amazon-ec2  hosts  aws 

2
เราจะสร้างส่วนเชื่อมต่อแบบหลายตัวบน Linux ได้อย่างไร
การสร้างอีเธอร์เน็ตปลอมหุ่นอินเตอร์เฟซบนลินุกซ์ครั้งแรกที่เราเริ่มต้นโปรแกรมควบคุมหุ่นอินเตอร์เฟซที่ใช้ด้านล่างคำสั่ง: / sbin / modprobe หุ่น จากนั้นเรากำหนดนามแฝงของ Interface Ethernet ให้กับ Dummy Driver เราเพิ่งเริ่มต้นข้างต้น แต่จะให้ข้อผิดพลาดร้ายแรงต่อไปนี้ที่บอกว่า: FATAL: ไม่พบโมดูลหุ่นจำลอง นอกจากนี้ที่พา ธ cd / sys / อุปกรณ์ / virtual / net #เราจะเห็นว่ามีอินเตอร์เฟสเสมือนที่มีชื่อต่อไปนี้: dummy0 / lo / sit0 / tunl0 / ifconfig -a dummy0: Link encap:Ethernet HWaddr aa:3a:a6:cd:91:2b BROADCAST NOARP MTU:1500 Metric:1 RX packets:0 errors:0 …

1
มีวิธีที่สวยงามในการตั้งค่าตัวแปรเชลล์ให้กับเนื้อหาของไฟล์หรือไม่?
configว่าฉันมีข้อมูลการกำหนดค่าบางอย่างในแฟ้ม ฉันต้องการโหลดข้อมูลนี้ลงในตัวแปรเชลล์เพื่อความCONFIG_DATAสะดวก เห็นได้ชัดว่าฉันสามารถทำ: CONFIG_DATA="$(cat config)" แต่ความรู้สึกแบบนี้ไม่มีประโยชน์catกับฉัน นี่เป็นวิธีเดียวที่จะทำเช่นนี้? หรือมีวิธีที่สง่างามกว่าที่จะทำหรือไม่ รู้รอบควรเลือก POSIX แต่อาจใช้เชลล์ใดก็ได้

3
วิธี grep ไฟล์หลายพันไฟล์ในไดเรกทอรีสำหรับร้อยสตริงในไฟล์
ฉันกำลังพยายามเขียนgrepข้อความและมันกำลังฆ่าฉัน ฉันยังเบื่อที่จะได้รับarguments list too longข้อผิดพลาด subset.txtฉันมีไฟล์ขอเรียกว่า MO43312948มันมีหลายร้อยสายกับสตริงที่เฉพาะเจาะจงเช่น ในไดเรกทอรีวัตถุของฉันฉันมีหลายพันไฟล์และฉันต้องการคัดลอกไฟล์ทั้งหมดที่มีสตริงที่ระบุไว้ในsubset.txtไดเรกทอรีอื่น ฉันพยายามเริ่มต้นด้วยสิ่งนี้เพียงแค่คืนไฟล์ที่ตรงกันจากไดเรกทอรีวัตถุ grep -F "$(subset.txt)" /objects/* ฉันได้รับ `bash: / bin / grep: รายการอาร์กิวเมนต์ยาวเกินไป ''
11 grep 

2
วิธีใช้“ น้อยกว่า -F” โดยไม่มี“ -X” แต่ยังคงแสดงผลออกมาถ้าหน้าเดียว?
ฉันกำลังปรับแต่งเพจเจอร์ของ Git แต่ฉันมีปัญหากับมัน สิ่งที่ฉันต้องการคือ: สีออกมาเสมอ เลื่อนด้วยทัชแพดหรือเมาส์ เลิกถ้าหนึ่งหน้าจอ และการกำหนดค่าปัจจุบันของฉันคือ: $ git config --global core.pager less -+F -+X -+S มันทำทุกอย่างยกเว้นอันสุดท้าย แต่ถ้าฉันลบออก-+Fจะไม่มีผลลัพธ์ในกรณีของหน้าจอเดียว หากฉันลบ-+Xเช่นกันเอาต์พุตจะกลับมา แต่ฉันไม่สามารถเลื่อนโดยทัชแพดlessได้ มีวิธีแก้ปัญหาซึ่งสามารถตอบสนองความต้องการทั้งหมดข้างต้นหรือไม่
11 git  less 

1
จะเปลี่ยนเค้าโครงแป้นพิมพ์สำหรับแอปพลิเคชั่นเดียวใน Awesome WM ได้อย่างไร
ฉันได้เพิ่มแป้นพิมพ์ลัดเพื่อตั้งค่ารูปแบบแป้นพิมพ์ทั่วโลกแต่ฉันจะตั้งค่าสำหรับแอปพลิเคชันเดียวได้อย่างไร เหตุผลที่ฉันต้องการทำเช่นนี้คือฉันคุ้นเคยกับการเล่นเกมแบบ QWERTY และฉันไม่ควรใช้เวลา 10 นาทีในทุกเกมเพื่อตั้งค่าเค้าโครงแบบกำหนดเอง และฉันก็ไม่จำเป็นต้องสลับเค้าโครงเมื่อเปลี่ยนเป็นแอปพลิเคชันอื่น ๆ (ซึ่งฉันทำบ่อยๆ) ทั้งเพื่อความสะดวกและเพื่อหลีกเลี่ยงการกดทางลัดที่ผิด

1
ข้อความที่แปลกมากใน Debian
ฉันเป็นเจ้าของแล็ปท็อป Debian ด้วย KDE บางครั้งหลังจากที่ฉันปิดและเปิดแล็ปท็อปของฉันใหม่ข้อความจะเริ่มปรากฏดังนี้: ข้อความไม่กลับสู่ปกติจนกว่าฉันจะรีสตาร์ทคอมพิวเตอร์ ปัญหานี้มีผลกับอักขระเหล่านี้เท่านั้น: cgnpqtEFM13589 @ |: และดูเหมือนว่าจะมีผลกับแบบอักษรเดียวเท่านั้น ฉันยังสังเกตเห็นว่าตัวอักษรหนาได้รับผลกระทบแตกต่างกัน: นอกจากนี้ภาพแปลก ๆ ทั้งหมดในภาพด้านบนก็เหมือนกันทุกประการ (คอมพิวเตอร์ของฉันอาจเปลี่ยนไปใช้แบบอักษรอื่นหรืออะไรก็ได้) ปัญหานี้ไม่ได้ส่งผลกระทบต่อเดสก์ท็อปของฉัน (ซึ่งมี Debian และ KDE ด้วย) มีวิธีใดบ้างที่ฉันสามารถแก้ปัญหานี้ได้? cat /etc/default/locale ผลิต # File generated by update-locale LANG="en_CA.UTF-8" LANGUAGE="en_CA:en" ยังlspciผลิต: 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) 00:01.0 PCI …
11 debian  fonts 

1
เหตุใดจึงสามารถใช้คำสั่งเดียวกันสร้างเอาต์พุตมากขึ้นใน tty มากกว่าใน pts / gnome-terminal
gnome ขั้ว: $ sudo update-grub [sudo] password for user: Generating grub configuration file ... Found background image: .background_cache.png Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 done tty1 ตามที่เข้าถึงได้โดยCtrl+ Alt+ F1: $ sudo update-grub [sudo] password for user: Generating grub configuration file ... Found background image: .background_cache.png Found linux image: …

3
วิธีทำให้ NetworkManager เพิ่มเซิร์ฟเวอร์ DNS ที่ด้านบนของ /etc/resolv.conf
ตอนนี้ /etc/resolv.conf ของฉันจะเป็นดังนี้: # Generated by NetworkManager nameserver 10.165.246.33 nameserver 192.135.82.60 nameserver 10.165.74.2 สองเนมเซิร์ฟเวอร์แรกจะถูกกำหนดค่าโดยอัตโนมัติผ่าน DHCP อันสุดท้ายคืออันที่ฉันเพิ่มด้วยตนเองใน NetworkManager เป็นชื่อที่สำคัญที่สุดเนื่องจากช่วยแก้ไขชื่อโดเมนภายในของเรา (เช่นbuild-server-17.our-company-domain.com) ปัญหาคือ NetworkManager เพิ่มที่ด้านล่างของ/etc/resolv.confดังนั้นเมื่อเข้าถึง URL อินทราเน็ตเบราว์เซอร์ของฉันพยายามแก้ไขโดยใช้สองเซิร์ฟเวอร์แรกและใช้เวลานาน ฉันจะทำให้ NetworkManager เพิ่มเซิร์ฟเวอร์ DNS ที่กำหนดค่าด้วยตนเองได้อย่างไรก่อนที่จะถูกกำหนดค่าโดยอัตโนมัติ

3
ไม่พบอินพุตของฉันในสตริงโดยใช้ grep
ฉันมีสตริงคั่นด้วยเครื่องหมายจุลภาคที่ฉันต้องการค้นหาอินพุตของฉันในบรรทัดนั้น: echo US | grep "US,CA,CH,JP" เอาต์พุตว่างเปล่า! ฉันจะใช้ grep เพื่อค้นหาอินพุตของฉันในสตริงนั้นได้อย่างไร
11 grep 

5
มีทางเลือกอื่นสำหรับคำสั่ง "sed -i" ใน Solaris หรือไม่?
ฉันมีข้อกำหนดในโครงการของฉันเพื่อแทนที่ข้อความที่มีอยู่ในไฟล์เช่นเดียวfooกับข้อความอื่น ๆ เช่นfooofoo: abc.txt name foo foo1 ดังนั้นฉันจึงพยายาม: sed -i "s/foo/fooofoo/g" abc.txt อย่างไรก็ตามฉันได้รับข้อผิดพลาดนี้: sed: ตัวเลือกที่ผิดกฎหมาย - i ฉันพบในคู่มือที่ต้องใช้: sed -i\ "s/foo/fooofoo/g" abc.txt อย่างไรก็ตามสิ่งนี้ไม่ทำงานเช่นกัน ฉันได้พบทางเลือกในperlและawkอีกวิธีหนึ่ง แต่โซลูชั่นใน Solaris sedจะได้รับการชื่นชมมาก ฉันใช้ทุบตีรุ่นนี้: GNU bash รุ่น 3.2.57 (1) - ปล่อย (sparc-sun-solaris2.10)

4
วิธีการกำหนดระยะเวลาที่เหลือใน“ การนอนหลับ”?
ฉันมี: sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done ทำงานเป็นตัวจับเวลาแบบเรียบง่ายไม่สะดุดเพื่อเตือนฉันเมื่อมีบางสิ่งที่ควรทำ นั่นsleep 210mคือ PID 25347 ฉันพยายามที่จะคิดออกว่าเวลาที่เหลืออยู่ในการนอนหลับ สิ่งที่ดีที่สุดที่ฉันจะได้รับด้วยการนอนในระยะเวลาเดิม (210 นาที) คือ: $ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc 78:11 (คำอธิบาย: บิตแรกคำนวณจำนวนวินาทีในโหมดสลีปดั้งเดิม $(ps…)บิตจะได้รับเวลานับตั้งแต่โหมดสลีปเริ่มต้นในไม่กี่วินาทีจากนั้นส่วนที่เหลือจะลบออกและแสดงในนาทีและวินาที) …
11 shell  sleep 

2
การเปลี่ยนเส้นทางแมว
สมมติว่าไฟล์ที่เรียกว่าabcมีอยู่ในไดเรกทอรีปัจจุบันและมีข้อความอยู่ในนั้น เมื่อคุณรันคำสั่ง: cat abc > abc ทำไมเนื้อหาของไฟล์ถึงabcหายไป? ทำไมคำสั่งลบข้อความในนั้นและไฟล์จะกลายเป็นไฟล์ว่างเปล่า?

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