Unix & Linux

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

1
ผูกลำดับคีย์เพื่อ Escape, zsh
ฉันจะจับคู่jjกับEscใน zsh ได้อย่างไร ฉันพยายามสร้างการแมปคีย์ที่ฉันได้ติดตั้งเป็นกลุ่มซึ่งฉันได้jjแมปไปESCดังนั้นเมื่อใดก็ตามที่ฉันกดสองครั้งjมันจะส่งการ<Esc>เรียกเป็นกลุ่ม - ทำให้ฉันเข้าสู่โหมดปกติได้สะดวกยิ่งขึ้น ฉันได้ลองไปแล้วbindkey 'jj' ^[และฉันกำลังจะลองbindkey 'jj' ^[[แต่ฉันสงสัยว่ามันจะใช้งานได้ ฉันยังตรวจสอบรายการของคำสั่งที่ให้บริการโดย zsh ในโหมดปกติ แต่ผมไม่เห็นอะไรที่มีหรือnormalescape หมายเหตุตัวละครในของฉันไฟล์ที่เกิดขึ้นจริงหนีเขียนยาก; ไม่ใช่แค่ตัวละครและ. ^[~/.zshrc^[

1
วิธีการดีบักการยกเลิกการเชื่อมต่อ Wi-Fi ซ้ำใน Arch Linux?
หลังจากพยายามเป็นเวลานานในการเชื่อมต่อแบบไร้สายตอนนี้ฉันสามารถรับภาพร่างได้อย่างสุดขีด (เช่นในไม่กี่วินาทีของการเข้าถึงอินเทอร์เน็ตจริงทุกสองสามนาที) การรันwpa_supplicant -d -i wlp0s29f7u5 -c wifi.conf -Dwextใน VT หนึ่งรายการและwhile ! yes | pacman -Syu; do :; doneอีกรายการหนึ่งหลังจากผ่านไปหลายนาทีก็ยังไม่เสร็จ แต่ครั้งหนึ่งมันจะจัดการดาวน์โหลดไฟล์บางไฟล์ iw dev wlp0s29f7u5 link บนเครื่อง Arch รายงานความแรงของสัญญาณประมาณ -40 dB ซึ่งเลวร้ายยิ่งกว่าแล็ปท็อป Ubuntu ที่อยู่ใกล้เคียงที่ -70 dB การเชื่อมต่อเอาท์พุท: # wpa_supplicant -d -i wlp0s29f7u5 -c wifi.conf -Dwext wpa_supplicant v2.0 Successfully initialized wpa_supplicant Initializing interface …
11 arch-linux  wifi 

3
ด้วย grep ฉันจะจับคู่รูปแบบและกลับเข้ากับรูปแบบอื่นได้อย่างไร
ด้วยgrepฉันต้องการเลือกทุกบรรทัดที่ตรงกับรูปแบบและไม่ตรงกับรูปแบบอื่น ฉันต้องการที่จะใช้การร้องขอเพียงครั้งเดียวgrepเพื่อให้ฉันสามารถใช้--after-contextตัวเลือก (หรือ--before-context, หรือ--context) -vไม่สามารถใช้งานได้ที่นี่เนื่องจากมันขัดแย้งกับรูปแบบทั้งหมดที่ฉันส่งผ่านไปยังการgrepใช้-eตัวเลือก ตัวอย่าง ฉันต้องการค้นหาการจับคู่บรรทัดneedleละเว้นการจับคู่บรรทัดignore meด้วยบริบทต่อไปนี้หนึ่งบรรทัด นี่คือไฟล์อินพุตของฉัน: one needle ignore me two three four needle five ผลลัพธ์ที่ฉันต้องการคือ: four needle five อย่างที่คุณเห็นโซลูชั่นไร้เดียงสานี้ไม่ทำงาน: $ cat file | grep --after-context=1 needle | grep -v 'ignore me' two --- four needle five
11 grep 

3
นอนจนกว่าจะถึงเวลาต่อไปตามเวลาที่กำหนด
ฉันต้องการชุดคำสั่งหรือคำสั่งเดียวที่หลับจนกว่าจะเกิดเหตุการณ์ต่อไปของเวลาเฉพาะเช่น "4:00" ฉันจะทำอย่างไร atคำสั่งหรือ cronjob ไม่ได้เป็นตัวเลือกเพราะผมไม่ต้องออกจากสคริปต์ที่ผมในปัจจุบัน กรณีเฉพาะที่ฉันกำลังพูดถึงคือสคริปต์ทำงานในหน้าจอ มันสำคัญมากที่ฉันจะไม่หยุดการทำงานของสคริปต์ด้วยตัวเองเพราะมีตัวแปรสำคัญหลายอย่างที่จำเป็นในบางจุดของสคริปต์ สคริปต์ไม่ควรถูกเรียกใช้งานในเรื่องปกติเสมอไป มันเพียงแค่ต้องดำเนินการในเวลาที่กำหนด มันจะเป็นประโยชน์อย่างมากหากสคริปต์จะต้องสร้างไฟล์ใด ๆ หรืองานอื่น ๆ เช่น cronjobs หรือหน้าจออื่น ๆ นี่เป็นเพียงคำถามของการออกแบบ ฉันเพิ่งมีความคิดที่น่ากลัว: difference=$(($(date -d "4:00" +%s) - $(date +%s))) if [ $difference -lt 0 ] then sleep $((86400 + difference)) else sleep $difference fi คุณมีความคิดที่ดีกว่านี้ไหม? ข้อมูลเพิ่มเติมจะถูกเพิ่มหากมีการร้องขอ!
11 bash  date  time  sleep 

3
การมอบหมายแบบมีเงื่อนไขขึ้นอยู่กับตัวแปรสภาพแวดล้อม
ในสคริปต์ทุบตีฉันกำลังกำหนดตัวแปรโลคัลเพื่อให้ค่าขึ้นอยู่กับตัวแปรสภาพแวดล้อมโกลบอล ( $MYAPP_ENV) if [ "$MYAPP_ENV" == "PROD" ] then SERVER_LOGIN=foobar123@prod.example.com else SERVER_LOGIN=foobar987@test.example.com fi มีวิธีที่สั้นกว่า (ยังสะอาด) ในการเขียนการบ้านข้างต้นหรือไม่? (สมมุติว่าใช้ตัวดำเนินการตามเงื่อนไข / แบบอินไลน์บางอย่างถ้า)

3
รักษาสิทธิ์ของไฟล์ (หรือเรียกคืน) เมื่อทำการแทนที่ไฟล์
ฉันมีคำสั่งที่ยอมรับไฟล์เป็นอาร์กิวเมนต์ปรับเปลี่ยนไฟล์จากนั้นเขียนไปยังชื่อไฟล์ที่ระบุในอาร์กิวเมนต์ที่สอง ฉันจะเรียกโปรแกรมmodifyfileนั้น ฉันอยากให้มันทำงาน "แทนที่" ดังนั้นฉันจึงเขียนเชลล์สคริป (ทุบตี) ที่แก้ไขมันเป็นไฟล์ชั่วคราวจากนั้นย้ายมันกลับมา: TMP=`mktemp` modifyfile "$original" "$TMP" mv -v "$TMP" "$original" นี่เป็นผลข้างเคียงที่โชคร้ายของการทำลายการอนุญาตในไฟล์นี้ ไฟล์จะถูกสร้างขึ้นใหม่โดยมีการอนุญาตเริ่มต้น มีวิธีบอกให้mvคำสั่งเขียนทับปลายทางโดยไม่เปลี่ยนการอนุญาตหรือไม่? หรือจะมีวิธีบันทึกผู้ใช้กลุ่มและการอนุญาตจากต้นฉบับและกู้คืนได้หรือไม่

2
ทำไมฉันต้องหลบหนีอักขระ regex ใน sed เพื่อตีความว่าเป็นอักขระ regex
ดูเหมือน cat sed_data.txt | sed 's/\b[0-9]\{3\}\b/NUMBER/g' ว่าฉันจะต้องหลบหนีตัวละครเพื่อสร้างการแสดงออกปกติ ในกรณีนี้ฉันต้องหลบหนีเครื่องมือจัดฟันเพื่อที่จะตีความได้หลายครั้ง ทำไม? ฉันคาดหวังว่าทุกอย่างจะเป็นตัวละคร regex เว้นแต่จะหลบหนี นั่นคือสิ่งที่ตรงกันข้าม

3
virtfs / 9p สามารถใช้เป็นระบบไฟล์รูทได้หรือไม่?
เป็นไปได้ไหมที่จะใช้โฟลเดอร์ที่แชร์จากโฮสต์ไปยังผู้เยี่ยมชมผ่าน virtfs / 9pเป็นระบบไฟล์รูทภายในแขก? เกี่ยวข้องกับคำถามก่อนหน้านี้ของฉันอย่างหลวม ๆ : สามารถใช้ virtfs / 9p เพื่อแชร์โฟลเดอร์โฮสต์เดียวกันกับแขกหลายคนได้หรือไม่

1
วิธีรับ Oracle Java 7 ให้ทำงานกับ setcap cap_net_bind_service + ep
ฉันพยายามให้สิทธิในการเรียกใช้จาวาเพื่อเปิดพอร์ตต่ำกว่า 1024 บน Linux นี่คือการตั้งค่า /home/test/java มี Oracle Server JRE 7.0.25 CentOS 6.4 นี่คือสิ่งที่ getcap ส่งคืน [test@centos6 java]$ pwd /home/test/java [test@centos6 java]$ getcap bin/java bin/java = cap_net_bind_service+ep [test@centos6 java]$ getcap jre/bin/java jre/bin/java = cap_net_bind_service+ep การพยายามเรียกใช้งานจาวาให้ข้อผิดพลาดดังต่อไปนี้ [test@centos6 java]$ bin/java bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: …

3
ลบไฟล์ทั้งหมดยกเว้นในไดเรกทอรีย่อยที่แน่นอนด้วยการค้นหา
ฉันต้องการที่จะซ้ำลบไฟล์ทั้งหมดไม่สามารถเข้าถึงในขณะที่อยู่ในโฟลเดอร์ยกเว้นไฟล์ทั้งหมดในโฟลเดอร์ย่อยab find a \( -name b -prune \) -o -type f -delete อย่างไรก็ตามฉันได้รับข้อความแสดงข้อผิดพลาด: ค้นหา: การกระทำ -delete เปิดโดยอัตโนมัติ -depth แต่ -prune ไม่ทำอะไรเลยเมื่อ -depth มีผล หากคุณต้องการดำเนินการต่อให้ใช้ตัวเลือก -depth อย่างชัดเจน การเพิ่ม-depthทำให้ไฟล์ทั้งหมดbรวมอยู่ด้วยซึ่งจะต้องไม่เกิดขึ้น ใครรู้วิธีที่ปลอดภัยในการทำงานนี้
11 find  directory  rm 

1
มีวิธีการจำลองเวลาแฝงสูงหรือไม่
นี่คือคำตอบที่ดีมากเกี่ยวกับวิธีการ จำกัด แบนด์วิดธ์ ตอนนี้แบนด์วิดธ์ไม่ได้เป็นความกังวลหลักของฉัน - ความล่าช้าคือ จะเกิดอะไรขึ้นถ้าฉันใส่สองสามร้อยกิโลเมตรระหว่างแอพพลิเคชันเซิร์ฟเวอร์ของฉันกับเซิร์ฟเวอร์ฐานข้อมูล ฉันกำลังมองหาความเป็นไปได้ที่จะจำลองความล่าช้าที่คาดไว้สำหรับทุกแพ็กเก็ต IP
11 networking 

5
ฉันจะแปลงไฟล์ pdf จากระดับสีเทาเป็นขาวดำได้อย่างไร
ระบบปฏิบัติการของฉันคือ Ubuntu 12.04 ฉันจะแปลงไฟล์ pdf จากระดับสีเทาเป็นขาวดำได้อย่างไร ไฟล์ pdf ระดับสีเทามาจากการสแกนด้วยตัวเลือกระดับสีเทาและ OCR เป็นไฟล์ PDF ที่ต้องใช้ขนาดขาวดำ ปรับปรุง: ต่อไปนี้การตอบกลับของมาร์โก, BW ไฟล์ PDFไม่ดีและไฟล์ต้นฉบับเป็นที่นี่
11 command-line  pdf 

5
เชลล์สคริปต์เพื่อส่งเมลแจ้งเตือนหากการใช้งานดิสก์เกิน 90%
ฉันต้องการติดตั้งสคริปต์บนเซิร์ฟเวอร์ของฉันซึ่งจะส่งการแจ้งเตือนทางอีเมลโดยอัตโนมัติหากการใช้งานดิสก์เกิน 90% และการแจ้งเตือนทางอีเมลครั้งที่สองเมื่อเกินกว่า 95% ระบบแฟ้มของฉันคือและติดประเด็นก็คือabc:/xyz/abc/pqr ฉันได้ลองสิ่งนี้แล้ว: ADMIN="someone@def.com" ALERT=90 df -H | grep -vE 'abc:/xyz/pqr | tmpfs |cdrom' | awk '{ print $5 " " $1 }' | while read output; do usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 …

1
วิธีการอินพุต / เริ่มบรรทัดใหม่ในเทอร์มินัล bash
ฉันสังเกตเห็นตัวอย่าง bash สำหรับลูปถูกกระจายไปในหลายบรรทัดในตัวอย่าง for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done (เช่นที่นี่ http://www.cyberciti.biz/faq/bash-for-loop/ ) ฉันจะป้อนบรรทัดใหม่ใน bash terminal ได้อย่างไร (ฉันใช้ putty) เมื่อฉันกด Enter ที่ส่วนท้ายของบรรทัดระบบจะเรียกใช้งานมัน
11 bash  line-editor 

1
เมื่อใช้ 'รายการยำมี' ทำไมบางรายการเป็นสีฟ้า
การใช้ iTerminal บน Mac OS X 10.8 เพื่อเชื่อมต่อผ่าน SSH ไปยังเซิร์ฟเวอร์ CentOS 6.4 การทำงานyum list availableจะแสดงรายการแพคเกจที่มีอยู่จากที่เก็บต่างๆบนเครื่องนั้น ชื่อบางส่วนของรายการจะแสดงเป็นสีน้ำเงิน ฉันไม่แน่ใจว่าการจัดรูปแบบมีความสำคัญอะไร ทำไมบางแพ็คเกจที่ติดตั้งจึงแสดงเป็นสีน้ำเงิน
11 centos  yum 

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