Unix & Linux

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

4
วิธีค้นหาหน้าคู่มือทั้งหมดบน Linux?
บางครั้งฉันต้องค้นหาคำบางคำผ่านหน้าคู่มือทั้งหมด ฉันรู้aproposแต่ถ้าฉันเข้าใจคู่มือถูกต้องมัน จำกัด การค้นหาคำอธิบายเท่านั้น หน้าคู่มือแต่ละหน้าจะมีคำอธิบายสั้น ๆ อยู่ภายใน apropos ค้นหาคำอธิบายสำหรับอินสแตนซ์ของคำหลัก ตัวอย่างเช่นหากฉันค้นหาคำเช่น 'viminfo' ฉันจะไม่ได้ผลลัพธ์เลย ... $ apropos viminfo viminfo: nothing appropriate. ... ถึงแม้ว่าคำนี้จะอยู่ในหมวดภายหลังของคู่มือ Vim (ซึ่งติดตั้งในระบบของฉัน) -i {viminfo} When using the viminfo file is enabled, this option sets the filename to use, instead of the default "~/.vim‐ info". This can also be used …

2
สิ่งนี้ '&' ในตอนท้ายของคำสั่งของฉันทำให้สคริปต์เร็วขึ้น?
ในขณะที่การแก้ปัญหา CTF ออนไลน์ฉันเจอสถานการณ์ที่ฉันต้องการทำให้เซิร์ฟเวอร์ยุ่งเหยิง นี่คือรหัสที่ฉันเขียน: #!/bin/bash for i in {0..9}{0..9}{0..9}{0..9} do echo "Now trying code.." echo $i echo "a fixed string" $i | nc localhost *port here* >> /tmp/me/dump.txt done นี้เป็นอย่างเหลือเชื่อช้าเจ็บปวด ฉันต้องลองชุดค่าผสมจาก 1,000 ถึง 9999 และใช้เวลาประมาณ 5 วินาทีต่อการพยายาม 10 ครั้ง จากนั้นทำตามคำแนะนำฉันใส่ '&' ที่ท้ายบรรทัดนี้: echo "a fixed string" $i | nc localhost …

3
Debian Wheezy (เสถียร) จะอัปเกรดเป็น Jessie โดยอัตโนมัติหรือไม่เมื่อ Jessie กลายเป็นรุ่นเสถียร
ฉันใช้ Debian Wheezy (เสถียร) และอัปเดตระบบของฉันเป็นประจำผ่านทางพื้นฐาน: sudo apt-get update sudo apt-get dist-upgrade ในอนาคตเมื่อเจสซีกลายเป็นรีลีสที่เสถียรแล้วฉันก็สงสัยว่า Wheezy จะกลายเป็นเจสซีโดยอัตโนมัติdist-upgradeหรือไม่ถ้าฉันทำต่อไป จะต้องมีขั้นตอนใด ๆ ที่ต้องทำด้วยตนเองเพื่อให้แน่ใจว่าจะวางจำหน่ายในปัจจุบันที่มีความเสถียรอยู่เสมอ (หลายปีในอนาคตเช่น Sid หลังจาก Jessie) หรือฉันตั้งใจจะไปอย่างที่เป็นอยู่หรือไม่? เช่นฉันต้องแก้ไขไฟล์ source.list ด้วยวิธีการบางอย่างเพื่อให้แน่ใจว่า Jessie จะปลอดภัยเพียงแค่ไม่มีขั้นตอนที่ต้องทำเองหรือจะอัปเดต 'ใหญ่' ('dist-upgrade') ทำทุกอย่างให้ฉัน และเปลี่ยนอินสแตนซ์ทั้งหมดของwheezyเป็นjessieเมื่อรู้ว่าทำเช่นนั้น? (ทุกบรรทัดในแหล่งที่มาของฉันรายการมีwheezyอยู่ในนั้นฉันอาจต้องการเพียงลบออกwheezyจากพวกเขาหรือไม่) ฉันเป็นผู้มาใหม่ (จาก OS X และก่อนหน้านั้น) ดังนั้นฉันไม่แน่ใจว่า 'การอัปเกรดที่วางจำหน่ายบนช่องทางเดียวกันสามารถทำได้โดยอัตโนมัติบน Debian - ที่ไหนที่ X OS จะเสนอผ่านการปรับปรุงอัตโนมัติของมัน อัปเกรดเป็นรุ่นถัดไป (เสถียร / พร้อม) พร้อมกับไม่มีการตรวจสอบด้วยตนเองหรือขั้นตอนที่ซับซ้อนนอกเหนือจากการตรวจสอบการอัปเดตระบบปกติ

