Unix & Linux

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

3
สถานที่ที่จะวางไบนารีเพื่อให้พวกเขาอยู่ในเส้นทางและสามารถพบได้ง่าย
ฉันกำลังสร้างไบนารีสคริปต์และอื่น ๆ ที่ฉันต้องการติดตั้งอย่างง่ายดาย (ใช้ rpms ของตัวเอง) เนื่องจากฉันต้องการให้ทุกคนสามารถเข้าถึงได้สัญชาตญาณของฉันจึงต้องใส่ไว้ใน / usr / bin; ไม่จำเป็นต้องเปลี่ยน PATH อย่างไรก็ตาม; executables ของฉันตอนนี้หายไปในกลุ่มของคนอื่น ๆ ทั้งหมด; ฉันจะค้นหาไฟล์ปฏิบัติการทั้งหมดที่ฉันใส่กลับมาได้อย่างง่ายดาย ฉันคิดว่า: ไดเรกทอรีย่อยใน / usr / bin (ฉันรู้ว่าฉันไม่สามารถทำได้เพียงแสดงความคิดของฉัน) ไดเรกทอรีอื่น (/ opt / me / bin) และเชื่อมโยงแต่ละไฟล์ที่เรียกใช้กับ / usr / bin (มีงานจำนวนมาก) ไดเรกทอรีอื่น (/ opt / me / bin) และเชื่อมโยงไดเรกทอรีไปยัง / usr / …

6
ฟังก์ชั่นตกแต่ง Bash
ในไพ ธ อนเราสามารถตกแต่งฟังก์ชั่นด้วยรหัสที่ใช้โดยอัตโนมัติและดำเนินการกับฟังก์ชั่น มีคุณสมบัติคล้ายกันในทุบตี? ในสคริปต์ที่ฉันกำลังทำงานอยู่ฉันมีสำเร็จรูปบางส่วนที่ทดสอบข้อโต้แย้งที่จำเป็นและออกหากไม่มีอยู่ - และแสดงข้อความบางอย่างหากระบุการตั้งค่าการดีบัก น่าเสียดายที่ฉันต้องใส่รหัสนี้ในทุก ๆ ฟังก์ชั่นและถ้าฉันต้องการที่จะเปลี่ยนมันฉันจะต้องแก้ไขทุกฟังก์ชั่น มีวิธีลบรหัสนี้จากแต่ละฟังก์ชั่นและนำไปใช้กับฟังก์ชั่นทั้งหมดซึ่งคล้ายกับมัณฑนากรในหลามหรือไม่?
10 bash  function 

3
การกำหนดค่าการหมดเวลาเริ่มต้นสำหรับเอเจนต์ SSH
ฉันใช้ssh-addเพื่อเพิ่มคีย์ SSH ของฉันไปยังตัวแทน SSH โดยค่าเริ่มต้นจะเพิ่มพวกเขาไปเรื่อย ๆ มีตัวเลือกบรรทัดคำสั่งเพื่อระบุการหมดเวลา แต่มีตัวเลือกไฟล์การกำหนดค่าที่จะระบุการหมดเวลาเริ่มต้นหรือไม่ สิ่งที่ฉันต้องการคือสามารถรันssh-addโดยไม่มีพารามิเตอร์บรรทัดคำสั่งใด ๆ และให้มันเป็นค่าเริ่มต้นตามระยะเวลาที่กำหนดสำหรับการหมดเวลา (เช่นถ้าฉันเรียกssh-add -t 1h)
10 ssh  ssh-agent 


2
บังคับให้แท็บปกติเสร็จสิ้นหากการทำให้เสร็จสมบูรณ์แบบอัจฉริยะล้มเหลว
เมื่อแท็บเสร็จสมบูรณ์กลายเป็นคุณสมบัติมาตรฐานในเชลล์ฉันมีความสุขมากที่ได้ใช้มัน ฉันยังชอบความสมบูรณ์แบบอัจฉริยะของ Bash (ซึ่งจะค้นหาเฉพาะไฟล์ PDF เท่านั้นหากฉันพิมพ์ evoo foo <TAB>) - ตราบใดที่เดาได้อย่างถูกต้อง ซากปรักหักพังเป็นวันที่มีความสุขเป็นอย่างยิ่งเมื่อ Bash ใช้ความสำเร็จที่ชาญฉลาดในการปฏิเสธการทำสิ่งนั้นให้สำเร็จ วันนี้ฉันต้องการ: tar xvf centos5.8_x86_1.ova ดังนั้นฉันเข้ามา: tar xvf cent<TAB> และ Bash ปฏิเสธที่จะทำตามเส้นทางให้เสร็จสิ้นเพราะ. Nova-files ไม่ใช่สิ่งที่คุณมักใช้กับ tar ฉันรู้ว่าฉันสามารถถอนการติดตั้งแพคเกจ bash-completion เพื่อลบความสมบูรณ์อัจฉริยะ แต่ฉันมีเค้กและกินมันด้วยได้ไหม ฉันขอให้ทุบตีใช้ความสมบูรณ์แบบอัจฉริยะก่อนหรือไม่

