Unix & Linux

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


2
วิธีการตีความดัมพ์ฐานแปดหรือฐานสิบหกของไฟล์ไบนารี
ไฟล์ไบนารีมีสตริงและตัวเลขบางตัวถ้าฉันทำ od -c filenameหรือstrings filenameฉันสามารถดูสตริงได้อย่างถูกต้อง แต่แล้วตัวเลขล่ะ พวกเขาอยู่ในรูปแบบแปลก ๆ ข้อความหลังจากทำod -c filenameเช่นนี้: 0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 seq 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ó …
14 binary  od  hexdump 

5
ยูทิลิตี้เพื่อบัฟเฟอร์จำนวนข้อมูลที่ไม่ จำกัด ในไปป์ไลน์หรือไม่?
มียูทิลิตี้ที่ฉันสามารถติดในไปป์ไลน์เพื่อแยกความเร็วในการอ่านและเขียนได้หรือไม่? $ producer | buf | consumer โดยทั่วไปฉันต้องการยูทิลิตี้bufที่อ่านอินพุตเร็วที่สุดเท่าที่จะเป็นไปได้เก็บไว้ในหน่วยความจำเพื่อให้consumerสามารถใช้ช่วงเวลาที่หวานในขณะที่producerรันเร็วที่สุด
14 pipe  io  buffer 

4
umount - อุปกรณ์ไม่ว่าง
บางครั้งเมื่อฉันต้องการที่จะเพิ่มอุปกรณ์เช่น sudo umount /dev/loop0 ฉันจะได้รับข้อความ umount: /mnt: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) ฉันมักจะแก้ปัญหานี้โดยการปิดหน้าต่างคอนโซล (ใน xfce4 ขั้วกรณีของฉัน) umountแล้ว ปัญหานี้หมายความว่าอย่างไร มีวิธีแก้ปัญหาที่ชาญฉลาดกว่านี้ไหม?
14 mount 

2
ทำการฟอร์แมตหน้า man บนไดนามิกเปลี่ยนขนาดเทอร์มินัล
เวิร์กโฟลว์ทั่วไปหนึ่งของฉันคือการเปิดหน้าคู่มือในเทอร์มินัลจากนั้นเทอร์มินัลอื่นที่จะทดสอบสิ่งต่าง ๆ man page ถูกจัดรูปแบบเป็นขนาดเริ่มต้นของเทอร์มินัลแรก เมื่อฉันปรับขนาดหน้าต่างของฉัน (หรือให้ WM ทำสิ่งนั้นกับฉันโดยอัตโนมัติ) จะมีช่องว่างทางด้านขวาของหน้าที่จัดรูปแบบไว้ล่วงหน้าหรือมีการตัดบรรทัด ณ จุดนี้ฉันมักจะq(uit) และ!!(ทำงานอีกครั้ง) ซึ่งสูญเสียตำแหน่งของฉันในหน้า ฉันคิดว่ากระบวนการจัดรูปแบบค่อนข้างใช้ CPU ค่อนข้างมากหรืออาจเกิดจากสมัยโบราณขนาดเทอร์มินัลคงที่ lessเพจเจอร์แบบไดนามิกตอบสนองต่อเหตุการณ์การปรับขนาดขั้วดังนั้นจึงควรจะเป็นไปได้ในทางทฤษฎี ฉันลองอ่านหน้าคนอื่น ๆ ค้นหาเว็บถาม IRC - ล็อตทั้งหมด - แต่ก็ไม่สามารถทำอะไรได้เลย ฉันสามารถเรียกการฟอร์แมตใหม่จากภายในหรือภายนอกยูทิลิตี้ของมนุษย์ได้หรือไม่? มียูทิลิตี้รุ่นที่ปรับขนาดหน้าเว็บแบบไดนามิกหรือไม่? มีวิธีในการปรับแต่งบางส่วนของกระบวนการจัดรูปแบบ / แสดงผลเพื่อให้มันปรับปรุงบนSIGWINCH?
14 terminal  man 

