Unix & Linux

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

6
จะเลือก / ลบจนกว่าจะสิ้นสุดไฟล์ใน vim / gvim ได้อย่างไร?
บังเอิญฉันจัดการเพื่อคัดลอกวางย่อหน้าในกลุ่ม zillion ครั้ง ฉันจะเลือกและลบข้อความจากตำแหน่งปัจจุบันไปยังจุดสิ้นสุดไฟล์ได้อย่างไร ใน Windows จะเป็น Ctrl-Shift-End ตามด้วย Delete
41 vim 

5
ฉันจะฆ่ากระบวนการทั้งหมดของผู้ใช้โดยใช้ UID ของพวกเขาได้อย่างไร
ฉันต้องการที่จะฆ่ากระบวนการที่กำลังทำงานทั้งหมดของผู้ใช้เฉพาะจากทั้งเชลล์สคริปต์หรือโค้ดเนทีฟบนระบบ Linux ฉันต้องอ่านไดเร็กทอรี / proc แล้วมองหาสิ่งเหล่านี้หรือไม่? ความคิดใด ๆ มีการแม็พแบบไดนามิกของ pids ภายใต้ UID ใน Linux หรือไม่? นี่ไม่ใช่ใน proc หรือ ถ้าไม่เช่นนั้นรายการนี้จะอยู่ที่ไหน? ฉันควรอ่านจากมันไหม? นอกจากนี้รายการแบบคงที่ของ UID ทั้งหมดในระบบเพื่อให้ฉันสามารถตรวจสอบผู้ใช้นี้อยู่แล้วดำเนินการเพื่อฆ่ากระบวนการทั้งหมดที่ทำงานภายใต้มัน
41 c  linux  proc 

5
สร้างเสียงสุ่มเพื่อความสนุกสนานใน / dev / snd /
เมื่อเร็ว ๆ นี้ฉันได้สำรวจโฟลเดอร์ enchanted / dev ฉันต้องการเขียนข้อมูลสุ่มไปยังอุปกรณ์เสียงเพื่อสร้างเสียงรบกวน ฉันใช้ ALSA ดังนั้นฉันจึงแนะนำให้ cat ทำการไพพ์ข้อมูลสุ่มไปยังไฟล์เล่นในโฟลเดอร์ / dev ... cat file-of-random-data > /dev/snd/pcmC0D0p จากนั้นฉันก็รับสิ่งที่ดูเหมือนว่าจะเป็นข้อผิดพลาดจากแมว cat: write error: File descriptor in bad state ฉันจะแก้ไขสิ่งนี้ได้อย่างไรเพื่อที่ฉันจะได้ฟังการเล่นแบบคงที่ที่อร่อยจากการ์ดเสียงของฉัน
41 audio  alsa 

2
ฉันจะแสดง sar สำหรับวันก่อนหน้าได้อย่างไร
บนเซิร์ฟเวอร์ของเราพิมพ์sarสถิติการโหลดของระบบสำหรับวันนี้เริ่มตั้งแต่เที่ยงคืนเป็นไปได้ไหมที่จะแสดงสถิติเมื่อวานนี้?

2
เอาต์พุตจาก ls มีบรรทัดใหม่ แต่แสดงในบรรทัดเดียว ทำไม?
ฉันคิดว่าฉันอาจจะมองเห็นจุดที่ค่อนข้างพื้นฐานเกี่ยวกับเปลือกหอย เอาต์พุตจากคำสั่งlsโดยค่าเริ่มต้นจะแยกเอาต์พุตด้วยบรรทัดใหม่ แต่เชลล์แสดงเอาต์พุตในบรรทัดเดียว ใครสามารถอธิบายสิ่งนี้ให้ฉันได้บ้าง ฉันสันนิษฐานเสมอว่าเอาต์พุตถูกคั่นด้วยช่องว่าง แต่ตอนนี้เมื่อฉันเห็นเอาต์พุตคั่นด้วยบรรทัดใหม่ฉันคาดว่าเอาต์พุตจะแสดงในบรรทัดแยกกัน ตัวอย่าง: cpoweradm@debian:~/lpi103-4$ ls text* text1 text2 text3 odแสดงว่าเอาต์พุตถูกคั่นด้วยบรรทัดใหม่: cpoweradm@debian:~/lpi103-4$ ls text* | od -c 0000000 t e x t 1 \n t e x t 2 \n t e x t 0000020 3 \n 0000022 หากมีการขึ้นบรรทัดใหม่เหตุใดเอาต์พุตจึงไม่แสดงเป็น: text1 text2 text3
41 bash  terminal  ls  od 

