Unix & Linux

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

4
แสดงการเชื่อมต่อเครือข่ายของกระบวนการ
มีวิธีแสดงการเชื่อมต่อของกระบวนการหรือไม่ อะไรแบบนั้น: show PID ซึ่งshowเป็นคำสั่งให้ทำเช่นนี้และPIDเป็น pid ของกระบวนการ ผลลัพธ์ที่ฉันต้องการประกอบด้วยการเชื่อมต่อของกระบวนการทั้งหมด (แบบเรียลไทม์) ตัวอย่างเช่นถ้ากระบวนการพยายามที่จะเชื่อมต่อกับ173.194.112.151173.194.112.151ออกเป็น ตัวอย่างที่เฉพาะเจาะจงมากขึ้นกับ Firefox: show `pidof firefox` และกับ Firefox ผมไปครั้งแรกบนgoogle.comแล้วในunix.stackexchange.comและในที่สุดก็192.30.252.129 ผลลัพธ์เมื่อฉันปิดเบราว์เซอร์จะต้อง: google.com stackexchange.com 192.30.252.129 (เห็นได้ชัดกับเบราว์เซอร์เอาต์พุตนี้ไม่เหมือนจริงเนื่องจากมีการเชื่อมต่ออื่น ๆ ที่เกี่ยวข้องจำนวนมาก แต่นี่เป็นเพียงตัวอย่างเท่านั้น)

