Unix & Linux

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


5
ความแตกต่างระหว่าง cat และ '>' ถึงศูนย์ออกไฟล์
คำสั่งทั้งสองนี้แตกต่างกันหรือไม่เกี่ยวกับวิธีที่พวกเขาไปเกี่ยวกับการลบไฟล์เป็นศูนย์หรือไม่? วิธีหลังเป็นวิธีที่สั้นกว่าในการทำอดีตหรือไม่? เกิดอะไรขึ้นเบื้องหลัง ทั้งสอง $ cat /dev/null > file.txt $ > file.txt ผล -rw-r--r-- 1 user wheel 0 May 18 10:33 file.txt

1
อะไรทำให้ systemd แตกต่างจากระบบ init อื่น ๆ ?
มันไม่เป็นทางการมากนัก แต่ดูเหมือนว่า systemd กำลังจะมาถึง Debian และหลังจากได้อ่านการอภิปรายรายชื่อผู้รับจดหมายที่ร้อนแรงในการตัดสินใจครั้งนั้น ฉันใช้ระบบ Debian (sysvinit) และ Gentoo (OpenRC) และไม่รู้อะไรเลยเกี่ยวกับ systemd แม้ว่ามันจะดูเหมือนว่ามันกำลังเข้ามาแล้วก็ตาม ฉันได้เห็นคำถามที่เกี่ยวข้องกับการถามข้อดีข้อเสียของ systemd vs พุ่งพรวด แต่มันเป็นเวลา 3 ปีตั้งแต่คำถามนั้นถูกโพสต์และฉันแน่ใจว่าสิ่งต่าง ๆ มีการเปลี่ยนแปลงในเวลานั้น คำถามของฉันคือ: systemd เปรียบเทียบกับระบบ init อื่น ๆ อย่างไร อะไรแยกมันออกจากกัน - มันทำอะไรได้บ้างที่ระบบ init อื่นไม่สามารถทำได้? มีอะไรที่เสียไปในการเปลี่ยนจากระบบ init อื่นหรือไม่? การบริหารระบบเปรียบเทียบกับคนอื่นอย่างไร?

5
บังคับให้ ssh ไม่พิมพ์คำเตือน“ การระบุโฮสต์ระยะไกลมีการเปลี่ยนแปลง”
มีวิธีหลีกเลี่ยงข้อความเตือนการพิมพ์ ssh เช่นนี้หรือไม่? "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", "@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", แม้ว่าข้อมูลประจำตัวของโฮสต์ระยะไกลมีการเปลี่ยนแปลง แต่ฉันรู้ว่ามันเป็นเรื่องปกติและเพียงแค่ต้องการที่จะกำจัดคำเตือนนี้
23 ssh 

3
ฉันจะเปิดใช้งานเสียงในการติดตั้ง Arch สดนี้ได้อย่างไร
ฉันกำลังติดตามคู่มือ Arch เริ่มต้นของ ฉันมีซุ้มวิ่ง ตอนนี้ฉันกำลังทำงานเกี่ยวกับคำแนะนำหลังการติดตั้งซึ่งเป็นหนึ่งในส่วนแรกที่จะเปิดเสียงลำโพง นี่คือที่ปัญหาของฉันคือ ก่อนอื่นฉันติดตั้ง alsamixer pacman -S alsa-utils ถ้าอย่างนั้น amixer sset Master unmute ฉันได้รับข้อผิดพลาดนี้: amixer: Unable to find simple control 'Master',0 ฉันไม่รู้วิธีดำเนินการต่อ แก้ไข : # cat/proc/asound/cards 0 [MID]: Hda-Intel - HDA Intel MID HDA Intel MID at 0xf7e14000 irq 63 1 [PCH]: Hda-Intel - HDA Intel PCH …
23 arch-linux  audio  alsa 