2
วิธีตรวจสอบ rx ring, max_backlog และขนาด max_syn_backlog
บ่อยครั้งในการแก้ไขปัญหาและปรับแต่งสิ่งที่ฉันคิดว่าตัวเองคิดเกี่ยวกับการตั้งค่าเคอร์เนล Linux ต่อไปนี้: net.core.netdev_max_backlog net.ipv4.tcp_max_syn_backlog net.core.somaxconn อื่น ๆ กว่าfs.file-max, net.ipv4.ip_local_port_range, net.core.rmem_max, net.core.wmem_max, net.ipv4.tcp_rmemและnet.ipv4.tcp_wmemพวกเขาน่าจะเป็นลูกบิดสิ่งสำคัญที่จะยุ่งกับเมื่อคุณได้รับการปรับจูนกล่องสำหรับระดับสูงของการเห็นพ้อง คำถามของฉัน: ฉันจะตรวจสอบเพื่อดูว่ามีรายการกี่รายการในแต่ละคิวเหล่านั้นได้อย่างไร โดยทั่วไปแล้วคนมักจะตั้งค่าให้พวกเขาสูง แต่ฉันต้องการที่จะเข้าสู่ระบบขนาดคิวเหล่านั้นเพื่อช่วยทำนายความล้มเหลวในอนาคตและจับปัญหาก่อนที่พวกเขาจะปรากฏในทางที่ผู้ใช้เห็นได้ชัด
41 linux  kernel  networking  tcp 

1
ความแตกต่างระหว่างตัวแปรเชลล์ที่ถูกเอ็กซ์พอร์ตและที่ไม่ได้อยู่ใน bash
Bash ดูเหมือนจะแยกความแตกต่างระหว่างตัวแปรที่ถูกส่งออกและที่ไม่ได้ ตัวอย่าง: $ FOO=BAR $ env | grep FOO $ set | grep FOO FOO=BAR setเห็นตัวแปร แต่envทำไม่ได้ $ export BAR=FOO $ env | grep FOO BAR=FOO $ set | grep FOO BAR=FOO FOO=BAR setเห็นทั้งสองตัวแปร แต่envเห็นเฉพาะตัวแปรที่ส่งออก ฉันรู้ว่านั่นsetคือทุบตี builtin และenvไม่ อะไรคือความแตกต่างระหว่างตัวแปรที่ถูกเอ็กซ์พอร์ตและตัวแปรที่ไม่ใช่?

2
วิธีเปลี่ยนไดเร็กทอรีหน้าต่างใหม่ที่เป็นค่าดีฟอลต์จากภายใน tmux
ฉันเพิ่งย้ายจากหน้าจอ GNUเพื่อtmux ฉันพบว่ามันค่อนข้างคล้ายกัน แต่มีการสนับสนุนที่ใหญ่กว่า (ฉันเปลี่ยนเนื่องจากปัญหาเวลาหลบหนีใน neovim - ความละเอียดเป็นเพียง tmux) น่าเสียดายที่ใน tmux ฉันไม่สามารถหาคำสั่งที่คล้ายกันนี้: screen -X eval "chdir $(some_dir)" คำสั่งข้างต้นเปลี่ยนไดเรกทอรีเริ่มต้นสำหรับหน้าต่างใหม่ / หน้าจอ / บานหน้าต่างจากภายในหน้าจอ GNU ดังนั้นเมื่อฉันกดCtrl+ a(คล้ายกับ tmux Ctrl+ b) - หน้าต่างใหม่เปิดใน$(some_dir)ไดเรกทอรี มีสิ่งที่คล้ายกันใน tmux? คำตอบ: ฉันได้ใช้ @Lqueryvg คำตอบและรวมกับคำแนะนำ @Vincent Nivoliers จากความคิดเห็นและที่ให้ฉันผูกพันใหม่สำหรับคำสั่งattach -c "#{pane_current_path}"ที่ตั้งไดเรกทอรีปัจจุบันของฉันเป็นค่าเริ่มต้น ขอบคุณ
41 linux  tmux  gnu-screen 

6
ฉันจะใช้พื้นที่สว็อปในกรณีฉุกเฉินเท่านั้นได้อย่างไร
ฉันมีแล็ปท็อป Debian (Buster) ที่มี8 GB RAM และ 16GB swap ฉันกำลังทำงานที่ใช้เวลานานมาก นี่หมายความว่าแล็ปท็อปของฉันถูกทิ้งไว้ในช่วงหกวันที่ผ่านมาในขณะที่มันปั่นผ่าน ขณะทำสิ่งนี้ฉันต้องใช้แล็ปท็อปเป็นระยะเป็นระยะ นี่ไม่ควรเป็นปัญหา งานที่ใช้เวลานานคือ I / O ที่ถูกผูกไว้ทำงานผ่านสิ่งต่างๆบนฮาร์ดดิสก์ USB และไม่ใช้ RAM (<200 MB) หรือ CPU (<4%) มากนัก ปัญหาคือเมื่อฉันกลับมาที่แล็ปท็อปของฉันหลังจากนั้นไม่กี่ชั่วโมงมันจะซบเซามากและอาจใช้เวลา 30 นาทีเพื่อกลับมาเป็นปกติ นี่เป็นสิ่งที่แย่มากที่ผู้ตรวจสอบความผิดพลาดติดธงทำเครื่องหมายแอปพลิเคชันของตนว่าค้าง (โดยเฉพาะหน้าต่างเบราว์เซอร์) และสิ่งต่าง ๆ เริ่มทำงานผิดพลาดอย่างไม่ถูกต้อง เมื่อดูจากการตรวจสอบระบบของ 2.5 GB ที่ใช้ประมาณครึ่งหนึ่งจะถูกเปลี่ยนเป็นการสลับ ฉันยืนยันว่าปัญหานี้เกิดจากการลบพื้นที่สว็อป ( swapoff /dev/sda8) ถ้าฉันทิ้งไว้โดยไม่มีพื้นที่สว็อปมันจะกลับมามีชีวิตอีกครั้งในทันทีแม้หลังจากผ่านไป 24 ชั่วโมง ด้วยการแลกเปลี่ยนมันเป็นอิฐในช่วงห้านาทีแรกที่เหลือเพียงหกชั่วโมง ฉันยืนยันว่าการใช้หน่วยความจำไม่เกิน3 GBแม้ในขณะที่ฉันไม่อยู่ ฉันได้พยายามลดความไม่แน่นอน …
41 linux  memory  swap 