4
mail: ไม่สามารถส่งข้อความ: กระบวนการออกจากสถานะไม่เป็นศูนย์
ฉันเคยทำงานกับ cronjob ประมาณหนึ่งสัปดาห์โดยไม่มีปัญหาใด ๆ เมื่อคืนที่ฉันตรวจสอบฉันไม่ได้รับอีเมลที่ฉันมักจะได้รับ ฉันไปที่เทอร์มินัลเพื่อลองส่งอีเมลด้วยตัวเองฉันได้รับข้อผิดพลาดดังต่อไปนี้: mail: ไม่สามารถส่งข้อความ: กระบวนการออกจากสถานะไม่เป็นศูนย์ ฉันไม่ได้เปลี่ยนแปลงอะไรกับไฟล์ ssmtp cfg ของฉัน มันหยุดทำงานเมื่อฉันตรวจสอบและตรวจสอบทุกอย่างอีกครั้งรหัส ssmtp ทุกอย่างสมบูรณ์แบบ ฉันส่งอีเมลของฉันวันละสองครั้งผ่าน cronjob crontab ไม่ได้ถูกแทรกแซงเช่นกัน ฉันไม่รู้จริงๆว่าทำไมมันถึงหยุดทำงาน ระบบส่งอีเมลผ่าน gmail - ฉันเข้าสู่บัญชี gmail แล้วส่งอีเมลทดสอบออกพวกเขาจะถูกส่งและรับโดยไม่มีปัญหาใด ๆ นอกจากนี้ฉันได้ตรวจสอบทั่วทั้ง Google ฟอรัมเว็บไซต์ที่ฉันไม่เห็นข้อผิดพลาดใด ๆ มันสมเหตุสมผลแล้วเมื่อทุกอย่างทำงานได้ดีเมื่อ 24 ชั่วโมงที่แล้วและตอนนี้ก็หยุดทำงาน ถาม:มีวิธีใดในการวินิจฉัยและแก้ไขปัญหาวิธีการแก้ไขปัญหาดังกล่าวหรือไม่?
18 cron  email  ssmtp 

6
rsync แบบขนานโดยใช้ GNU Parallel
ฉันใช้rsyncสคริปต์เพื่อซิงโครไนซ์ข้อมูลที่โฮสต์หนึ่งกับข้อมูลที่โฮสต์อื่น ข้อมูลมีไฟล์ขนาดเล็กจำนวนมากที่มีส่วนร่วมเกือบ 1.2TB เพื่อซิงค์ไฟล์เหล่านั้นฉันใช้rsyncคำสั่งดังต่อไปนี้: rsync -avzm --stats --human-readable --include-from proj.lst /data/projects REMOTEHOST:/data/ เนื้อหาของ proj.lst มีดังนี้: + proj1 + proj1/* + proj1/*/* + proj1/*/*/*.tar + proj1/*/*/*.pdf + proj2 + proj2/* + proj2/*/* + proj2/*/*/*.tar + proj2/*/*/*.pdf ... ... ... - * จากการทดสอบฉันเลือกสองโครงการ (ข้อมูล 8.5GB) และฉันดำเนินการคำสั่งด้านบน เป็นกระบวนการต่อเนื่องมันเครื่องมือ 14 นาที 58 วินาทีให้เสร็จสมบูรณ์ ดังนั้นสำหรับข้อมูล …

