Unix & Linux

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

2
จะค้นหาไฟล์หลักที่สร้างจากความผิดพลาดของแอพพลิเคชั่น linux ได้ที่ไหน?
ฉันพยายามค้นหาสาเหตุของการขัดข้องสำหรับหนึ่งในแอปพลิเคชัน Linux ของฉัน แต่ฉันไม่รู้ว่าแกนกลางกำลังจะไปไหน cat /proc/sys/kernel/core_pattern core.%e.%p ความคิดใด ๆ


3
การเข้าถึงตัวแปรดัชนีอาร์เรย์จาก bash shell script loop?
ฉันต้องการเข้าถึงตัวแปรดัชนีอาเรย์ขณะวนลูปผ่านอาเรย์ในสคริปต์ bash shell ของฉัน myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done ผลลัพธ์ของสคริปต์ด้านบนคือ: foo bar baz bat ผลลัพธ์ที่ฉันค้นหาคือ: 0 1 2 3 ฉันจะเปลี่ยนสคริปต์เพื่อให้บรรลุสิ่งนี้ได้อย่างไร

4
อาร์เรย์ JSON เพื่อทุบตีตัวแปรโดยใช้ jq
ฉันมีอาร์เรย์ JSON เช่นนั้น: { "SITE_DATA": { "URL": "example.com", "AUTHOR": "John Doe", "CREATED": "10/22/2017" } } ฉันต้องการวนซ้ำอาร์เรย์นี้โดยใช้ jq ดังนั้นฉันสามารถตั้งค่าคีย์ของแต่ละรายการเป็นชื่อตัวแปรและค่าตามที่เป็นค่า ตัวอย่าง: URL = "example.com" AUTHOR = "John Doe" CREATED = "2017/10/22" สิ่งที่ฉันได้ทำซ้ำไปเรื่อย ๆ จนถึงอาร์เรย์ แต่สร้างสตริง: constants=$(cat ${1} | jq '.SITE_DATA' | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]") ผลลัพธ์ใด: URL=example.com AUTHOR=John Doe CREATED=10/22/2017 ฉันต้องการใช้ตัวแปรเหล่านี้เพิ่มเติมในสคริปต์: echo ${URL} …
19 bash  jq 

3
ฉันจะลดขนาดไฟล์ pdf ที่มีภาพได้อย่างไร
ฉันมีไฟล์ PDF ที่มีภาพและฉันต้องการลดขนาดเพื่ออัปโหลดไปยังเว็บไซต์ที่มีขนาด จำกัด ดังนั้นฉันจะลดขนาดไฟล์ pdf จากบรรทัดคำสั่งได้อย่างไร
19 pdf  compression 

2
ตารางเส้นทางใดที่วิเคราะห์ตามลำดับ
บนพีซีของฉันฉันต้องทำตามตารางเส้นทาง: Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 ฉันไม่เข้าใจวิธีการวิเคราะห์ฉันหมายถึงจากบนลงล่างหรือจากล่างขึ้นบน หากวิเคราะห์จากบนลงล่างทุกอย่างจะถูกส่งไปยังเราเตอร์ในบ้านของฉันเสมอแม้ว่าปลายทาง IP จะเป็น 192.168.1.15 แต่สิ่งที่ฉันรู้ (ผิด?) คือถ้าพีซีอยู่ในเครือข่ายท้องถิ่นเดียวกันเมื่อฉันกู้คืนปลายทาง MAC ผ่านข้อความออกอากาศแล้วพีซีของฉันสามารถส่งข้อความโดยตรงไปยังปลายทางได้
18 route  table 



