Unix & Linux

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

2
เหตุใด printf จึงพิมพ์อาร์กิวเมนต์มากกว่าที่คาดไว้
เหตุใดเชลล์สคริปต์การพิมพ์นี้จึงมีอินพุตสองครั้ง ฉันคาดว่าสคริปต์จะไม่สนใจอินพุตหลังจาก 5 สคริปต์: #! /bin/bash echo "Enter 5 words : " read a b c d e printf "> %s %s %s %s %s <" $a $b $c $d $e เอาท์พุท: user@linux:~$ pico ifs2.sh user@linux:~$ ./ifs2.sh Enter 5 words : 1 2 3 4 5 > 1 2 3 …


3
จะซูมเข้าเดสก์ท็อปของฉัน แต่ยังคงความละเอียดสูงสำหรับแบบอักษรและอื่น ๆ ได้อย่างไร
ฉันเพิ่งซื้อหน้าจอ 4K (หรือ UHD เช่น 2160p เป็นที่แน่นอน) และใช้บนหอคอยที่ใช้ Arch Linux ในฐานะผู้จัดการหน้าต่างผมใช้น่ากลัวที่วิ่งอยู่ด้านบนของคอมป์ตันสำหรับคอมโพสิตฉีกฟรีตามที่อธิบายไว้ในโพสต์นี้ หน้าจอมีขนาดค่อนข้างใหญ่ แต่ยังมีความหนาแน่นของพิกเซลสูงกว่าหน้าจอก่อนหน้านี้ที่ฉันใช้ ฉันอยากจะปรับขนาดเดสก์ท็อปทั้งหมด (ขยายเข้าไป) เพื่อให้ได้รับประสบการณ์ที่สะดวกสบายยิ่งขึ้น (และไม่จำเป็นต้องเอนตัวไปที่หน้าจอเพื่ออ่านข้อความขนาดเล็กอีกต่อไป) ในขณะที่ปรับสเกลฉันยังต้องการใช้ประโยชน์จากความละเอียดสูงของหน้าจอของฉัน (เช่นการแสดงผลแบบอักษรที่นุ่มนวลขึ้น) ดังนั้นฉันไม่ต้องการใช้บางอย่างเช่นxrandrซึ่งทำให้เดสก์ท็อปมีความละเอียดน้อยลง ฉันพยายามค้นหาการตั้งค่า GUI ระดับใด ( awesome => compton => X) ฉันต้องใช้การกำหนดค่าดังกล่าว แต่ฉันยังไม่พบข้อมูลที่เป็นประโยชน์ ฉันยังสงสัยว่าสิ่งนี้สามารถทำได้ภายใต้Xเลยหรือไม่ เห็นได้ชัดว่านักแต่งเพลง Wayland Westonสนับสนุนการซูมเข้าและออกบนเดสก์ท็อป หากจำเป็นต้องเปลี่ยนไปใช้ Wayland ก็เป็นทางเลือกด้วยเช่นกัน ในความเป็นจริงฉันรู้สึกว่าฉันมีความเข้าใจพื้นฐานเกี่ยวกับวิธีการแสดงผล GUI ทั่วไป (เริ่มจากตัวจัดการหน้าต่าง) ฉันจะซาบซึ้งอย่างมากถ้ามีคนชี้ให้ฉันอ่านที่ชาญฉลาด

7
แหล่งที่มาของเอนโทรปีสำหรับ Linux
สมมติว่าฉันต้องการกิกะไบต์ข้อมูลแบบสุ่มจาก / dev / random เหมาะสำหรับแผ่นครั้งเดียว (ดังนั้น / dev / urandom หมด) ฉันจะหว่าน / dev / random ด้วยเอนโทรปีมากพอที่จะทำสิ่งนี้ได้อย่างไร ฉันกำลังมองหาคำสั่งและโปรแกรมเฉพาะสำหรับสิ่งนี้ ฉันไม่ต้องการซื้ออะไร ฉันใช้ Arch Linux ถ้านั่นสร้างความแตกต่าง

3
ฉีดบรรทัดเพื่อทุบตีประวัติ
โดยค่าเริ่มต้นทุบตีสายจาก~/.bash_historyประวัติศาสตร์ เป็นไปได้ไหมที่จะเพิ่มไฟล์ที่กำหนดเองเพื่อโหลดด้วย ฉันต้องการฉีดไฟล์ที่มีคำสั่งที่ฉันใช้เป็นประจำและเข้าถึงมันผ่านการค้นหาในตัว
9 bash 

