Unix & Linux

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

3
ไดเร็กทอรี rc0.d, rc1.d, …ใน / etc
ผมใช้อูบุนตูที่ฉันมีไดเรกทอรี/etc/rc0.d, /etc/rc1.d, /etc/rc2.d, ... /etc/rc6.d, ตัวอย่างไฟล์จากเครื่องของฉัน: directory example symlinks in the dir ------------------------------------------ /etc/rc1.d: K76dovecot, K77ntp /etc/rc2.d: S23ntp, S24dovecot /etc/rc3.d: S23ntp, S24dovecot /etc/rc4.d: S23ntp, S24dovecot /etc/rc5.d: S23ntp, S24dovecot คำถาม: จุดประสงค์ของไดเรกทอรี "rc" หลายรายการคืออะไร? อูบุนตูไม่ติดตั้งซ้ำกันทำไมdovecotและntpในทุกไดเรกทอรียกเว้นrc0.dและrc6.d? หากระบุไว้หลายครั้งเหมือนด้านบนพวกเขาจะดำเนินการหลายครั้งจริง ๆ หรือไม่ คุณสามารถบอกได้จากข้างต้นในลำดับใดdovecotและntpจะดำเนินการเมื่อเริ่มต้น? เป็นวิธีที่เหมาะสมในการบอกให้ Ubuntu ดำเนินการntpมาก่อนเสมอdovecotเมื่อเริ่มต้นอย่างไร

5
FIFO, pipe & Unix socket socket เป็นสิ่งเดียวกันใน Linux kernel หรือไม่?
ฉันได้ยินมาว่า FIFO มีชื่อว่าไพพ์ และพวกเขามีความหมายเดียวกัน ในทางกลับกันฉันคิดว่าซ็อกเก็ตโดเมน Unix ค่อนข้างคล้ายกับไพพ์ (แม้ว่าฉันจะไม่เคยใช้มัน) ดังนั้นฉันสงสัยว่าพวกเขาทั้งหมดอ้างถึงการใช้งานเดียวกันในเคอร์เนล Linux ความคิดใด ๆ

1
วิธีเปิดหน้าต่างแท็บในหน้าจอ Gnu & ดำเนินการคำสั่งภายในแต่ละหน้าต่าง
เมื่อเริ่มเซสชันชื่อชื่อใด ๆ เช่นนี้ screen -S name1 ฉันต้องการเปิดหน้าต่างแท็บในเซสชันหน้าจอนี้เช่นเมื่อเปิดแท็บใน gnome-terminal เช่นนี้ gnome-terminal --tab -e "some commands" ดังนั้นจะทำอย่างไร
30 gnu-screen 

7
รายการไฟล์ที่มีคำเฉพาะในข้อความของพวกเขา
ฉันต้องการแสดงรายการไฟล์ซ้ำและไม่ซ้ำกันซึ่งมีคำที่กำหนด ตัวอย่าง : การตรวจสอบคำว่า 'ตรวจสอบ' ฉันทำตามปกติคือ grep $ grep check * -R แต่เนื่องจากมีคำนี้เกิดขึ้นมากมายฉันได้รับผลลัพธ์จำนวนมาก ดังนั้นฉันเพียงต้องการรายการชื่อไฟล์ที่มีคำค้นหาที่กำหนด ฉันเดาว่ามีfindและxargsจะพอเพียงที่นี่ แต่ไม่แน่ใจ ความคิดใด ๆ
30 find  grep  file-search 


4
ทำไมชุด -e ไม่ทำงานภายใน subshells ด้วยวงเล็บ () ตามด้วย OR list ||?
ฉันใช้สคริปต์บางอย่างเช่นนี้เมื่อเร็ว ๆ นี้: ( set -e ; do-stuff; do-more-stuff; ) || echo failed นี่ดูดีสำหรับฉัน แต่มันใช้งานไม่ได้! ใช้ไม่ได้เมื่อคุณเพิ่มset -e ||หากปราศจากอย่างนั้นก็ใช้งานได้ดี: $ ( set -e; false; echo passed; ); echo $? 1 อย่างไรก็ตามหากฉันเพิ่มสิ่ง||นั้นset -eจะถูกละเว้น: $ ( set -e; false; echo passed; ) || echo failed passed การใช้เปลือกแยกที่แท้จริงจะทำงานตามที่คาดไว้: $ sh -c 'set -e; false; …