3
du ให้ผลลัพธ์ที่แตกต่างกันสองไฟล์สำหรับไฟล์เดียวกัน
ฉันเป็นนักศึกษาระดับบัณฑิตศึกษาสาขาเคมีเชิงคอมพิวเตอร์ที่มีการเข้าถึงคลัสเตอร์ Linux คลัสเตอร์ประกอบด้วยเซิร์ฟเวอร์ไฟล์ที่มีขนาดใหญ่มาก (25 TB) ซึ่งมีการเชื่อมต่อโหนดการคำนวณหลายโหล แต่ละโหนดการประมวลผลประกอบด้วยคอร์ Intel Xeon 8 ถึง 24 แกน แต่ละโหนดการคำนวณยังมีดิสก์ภายในตัวประมาณ 365 TB เนื่องจาก fileserver มีการเข้าถึงเป็นประจำโดยผู้ใช้โหลหรือมากกว่านั้นในกลุ่มการวิจัยดังนั้นจึงมีการใช้ fileserver เป็นหลักสำหรับการจัดเก็บไฟล์ระยะยาว (มันถูกสำรองข้อมูลทุกคืน ดังนั้นผู้ดูแลระบบได้สั่งให้เรารันการจำลองบนดิสก์ภายในเครื่อง - ซึ่งมี I / O ที่เร็วกว่า fileserver - เพื่อไม่ให้ช้าลง fileserver สำหรับผู้ใช้รายอื่น ดังนั้นฉันรันการจำลองบนดิสก์ภายในแล้วหลังจากเสร็จสิ้นฉันคัดลอกไฟล์วิถี - ฉันใช้การจำลองโมเลกุล (MD) - ไปยังไฟล์เซิร์ฟเวอร์เพื่อเก็บข้อมูล สมมติว่าฉันมีไฟล์ที่เรียกว่าวิถีในไดเรกทอรีบนดิสก์ท้องถิ่นของโหนดtraj.trr /home/myusername/mysimulation1/traj.trrสำหรับการจัดเก็บระยะยาวผมมักจะคัดลอกtraj.trrไปยังไดเรกทอรีใน fileserver ที่เป็น~/mysimulation1/traj.trrที่~หมายถึงไดเรกทอรีของฉันใน fileserver /export/home/myusernameที่ หลังจากคัดลอกแล้วฉันเป็นปกติวิสัยใช้du -hเพื่อตรวจสอบว่ามีขนาดของไฟล์เช่นเดียวกับ/home/myusername/mysimulation1/traj.trr ~/mysimulation1/traj.trrด้วยวิธีนี้ฉันอย่างน้อยก็สามารถมั่นใจได้ว่าการถ่ายโอนไปยัง fileserver …
23 disk-usage 

5
คุณจะเปรียบเทียบสองโฟลเดอร์และคัดลอกความแตกต่างไปยังโฟลเดอร์ที่สามได้อย่างไร
คุณมีสามโฟลเดอร์: โฟลเดอร์ปัจจุบันซึ่งมีไฟล์ปัจจุบันของคุณ โฟลเดอร์เก่าซึ่งมีไฟล์เดียวกันเวอร์ชันเก่ากว่า ความแตกต่างของโฟลเดอร์ซึ่งเป็นเพียงโฟลเดอร์ว่าง คุณเปรียบเทียบเก่ากับปัจจุบันและคัดลอกไฟล์ที่แตกต่างกัน (หรือใหม่ทั้งหมด) ในปัจจุบันเพื่อความแตกต่างได้อย่างไร ฉันได้ค้นหาไปรอบ ๆ และดูเหมือนจะเป็นเรื่องง่าย ๆ ที่จะแก้ไขปัญหา แต่ฉันไม่สามารถทำให้มันทำงานได้ในตัวอย่างเฉพาะของฉัน แหล่งที่มาส่วนใหญ่แนะนำให้ใช้rsyncดังนั้นฉันจึงลงเอยด้วยคำสั่งต่อไปนี้: rsync -ac --compare-dest=../old/ new/ difference/ สิ่งนี้จะ แต่เป็นสำเนาไฟล์ทั้งหมดจากใหม่จะแตกต่างกันแม้กระทั่งผู้ซึ่งเป็นเช่นเดียวกับในเก่า ในกรณีที่ช่วยได้ (อาจเป็นคำสั่งที่ดีและความผิดอยู่ที่อื่น) นี่คือวิธีที่ฉันทดสอบนี้: ฉันทำทั้งสามโฟลเดอร์ ฉันทำไฟล์ข้อความหลายที่มีเนื้อหาที่แตกต่างกันในเก่า ผมคัดลอกไฟล์จากเก่าไปใหม่ ฉันเปลี่ยนเนื้อหาของไฟล์บางไฟล์เป็นไฟล์ใหม่และเพิ่มไฟล์เพิ่มเติมอีกสองสามไฟล์ ฉันวิ่งคำสั่งดังกล่าวและการตรวจสอบผลในความแตกต่าง ฉันกำลังมองหาวิธีการแก้ปัญหาสำหรับสองสามวันที่ผ่านมาและฉันขอขอบคุณความช่วยเหลือ ไม่จำเป็นต้องใช้ rsync แต่ฉันอยากรู้ว่าฉันทำอะไรผิดถ้าเป็นไปได้
23 files  rsync  diff  file-copy 

7
แป้นพิมพ์ลัดเพื่อย้ายหน้าต่างไปด้านข้างใน Gnome
ใน Windows ฉันสามารถกดWindows + (left/right/up/down)ปุ่มเพื่อกดหน้าต่างกับด้านบนขวาลงหรือด้านซ้ายตามลำดับ Ubuntu มีอะไรที่เทียบเท่าหรือเปล่า? Distro: Ubuntu 12.04 โดยใช้ Gnome

6
Regex สำหรับคำ 10 ตัวอักษรทั้งหมดด้วยตัวอักษรที่ไม่ซ้ำกัน
ฉันพยายามเขียน regex ที่จะแสดงคำทั้งหมดที่มีความยาว 10 ตัวอักษรและไม่มีตัวอักษรซ้ำ จนถึงตอนนี้ฉันได้รับ grep --colour -Eow '(\w{10})' ซึ่งเป็นส่วนแรกของคำถาม ฉันจะตรวจสอบหา "เอกลักษณ์" ได้อย่างไร ฉันไม่มีเบาะแสนอกเหนือจากนั้นฉันต้องใช้การอ้างอิงกลับ

4
จะบอก Linux Kernel> 3.0 ให้เพิกเฉยต่อดิสก์ที่ล้มเหลวได้อย่างไร?
ฉันมีแล็ปท็อปซัมซุง (โครโนส S7) กับหนึ่งดิสก์ SATA ฮาร์ดบนรถบัสata:1ซึ่งจะตรวจพบว่าเป็น/dev/sdaความ 8G SSD บนata:2, /dev/sdbและอุปกรณ์อื่น ๆ ในส่วนที่เหลือของอินเตอร์เฟซ SATA ปัญหาคือดิสก์ SSD นั้น บัดกรีให้กับกระดานหลัก (unmovable) จับ (มันแค่ให้ข้อผิดพลาด I / O สำหรับการดำเนินการใด ๆ ) มันไม่ปรากฏในประวัติ (อาจเป็นเพราะมันเสีย) ตอนนี้ดิสก์นี้: หน่วงเวลาบูตสามถึงห้านาทีพยายามตรวจสอบดิสก์ที่ล้มเหลวซึ่งน่ารำคาญ แต่สิ่งที่น่ารำคาญที่สุดคือระบบไม่สามารถระงับได้เนื่องจาก/dev/sdbความล้มเหลว สังเกตเห็นว่าฉันสามารถอยู่กับความล่าช้าในการบูต --- สิ่งที่ฉันกังวลคือสิ่งที่ดำเนินการต่อ / หยุดชั่วคราว ดังนั้นคำถามคือ:ฉันสามารถบอกเคอร์เนลเพื่อหลีกเลี่ยงการละเอียดอุปกรณ์ใน ata: 2 ได้หรือไม่ ในเคอร์เนลที่เก่ากว่า (<3.0) เมื่อฉันยังสามารถขุดลงไปในแหล่งที่มาได้มีพารามิเตอร์บรรทัดคำสั่งของรูปแบบhdb=ignoreที่จะได้ทำเคล็ดลับ ฉันได้ลองใช้เทคนิคทั้งหมดที่เสนอด้านล่างด้วยudevและlibata:forceพารามิเตอร์เคอร์เนลเพื่อประโยชน์ โดยเฉพาะอย่างยิ่งต่อไปนี้ใช้งานไม่ได้: การเพิ่มลงใน/etc/udev/rules.d/ไฟล์ใดไฟล์หนึ่งต่อไปนี้(ในการประมวลผลก่อนหน้าเช่น00-ignoredisk.rulesหรือในช่วงปลาย99-ignoredisk.rulesหรือในทั้งสองสถานที่) SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", …

4
ไวน์ไม่ใช่ตัวเลียนแบบได้อย่างไร
เมื่อฉันเข้าใจอีมูเลเตอร์ (ในวิธีที่ง่าย) พวกเขาทำการแปลหรือแทนที่การเรียกใช้ฟังก์ชันของโปรแกรมโดยใช้ฟังก์ชั่นของ System X เป็นฟังก์ชั่นที่ใช้โดยระบบ Y ซึ่งโปรแกรมกำลังทำงานอยู่ โครงการไวน์อ้างว่าไวน์ไม่ใช่ผู้เลียนแบบเพราะ: แทนที่จะจำลองตรรกะภายในของ Windows เช่นเครื่องเสมือนหรือเครื่องจำลองไวน์แปลการเรียก Windows API เป็นการเรียก POSIX ได้ทันทีกำจัดประสิทธิภาพและหน่วยความจำของวิธีอื่น ๆ และอนุญาตให้คุณรวมแอปพลิเคชัน Windows เข้ากับเดสก์ท็อปของคุณ อีมูเลเตอร์และเครื่องเสมือนจำลองตรรกะ Windows ภายในในระบบโฮสต์ที่ไม่ใช่ Windows อย่างไร นั่นไม่ใช่โดยการแปลการเรียกระบบ Windows เป็นการโทรตามลำดับของโฮสต์หรือไม่ ความแตกต่างระหว่างอีมูเลเตอร์และไม่ใช่อีมูเลเตอร์ (เช่นไวน์) คืออีมูเลเตอร์จำลองระบบปฏิบัติการทั้งหมดจากนั้นแอปพลิเคชันจะใช้ API ของระบบนั้นโดยไม่ทราบว่ามันกำลังพูดคุยกับอีมูเลเตอร์ และแอปพลิเคชันอาจไม่ทราบ) การเพิ่มระดับทางอ้อมนั้นแตกต่างกันระหว่างอีมูเลเตอร์และไวน์หรือไม่
23 wine  emulation 