5
การบันทึกใน / tmp ไม่ใช่การบันทึกจริงหรือ
เปิดเช่นไฟล์แนบอีเมลจาก Firefox (โดยไม่ต้องบันทึกไว้ก่อนหน้านี้); นี่เป็นเอกสาร Libre Office คุณแก้ไขแล้วกดบันทึก (ไม่บันทึกเป็น) และปิดทั้งตัวแก้ไขข้อความและเบราว์เซอร์ /tmpแล้วเอกสารที่หายไปขณะที่มันถูกเก็บไว้โดยเริ่มต้นใน อย่างน้อยนี่เป็นกรณีของ Ubuntu 12.04 ของฉัน คุณคิดว่านี่เป็นพฤติกรรมที่ถูกต้องหรือไม่? โปรแกรมอย่างน้อยไม่ควรเตือนคุณว่าคุณไม่ได้บันทึกอะไรเลยจริงๆ หรือมีวิธีการกู้คืนไฟล์ (หลังจากออกจากระบบและ / หรือรีบูต)

3
วิธีรับการเชิญประชุมจาก Office365 เพื่อให้สามารถแยกวิเคราะห์และเพิ่มลงในปฏิทินได้
วิธีรับ iCalendar (.ics หรือ .ical) คำเชิญเข้าร่วมการประชุมจาก outlook.office365.com เพื่อให้สามารถแยกวิเคราะห์และเพิ่มลงในปฏิทิน (เช่นเตือน + wyrd) ฉันค้นหาคำตอบที่ยาวและหนักหน่วง แต่ไม่พบอะไรเลยฉันจึงสงสัยว่าฉันขาดอะไรไปซักนิด ฉันใช้ Mutt 1.5.22 กับ OfflineIMAP 6.5.5 บน Fedora 20 (Heisenbug) มีสคริปต์มากมายสำหรับการวิเคราะห์ข้อความ iCalendar ในรูปแบบที่สามารถนำเข้าสู่ปฏิทิน นี่ไม่ใช่ปัญหาของฉัน ปัญหาของฉันคือฉันไม่ได้รับข้อความ iCalendar ดังนั้นฉันไม่มีอะไรจะแยกวิเคราะห์ คำเชิญเข้าร่วมประชุมมาถึงกล่องจดหมายเข้าของฉันในรูปแบบข้อความเข้ารหัส / ข้อความ HTML แบบพื้นฐาน มันเป็นไม่ได้ข้อความหลายส่วนและมีสิ่งที่แนบมาไม่มี เนื้อความของข้อความประกอบด้วยลิงค์ไปยัง Microsoft Outlook Web Access (OWA) การติดตามลิงก์ดูเหมือนจะไม่ทำอะไรเลยยกเว้นพาฉันไปที่เว็บเมล เนื้อหาอีเมลที่เหลือประกอบด้วยคำอธิบายของคำเชิญการประชุม ฉันพยายามส่งต่อคำเชิญและส่งต่อคำเชิญเป็นสิ่งที่แนบมา แต่สิ่งเหล่านี้ไม่ส่งผลกระทบต่อรูปแบบของข้อความ ฉันตรวจสอบส่วนหัวของข้อความ แต่ไม่มีสิ่งใดโดดเด่นเท่าที่สำคัญ ฉันได้คัดลอกมาที่นี่ในกรณีที่มีความหมายบางอย่างกับทุกคน: Received: …
10 mutt 