6
ออกจากเชลล์สคริปต์จากเชลล์ย่อย
ลองพิจารณาตัวอย่างนี้: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } โดยปกติเมื่อfuncถูกเรียกมันจะทำให้สคริปต์หยุดทำงานซึ่งเป็นพฤติกรรมที่ตั้งใจไว้ อย่างไรก็ตามถ้ามันถูกดำเนินการใน sub-shell เช่น in result=`func` มันจะไม่ออกจากสคริปต์ ซึ่งหมายความว่ารหัสการโทรต้องตรวจสอบสถานะการออกของฟังก์ชั่นทุกครั้ง มีวิธีหลีกเลี่ยงสิ่งนี้หรือไม่? สิ่งนี้set -eมีไว้เพื่ออะไร?

6
การทดแทนคำสั่ง: การแยกบรรทัดใหม่ แต่ไม่ใช่ที่ว่าง
ฉันรู้ว่าฉันสามารถแก้ปัญหานี้ได้หลายวิธี แต่ฉันสงสัยว่ามีวิธีที่จะทำโดยใช้เพียง bash ในตัวและถ้าไม่วิธีที่มีประสิทธิภาพที่สุดในการทำคืออะไร ฉันมีไฟล์ที่มีเนื้อหาเช่น AAA B C DDD FOO BAR โดยที่ฉันหมายความว่ามันมีหลายบรรทัดเท่านั้นและแต่ละบรรทัดอาจมีหรือไม่มีช่องว่างก็ได้ ฉันต้องการเรียกใช้คำสั่งเช่น cmd AAA "B C DDD" "FOO BAR" ถ้าฉันใช้cmd $(< file)ฉันจะได้รับ cmd AAA B C DDD FOO BAR และถ้าฉันใช้cmd "$(< file)"ฉันจะได้รับ cmd "AAA B C DDD FOO BAR" ฉันจะให้แต่ละบรรทัดปฏิบัติกับพารามิเตอร์หนึ่งตัวได้อย่างไร

6
Trap, ERR และ echoing บรรทัดข้อผิดพลาด
ฉันกำลังพยายามสร้างการรายงานข้อผิดพลาดโดยใช้ Trap เพื่อเรียกใช้ฟังก์ชันกับข้อผิดพลาดทั้งหมด: Trap "_func" ERR เป็นไปได้ไหมที่จะรับสัญญาณ ERR ที่เป็นเส้นตรง? เปลือกเป็นทุบตี หากฉันทำเช่นนั้นฉันสามารถอ่านและรายงานคำสั่งที่ใช้และบันทึก / ดำเนินการบางอย่าง หรือบางทีฉันอาจจะทำผิดทั้งหมดนี้? ฉันทดสอบกับสิ่งต่อไปนี้: #!/bin/bash trap "ECHO $LINENO" ERR echo hello | grep "asdf" และ$LINENOกำลังกลับมา 2 ไม่ทำงาน

2
มีวิธีการแสดงความคิดเห็นในไฟล์ที่กลุ่มจะดำเนินการเพื่อตั้ง filetype?
ตัวอย่างเช่นถ้าฉันต้องการให้ไฟล์ที่มีชื่อgitconfig(ไม่มีส่วนนำ.) ได้รับการยอมรับโดย vim ว่าเป็นของfiletype=gitconfigมีวิธีการระบุสิ่งนี้ในความคิดเห็นหรือสิ่งที่คล้ายกันภายในไฟล์ตัวเอง? หมายเหตุฉันต้องการให้มันทำงานข้ามระบบได้ดังนั้นจึงไม่แนะนำให้แก้ไขไฟล์เริ่มต้นของ vim
30 vim 