3
ทำรายการตัวแปร Ansible ทั้งหมดสำหรับโฮสต์หรือกลุ่มด้วยคำสั่ง ad hoc?
ตัวแปรที่มาจากแหล่งต่าง ๆ เป็นตัวอย่างที่เป็นไปได้ในการจัดเตรียม host_vars และ group_vars โดยการสร้างไฟล์ YAML ในโฟลเดอร์ย่อยที่มีชื่อhost_varsและgroup_varsตามลำดับของโฟลเดอร์ที่มีไฟล์สินค้าคงคลัง ฉันสามารถแสดงรายการทั้งหมดของตัวแปรเบิ้ลจะรู้เกี่ยวกับกลุ่มหรือโฮสต์ภายใน PlayBook หรือไม่? หมายเหตุ: ฉันพยายามansible -m debug -e 'var=hostvars' hostและansible -m debug -e '- debug: var=hostvars'ไม่มีประโยชน์ คำแนะนำ: ansible <group|host> -m setupจะไม่ได้คำตอบที่ถูกต้องในขณะที่มันไม่ได้รวมตัวแปรทั้งหมดที่มาจากแหล่งอื่น ๆ (มีเพียง{ "ansible_facts" : { ... } }. ในความเป็นจริงมันไม่ได้รวมตัวแปรให้โดยสคริปต์สินค้าคงคลังแบบไดนามิก (ผ่าน_metaและอื่น ๆ ) รุ่น Ansible: 1.9.1
25 ansible 

6
โครเมียมเบราว์เซอร์ (pepperflashplugin) เปิดพอร์ตการฟังใน 0.0.0.0 ต่อ 3535
ฉันใช้chromium browser(โครเมี่ยม) ที่มีในpepperflashplugin Debianฉันสังเกตเห็นแล้วว่า chromium / pepperflashplugin เปิดพอร์ตการรับฟังบนส่วนต่อประสานสาธารณะของฉัน0.0.0.0:5353ตามที่เห็นด้วยnetstat: netstat -lptun Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:5353 0.0.0.0:* 13971/libpepflashpl ฉันเคยใช้ Firefox (Iceweasel) มาก่อนและไม่เคยเห็นเบราว์เซอร์ / ปลั๊กอินแฟลชมาเปิดพอร์ต อันที่จริงผมไม่เคยเห็นการเปิดโปรแกรมไคลเอนต์ใด ๆ 0.0.0.0ฟังพอร์ต ทำไมโครเมียมถึงทำเช่นนี้? จำเป็นหรือไม่ ฉันสามารถปิดการใช้งานนี้ได้หรือไม่ ฉันสามารถเริ่มโครเมียมโดยที่พริกไทยปิดใช้งานแล้วได้หรือไม่?

4
การเลื่อนแนวนอนเพิ่มทีละน้อยโดยใช้ -S น้อย
ฉันใช้lessเพื่อแยกวิเคราะห์บันทึกการเข้าถึง HTTP -Sฉันต้องการที่จะดูทุกอย่างเรียบร้อยบนเส้นเดียวดังนั้นฉันใช้ ปัญหาที่ฉันมีก็คือหนึ่งในสามของหน้าต่างเทอร์มินัลของฉันมีเมตาดาต้าที่ฉันไม่สนใจ เมื่อฉันใช้ปุ่มลูกศรเพื่อเลื่อนไปทางขวาฉันพบว่ามันเลื่อนผ่านจุดเริ่มต้นของข้อมูลที่ฉันสนใจ! ฉันสามารถลบจุดเริ่มต้นของแต่ละบรรทัดได้ แต่ฉันไม่รู้ว่าฉันอาจต้องการข้อมูลนั้นในอนาคตหรือไม่และฉันไม่ต้องการดูแลไฟล์แยกต่างหากหรือรันสคริปต์ทุกครั้งที่ต้องการดูบันทึก ตัวอย่าง สายนี้: access.log00002: 10.0.0.0 - USER_X [07 / พ.ย. / 2556: 16: 50: 50 +0000] "รับ / บาง / ยาว / URL" จะเลื่อนไปที่: ng/URL" คำถาม มีวิธีที่ฉันสามารถเลื่อนทีละน้อยทั้งโดยตัวละครหรือคำ?
25 less  scrolling 

3
เรียกใช้สคริปต์ในหน้าจอ
ฉันต้องการรันสคริปต์ทุบตีในหน้าจอเดี่ยว สคริปต์เรียกโปรแกรมสองสามครั้งแต่ละอันใช้เวลาในการรอนานเกินไป ความคิดแรกของฉันคือเพียงเปิดหน้าจอจากนั้นเรียกสคริปต์ แต่ดูเหมือนว่าฉันจะแยกออกไม่ได้ (โดยctrl-a d) ในขณะที่สคริปต์ทำงานอยู่ ดังนั้นฉันจึงทำการวิจัยและพบคำแนะนำนี้เพื่อแทนที่ shebang ด้วยต่อไปนี้: #!/usr/bin/screen -d -m -S screenName /bin/bash แต่นั่นไม่ได้ผลเช่นกัน (ตัวเลือกไม่ได้รับการยอมรับ) ข้อเสนอแนะใด ๆ ป.ล. เกิดขึ้นกับฉันในตอนนี้ซึ่งscreen -dmS name ./script.shอาจเป็นไปได้สำหรับวัตถุประสงค์ของฉัน แต่ฉันก็ยังสงสัยว่าจะรวมสิ่งนี้เข้ากับสคริปต์อย่างไร ขอขอบคุณ.

2
มีปัญหากับเครื่องหมายขีดคั่นในฟังก์ชันนามแฝงและไฟล์เรียกทำงานหรือไม่?
ในการทดสอบของฉัน (ใน Bash และ Z Shell) ฉันไม่เห็นปัญหาเกี่ยวกับการกำหนดฟังก์ชั่นหรือชื่อแทนหรือสคริปต์เชลล์ปฏิบัติการที่มียัติภังค์ในชื่อ แต่ฉันไม่มั่นใจว่าสิ่งนี้จะใช้ได้ในทุกเชลล์และทุกกรณี . เหตุผลที่ฉันต้องการทำเช่นนี้ก็คือยัติภังค์พิมพ์ได้ง่ายกว่าขีดล่างและเร็วกว่าและราบรื่นกว่า เหตุผลหนึ่งที่ฉันลังเลที่จะเชื่อว่ามันไม่ใช่ปัญหาคือในบางภาษา (ตัวอย่างเช่นทับทิม) ยัติภังค์จะถูกตีความว่าเป็นเครื่องหมายลบแม้ไม่มีที่ว่างรอบ ๆ มันจะไม่แปลกใจเลยถ้าบางสิ่งเช่นนี้อาจเกิดขึ้นในหอยบางตัวซึ่งยัติภังค์ถูกตีความว่าเป็นการส่งสัญญาณตัวเลือกแม้ไม่มีพื้นที่ อีกเหตุผลที่ฉันสงสัยอยู่เล็กน้อยว่าตัวแก้ไขข้อความของฉันทำให้ไวยากรณ์ที่เน้นสำหรับฟังก์ชันกับยัติภังค์เพิ่มขึ้น (แต่แน่นอนว่าเป็นไปได้ทั้งหมดที่เป็นเพียงข้อบกพร่องในการเน้นการกำหนดค่าไวยากรณ์สำหรับเชลล์สคริปต์) มีเหตุผลใดที่จะหลีกเลี่ยงยัติภังค์หรือไม่?
25 bash  shell  zsh  ksh  csh 

4
ข้อผิดพลาดสคริปต์ทุบตีกับสตริงที่มีเส้นทางที่มีช่องว่างและสัญลักษณ์
ฉันมีปัญหาในการเข้าใจพื้นฐานของการเขียนสคริปต์ Bash นี่คือสิ่งที่ฉันมี: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done สิ่งที่ฉันต้องการทำคือรายการ.txtไฟล์ทั้งหมดในforลูปเพื่อให้ฉันสามารถทำสิ่งกับพวกเขา แต่พื้นที่ในmy directoryและเครื่องหมายดอกจันใน*.txtเพียงไม่เล่นอย่าง ฉันลองใช้มันโดยไม่ใส่เครื่องหมายอัญประกาศคู่โดยมีและไม่มีเครื่องหมายปีกกาบนชื่อตัวแปรและยังไม่สามารถพิมพ์.txtไฟล์ทั้งหมดได้ นี่เป็นสิ่งพื้นฐานมาก แต่ฉันยังคงดิ้นรนเพราะฉันเหนื่อยและคิดไม่ออก ผมทำอะไรผิดหรือเปล่า? ฉันสามารถใช้สคริปต์ด้านบนได้สำเร็จหากไฟล์ของฉันไม่มีที่ว่างหรือเครื่องหมายดอกจัน ... ฉันต้องทำการทดสอบว่ามีหรือไม่มีการใช้เครื่องหมายคำพูดคู่และเครื่องหมายปีกกาเพื่อให้มันทำงานได้หรือไม่ แต่ช่วงเวลาที่ฉันมีทั้งช่องว่างและดอกจันมันทำให้ทุกอย่างยุ่ง

1
ท่อทำงานอย่างไรใน Linux
ฉันได้อ่านเกี่ยวกับวิธีการใช้ไพพ์ในเคอร์เนล Linux และต้องการตรวจสอบความเข้าใจของฉัน หากฉันไม่ถูกต้องคำตอบพร้อมคำอธิบายที่ถูกต้องจะถูกเลือก Linux มี VFS เรียกว่า pipefs ที่ติดตั้งในเคอร์เนล (ไม่ใช่ในพื้นที่ผู้ใช้) pipefs มีซุปเปอร์บล็อกเดียวและติดตั้งที่รูทของมันเอง ( pipe:) ข้างๆ/ pipefs ไม่สามารถดูได้โดยตรงเหมือนกับระบบไฟล์ส่วนใหญ่ รายการไปยัง pipefs คือผ่านpipe(2)syscall pipe(2)syscall ใช้โดยเปลือกหอยสำหรับท่อกับ|ผู้ประกอบการ (หรือด้วยตนเองจากกระบวนการอื่น ๆ ) สร้างไฟล์ใหม่ใน pipefs ซึ่งทำงานสวยมากเช่นไฟล์ปกติ ไฟล์ทางด้านซ้ายของผู้ประกอบการไปป์ได้stdoutถูกเปลี่ยนเส้นทางไปยังไฟล์ชั่วคราวที่สร้างขึ้นใน pipefs ไฟล์ทางด้านขวาของผู้ปฏิบัติงานไปป์มี stdinไพพ์ตั้งค่าไฟล์ไว้ที่ pipefs pipefs ถูกเก็บไว้ในหน่วยความจำและผ่านเคอร์เนลเวทย์มนตร์บางอย่างไม่ควรทำเพจ นี่คือคำอธิบายว่าท่ออย่างไร (เช่น ls -la | less ) ว่าถูกต้องหรือไม่? สิ่งหนึ่งที่ผมไม่เข้าใจคือวิธีการบางอย่างเช่นทุบตีจะตั้งเป็นกระบวนการstdinหรือจะอธิบายไฟล์ที่ส่งกลับโดยstdout pipe(2)ฉันยังไม่พบอะไรเกี่ยวกับสิ่งนั้น
25 kernel  pipe 

3
วิธีการกำหนดค่าเซิร์ฟเวอร์ Linux โดยอัตโนมัติได้อย่างไร
มีวิธีใดในการตั้งค่าเซิร์ฟเวอร์ Linux โดยอัตโนมัติ ฉันกำลังทำงานเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์สร้างใหม่สองสามเซิร์ฟเวอร์รวมถึงเซิร์ฟเวอร์ FTP และต้องการให้กระบวนการเป็นไปโดยอัตโนมัติให้มากที่สุด เหตุผลนี้คือการตั้งค่าและการกำหนดค่าของเซิร์ฟเวอร์เหล่านี้จะต้องทำในวิธีที่ทำซ้ำได้ง่าย เราคิดว่าการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติมากที่สุดจะทำให้ง่ายที่สุดในการทำซ้ำตามที่ต้องการในอนาคต โดยพื้นฐานแล้วเซิร์ฟเวอร์ทั้งหมดจำเป็นต้องมีการติดตั้งระบบปฏิบัติการรวมถึงแพ็คเกจจำนวนหนึ่ง ไม่มีอะไรซับซ้อนเกินไปเกี่ยวกับการตั้งค่า ดังนั้นมีวิธีที่จะทำให้กระบวนการนี้เป็นอัตโนมัติ (หรืออย่างน้อยก็จำนวนหนึ่ง)? แก้ไข: นอกจากนี้ยังบอกว่าฉันใช้ Kickstart มีวิธีลบที่เก็บเริ่มต้นของ Ubuntu และเพียงแค่ติดตั้งแพคเกจจากคอลเลกชันของไฟล์. deb ที่เรามีอยู่ในเครื่อง

6
ทำไม X Window System จึงใช้เซิร์ฟเวอร์
ฉันไม่เคยเข้าใจจริง ๆ ว่าทำไมระบบหน้าต่างต้องมีเซิร์ฟเวอร์ ทำไมสภาพแวดล้อมเดสก์ท็อปผู้จัดการหน้าจอและผู้จัดการหน้าต่างจึงจำเป็นต้องมีเซิร์ฟเวอร์ xorg? เป็นเพียงการมีชั้นของนามธรรมที่ด้านบนของกราฟิกการ์ดหรือไม่ เหตุใดระบบหน้าต่างจึงใช้โมเดลไคลเอนต์ - เซิร์ฟเวอร์ การสื่อสารระหว่างกระบวนการผ่านท่อที่มีชื่อจะไม่ง่ายกว่านี้หรือ
25 xorg  x11  x-server 

2
การกู้คืนจากข้อผิดพลาด 'grub rescue>' [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว โพสต์ต้นฉบับไปยัง AskUbuntu.com ... AskUbuntu ได้นำนโยบายการปิดคำถามเกี่ยวกับรุ่น EOL (End Of Life) มาใช้ มีแกนนำในการลบออกเช่นกัน เพื่อป้องกันการสูญเสียคำถามยอดนิยมที่เป็นไปได้ (342335 จำนวนการดูล่าสุด) กำลังวางเวอร์ชันที่แก้ไข --- docsalvager ระบบ "คลาสสิค" ... Puppy Linux 5.2.8 (Lucid) อ้างอิงจาก Ubuntu 10.04 (Lucid Lynx) ตัวโหลดบูตGRUB 2 ด้วง 2ทำให้จำนวนของ*.modไฟล์ (เคอร์เนลโมดูล) /boot/grubใน การลบไฟล์เหล่านี้ (คิดว่าพวกเขาถูกใส่ผิดไฟล์เสียง) grub …

4
เป็นไปได้ที่จะกำหนดคำสั่งในทุบตี?
ตัวอย่างเช่นฉันสามารถตั้งค่า: gb = cd /media/Dan/evolution ... ดังนั้นทุกครั้งที่ฉันสั่งงานgbด้วย bash ฉันสามารถcdไปยังไดเรคทอรีนั้นได้หรือไม่ ฉันพบบางสิ่งที่ออนไลน์: aliasคำสั่ง แต่ดูเหมือนว่ามันจะไม่สามารถทำงานดังกล่าวได้ เป็นไปได้ที่จะทำหรือไม่ อย่างไร?

1
อ่านระบบไฟล์รูทเท่านั้น
เดเบียนของฉันไปอ่านในระบบไฟล์รูทเท่านั้น ฉันไม่รู้ว่าจะเกิดอะไรขึ้น ตัวอย่างเช่นเมื่อฉันอยู่ใน/rootโฟลเดอร์และพิมพ์คำสั่งnanoและหลังจากนั้นกดTabเพื่อแสดงรายการไฟล์ที่เป็นไปได้ในโฟลเดอร์นั้นฉันได้รับข้อความ: root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system เหมือนกันสำหรับcdคำสั่งเมื่อฉันพิมพ์cd /homeและกดTabเพื่อแสดงรายการเส้นทางฉันมีสิ่งนี้: root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system ฉันยังมีปัญหากับซอฟต์แวร์เช่นaptและอื่น ๆ ไม่สามารถรับการอัพเดทที่ทำได้ ฉันมีข้อผิดพลาดมากมายเช่นนี้: Err http ://ftp.de.debian.org wheezy-updates/main Sources 406 Not Acceptable W: Not using locking for read only lock …

4
วิธีใช้ Sed เพื่อแทนที่อักขระทั้งหมดก่อนหน้าโคลอน
ฉันจะแทนที่สตริงต่อไปนี้ได้อย่างไร hd_ma_prod_customer_ro:*:123456789:john.doe กับ john.doe โดยทั่วไปฉันต้องการค้นหาเครื่องหมายจุดคู่สุดท้าย (:) และลบทุกอย่างก่อนหน้าและรวมไว้ด้วย
25 sed 

7
ฉันจะจับภาพหน้าจอขณะใช้ Gnome ได้อย่างไร
มีชุดคำแนะนำโดยละเอียดเกี่ยวกับวิธีการจับภาพหน้าจอภายใต้เดเบียนออนไลน์ ย่อหน้าแรกแนะนำว่าเดเบียนสนับสนุนเครื่องมือจับภาพหน้าจอ inbuilt: "Print Screen" key to take a screenshot of the whole screen. Alt+"Print Screen" key to take a screenshot of the current active window. คำแนะนำหมายความว่าเมื่อฉันกดPrtScnฉันควรเห็นป๊อปอัพนี้ อย่างไรก็ตามฉันใช้ Debian Jessie และเมื่อฉันกดPrtScnฉันเพิ่งได้ยินเสียงชัตเตอร์ของกล้องและไม่เห็นป๊อปอัป ฉันพยายามวางGIMP( edit-> paste) แต่ไม่มีอะไรในคลิปบอร์ด ความจริงที่ว่าฉันได้ยินเสียงชัตเตอร์แสดงให้เห็นว่ามีบางอย่างเกิดขึ้น แต่ฉันจะคัดลอกรูปภาพได้อย่างไร
25 gnome  screenshot 

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