1
สถานะ“ แอ็คทีฟ (ออกแล้ว)” หมายถึงอะไรสำหรับบริการ SystemD
ฉันทำงานกับบริการที่กำหนดเองซึ่งใช้งานเว็บเซิร์ฟเวอร์เป็นหลักเรียกว่า thisismywebserver ขณะนี้ยังใช้งานไม่ได้ (เช่นฉันได้รับข้อผิดพลาด "ไม่สามารถเชื่อมต่อได้" พยายามเข้าถึงหน้าเว็บ) เมื่อฉันรันคำสั่งนี้service thisismywebserver statusเพื่อดูสถานะของบริการฉันเห็นว่าสถานะนั้นเป็น "active (exited)" นี่หมายความว่าบริการหยุดทำงานหรือไม่ ถ้าไม่เช่นนั้นหมายความว่าอย่างไร root@thisismywebserver-testing:~# service thisismywebserver status ● thisismywebserver.service - LSB: ThisIsMyWebServer server Loaded: loaded (/etc/init.d/thisismywebserver) Active: active (exited) since Sun 2015-11-08 23:01:33 EST; 18h ago Warning: Journal has been rotated since unit was started. Log output is incomplete or …

5
วิธีรับ HOME ให้ USER
ฉันมีUSERตัวแปรในสคริปต์ของฉันและฉันต้องการดูHOMEเส้นทางของเขาตามUSERตัวแปร ฉันจะทำสิ่งนั้นได้อย่างไร

2
มีคุณสมบัติเช่น tail น้อย --follow = name (-F)
คำสั่งที่lessสามารถนำมาใช้แทนtailใน tail -f file เพื่อจัดเตรียมคุณลักษณะเช่นการจัดการเอาต์พุตไบนารีและการนำทาง scrollback: less +F file +คำนำหน้าหมายถึง "หลอกฉันพิมพ์ว่าหลังจากการเริ่มต้น" และที่สำคัญFจะเริ่มต้นดังต่อไปนี้ แต่lessยังสามารถทดแทน tail --follow=name file ซึ่งตามมาfileแม้ว่าไฟล์จริงจะถูกลบหรือย้ายออกไปเช่นไฟล์บันทึกที่ถูกย้ายไปfile.log.1แล้วไฟล์ใหม่จะถูกสร้างด้วยชื่อเดียวกันกับไฟล์ที่ตามมา?
41 tail  less  pager 


3
วิธีดูเนื้อหาทั้งหมดในอาเรย์ awk?
ในความเข้าใจของฉันอาร์เรย์ awk เป็นสิ่งที่คล้ายกับหลามพจน์ ดังนั้นฉันจึงเขียนรหัสตะโกนเพื่อสำรวจ: awk '{my_dict[$1] = $2} END { print my_dict}' zen และฉันได้รับ: awk: can't read value of my_dict; it's an array name. เนื่องจากคอลัมน์แรกคือหมายเลข `ฉันจะอ่านเนื้อหาทั้งหมดของอาเรย์หรือสำรวจได้อย่างไร?
41 awk 

3
dpkg ไม่พบ ldconfig / start-stop-daemon ในตัวแปร PATH
ฉันพยายามที่จะติดตั้งbsd-mailxยูทิลิตี้แพคเกจที่ติดตั้งไว้ แต่ฉันสงสัยเกี่ยวกับข้อผิดพลาด นี่เป็นข้อผิดพลาดที่ฉันได้รับ: Preconfiguring packages ... dpkg: warning: 'ldconfig' not found in PATH or not executable. dpkg: warning: 'start-stop-daemon' not found in PATH or not executable. dpkg: error: 2 expected programs not found in PATH or not executable. Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin. E: Sub-process …
41 ubuntu  apt  dpkg  mailx 

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