6
ตรวจจับการเชื่อมต่อหูฟัง / ตัดการเชื่อมต่อใน Linux
ฉันพยายามตรวจจับสัญญาณเมื่อเชื่อมต่อหูฟังหรือตัดการเชื่อมต่อจากระบบ วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? หากมีบอร์ดพิเศษพร้อมไดรเวอร์นั่นจะเป็นวิธีที่ฉันชอบ
30 linux  audio  hardware 

4
ฉันควรรวมเครื่องหมายทับ / ใน symlink ไปยังไดเรกทอรีหรือไม่?
symlinking ไปยังไดเรกทอรีให้กับผลที่แตกต่างกันls -lขึ้นอยู่กับว่าผมหรือln -s dir ln -s dir/แต่อะไรคือความแตกต่างที่แท้จริงและฉันควรเลือกข้อใด

7
ฉันควรใช้เชลล์ตัวใด - tcsh vs bash? [ปิด]
ฉันใช้tcshงานมานานแล้ว แต่เมื่อใดก็ตามที่ฉันกำลังค้นหาบางอย่างฉันมักพบว่าวิธีการที่ระบุนั้นbashเฉพาะเจาะจง แม้แต่ไวยากรณ์สำหรับเชลล์สคริปต์ก็ยังแตกต่างกันสำหรับทั้งสอง จากสิ่งที่ฉันมีประสบการณ์การค้นหาและการเรียนรู้บนอินเทอร์เน็ตbashดูเหมือนจะเป็นเปลือกที่ใช้บ่อยขึ้น แม้จำนวนของคำถามในเว็บไซต์นี้มีแท็กbashเป็นวิธีที่มากขึ้น (ห้าครั้งในขณะนี้) tcshกว่าจำนวนของคำถามที่ถูกแท็ก ดังนั้นฉันสงสัยว่าฉันควรเปลี่ยนเป็นทุบตี คุณคิดอย่างไร? ทำไมฉันถึงติดtcshหรือทำไมฉันจึงควรย้ายไปที่bash?
30 linux  shell  bash  fedora  tcsh 

2
วิธีตรวจสอบจำนวน PCIe card ที่ใช้มีกี่เลน
สล็อต PCI Express บนมาเธอร์บอร์ดสามารถกว้างขึ้นได้จากจำนวนช่องทางที่เชื่อมต่อ ตัวอย่างเช่นมาเธอร์บอร์ดสามารถมีสล็อต x8 ที่เชื่อมต่อกับช่องทาง x1 เท่านั้น ในทางกลับกันคุณสามารถใส่การ์ดโดยใช้สำหรับอดีตเท่านั้น 4 เลนไปยังสล็อต x16 บนเมนบอร์ดและพวกเขาจะเจรจาเพื่อใช้เฉพาะเลน x4 เหล่านั้น วิธีการตรวจสอบจากระบบที่กำลังรันมีการใช้เลน PCIe การ์ดที่ใส่เข้าไปจำนวนเท่าไร?
30 pci 

5
วิธีการใช้ OCR จากบรรทัดคำสั่งใน Linux
ฉันมีหน้าหนังสือสแกนหลายพันหน้า แต่ละหน้าจะได้รับการบันทึกเป็น JPG การเขียนมีความชัดเจน แต่แบบอักษรแตกต่างกันไปและหน้าต่างๆจะมีรูปภาพและภาพประกอบ ฉันต้องการสร้างรายการคำทั้งหมดที่ปรากฏในไฟล์ JPG แต่ละไฟล์ มีเครื่องมือบรรทัดคำสั่งสำหรับสแกนรูปภาพที่แสดงคำที่ปรากฏหรือไม่ ไม่จำเป็นต้องมีการสแกนที่สมบูรณ์แบบเพียงแค่การประมาณการ
30 command-line  ocr 

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