Unix & Linux

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

2
กุญแจสาธารณะที่ไม่รู้จัก 8F0871F202119294 บน ArchLinux
ฉันติดตั้งไปแล้ว: 1 core/archlinux-keyring 20170104-1 [installed] 10 blackarch/blackarch-keyring 20140118-3 [installed] แต่ฉันได้รับข้อผิดพลาดเมื่ออัปเกรดlibc++abiจาก aur: ==> Verifying source file signatures with gpg... llvm-3.9.1.src.tar.xz ... FAILED (unknown public key 8F0871F202119294) libcxx-3.9.1.src.tar.xz ... FAILED (unknown public key 8F0871F202119294) libcxxabi-3.9.1.src.tar.xz ... FAILED (unknown public key 8F0871F202119294) ==> ERROR: One or more PGP signatures could not be verified! …
24 arch-linux 

8
เป็นไปได้หรือไม่ที่จะตรวจสอบว่ามีการกำหนดนามแฝงหรือไม่?
นามแฝงเช่นllถูกกำหนดด้วยaliasคำสั่ง ฉันสามารถตรวจสอบคำสั่งด้วยสิ่งต่าง ๆtype llที่พิมพ์ได้ ll is aliased to `ls -l --color=auto' หรือcommand -v llที่พิมพ์ alias ll='ls -l --color=auto' หรือalias llที่พิมพ์ alias ll='ls -l --color=auto' แต่ฉันไม่สามารถหาตำแหน่งที่กำหนดนามแฝงได้เช่นไฟล์เช่น.bashrcหรืออาจด้วยตนเองในเชลล์ที่กำลังรัน ณ จุดนี้ฉันไม่แน่ใจว่าจะเป็นไปได้ ฉันควรผ่านไฟล์ทั้งหมดที่โหลดbashและตรวจสอบไฟล์ทุกไฟล์หรือไม่?
24 bash  terminal  bashrc 

5
จะแสดงค่าปัจจุบันของตัวแปรสภาพแวดล้อมได้อย่างไร
เมื่อฉันตรวจสอบสภาพแวดล้อมของระบบตัวแปรสภาพแวดล้อมจำนวนมากจะปรากฏขึ้น ฉันจะค้นหาตัวแปรเฉพาะได้อย่างไร หนังสือที่ฉันกำลังอ่านพูดว่า: บางครั้งจำนวนของตัวแปรในสภาพแวดล้อมของคุณมีขนาดใหญ่ขึ้นมากจนคุณไม่ต้องการเห็นค่าทั้งหมดที่ปรากฏเมื่อคุณสนใจเพียงตัวเดียว หากเป็นกรณีนี้คุณสามารถใช้echoคำสั่งเพื่อแสดงค่าปัจจุบันของตัวแปรสภาพแวดล้อม ฉันจะทำสิ่งนี้ใน terminal Linux ได้อย่างไร

4
sed ด้วยการแสดงออกหลายสำหรับการโต้แย้งในสถานที่
ฉันพยายามแทนที่คำหลายคำในไฟล์โดยใช้ sed -i #expression1 #expression2 ไฟล์ Something 123 item1 Something 456 item2 Something 768 item3 Something 353 item4 เอาท์พุท (ที่ต้องการ) anything 123 stuff1 anything 456 stuff2 anything 768 stuff3 anything 353 stuff4 ลองลึกหนาบาง ฉันจะได้รับผลลัพธ์ต่อไปนี้โดยใช้sed -i2 ครั้ง sed -i 's/Some/any/g' file sed -i 's/item/stuff/g' file ฉันสามารถมีวิธีที่เป็นไปได้ในการทำให้สิ่งนี้เป็นคำสั่งแบบแทนที่เดียวได้ไหม sed -i 's/Some/any/g' -i 's/item/stuff/g' …

4
tmux new pane มี home directory เป็นค่าเริ่มต้นแทนที่จะเป็น directory ก่อนหน้า
เมื่อผมกดCtrl+ "(สร้างบานหน้าต่างใหม่) ขณะที่อยู่ในบานหน้าต่างซึ่งมีตัวอย่างเช่นบานหน้าต่างใหม่จะเริ่มต้นเป็นโฟลเดอร์ที่บ้านของฉันPWD /tmp~ ฉันดูที่/unix//a/109255/72471และมันช่วยฉันด้วยปัญหาเดียวกันเกี่ยวกับ windows อย่างไรก็ตามฉันไม่สามารถแก้ไขsplit-windowปัญหาด้วยการแทรก bind " split-window -c "#{pane_current_path}" ~/.tmux.confเข้าของฉัน ฉันกำลังใช้ tmux 1.9a และไม่ต้องการโซลูชันที่ยุ่งสำหรับรุ่นเก่าที่ระบุไว้ที่นี่ (มันใช้งานไม่ได้ในกรณีของฉัน): bind '"' set default-path "" \; split-window -v \; set -u default-path ฉันtmuxจะบอกให้ตั้งค่าไดเรกทอรีเริ่มต้นเป็นเส้นทางปัจจุบันของบานหน้าต่างเมื่อสร้างบานหน้าต่างใหม่ได้อย่างไร
24 tmux 

4
ระบุไฟล์ที่มีอักขระที่ไม่ใช่ ASCII หรือไม่สามารถพิมพ์ได้ในชื่อไฟล์
ในไดเรกทอรีขนาด 80GB ที่มีประมาณ 700,000 ไฟล์มีชื่อไฟล์บางส่วนที่มีอักขระที่ไม่ใช่ภาษาอังกฤษในชื่อไฟล์ นอกเหนือจากการสืบค้นผ่านรายการไฟล์อย่างตั้งใจแล้ว: วิธีง่ายๆในการแสดงรายการหรือระบุชื่อไฟล์เหล่านี้คืออะไร? วิธีสร้างตัวอักษรที่ไม่ใช่ภาษาอังกฤษที่พิมพ์ได้ - ตัวอักษรเหล่านั้นที่ไม่ได้อยู่ในช่วงที่พิมพ์ได้man ascii(ดังนั้นฉันสามารถทดสอบว่าไฟล์เหล่านี้ถูกระบุ)?

3
วิธีคัดลอกเฉพาะไฟล์ใหม่โดยใช้คำสั่ง“ scp”
ผมได้รับการคัดลอกหลายร้อยไฟล์ไปยังคอมพิวเตอร์เครื่องอื่นโดยใช้scpคำสั่งที่ผมได้รับข้อผิดพลาดstalled ตอนนี้ฉันจะคัดลอกไฟล์อีกครั้ง มีวิธีใดที่จะหลีกเลี่ยงการคัดลอกไฟล์ที่ถูกคัดลอกไปแล้ว?
24 scp 

6
LXC: ฉันจะติดตั้งโฟลเดอร์จากโฮสต์กับภาชนะได้อย่างไร
ฉันกำลังพยายามติดตั้งโฟลเดอร์บนโฮสต์กับคอนเทนเนอร์ LXC โฮสต์มีโฟลเดอร์ที่/mnt/ssd/solr_dataสร้างขึ้น (ปัจจุบันอยู่ในระบบไฟล์รูท แต่ต่อมาฉันจะเมานไดรฟ์ SSD ที่นั่นดังนั้นฉันจึงเตรียมการไว้แล้ว) ฉันต้องการให้โฟลเดอร์นั้นเมานต์เหมือน/dataในคอนเทนเนอร์ ดังนั้นในไฟล์ fstab ภาชนะฉันมีดังต่อไปนี้: /mnt/ssd/solr_data /var/lib/lxc/Solr4StandAlone/rootfs/data ext4 defaults,noatime 0 0 แต่นั่นเป็นไม่ไปฉันได้รับข้อผิดพลาดนี้เริ่มภาชนะ: lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data' lxc-start: failed to setup the mounts for 'Solr4StandAlone' lxc-start: failed to setup the container lxc-start: invalid sequence number 1. …
24 ubuntu  mount  lxc 

7
การใช้ฟังก์ชัน bash shell ภายใน AWK
เป็นไปได้ไหมที่จะใช้ฟังก์ชั่นทุบตีใน AWK? ไฟล์ตัวอย่าง (สตริง, int, int, int) Mike 247808 247809 247810 กำลังพยายามแปลงค่าจากฐานสิบเป็นฐานสิบหก ฟังก์ชันกำหนดไว้ใน. bashrc หรือในเชลล์สคริปต์ awk '{print $1 ; d2h($2)}' file awk: การเรียกฟังก์ชันที่ไม่ได้กำหนดหมายเลขบันทึกอินพุต d2h 1 ไฟล์หมายเลขบรรทัดซอร์สไฟล์ 1
24 bash  awk 

2
เซิร์ฟเวอร์ HTTP ทั่วไปที่เพิ่งส่งคำขอ POST หรือไม่
ฉันกำลังมองหาเครื่องมือบรรทัดคำสั่งที่ฟังในส่วนที่กำหนดอย่างมีความสุขยกเว้นทุกคำขอ HTTP POST และทิ้งมัน ฉันต้องการใช้เพื่อวัตถุประสงค์ในการทดสอบเช่นสำหรับการทดสอบลูกค้าที่ออกคำขอ HTTP POST นั่นหมายถึงฉันกำลังค้นหาคู่ค้าcurl -F(ซึ่งฉันสามารถใช้เพื่อส่ง HTTP POSTs ทดสอบไปยังเซิร์ฟเวอร์ HTTP) อาจจะเป็นสิ่งที่ชอบsocat TCP4-LISTEN:80,fork,bind=127.0.0.1 ...- แต่ socat นั้นไม่เพียงพอเพราะมันไม่ได้พูดถึง HTTP

3
gunzip ไฟล์. gz ทั้งหมดในไดเรกทอรี
ฉันมีไดเรกทอรีที่มี.txt.gzไฟล์จำนวนมาก(ที่ชื่อไม่เป็นไปตามรูปแบบเฉพาะ) วิธีที่ง่ายที่สุดสำหรับgunzipพวกเขาคืออะไร? ฉันต้องการที่จะรักษาชื่อเดิมของพวกเขาเพื่อให้พวกเขาไปจากwhatevz.txt.gzการwhatevz.txt
24 gzip 

5
ฉันจะฆ่าและรอให้กระบวนการส่วนหลังเสร็จสิ้นในเชลล์สคริปต์ได้อย่างไรเมื่อฉัน Ctrl + C
ฉันกำลังพยายามตั้งค่าเชลล์สคริปต์เพื่อให้ทำงานในกระบวนการแบ็คกราวน์และเมื่อฉันCtrlcเชลล์สคริปมันจะฆ่าเด็ก ๆ แล้วก็ออกไป สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือ ดูเหมือนว่าkill 0 -INTสคริปต์ยังฆ่าสคริปต์ก่อนที่จะเกิดการรอดังนั้นเชลล์สคริปต์จะตายก่อนที่เด็ก ๆ จะเสร็จสมบูรณ์ ความคิดใด ๆ เกี่ยวกับวิธีการที่ฉันสามารถทำให้รอเชลล์สคริปต์สำหรับเด็กที่จะตายหลังจากที่ส่งINT? #!/bin/bash trap 'killall' INT killall() { echo "**** Shutting down... ****" kill 0 -INT wait # Why doesn't this wait?? echo DONE } process1 & process2 & process3 & cat # wait forever

4
เมื่อใช้คอมไพล์แฮชแล้วจะรู้ได้อย่างไรว่าเคอร์เนลรีลีสนั้นมีอะไรบ้าง?
สมมติว่าฉันมีปัญหาบางอย่างที่แก้ไขโดยแพทช์ล่าสุดไปยังที่เก็บ Linux git อย่างเป็นทางการ ฉันมีวิธีแก้ไข แต่ฉันต้องการยกเลิกเมื่อมีการเปิดตัวที่มีการแก้ไขของฉัน ฉันรู้ว่าคอมไพล์ที่แน่นอนกระทำกัญชาเช่นf3a1ef9cee4812e2d08c855eb373f0d83433e34c วิธีที่ง่ายที่สุดในการตอบคำถามคืออะไรเคอร์เนลรุ่นใดบ้างที่มีโปรแกรมแก้ไขนี้ คะแนนโบนัสหากไม่ต้องการพื้นที่เก็บข้อมูล git Linux ในพื้นที่ ( LWMอธิบายแนวคิดบางอย่าง แต่สิ่งเหล่านี้จำเป็นต้องใช้ที่เก็บข้อมูลในเครื่อง)

3
การวางท่อ STDERR กับ STDOUT
ตามที่ " ลินุกซ์: อ้างอิงสมบูรณ์ Edition 6 " (. หน้า 44) คุณสามารถท่อเท่านั้น STDERR โดยใช้|&สัญลักษณ์การเปลี่ยนเส้นทาง ฉันได้เขียนสคริปต์เพื่อทดสอบสิ่งนี้: #!/bin/bash echo "Normal Text." echo "Error Text." >&2 ฉันรันสคริปต์นี้เช่นนี้: ./script.sh |& sed 's:^:\t:' สันนิษฐานว่ามีเพียงบรรทัดที่พิมพ์ไปยัง STDERR เท่านั้นที่จะถูกเยื้อง อย่างไรก็ตามมันใช้งานไม่ได้จริง ๆ อย่างที่ฉันเห็น: Normal Text. Error Text. ฉันทำอะไรผิดที่นี่

10
ฉันจะพิมพ์สัญลักษณ์องศาภายใต้ X11 (โดยใช้รูปแบบแป้นพิมพ์ภาษาอังกฤษเริ่มต้น) ได้อย่างไร
ฉันกำลังพยายามใส่อุณหภูมิภายนอกเป็นองศาในอีเมล ฉัน Mac สัญลักษณ์องศา ( °) เป็นOption+ +Shift 8แต่ฉันเขียนอีเมลในธันเดอร์เบิร์ดบน Ubuntu 10.10 ด้วยรูปแบบแป้นพิมพ์ภาษาอังกฤษเริ่มต้นของสหรัฐอเมริกา ฉันจะใช้คีย์ผสมในการรับสัญลักษณ์องศาภายใต้ X11 ได้อย่างไร แก้ไข: Gert ตอบคำถามได้สำเร็จ ... แต่คะแนนโบนัสสำหรับการกดแป้นใด ๆ ก็ง่ายกว่าคำตอบของเขา!

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