1
มีไฟล์ Bash ที่จะมีแหล่งที่มาในโหมดอินเตอร์แอคทีฟเสมอไม่ว่าจะเป็นการเข้าสู่ระบบหรือไม่เข้าสู่ระบบ?
เท่าที่ฉันรู้เปลือกโต้ตอบอาจเข้าสู่ระบบหรือไม่เข้าสู่ระบบและไฟล์เริ่มต้นสำหรับพวกเขาจะแตกต่างกัน ถ้าโต้ตอบ + เปลือกเข้าสู่ระบบ→ /etc/profileแล้วอ่านครั้งแรก~/.bash_profile, ~/.bash_loginและ~/.profile หากเปลือกแบบโต้ตอบ + ที่ไม่ใช่การเข้าสู่ระบบ→ /etc/bash.bashrcแล้ว~/.bashrc ฉันต้องการตั้งค่าตัวแปรบางอย่างทุกครั้งที่ฉันใช้เชลล์แบบโต้ตอบโดยไม่คำนึงว่ามันเป็นเชลล์ล็อกอินหรือไม่
10 bash  login  bashrc 

2
เปลือกสามารถ“ รุกมากขึ้น” ได้หรือไม่?
My Gentoo Linux รวบรวมด้วยการตั้งค่าสถานะ USE ที่ไม่เหมาะสม : # sudo su - Password: Hold it up to the light --- not a brain in sight! Password: นอกจากนี้ยังเป็นไปได้ที่จะเลือกโชคชะตาตามระดับความไม่พอใจ: # fortune -o kernelcookies | cowsay -b _________________________________________ / /* This is total bullshit: */ \ | | \ linux-2.6.6/drivers/video/sis/init301.c / ----------------------------------------- \ ^__^ …
10 shell  cowsay 

4
Sudoers เป็นเวลาหนึ่งวันต่อสัปดาห์หรือไม่
ฉันได้รับการอาสาจากหัวหน้าของฉันให้เป็นผู้ดูแลระบบสำหรับเซิร์ฟเวอร์การผลิตของเรา เขาขอให้ฉันกระชับความปลอดภัยเพื่อหลีกเลี่ยงอุบัติเหตุrm -f *ที่เกิดขึ้นเมื่อไม่นานมานี้ ตอนนี้เรามีผู้ใช้ 53 คนเข้าสู่เครื่องและเป็นฝันร้ายของการตรวจสอบ ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะอนุญาตให้ผู้ใช้เข้าถึงได้เฉพาะในวันที่ระบุในสัปดาห์ ตัวอย่างเช่นฉันสามารถให้ผู้ใช้ 'Joe' อนุญาตให้เข้าสู่ระบบในวันอังคารและวันพฤหัสบดีเท่านั้นและ 'Jane' เท่านั้นในวันอาทิตย์? สามารถetc/sudoersกำหนดเองเพื่ออนุญาตสิ่งนี้ได้หรือไม่ มีวิธีที่ดีกว่าแทนที่จะใช้ sudoers หรือไม่?

1
วิธีการตั้งค่าระบบ RAID โดยใช้ USB sticks เป็นสื่อบันทึกข้อมูล
ฉันต้องการที่จะสร้างเซิร์ฟเวอร์คอมไพล์ราคาไม่แพงตัวเองเป็นเจ้าภาพส่วนตัวกับการจัดเก็บซ้ำซ้อน ด้วยเหตุนี้ฉันจึงซื้อ Raspberry Pi และกำหนดค่าทั้งสองgitและsshบน Pi ฉันสามารถเข้าถึง Pi ได้ทั้งจาก LAN และจากระยะไกล (โดยการส่งต่อพอร์ตบนเราเตอร์ของฉันไปยัง Pi) ดังนั้นเซิร์ฟเวอร์ git ก็เริ่มทำงานแล้ว สิ่งสุดท้ายที่ต้องทำคือการจัดเก็บซ้ำซ้อน เพราะผมมี 7 พอร์ตฮับ USB ที่แนบมากับพี่ของฉันฉันต้องการที่จะตั้งค่าระบบ RAID ใช้หลาย USB sticks ได้เหมือนกัน ฉันมีความรู้เกี่ยวกับ RAID เท่านั้น ดังนั้นฉันไม่ทราบวิธีการตั้งค่าและที่สำคัญไม่ว่าจะเป็นไปได้ด้วย USB sticks ที่เชื่อมต่อกับฮับ ดังนั้นนี่เป็นคำถามของฉัน คุณสามารถตั้งค่าระบบ RAID โดยใช้ USB sticks เป็นสื่อบันทึกข้อมูลได้หรือไม่ ฉันควรใช้ซอฟต์แวร์ใด ฉันจะหาบทแนะนำ / คู่มือที่ดีสำหรับระบบ RAID ได้ที่ไหน ในกรณีที่ RAID เป็นไปไม่ได้ฉันจะซิงโครไนซ์ข้อมูลข้าม …

