Unix & Linux

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

4
มุมมองที่สมบูรณ์ของตำแหน่งที่ตัวแปร PATH ถูกตั้งค่าเป็น bash
ฉันได้อ่านในสองสถานที่ที่PATHมีการตั้งค่า/etc/profileหรือ.profileไฟล์ที่อยู่ในบ้าน dir สถานที่เหล่านี้เป็นสถานที่เดียวที่ตั้งค่าเส้นทางหรือไม่ ฉันต้องการความเข้าใจที่ดีขึ้น ในไฟล์เช่นแสดงความคิดเห็นต่อไปนี้กล่าว/etc/profile "system-wide .profile file for the Bourne shell"นั่นหมายความว่าไฟล์โปรไฟล์เป็นไฟล์กำหนดค่าหลักสำหรับการทุบตี? ในไฟล์นั้นฉันไม่เห็นPATHการตั้งค่า var ทั้งหมด ใน.profileไฟล์ในโฮมไดเร็กทอรีมีบรรทัดนี้: PATH="$HOME/bin:$PATH" นั่นคือการรีเซ็ตPATHโดยรูปลักษณ์เพราะมันเชื่อมต่อ$PATHสตริงที่ตั้งค่าไว้เรียบร้อยแล้ว$HOME/bin:ใช่ไหม แต่ถ้าetc/profileและ~/.profileเป็นเฉพาะไฟล์การตั้งค่าPATHที่จะ$PATHมาจากในบรรทัดของรหัสที่หากยังไม่ได้กำหนดไว้ใน/etc/profile? ใครบางคนที่มีประสบการณ์สามารถโปรดอธิบายรายละเอียดเกี่ยวกับPATHตัวแปรได้อย่างละเอียดหรือไม่? ขอบคุณ!

6
การเข้าสู่ระบบคอนโซล SSH ทำงาน แต่ SFTP ไม่ได้เพราะอะไร
ฉันพยายาม SFTP ด้วย Filezilla แต่ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์และฉันคิดว่านี่เป็นเพราะกฎไฟร์วอลล์ของฉัน ฉันสามารถ SSH ได้ดีอย่างแน่นอน พอร์ตสำหรับ SSH คือ 6128 ทุกคนสามารถบอกฉันได้ว่าการเปลี่ยนแปลงใดที่ฉันต้องทำเพื่ออนุญาตการเชื่อมต่อ FTP ผ่าน SSH เนื่องจาก SSH นั้นทำงานอยู่แล้ว (นี่คือกฎ IPtables ของฉัน) Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh ACCEPT all -- anywhere anywhere REJECT all -- anywhere loopback/8 reject-with …
17 ssh  sftp 

3
PulseAudio เริ่มต้นอย่างไร
PulseAudio ทำงานบนระบบของฉันอยู่เสมอและจะเริ่มต้นใหม่ทันทีหากเกิดปัญหาหรือฉันฆ่ามัน อย่างไรก็ตามฉันไม่เคยเริ่ม PulseAudio จริงๆ ผมได้ตรวจสอบ/etc/init.d/แล้ว/etc/X11/Xsession.d/และผมได้ตรวจสอบsystemctl list-units -a, และ PulseAudio คือไม่มีที่ไหนเลยที่จะพบ ดูเหมือนว่า PulseAudio จะเริ่มต้นเองอย่างน่าอัศจรรย์โดยที่ฉันไม่เคยเรียกใช้มาก่อนและจะเริ่มใหม่ได้อย่างไรเมื่อมันตาย? ฉันใช้ Debian 8 (jessie) กับ xinit และตัวจัดการหน้าต่าง i3 และ PulseAudio 5

3
วิธีการตัดเครื่องหมายทับสุดท้ายของเส้นทางไดเรกทอรี?
ฉันมีสคริปต์ที่ต้องการไดเรกทอรีเป็นหนึ่งอาร์กิวเมนต์ ฉันต้องการที่จะสนับสนุนทั้งสองรูปแบบ: หนึ่งเหมือน a/b/c (ไม่มีฟันแทงตอนท้าย) และอีกอันก็เหมือน a/b/c/ (มีเครื่องหมายทับที่ท้าย) คำถามของฉัน: ด้วยรูปแบบใดรูปแบบหนึ่งทั้งสองฉันจะเปลี่ยนรูปแบบแรกให้เป็นแบบเดิมได้อย่างไรและตัดเครื่องหมายสแลชสุดท้ายของรูปแบบที่สองเพื่อแปลงเป็นรูปแบบแรก