2
Linux ไม่ตอบกลับข้อความขอ ARP หากที่อยู่ IP ที่ร้องขอนั้นเชื่อมโยงกับอินเทอร์เฟซอื่น (ปิดใช้งาน)
ฉันมีพีซี (เคอร์เนล3.2.0-23-generic ) ซึ่งได้192.168.1.2/24กำหนดค่าให้กับeth0ส่วนต่อประสานและยังใช้192.168.1.1และ192.168.1.2ที่อยู่สำหรับtun0อินเทอร์เฟซ: root@T42:~# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:16:41:54:01:93 brd ff:ff:ff:ff:ff:ff inet …

4
ย้ายไฟล์ตามวันที่ไปยังไดเรกทอรีอื่นโดยใช้ CLI
ฉันมีรูปภาพจำนวนมากจากฮาร์ดไดรฟ์เก่าที่ฉันพยายามจัดระเบียบ ถ้าฉันรันls -lฉันสังเกตว่าไฟล์เหล่านี้ทั้งหมดมีวันที่สร้างปี 2555 หรือก่อนหน้า โดยอุดมคติแล้วฉันต้องการย้ายสิ่งเหล่านี้ไปยังฮาร์ดไดรฟ์ที่สองของคอมพิวเตอร์ซึ่งไม่ได้ตั้งค่าให้ติดตั้งโดยอัตโนมัติ โดยเฉพาะอย่างยิ่งฉันสามารถทำสิ่งนี้ทั้งหมดเป็นชุดที่มีคำสั่งเชื่อมโยงกัน จนถึงตอนนี้ผมมีls -l | grep -i 2012ที่ถ่มน้ำลายออกเฉพาะไฟล์ที่มี 2012 ls -lในวันที่จัดไว้ให้โดย ทีนี้เคล็ดลับก็คือcp'ทุกไฟล์เหล่านั้นไปยังไดเรกทอรีใหม่ ฉันไม่แน่ใจว่าจะไปที่ไหนเพราะจะต้องคัดลอกแต่ละไฟล์ คำสั่งชุดถัดไปของฉันคืออะไร

2
เป็นไปได้หรือไม่ที่จะติดตั้งโปรแกรมลงในไดรฟ์ภายนอก
ฉันใช้ Ubuntu 14.04 ใน chromebook ของโตชิบาโดยใช้ crouton ไดรฟ์ที่ติดตั้งระบบปฏิบัติการของฉันมีขนาดเล็กโดยมีพื้นที่ว่างเพียง 3.6 GB ฉันต้องการติดตั้งsageบนระบบของฉัน แต่sageต้องการพื้นที่ว่าง 6 GB บนระบบ อย่างไรก็ตามฉันใส่การ์ด SD ลงในเครื่องเสมอ การ์ดนี้มีพื้นที่ว่าง 175 GB สามารถติดตั้งsageบนการ์ด SD ได้หรือไม่ วิธีที่ฉันพยายามดาวน์โหลดsageด้วยคำสั่ง apt-add-repository -y ppa:aims/sagemath apt-get update apt-get install sagemath-upstream-binary เท่าที่พบที่นี่