4
ไคลเอนต์ FTP ด้วย GUI ที่ดีหรือไม่
ฉันรักลินุกซ์เพราะฉันควบคุมระบบของฉันได้ แต่ฉันทำข่าวจากโรงเรียนแม็คซึ่งเป็นสิ่งที่เรียบง่ายสวยงามและทรงพลัง ฉันชอบที่เป็นเช่นนั้นเมื่อเทียบกับการมีลูกบิดและคันโยกและทุกสิ่ง ไม่มีใครรู้เกี่ยวกับไคลเอนต์ FTP ที่แข็งแกร่งสำหรับ linux ที่อยู่ในเส้นเลือดของ Panic's Transmit? เป็นซอฟต์แวร์ FTP ตัวเลือกของฉันใน Mac OS แต่ฉันสงสัยว่าฉันต้องโน้มน้าวให้ทุกคนที่นี่ที่ฉันไม่ต้องการพัฒนาเว็บแอพใน OS X มันเป็นเรื่องที่เจ็บปวด IMO ปัจจุบันฉันใช้ Filezilla มันใช้งานได้ดี แต่มันเป็น UI ที่ยุ่งเหยิง imho


4
ลบอักขระสิ้นสุดบรรทัดออกจาก stdout หรือไม่ หลายบรรทัดเป็นบรรทัดเดียว
ฉันมีสคริปต์ที่แสดงผลข้อความต่อไปนี้ นี่คือผลลัพธ์จากโมเด็มNetSL 2210-02 ADSL2 ADSL Line State: Up ADSL Startup Attempts: 1 ADSL Modulation: DMT ADSL Data Path: Fast Datapump Version: DSP 7.2.3.0, HAL 7.2.1.0 SNR Margin: 8.20 9.00 dB Line Attenuation: 57.50 31.00 dB Output Power: 17.09 12.34 dBm Errored Seconds: 0 0 Loss of Signal: 0 476 Loss …

2
ฉันจะได้รับที่อยู่ pingable IPv6 ของเครื่องของฉันได้อย่างไร
เมื่อฉันลอง: $ ip -6 addr ฉันได้รับสิ่งที่ชอบ: inet6 fe80::d773:9cf0:b0fd:572d/64 scope link ถ้าฉันพยายาม ping จากตัวเครื่อง: $ ping6 fe80::d773:9cf0:b0fd:572d/64 unknown host $ ping6 fe80::d773:9cf0:b0fd:572d connect: Invalid argument ผมทำอะไรผิดหรือเปล่า?
14 linux  networking  ipv6 

2
ไม่พบไดเรกทอรี EFI: ปัญหาเกี่ยวกับการติดตั้งด้วง
ฉันพยายามช่วยด้วงใน Linux ฉันสามารถเข้าสู่ระบบในระบบปฏิบัติการตามบทช่วยสอนนี้: https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/ ฉันต้องอัพเกรด GRUB เพื่อแก้ไขปัญหา อย่างไรก็ตามเมื่อฉันทำงานgrub-installฉันได้รับข้อผิดพลาด: $ grub-install /dev/sda grub-install: error: cannot find EFI directory. ระบบแฟ้มของฉันมีsda4, sda5และsda6ระบบ EFI สลับ Linux และระบบไฟล์ลินุกซ์ตามลำดับ ฉันไม่ค่อยมีประสบการณ์ในการใช้คำสั่ง mount หรือคำสั่งอื่น
14 linux  grub 