2
EL5 และ EL6 หมายถึงอะไรในแง่ของแพคเกจ?
ฉันใช้ CentOS กับ Citrix XenServer [root@xen01 shm]# uname -a Linux xen01 2.6.32.43-0.4.1.xs1.8.0.855.170800xen #1 SMP Mon Jul 21 05:12:35 EDT 2014 i686 i686 i386 GNU/Linux [root@xen01 shm]# lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch Distributor ID: XenServer Description: XenServer release 6.2.0-70446c (xenenterprise) Release: 6.2.0-70446c Codename: xenenterprise ฉันติดตั้งแพคเกจ apcupsd จากhttp://sourceforge.net/projects/apcupsd/files/rpms%20-%20Stable/3.14.10/apcupsd-3.14.10-1.el5.i386.rpm/download แต่ในปีที่ผ่านมามีเวอร์ชั่นใหม่และดูเหมือนว่า RPM จะไม่ได้รับการอัพเดตเป็น 3.14.12 …

1
เกิดอะไรขึ้นกับข้อมูลเสริม unix สตรีมในการอ่านบางส่วน?
ดังนั้นฉันได้อ่านข้อมูลมากมายเกี่ยวกับข้อมูลเสริมยูนิกซ์ แต่สิ่งหนึ่งที่ขาดหายไปจากเอกสารทั้งหมดคือสิ่งที่ควรจะเกิดขึ้นเมื่อมีการอ่านบางส่วน? สมมติว่าฉันได้รับข้อความต่อไปนี้ในบัฟเฟอร์ 24 ไบต์ msg1 [20 byes] (no ancillary data) msg2 [7 bytes] (2 file descriptors) msg3 [7 bytes] (1 file descriptor) msg4 [10 bytes] (no ancillary data) msg5 [7 bytes] (5 file descriptors) การเรียกครั้งแรกเพื่อ recvmsg ฉันได้รับ msg1 ทั้งหมด (และเป็นส่วนหนึ่งของ msg2 ระบบปฏิบัติการจะทำเช่นนั้นหรือไม่) ถ้าฉันได้รับส่วนหนึ่งของ msg2 ฉันจะได้รับข้อมูลเสริมทันทีและจำเป็นต้องบันทึกไว้สำหรับการอ่านครั้งต่อไป เมื่อฉันรู้ว่าสิ่งที่ข้อความจริงบอกให้ฉันทำกับข้อมูล? หากฉันเพิ่มขนาด 20 ไบต์จาก …

4
ใช้ #! / bin / sh หรือ #! / bin / bash สำหรับ Ubuntu-OSX ที่ใช้งานร่วมกันได้และใช้งานง่าย & POSIX
ฉันรู้ว่าฉันสามารถใช้เป็นบรรทัดแรกของสคริปต์เพื่อเรียกใช้เชลล์ที่ต้องการ จะ#!/bin/shแนะนำถ้าเข้ากันได้กับทุกระบบยูนิกซ์เป็นข้อกำหนดที่แน่นอน? ในกรณีของฉันระบบปฏิบัติการเดียวที่ฉันสนใจคือ Ubuntu (Debian) และ OSX จากที่ฉันสามารถใช้#!/bin/bashและมั่นใจได้ว่ามันจะทำงานบนทั้งสองระบบ? นี่จะทำให้การใช้สคริปต์ที่ง่ายขึ้นและมีไวยากรณ์ที่ทันสมัยและชัดเจนยิ่งขึ้นสำหรับคำสั่งหรือไม่ การใช้#!/bin/shยังเกี่ยวข้องกับการใช้ POSIX หรือไม่
18 bash  shell  ubuntu  osx  posix 