3
ล้างสแนปชอตของ Snapper ทั้งหมด
OpenSUSE (ในบรรดาดิสทริบิวชั่นอื่น ๆ ) ใช้ปลากะพงเพื่อถ่ายรูปสแนปชอตของพาร์ติชั่น btrfs บางคนคิดว่าช่วงเวลาสแน็ปช็อตเริ่มต้นใช้พื้นที่มากเกินไปเร็วเกินไป แต่ไม่ว่าคุณจะเชื่อหรือไม่ก็ตามมีหลายครั้งที่คุณต้องการล้างพื้นที่บนระบบไฟล์ของคุณและบ่อยครั้งพบว่าสแน็ปช็อตbtrfsใช้พื้นที่จำนวนมาก หรือในกรณีอื่น ๆ คุณอาจต้องการล้างระบบไฟล์ของข้อมูลส่วนเกินทั้งหมดก่อนที่จะย้ายไปยัง / จาก VM หรือเปลี่ยนสื่อเก็บข้อมูลหรือบางสิ่งบางอย่างตามสายเหล่านั้น แต่ฉันไม่สามารถดูเหมือนจะหาคำสั่งได้อย่างรวดเร็วเช็ดทั้งหมดของภาพรวมปลากะพงได้ดำเนินการทั้งผ่านปลากะพงหรือเครื่องมืออื่น ฉันจะทำสิ่งนี้ได้อย่างไร
17 opensuse  btrfs 

3
แทนที่สตริงหลายบรรทัดในไฟล์
ฉันมีไฟล์จำนวนหนึ่งที่ฉันต้องการอัปเดตโดยแทนที่สตริงหลายบรรทัดหนึ่งด้วยสตริงอื่นหลายบรรทัด บางสิ่งบางอย่างตาม: * Some text, * something else * another thing และฉันต้องการแทนที่ด้วย: * This is completely * different text ผลที่ตามมาก็คือหลังจากการแทนที่ไฟล์ที่มีบล็อกแรกของข้อความตอนนี้จะมีสตริงที่สอง (ส่วนที่เหลือของไฟล์ไม่เปลี่ยนแปลง) ส่วนหนึ่งของปัญหาคือฉันต้องค้นหารายชื่อไฟล์ที่จะอัพเดทในระบบไฟล์ ฉันเดาว่าฉันสามารถใช้ grep สำหรับสิ่งนั้นได้ (แม้ว่าจะไม่ใช่เรื่องง่ายที่จะทำกับสตริงหลายบรรทัด) จากนั้นลองใช้ greid หรือไม่? มีวิธีง่าย ๆ ในการทำเช่นนี้? Sed เป็นตัวเลือก แต่มันน่าอึดอัดใจเพราะฉันต้องเพิ่ม \ n ฯลฯ มีวิธีที่จะพูดว่า "รับอินพุตจากไฟล์นี้จับคู่กับไฟล์เหล่านั้นจากนั้นแทนที่ด้วยเนื้อหาของไฟล์อื่นนี้" หรือไม่? ฉันสามารถใช้ python ถ้าจำเป็น แต่ฉันต้องการบางสิ่งที่รวดเร็วและง่ายดายดังนั้นหากมียูทิลิตีที่มีอยู่ฉันอยากจะใช้สิ่งนั้นมากกว่าเขียนสคริปต์ของตัวเอง (ซึ่งฉันรู้วิธีการทำ)