4
กระบวนการสังหารเกิดโดย ssh เมื่อ ssh ตาย
นี่เป็นคำถามที่ได้รับการแก้ไขหลายครั้งไม่เพียง แต่ที่นี่ แต่ยังอยู่ในไซต์อื่น ๆ ของเครือข่ายแลกเปลี่ยนสแต็ก (เช่นวิธีทำให้ ssh เพื่อฆ่ากระบวนการระยะไกลเมื่อฉันขัดจังหวะ ssh เอง ) อย่างไรก็ตามฉันไม่สามารถแก้ปัญหาใด ๆ ได้สำหรับฉัน ฉันใช้คำสั่งผ่าน ssh เมื่อใดก็ตามที่ฉันออกจาก ssh ฉันต้องการให้คำสั่งตายเช่นกัน คำสั่งนี้เป็น daemon ชื่อ ktserver ที่รันไปเรื่อย ๆ จนกว่าคุณจะกด Ctrl-C ฉันรันมันดังนี้: ssh -t compute-0-1 ktserverและแน่นอนเมื่อฉันกด Ctrl-C กระบวนการจะสิ้นสุดลงอย่างสวยงามและสิ้นสุดเซสชัน ssh อย่างไรก็ตามถ้าแทนที่จะกด Ctrl-C ฉันจะฆ่ากระบวนการ ssh โดยใช้killคำสั่ง (ตัวอย่างเช่นการส่ง SIGINT หรือ SIGHUP) ktserverกระบวนการจะยังคงอยู่ ฉันจะทำให้คนktserverตายมักเป็นอิสระจากการsshถูกฆ่าได้อย่างไร แก้ไข : หากแทนที่จะให้ktserverฉันทำบางสิ่งที่แตกต่างอย่างสิ้นเชิงเช่นgeditทุกอย่างทำงานเหมือนมีเสน่ห์ (เช่น …
23 ssh  kill 

3
ค้นหาเนื้อหาเมลด้วย Mutt
เป็นไปได้ใน Mutt ที่จะค้นหาเนื้อหาอีเมลที่เฉพาะเจาะจงโดยใช้ฟังก์ชั่นในตัว? หรือเป็นทางเลือกสุดท้ายฉันgrepจะกำหนดค่าให้ใช้ใน Mutt ได้อย่างไร เอกสารประกอบกล่าวถึงsearchและlimitฟังก์ชั่นเท่านั้นซึ่งค้นหาส่วนหัวเท่านั้น
23 email  search  mutt 


1
ส่งคำค้นหา (ไม่ใช่ชื่อไฟล์) ไปที่ grep
ฉันต้องการที่จะเลือกสายบางอย่างที่มีจำนวนที่กำหนดจากไฟล์ os_clusters/piRNA_clusters.bedไฟล์ที่ฉันต้องการที่จะค้นหาที่เรียกว่า awk '{if (a[$0]++ == 0) {split($0,b,"."); ;split(b[1],c,"r"); print c[3]}};' test_non_enriched | xargs grep {} os_clusters/piRNA_clusters.bed ส่วนแรกก่อนไปป์ไลน์มันจะสร้างคำที่ต้องการค้นหาเช่น 8707, 8824 เป็นต้นอย่างไรก็ตามส่วนหลังไม่มี awk '' ... | xargs grep {} os_clusters/piRNA_clusters.bed แทนที่จะค้นหาไฟล์เป้าหมายสำหรับคำที่สร้างโดยไพพ์มันจะพิจารณาคำค้นหาเป็นไฟล์อินพุต ดังนั้นฉันได้รับข้อความผิดพลาดเช่น: grep: 8707: No such file or directory grep: 8824: No such file or directory ฉันต้องเปลี่ยนอะไรเพื่อค้นหาไฟล์os_clusters/piRNA_clusters.bedสำหรับคำที่สร้างโดยไพพ์
23 bash  grep  pipe 

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