2
printk ทำงานอย่างไรภายในอย่างแน่นอน?
ฉันรู้ว่าprintfต้องการความช่วยเหลือจากระบบปฏิบัติการเพื่อทำงานของมัน ฉันรู้ว่าprintfไม่ทำงานในซอร์สโค้ด Linux เนื่องจากไม่มีไลบรารี่ และเรามีprintkการดีบัก วิธีการที่ไม่printkทำงานเมื่อระบบปฏิบัติการยังคงบูตแล้ว?

6
ทุบตีหาบรรทัดที่ขึ้นต้นด้วยสตริง
ฉันมีไฟล์หลายไฟล์และต้องการค้นหาว่าไฟล์ใดมีบรรทัดเรียงตามลำดับที่ขึ้นต้นด้วยสตริงที่แน่นอน ตัวอย่างเช่นสำหรับไฟล์ต่อไปนี้: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee มีมากกว่าหนึ่งบรรทัดที่ขึ้นต้นด้วย 'C' ดังนั้นฉันต้องการให้ไฟล์นี้ถูกค้นพบโดยคำสั่ง ตัวอย่างเช่นสำหรับไฟล์ต่อไปนี้: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd มีหนึ่งบรรทัดที่ขึ้นต้นด้วย 'C' เสมอฉันไม่ต้องการไฟล์นี้ ฉันคิดว่าจะใช้ a grepหรือ a sedแต่ฉันไม่รู้วิธีการใช้ อาจใช้ regexp ^C.*$^Cหรืออะไรทำนองนั้น ความคิดใด ๆ
10 bash  sed  grep  string 

1
จะค้นหาไฟล์ที่มีบรรทัดใหม่ในชื่อไฟล์ได้อย่างไร
ฉันพยายามค้นหาไฟล์ที่มีบรรทัดใหม่ในชื่อไฟล์ แต่ฉันไม่สามารถคิดได้ว่าจะใช้รูปแบบใด ผลงานดังต่อไปนี้ แต่ไม่มีประโยชน์มากถ้าฉันต้องการใช้ในโค้ดที่เยื้อง find . -name '* *' ฉันลองสองสิ่งนี้และพวกเขาประสบความสำเร็จในการค้นหาชื่อไฟล์ที่มีตัวอักษรn : find . -name '*\n*' find . -name "*\n*" จากนั้นฉันก็พบวิธีเขียนลำดับ backslash escape และลองสิ่งนี้: find . -name "*$'\n'*" แต่นั่นไม่พบอะไรเลย ฉันจะเขียนรูปแบบได้อย่างไร
10 shell  find  patterns 

3
ใช้งานสกรีนเซฟเวอร์เดียวข้ามจอภาพหลายจอ
มีวิธีที่จะทำให้xscreensaverโปรแกรมรักษาหน้าจอเดียวข้ามจอแสดงผล X ทั้งหมดโดยไม่สนใจรูปทรงเรขาคณิตของ Xinerama / XRANDR หรือไม่? ฉันมีสามหน้าจอที่ปรากฏเป็นหน้าจอ X เดียวในหนึ่งหน้าจอ X XRANDR ให้ข้อมูลเกี่ยวกับสถานที่ที่จอแสดงผลทางกายภาพแต่ละเครื่องเริ่มต้นและสิ้นสุดบนหน้าจอ X เดียว xscreensaverใช้สิ่งนี้เพื่อเรียกใช้โปรแกรมรักษาหน้าจอที่แตกต่างกันในแต่ละจอภาพหรือใช้โปรแกรมรักษาหน้าจอเดียวกันสามครั้งครั้งละหนึ่งจอภาพ ฉันต้องการเปลี่ยนแปลงสิ่งนี้เพื่อให้มีการใช้งานโปรแกรมรักษาหน้าจอเพียงตัวเดียวและครอบคลุมทั้งสามหน้าจอ (เช่นใช้ทั้งหน้าจอ X ทั้งหมด) วิธีนี้ภาพเคลื่อนไหวในโปรแกรมรักษาหน้าจอจะเป็นอิสระในการเดินเตร่จากจอภาพหนึ่ง . เป็นไปได้ไหม

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