7
วิธีการแยกไฟล์ข้อความขนาดใหญ่อย่างมีประสิทธิภาพโดยไม่ต้องแยกหลายระเบียน
ฉันมีไฟล์ข้อความขนาดใหญ่ (~ 50Gb เมื่อ gz'ed) ไฟล์มี4*Nเส้นหรือNบันทึก นั่นคือทุกระเบียนประกอบด้วย 4 บรรทัด ฉันต้องการแบ่งไฟล์นี้เป็นไฟล์ขนาดเล็กลง 4 ไฟล์แต่ละไฟล์มีขนาดประมาณ 25% ของไฟล์อินพุต ฉันจะแบ่งไฟล์ที่ขอบเขตการบันทึกได้อย่างไร? วิธีการที่ไร้เดียงสาจะเป็นzcat file | wc -lที่จะได้รับการนับเส้นแบ่งว่าจำนวน 4 split -l <number> fileและการใช้งานแล้ว อย่างไรก็ตามสิ่งนี้จะข้ามไฟล์สองครั้งและการนับบรรทัดช้ามาก (36 นาที) มีวิธีที่ดีกว่า? นี่เข้ามาใกล้ แต่ไม่ใช่สิ่งที่ฉันกำลังมองหา คำตอบที่ยอมรับจะนับจำนวนบรรทัดด้วย แก้ไข: ไฟล์มีข้อมูลลำดับในรูปแบบ fastq สองระเบียนมีลักษณะเช่นนี้ (ไม่ระบุชื่อ): @NxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGCGA+ATAGAGAG xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTTTATGTTTTTAATTAATTCTGTTTCCTCAGATTGATGATGAAGTTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + AAAAA#FFFFFFFFFFFFAFFFFF#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF<AFFFFFFFFFFAFFFFFFFFFFFFFFFFFFF<FFFFFFFFFAFFFAFFAFFAFFFFFFFFAFFFFFFAAFFF<FAFAFFFFA @NxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGCGA+ATAGAGAG xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCCCTCTGCTGGAACTGACACGCAGACATTCAGCGGCTCCGCCGCCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + AAAAA#FFFFF7FFFFFFAFFFFA#F7FFFFFFFFF7FFFFFAF<FFFFFFFFFFFFFFAFFF.F.FFFFF.FAFFF.FFFFFFFFFFFFFF.)F.FFA))FFF7)F7F<.FFFF.FFF7FF<.FFA<7FA.<.7FF.FFFAFF @บรรทัดแรกของแต่ละระเบียนจะเริ่มต้นด้วย EDIT2: zcat file > …

1
จะเข้าใจบริบทความปลอดภัยใน“ ls -Z” ได้อย่างไร?
หลังจากการอ้างอิง " man ls" จะแสดง " ls -Z" สามารถแสดงบริบทความปลอดภัย: -Z, --context Display security context so it fits on most displays. Displays only mode, user, group, security context and file name. การใช้ls -Zคำสั่ง "" เอาต์พุตจะเป็นดังนี้: [root@localhost ~]# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg drwxrwxrwx. root root unconfined_u:object_r:admin_home_t:s0 backup วิธีที่จะเข้าใจบริบทของการรักษาความปลอดภัย: unconfined_u:object_r:admin_home_t:s0? …
9 linux  ls  selinux 

1
ทำไมไม่มีบรรทัดใหม่ในตอนท้ายของการอ้างถึง subshell และส่งผ่านผลลัพธ์เพื่อ echo
เมื่อฉันทำls | grep pngผลลัพธ์ของ grep คือ: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ชื่อไฟล์ขึ้นบรรทัดใหม่ชื่อไฟล์ขึ้นบรรทัดใหม่) ดังนั้นecho $(ls | grep png)ผลลัพธ์: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ชื่อไฟล์, ช่องว่างจากการแยกคำ, ชื่อไฟล์, บรรทัดใหม่ !! จาก echo !!) นั่นคือทั้งหมดที่ตกลง แต่เมื่อฉันทำเช่นนี้เพื่อป้องกันการแยกคำ: echo "$(ls | grep png)"ออกเป็น: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png และคำถามของฉันคือขึ้นบรรทัดใหม่ที่สอง (หนึ่งควรมาจาก grep และหนึ่งจาก echo)

1
เครือข่ายรออยู่ที่ใดใน 'บนสุด'
หากด้านบนแสดงว่ามีโหลดสูงและคุณไม่รู้ว่ากระบวนการที่ทำให้เกิดเวลาประมวลผลหรือกำลังทำเน็ตเวิร์ก i / o (ไม่ใช่ i / o ในพื้นที่) คุณจะทราบได้อย่างไร บนเซิร์ฟเวอร์ของเราฉันเห็นค่าสูงสำหรับการโหลด แต่เมื่อรวมกับ 60% -70% ว่างและผู้ใช้ประมาณ 25% ฉันต้องการทราบวิธี interpet ค่าดังกล่าว แต่บนอินเทอร์เน็ตฉันมักจะอ่านว่าคุณสามารถใช้ iostat เพื่อดูว่ากระบวนการ trashing ดิสก์ของคุณ แต่ฉันรู้แล้วว่านั่นไม่ใช่กรณี กระบวนการที่เป็นปัญหาไม่ได้มีปัญหาในการทำงาน แต่ก็ยังโหลดสูง ดังนั้นมีวิธีการหาข้อมูลเพิ่มเติมซึ่งส่วนหนึ่งเกิดจากการรอเครือข่ายและส่วนที่เกิดจากเวลาประมวลผลจริง? และความหมายของ 'ว่าง' อยู่ด้านบนคืออะไร? เพื่อความชัดเจน: เมื่อโหลดฉันหมายถึงตัวเลข 3 ตัวที่บ่งบอกถึงกระบวนการเข้าคิวโดยเฉลี่ยต่อหนึ่งคอร์ เครื่องนี้มี 8 คอร์และจำนวนเพิ่มขึ้นถึง 25 ดังนั้นนั่นจึงเป็นภาระ 2.5 แกนต่อแกน
9 networking  top 