1
ลำดับที่ตัวเชื่อมโยงแบบไดนามิกของ Linux ค้นหาเส้นทางคืออะไร
/etc/ld.so.confนี้ไม่ได้เป็นที่ซ้ำกันเพราะนี่คือการจัดการกับความไม่ชอบมาพากลผมสังเกตเห็นเมื่อฉันใช้ ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"เพื่อให้ได้เส้นทางที่ใช้การค้นหาแบบไดนามิกในลิงเกอร์สำหรับห้องสมุดผมเรียกใช้คำสั่ง เมื่อ/etc/ld.so.confไม่มีเส้นทางที่ระบุไว้ในนั้น เอาต์พุตจากคำสั่งก่อนหน้าคือ /lib /usr/lib ฉันคิดว่ามันค้นหาเป็นครั้งแรกแล้ว/lib /usr/libเมื่อฉันเพิ่มเส้นทางใหม่เช่น/usr/local/libไปยัง/etc/ld.so.confแล้วสร้างใหม่/etc/ld.so.cacheผลลัพธ์จากการldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"กลายเป็น /usr/local/lib /lib /usr/lib ฉันพบนี้แปลกเพราะถ้าผมถูกต้องว่าคำสั่งที่ระบุไว้ไดเรกทอรีที่มีการค้นหาในคือจากบนลงล่างแล้วไดเรกทอรีเพิ่มเติมที่จะค้นหาก่อนและ/lib /usr/libว่าไดเรกทอรีเพิ่มเติมที่จะค้นหาก่อนไดเรกทอรีที่เชื่อถือได้ไม่แปลกในตัวเอง แต่เมื่อ/libมีการค้นหาก่อน/usr/libที่แปลกเพราะ/binและ/sbinมีการค้นหาหลังจาก/usr/binและใน/usr/sbinPATH แม้ว่าเส้นทางที่ระบุไว้โดยldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"ถูกค้นจากด้านล่างสู่ด้านบนก็จะยังคงสั่งเบ้เพราะไดเรกทอรีเพิ่มเติมจะได้รับการสืบค้นหลังจากคนที่เชื่อถือได้ในขณะที่จะได้รับการสืบค้นหลัง/lib/usr/lib ดังนั้นคำสั่งที่ld.soค้นหาพา ธ สำหรับห้องสมุดมีอะไรบ้าง ทำไม/libสืบค้นก่อน/usr/lib? ถ้ามันไม่ได้แล้วทำไมเป็นไดเรกทอรีเพิ่มเติมสืบค้นหลัง/lib?

2
มีวิธีปิดการใช้งานแถบเมนูอย่างถาวรใน Konsole บน Gnome 3 หรือไม่?
ฉันใช้ Konsole 16.08.3-1 (ติดตั้งผ่านpacman) เป็นโปรแกรมจำลองเทอร์มินัลเริ่มต้นของฉันภายใต้ Gnome 3.22.2 โดยปกติเมื่อฉันเริ่มต้น Konsole ผมตีCtrl+ Shift+ Mที่จะซ่อนแถบเมนู; ฉันใช้เท่าที่จำเป็นเท่านั้นและโดยทั่วไปแถบเมนูสีขาวจะเบี่ยงเบนความสนใจจากความมืดมนของฉันโดยรวม มีวิธีใดบ้างที่จะซ่อนแถบเมนูอย่างต่อเนื่องเพื่อที่ฉันจะได้ไม่ต้องซ่อนมันด้วยตนเองทุกครั้งที่ฉันเริ่ม Konsole?
14 gnome  gui  konsole 

3
วิธีการขยายโลจิคัลและพาร์ติชันเสริมด้วย fdisk
ฉันพยายามที่จะขยายพาร์ติชัน / dev / sda5 ซึ่งเป็นโลจิคัลพาร์ติชันภายใต้การขยายพาร์ติชัน / dev / sda2 ฉันต้องการใช้fdisk ขั้นตอนควรลบทั้งสองพาร์ติชั่นแล้วสร้างใหม่ด้วยเซกเตอร์เริ่มต้นเดียวกัน (1001470 & 1001472) มันจะไปได้ดีจนกระทั่งสร้างโลจิคัลพาร์ติชันที่เซกเตอร์เริ่มต้นขั้นต่ำมีขนาดใหญ่กว่า ( 1003518 ) มากกว่าที่มันควรจะเป็น $ sudo fdisk / dev / sda คำสั่ง (m สำหรับความช่วยเหลือ): p ดิสก์ / dev / sda: 9.8 GiB, 10485760000 ไบต์, 20480000 ภาค หน่วย: ส่วนของ 1 * 512 = 512 ไบต์ …
14 partition  fdisk 