4
วิธีรันกระบวนการแบบขนานและรวมเอาต์พุตเมื่อทั้งคู่เสร็จสิ้น
ฉันมีสคริปต์ทุบตีเปลือกที่ฉันท่อข้อมูลบางอย่างผ่านประมาณ 5 หรือ 6 โปรแกรมที่แตกต่างกันแล้วผลสุดท้ายเป็นไฟล์ที่คั่นด้วยแท็บ ฉันจะทำเช่นเดียวกันอีกครั้งสำหรับชุดข้อมูลที่คล้ายกันและส่งออกไปยังไฟล์ที่สอง จากนั้นไฟล์ทั้งสองจะถูกป้อนเข้าสู่โปรแกรมอื่นสำหรับการวิเคราะห์เปรียบเทียบ เช่นเพื่อลดความซับซ้อน Data1 | this | that |theother | grep |sed | awk |whatever > Data1Res.csv Data2 | this | that |theother | grep |sed | awk |whatever > Data2Res.csv AnalysisProg -i Data1res.csv Data2res.csv คำถามของฉันคือฉันจะทำให้ขั้นตอนที่ 1 และขั้นที่ 2 ในเวลาเดียวกัน (เช่นการใช้ &) แต่เปิดตัวเพียงขั้นตอนที่ 3 (AnalysisProg) …

4
ฉันจะรับรายการรหัสทางออก (และ / หรือรหัสส่งคืน) และความหมายสำหรับคำสั่ง / ยูทิลิตี้ได้อย่างไร
มีวิธีที่ฉันสามารถทำสิ่งที่ระบุไว้ในชื่อเรื่องจากคำสั่ง terminal หรือฉันจะต้องมองเข้าไปในรหัส?

4
Poweroff หรือ Reboot เป็นผู้ใช้ปกติ
ในการรันคำสั่งpoweroffหรือrebootจำเป็นต้องเป็นผู้ใช้ขั้นสูง มีอยู่ฉันสามารถเรียกใช้สิ่งนี้ในฐานะผู้ใช้ปกติได้หรือไม่ ฉันไม่ต้องการsudoและใส่รหัสผ่านทุกครั้งที่ฉันรีบูทหรือปิดเครื่อง

1
/ usr / lib64 ไปไหนและ / usr / lib / x86_64-linux-gnu คืออะไร?
ฉันมีระบบ Ubuntu-x86_64 สองระบบ หนึ่งคือเวอร์ชัน 10.04, อีก 12.04 และมีความแตกต่างในโครงสร้างของไดเรกทอรี lib มันไม่ได้ทำให้ฉันแปลกใจ แต่ฉันอยากรู้ว่าใครรู้ว่าทำไม มีเหตุผล™ที่ดีทำไม 10.04 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux /usr/lib /usr/lib32 /usr/lib64 12.04 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 GNU/Linux /usr/lib /usr/lib/x86_64-linux-gnu

2
การเปิดไฟล์. eml ด้วย mutt
หนึ่งควรเปิดไฟล์. eml ใน linux อย่างไร ฉันไม่แน่ใจว่าmuttสามารถจัดการได้หรือไม่ UPDATE ฉันทำได้บางส่วนด้วยการสร้างกล่องจดหมายใหม่: mkdir -p a/{cur,tmp,new} และวางไฟล์ eml ใน / cur ฉันสามารถอ่านได้ด้วย: mutt -f แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ
17 mutt  email 

3
นับค่าที่แตกต่างของฟิลด์ในไฟล์
ฉันมีไฟล์มีจำนวนบรรทัดมากกว่าล้านบรรทัด ในบรรทัดฉันมีเขตข้อมูลที่เรียกว่าtransactionidซึ่งมีค่าซ้ำ สิ่งที่ฉันต้องทำคือนับพวกเขาอย่างชัดเจน ไม่ว่าจะมีค่าซ้ำกี่ครั้งก็ควรนับเพียงครั้งเดียว

2
การทำความเข้าใจ“ serial8250: ทำงานมากเกินไปสำหรับข้อความเคอร์เนล irq4”
dmesg แสดงข้อความจำนวนมากจาก serial8250: $ dmesg | grep -i serial [ 0.884481] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled [ 6.584431] systemd[1]: Created slice system-serial\x2dgetty.slice. [633232.317222] serial8250: too much work for irq4 [633232.453355] serial8250: too much work for irq4 [633248.378343] serial8250: too much work for irq4 ... ฉันไม่เคยเห็นข้อความนี้มาก่อน โดยทั่วไปหมายถึงอะไร ฉันควรจะกังวลไหม …
17 kernel  dmesg 


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