3
มีวิธีสากลในการเขียนอักขระ Unicode หรือไม่?
บางครั้งฉันต้องการเขียนอักขระ Unicode พิเศษเช่น em-dash (-) ในโปรแกรมต่าง ๆ เช่น vim, Chrome (เหมือนตอนนี้!) หรือ LibreOffice ใน LibreOffice ฉันสามารถทำสิ่งนี้ผ่านกล่องโต้ตอบเฉพาะที่อยู่ในเมนูแทรก โปรแกรมอื่น ๆ ดูเหมือนจะไม่มีวิธีในตัว โซลูชันของฉันในกรณีเหล่านี้คือค้นหาตัวละครใน Wikipedia คัดลอกและวางไว้ มีวิธีสากลในการเขียนอักขระ Unicode ในโปรแกรมใด ๆ ที่ยอมรับการป้อนข้อความใน Linux โดยไม่ต้องคัดลอกและวางจากที่ที่มันถูกพิมพ์ไปแล้วหรือไม่?

3
ฉันจะแสดงรายการตัวแปรเชลล์ทั้งหมดได้อย่างไร
อ่านเกี่ยวกับคำถามนี้: ใน zsh ฉันจะแสดงรายการตัวแปรสภาพแวดล้อมทั้งหมดได้อย่างไร? ฉันสงสัยว่าฉันจะแสดงรายการตัวแปรเชลล์ทั้งหมดได้อย่างไร นอกจากนี้ความแตกต่างระหว่างตัวแปรเชลล์และตัวแปรสภาพแวดล้อมใช้กับเชลล์อื่นที่ไม่ใช่ zsh หรือไม่ ฉันสนใจ Bash และ Zsh เป็นหลัก แต่ก็เป็นการดีที่ได้ทราบว่าจะทำสิ่งนี้ได้อย่างไรในกระสุนหลักอื่น ๆ

2
วิธีตรวจสอบว่าไฟล์มี BOM เป็นข้อความ utf-8
ฉันจะตรวจสอบว่าไฟล์ข้อความ utf-8 มี BOM จากบรรทัดคำสั่งได้อย่างไร fileUTF-8 Unicode textคำสั่งแสดงให้เห็นฉัน แต่ฉันไม่รู้ว่ามันหมายความว่าไม่มี BOM ในไฟล์ Ubuntu 12.04ฉันใช้
18 unicode 

4
อะไรคือความแตกต่างระหว่าง“ ขนาด inode” และ“ Bytes per inode”
ข้อมูลด้านล่างนำมาจากหน้าคนฉันต้องการทราบความแตกต่างระหว่าง bytes-per-inode และ Inode-size หรือไม่ -i bytes-per-inode ระบุอัตราส่วนไบต์ / inode mke2fs สร้าง inode สำหรับทุกไบต์ไบต์ต่อ inode ของพื้นที่บนดิสก์ ยิ่งมีขนาดไบต์ต่อไอโหนดมากเท่าไรก็จะสร้างไอโหนดน้อยลงเท่านั้น โดยทั่วไปค่านี้ไม่ควรเล็กกว่าขนาดของระบบไฟล์เนื่องจากจะมีการสร้าง inodes มากเกินไปเตือนว่าไม่สามารถขยายจำนวนของ inodes บนระบบไฟล์หลังจากที่สร้างขึ้นดังนั้นควรตัดสินใจอย่างถูกต้อง ค่าสำหรับพารามิเตอร์นี้ -I inode-size ระบุขนาดของแต่ละ inode ใน bytes.mke2fs สร้าง inodes 256- ไบต์โดยค่าเริ่มต้น ในเมล็ดหลัง 2.6.10 และบางเมล็ดผู้ขายก่อนหน้านี้เป็นไปได้ที่จะใช้ inodes ที่มีขนาดใหญ่กว่า 128 ไบต์เพื่อจัดเก็บคุณลักษณะเพิ่มเติมสำหรับประสิทธิภาพที่เพิ่มขึ้นค่า inode-size จะต้องมีกำลัง 2 ที่ใหญ่กว่าหรือเท่ากับ 128 ยิ่ง inode ใหญ่ขึ้น - เพิ่มขนาดพื้นที่ที่ตารางไอโหนดจะใช้มากขึ้นซึ่งจะช่วยลดพื้นที่ที่ใช้งานได้ในระบบไฟล์และยังสามารถส่งผลเสียต่อประสิทธิภาพการทำงานแอตทริบิวต์ที่ขยายเพิ่มในที่เก็บไอโหนดขนาดใหญ่จะมองไม่เห็นด้วยเคอร์เนลรุ่นเก่า …
18 linux  ext2  mkfs 