3
มีกี่ไบต์ที่ใช้ nmap ง่ายๆกับโฮสต์
วันนี้ผู้จัดการไอทีโกรธเพราะฉันใช้ nmap บนเซิร์ฟเวอร์ 3 แห่งที่ฉันจัดการเพื่อดูพอร์ตที่เปิดอยู่ ฉันรู้ว่าฉันสามารถใช้ netstat ในเชลล์โฮสต์ได้ เขาบอกฉันว่า "ถ้าเครือข่ายล่มเพราะ nmap ฉันจะถูกลงโทษ" ฉันต้องการทราบว่าในทางเทคนิคจำนวนเครือข่ายแบนด์วิดท์ที่มี / ไบต์จะเอาnmap 192.168.1.xท์พุทที่: Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-11 13:33 ART Nmap scan report for 192.168.x.53 Host is up (0.0043s latency). Not shown: 983 closed ports PORT STATE SERVICE 1/tcp open tcpmux 22/tcp open ssh …

3
Debian 8 KVM Guest - กำลังโหลด ramdisk เริ่มต้น
ฉันได้อัปเดตสคริปต์การจัดการ KVMของฉันสำหรับ Ubuntu 14.04 KVM โฮสต์เพื่อรองรับแขกเดเบียน 8 คน หลังจากการติดตั้งด้วยตนเอง (สคริปต์ preseed ยังใช้งานไม่ได้) ฉันติดอยู่กับข้อความต่อไปนี้ในการบูท: ระหว่างการติดตั้งฉัน: เลือกเฉพาะ ssh เซิร์ฟเวอร์และยูทิลิตี้ระบบพื้นฐาน ตั้งค่า bootloader grub เพื่อติดตั้งเป็นตัวเลือกที่ระบุไว้เท่านั้น ใช้โหมดการแบ่งพาร์ติชันที่แนะนำสำหรับทุกสิ่งในพาร์ติชันเดียว ใช้กระจกในสหราชอาณาจักร มีขั้นตอนที่ฉันต้องระวังในการทำหรือไม่สามารถติดตั้ง Debian 8 ในฐานะแขกของ KVM ได้หรือไม่? ปรับปรุง หลังจากที่ให้ขึ้นและตัดสินใจที่จะเพียงแค่อัพเกรดเดเบียน 7 VM ไปเดเบียน 8 ด้วยการอัพเดททุกสายใน/etc/apt/sources.listการjessieแทนwheezyผมพบว่าในที่สุดผมมีพฤติกรรมเดียวกัน อย่างไรก็ตามอินสแตนซ์นี้มี IP แบบคงที่และฉันพบว่าฉันยังสามารถ SSH ลงในเซิร์ฟเวอร์บน IP นั้นได้ดังนั้นดูเหมือนว่านี่เป็นปัญหากราฟิกบางประเภทที่เซิร์ฟเวอร์จัดการเพื่อบู๊ตเราไม่เห็นการลงชื่อเข้าใช้ ข้อความ ฉันจะแก้ไขปัญหานี้ได้อย่างไร ปรับปรุง เวลานี้ในการติดตั้งเดเบียนที่สร้างขึ้นโดยอัพเกรดเดเบียน 7 ฉันสามารถคลิกขั้นสูงจากเมนูด้วงและเลือกตัวเลือกด้วย (sysvinit) …
9 debian  boot  kvm  ramdisk 

3
ทำไมฉันไม่สามารถอ่าน / dev / stdout ด้วยโปรแกรมแก้ไขข้อความได้?
ฉันเพิ่งเริ่มเรียนรู้ว่าทุกอย่างเป็นไฟล์TMบน Linux ซึ่งทำให้ฉันสงสัยว่าจะเกิดอะไรขึ้นถ้าฉันอ่านจาก / dev / stdout: $ cat /dev/stdout ^C $ tail /dev/stdout ^C (นี่^Cคือฉันกำลังฆ่าโปรแกรมหลังจากแฮงค์) เมื่อฉันลองvimฉันได้รับข้อความที่คิดไม่ถึง: "/ dev / stdout" ไม่ใช่ไฟล์ อ้าปากค้าง! แล้วทำไมฉันถึงได้รับ Hangups หรือข้อความแสดงข้อผิดพลาดเมื่อฉันพยายามอ่าน "ไฟล์" เหล่านี้?
9 linux  files  stdout 

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