1
การอัปโหลดหลายไฟล์ผ่าน FTP โดยใช้ curl
ฉันกำลังพยายามอัพโหลดไฟล์ข้อความทั้งหมดภายในโฟลเดอร์ปัจจุบันผ่าน FTP ไปยังตำแหน่งเซิร์ฟเวอร์โดยใช้ curl ฉันลองบรรทัดต่อไปนี้: curl -T "{file1.txt, file2.txt}" ftp://XXX --user YYY โดยที่ XXX คือที่อยู่ IP ของเซิร์ฟเวอร์และ YYY เป็นชื่อผู้ใช้และรหัสผ่าน ฉันสามารถถ่ายโอน file1.txt ไปยังเซิร์ฟเวอร์ได้สำเร็จ แต่มันบ่นเกี่ยวกับไฟล์ที่สองว่า 'ไม่สามารถเปิด' file_name '!' ฉันสลับชื่อไฟล์และทำงานกับ file2.txt ไม่ใช่ file1.txt ดูเหมือนว่าฉันผิดไวยากรณ์ แต่นี่คือสิ่งที่คู่มือพูด? นอกจากนี้ฉันควรจะทำสิ่งนี้: curl -T *.txt ftp://XXX --user YYY เพราะฉันจะไม่รู้จักชื่อของไฟล์ txt ในโฟลเดอร์ปัจจุบันหรือจำนวนไฟล์ที่จะถ่ายโอนเสมอ ฉันคิดว่าฉันอาจต้องเขียนสคริปต์ทุบตีที่รวบรวมเอาท์พุทของls *.txtลงในอาเรย์และวางลงในรูปแบบไฟล์หลายไฟล์ที่ต้องการโดย curl ฉันไม่ได้ทำสคริปต์ทุบตีมาก่อน - นี่เป็นวิธีที่ง่ายที่สุดในการบรรลุเป้าหมายนี้หรือไม่?
14 shell-script  ftp  curl 

2
วิธีการกำหนดค่านโยบายการจัดเก็บบันทึกต่อหน่วยด้วย journald?
ฉันมีบริการหนึ่งอย่างที่บันทึกข้อมูลที่หายาก แต่สำคัญ ฉันได้ตั้งค่าไม่กี่เดือนที่ผ่านมาและวันนี้ฉันทำงานjournalctl -n 50 --unit=my-serviceเพียงเพื่อจะพบว่าไม่มีรายการ ฉันมีความสุขอย่างสมบูรณ์แบบกับพฤติกรรมนี้สำหรับหน่วยงานส่วนใหญ่ - ฉันต้องการบางสิ่งที่เกิดขึ้นทันที (หรือเมื่อไม่กี่วันที่ผ่านมา) และฉันไม่สนใจบันทึกเก่า ๆ หลายเดือน อย่างไรก็ตามมีวิธีบอกjournaldให้มีนโยบายการจัดเก็บและการเก็บรักษาที่เป็นอิสระสำหรับบันทึกของหน่วยใดหน่วยหนึ่งหรือไม่? ฉันต้องการเก็บบันทึกเฉพาะเหล่านั้นไว้เป็นเวลา 5 ปีไม่ว่าจะต้องใช้ขนาดใดก็ตาม บันทึกของหน่วยอื่นควรไม่ได้รับผลกระทบจากสิ่งนี้และรักษาพฤติกรรมที่มีอยู่ ฉันขาดความเข้าใจjournald.conf(5)และไม่สามารถคิดออกได้ว่าเมื่อใดก็ตามที่สามารถกำหนดค่าต่อหน่วยได้ ถ้าเป็น - จะขอบคุณตัวอย่างที่เป็นรูปธรรมโดยย่อ - ฉันควรแก้ไข / สร้างไฟล์ใดและควรเขียนอะไร หรือถ้าคุณรู้ว่ามันไม่สามารถทำได้อย่างแน่นอน - นั่นก็เป็นคำตอบที่ดีเช่นกัน หมายเหตุ:กรณีของฉันเกี่ยวข้องกับโฮสต์ Arch Linux แต่ฉันคิดว่ามันไม่สำคัญเท่าไหร่

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