1
เหตุใด $ {$ #} จึงให้ผลลัพธ์แบบเดียวกันกับ $$ ในเชลล์
ขณะที่พยายามที่จะได้รับที่ผ่านมาชุดพารามิเตอร์ตำแหน่งในฉันได้พยายาม/bin/dash echo ${$#}น่าแปลกที่นี่ไม่ได้ส่งผลให้เกิดข้อผิดพลาด แต่เป็น PID ซึ่งเหมือนกับ$$เนื้อหาตัวแปร คำถามทำไมไวยากรณ์นั้นถึงใช้ได้? กฎไวยากรณ์ที่เชลล์ใช้ในที่นี้คืออะไร โดยทั่วไปสิ่งที่ฉันทำคือ $ set 1 2 3 4 5 $ echo ${$#} 13819 $ echo $$ 13819 เห็นได้ชัดว่า%ตัวละครยังได้รับการละเว้นในโครงสร้างดังกล่าว $ echo ${$%} 13819 แต่*และ@ส่งผลให้เกิดข้อผิดพลาดในการทดแทนที่ไม่ดี: $ echo ${$*} sh: 10: Bad substitution $ echo ${$@} sh: 11: Bad substitution
18 shell  variable 

2
GNU จัดเรียงการเรียงที่เสถียรเมื่อเรียงลำดับไม่ทราบลำดับ
ฉันมีไฟล์สองคอลัมน์ ไฟล์เรียงตามวิธีที่ฉันต้องการในคอลัมน์ 1 แล้ว ฉันต้องการเรียงลำดับในคอลัมน์ 2 ในแต่ละหมวดหมู่ 1 คอลัมน์ อย่างไรก็ตามsortไม่เข้าใจลำดับการเรียงของคอลัมน์ 1 วิธีปกติ (จากคำถามที่คล้ายกันที่นี่ในสแต็ค) จะเป็น: sort --stable -k1,1 -k2,2n แต่ฉันไม่สามารถระบุการเรียงลำดับบน k1 ได้เนื่องจากมันเป็นกฎเกณฑ์ อินพุตตัวอย่าง: C 2 C 1 A 2 A 1 B 2 B 1 และเอาท์พุท: C 1 C 2 A 1 A 2 B 1 B 2
18 sort 

2
เหตุใดการเปลี่ยนแปลงใน / etc / hosts จึงมีผลทันที
การเปลี่ยนแปลง/etc/hostsไฟล์ดูเหมือนจะมีผลทันที ฉันอยากรู้เกี่ยวกับการใช้งาน เวทมนตร์อะไรที่ใช้เพื่อให้บรรลุคุณสมบัตินี้ ถาม Ubuntu: หลังจากแก้ไข / etc / hosts ต้องรีสตาร์ทบริการใด การสนับสนุน NetApp: การทำงานของไฟล์ / etc / hosts
18 networking  hosts 

3
จุดในคำสั่ง tr นี้ทำอะไร: tr ... AZ A-ZA-Z <<<“ JVPQBOV” (มี 13 จุด)
ฉันต้องการใช้trเพื่อทำการแปลง rot13 ฉันสามารถเข้าใจคำสั่งนี้ได้อย่างสวยงาม: tr A-Za-z N-ZA-Mn-za-m &lt;&lt;&lt; "URYC ZR CYRNFR" เอาท์พุตใดHELP ME PLEASEแต่ฉันไม่สามารถเข้าใจได้ว่าคำสั่งอื่นสามารถสร้างการเปลี่ยนแปลง rot13 เดียวกันได้อย่างไร: tr .............A-Z A-ZA-Z &lt;&lt;&lt; "URYC ZR CYRNFR" ดังนั้นฉันมีสองคำถาม: เวทมนตร์ที่อยู่เบื้องหลังtrคำสั่งที่สองคืออะไร วิธีทำให้คำสั่งที่สองทำงานได้ทั้งตัวเล็กและตัวใหญ่เช่นเดียวกับคำสั่งแรก?
18 tr 

2
เหตุใด POSIX จึงต้องมีเชลล์ในตัวเพื่อให้มีการใช้งานภายนอก
จากคำถามนี้เกี่ยวกับว่าเป็น printf ในตัวสำหรับ Yashมาคำตอบนี้ว่าคำพูดมาตรฐาน POSIX คำตอบนั้นชี้ให้เห็นว่าลำดับการค้นหา POSIX คือการค้นหาการนำไปใช้ภายนอกของคำสั่งที่ต้องการและจากนั้นหากเชลล์นำมาใช้เป็นแบบบิวด์อินให้รันบิวด์อิน (สำหรับบิวด์อินที่ไม่ใช่บิวด์อินพิเศษ) เหตุใด POSIX จึงมีข้อกำหนดนี้เพื่อให้มีการใช้งานภายนอกอยู่ก่อนที่จะอนุญาตให้มีการใช้งานภายในได้ ดูเหมือน ... โดยพลการดังนั้นฉันอยากรู้

2
`ปฏิเสธ -h 'และ` nohup` ทำงานอย่างมีประสิทธิภาพเหมือนกันหรือไม่?
disown ทำให้เชลล์ไม่ส่ง SIGHUP ไปยังงานที่ถูกปฏิเสธเมื่อเชลล์ยกเลิกและ ลบงานที่ถูกปฏิเสธจากการควบคุมงานของเชลล์ ผลลัพธ์แรกของวินาทีคืออะไร? กล่าวอีกนัยหนึ่งถ้ากระบวนการที่เริ่มต้นจากเชลล์ถูกลบออกจากการควบคุมงานของเชลล์ไม่ว่าด้วยวิธีใดเชลล์จะไม่ส่ง SIGHUP ไปยังกระบวนการเมื่อเชลล์หยุดทำงานหรือไม่ disown -h ยังคงเก็บกระบวนการภายใต้การควบคุมงานของเชลล์ หมายความว่าdisown -hทำให้กระบวนการยังคงได้รับ SIGHUP ที่ส่งจากเชลล์ แต่ตั้งค่าการกระทำของ SIGHUP โดยกระบวนการให้เป็น "เพิกเฉย"? nohupที่ฟังดูคล้ายกับ $ sleep 123 &amp; disown -h [1] 26103 $ jobs [1]+ Running sleep 123 &amp; $ fg 1 sleep 123 $ ^Z [1]+ Stopped sleep 125 $ bg 1 …
18 bash  nohup  disown 

1
ทำไมการส่งท่อ `tar 'ลงใน` dd' ไม่หยุดจนกว่าดิสก์จะเต็ม
ฉันมีไฟล์เก็บถาวร tar ของดิสก์อิมเมจเดียว ภาพภายในไฟล์ tar นี้มีขนาดประมาณ 4GB ฉันไพพ์เอาท์พุทของtar xfไปddยังเพื่อเขียนดิสก์อิมเมจไปยังการ์ด SD diskdump ไม่เคยหยุดจนกว่าการ์ดจะเต็ม นี่คือเซสชันเชลล์ของฉัน: $ ls -l disk.img.tgz -rw-r--r-- 1 confus confus 192M Okt 5 00:53 $ tar -tvf disk.img.tgz -rw-r--r-- root/root 4294968320 2018-10-05 00:52 disk.img $ lsblk -lb /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 1 16022241280 …
18 pipe  tar  dd  disk-image 

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