2
วิธีเพิ่มเส้นทางเริ่มต้นของ ipv6
ฉันมีการตั้งค่าต่อไปนี้ Linux 1 Linux 0 eth1 eth0-------------------eth0 14.14.14.80 19.19.19.20 19.19.19.10 2005::5/64 2004::3/64 2001::3/64 จาก Linux0 ผมสามารถ ping 14.14.14.80 or 19.19.19.20( 19.19.19.20ถูกบันทึกเป็นค่าเริ่มต้น GW) และยังอยู่ในLinux1, ipv4การส่งต่อถูกเปิดใช้งาน สำหรับipv6ฉันไม่สามารถเพิ่ม2004::3/64เป็นเกตเวย์ ipv6 เริ่มต้นLinux0ได้ ฉันเหนื่อย ip -6 route add default via 2004::3 และ ip -6 route add default via 2004:: แต่ฉันได้รับข้อผิดพลาด RTNETLINK answers: No route to host …
18 ipv6  route 

2
<Primary> สำหรับคีย์คืออะไร
ฉันเพิ่งเห็นทางลัดแปลก ๆ ใน dconf-editor: &lt;Primary&gt;&lt;Alt&gt;KP_End คือ&lt;Primary&gt;อะไร ฉันเห็นAbove-Tabกุญแจด้วย ฉันเข้าใจอย่างถ่องแท้ถึงสิ่งที่อ้างอิง แต่มีการระบุชื่อคีย์เหล่านั้นหรือไม่

1
เหตุใดไพพ์ที่มีชื่อจึงช้าเท่ากับการเขียนไฟล์?
ฉันพยายามที่จะเข้าใจว่าการตั้งชื่อไปป์นั้นทำงานอย่างไรเพื่อให้ฉันสามารถปรับปรุงการสื่อสารระหว่างทางแบบทางเดียวได้อย่างคล่องตัว ฉันคาดว่าค่าโสหุ้ยเนื่องจากการคัดลอกข้อมูลลงในบัฟเฟอร์แบบวงกลมซึ่งฉันคิดว่าจะถูกเก็บไว้ใน RAM และดังนั้นฉันจึงคาดว่าท่อจะเร็วกว่าการเขียนไปยังไฟล์มาก (เนื่องจาก RAM มีขนาดของคำสั่งเร็วกว่าดิสก์) แต่ฉันพบว่าไปป์ที่มีชื่อ (หรือไปป์ที่ไม่ระบุชื่อ) มีความเร็วประมาณเดียวกับไฟล์ นี่เป็นเดสก์ท็อป 3 GHz ที่มีดิสก์ไดรฟ์ทั่วไป (ไม่ใช่โซลิดสเตต) ซึ่งใช้ Ubuntu Linux นี่คือโปรแกรมทดสอบที่เรียบง่ายใน Python: import sys import time import random megabyte = "".join(random.choice("abcdefghijklmnopqrstuvwxyz") for x in range(1024**2)) while True: before = time.time() sys.stdout.write(megabyte) after = time.time() sys.stderr.write("{} microseconds\n".format(1e6 * (after - before))) ท่อตรงไปที่/dev/null: python …
18 fifo 

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