Unix & Linux

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

9
ค้นหาการเกิดขึ้นทั้งหมดในไฟล์ที่มี sed
การใช้ OPEN STEP 4.2 OS ... ฉันกำลังใช้sedคำสั่งต่อไปนี้: sed -n '1,/141.299.99.1/p' TESTFILE | tail -3 คำสั่งนี้จะค้นหาหนึ่งอินสแตนซ์ในไฟล์ที่มี ip ของ 141.299.99.1 และรวม 3 บรรทัดก่อนที่มันจะดีทั้งหมดยกเว้นว่าฉันต้องการหาอินสแตนซ์ทั้งหมดของ IP และ 3 บรรทัดก่อนหน้าด้วย ไม่ใช่แค่คนแรก
15 sed 


4
วนซ้ำซ้ำในไฟล์ต่างๆในไดเรกทอรี
วนซ้ำซ้ำในไฟล์ต่างๆในไดเรกทอรีสามารถทำได้อย่างง่ายดายโดย: find . -type f -exec bar {} \; อย่างไรก็ตามข้างต้นไม่สามารถใช้ได้กับสิ่งที่ซับซ้อนมากขึ้นซึ่งต้องมีกิ่งที่มีเงื่อนไขการวนซ้ำ ฯลฯ ต้องทำ ฉันเคยใช้สิ่งนี้สำหรับข้างต้น: while read line; do [...]; done < <(find . -type f) อย่างไรก็ตามดูเหมือนว่าสิ่งนี้จะใช้ไม่ได้กับไฟล์ที่มีอักขระที่ไม่ชัดเจน $ touch $'a\nb' $ find . -type f ./a?b มีทางเลือกอื่นที่จัดการกับตัวละครที่คลุมเครือเช่นนี้หรือไม่

3
เป็นไปได้อย่างไรที่จะทำการอัพเดทสดขณะที่โปรแกรมกำลังทำงานอยู่?
ฉันสงสัยว่าแอปพลิเคชันนักฆ่าเช่น Thunderbird หรือ Firefox สามารถอัปเดตผ่านตัวจัดการแพคเกจของระบบในขณะที่ยังทำงานอยู่ได้ จะเกิดอะไรขึ้นกับรหัสเก่าในขณะที่กำลังอัปเดต ฉันต้องทำอย่างไรเมื่อฉันต้องการเขียนโปรแกรม a.out ที่ปรับปรุงตัวเองในขณะที่มันกำลังทำงานอยู่?

3
ส่วนขยาย GLX ทำงานไม่ถูกต้องกับ xvfb
ฉันมีระบบ Ubuntu 14.04 ที่ติดตั้งแพ็คเกจต่อไปนี้: libegl1-mesa:amd64 libegl1-mesa-drivers:amd64 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libglapi-mesa:amd64 libglapi-mesa:i386 libgles2-mesa:amd64 libglu1-mesa:amd64 libopenvg1-mesa:amd64 libwayland-egl1-mesa:amd64 mesa-utils xvfb ฉันต้องการเริ่มต้นแอปพลิเคชันภายใต้ xvfb ฉันเริ่ม xvfb ครั้งแรกด้วย: $ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 & จากนั้นตรวจสอบไฟล์บันทึก xvfb: Initializing built-in extension Generic Event Extension Initializing built-in extension SHAPE Initializing …
15 x11  opengl  xvfb 

5
รับไดเรกทอรีล่าสุด (ไม่ใช่ไฟล์ล่าสุด)
โฟลเดอร์ของฉันparentมีเนื้อหาดังต่อไปนี้: A.Folder B.Folder C.File มันมีทั้งโฟลเดอร์และไฟล์ภายใน B.Folderใหม่กว่านี้ ตอนนี้ฉันแค่อยากได้B.Folderฉันจะทำสิ่งนี้ได้อย่างไร ฉันลองสิ่งนี้ ls -ltr ./parent | grep '^d' | tail -1 แต่มันทำให้ฉันแต่ฉันเพียงแค่ต้องชื่อdrwxrwxr-x 2 user user 4096 Jun 13 10:53 B.FolderB.Folder
15 shell  files  ls  timestamps 

1
ตั้งค่าภาษาที่กำหนดเองใน Gnome3 (บน Fedora 20)
ฉันได้สร้างlocales ของตัวเองและวางไว้/etc/locale.confซึ่งจะมีผลถ้าฉันเข้าสู่ระบบในคอนโซลเสมือน (Ctrl + Alt + F2) ในเซสชั่น Gnome3 ของฉันตัวแปรเหล่านั้นไม่ได้ถูกตั้งค่า สำหรับแอปพลิเคชั่นเทอร์มินัลฉันสามารถใส่ไว้ในนั้นได้.bashrcแต่นั่นจะไม่ช่วยฉันในการใช้งานกราฟิกเช่น Thunderbird และ Pidgin ฉันได้ลองทำตามคำแนะนำเหล่านี้: การตั้งค่าโลแคลในการเริ่มต้นเชลล์ที่ไม่ได้ใช้โดยเซสชั่น GNOMEและเลียนแบบบั๊กในLocale - ArchWikiด้วยการสร้าง.pam_environmentไฟล์ แต่locales ยังคงถูกกำหนดโดย Gnome3 มีบทสนทนาการกำหนดค่าในการตั้งค่า Gnome แต่อนุญาตให้ตั้งค่าชุดค่าlocaleผสมที่กำหนดไว้ล่วงหน้าที่ จำกัด มากเท่านั้นและไม่มีวิธีปรับแต่งค่าเหล่านั้น ไฟล์ที่เกี่ยวข้องในไดเรกทอรีบ้านของฉัน: user@localhost:~$ ls -lah .dmrc .pam_environment .session .xsession .xsessionrc lrwxrwxrwx. 1 user user 16 12. Jun 08:57 .dmrc -> /etc/locale.conf lrwxrwxrwx. 1 user …
15 fedora  gnome3  locale 

1
มีวิธีการค้นหา manpages สำหรับสถานการณ์การใช้งานทั่วไปหรือไม่?
ฉันมีสมองที่ค่อนข้างเล็กดังนั้นจึงมีข้อ จำกัด เกี่ยวกับสิ่งที่ฉันสามารถเก็บไว้ที่นั่นได้ ฉันใช้ Linux semi-pro-amateur มาสองสามปีแล้วและฉันก็ยังรู้สึกประหลาดใจกับคำสั่งที่ฉันรู้เพียงเล็กน้อย สิ่งที่เรียบง่ายเช่น "ฉันจะแสดงรายการพาร์ติชั่นทั้งหมดในเทอร์มินัล" ได้อย่างไรจะเปิดตัว DuckDuckGo-Hunt 15 นาที ฉันกำลังยืน! มันสิ้นสุดลงวันนี้! ดังนั้นมีวิธีการค้นหา manpages สำหรับสิ่งต่าง ๆ เช่น "list partitions" และรับสิ่งที่ชอบ: $ man-search list partitions Results for "list partitions" ----------------------------- df - list drives with size or something du - list directory usage ฉันคิดว่าฉันรู้คำตอบอยู่แล้ว แต่ ... บางทีคุณอาจแนะนำวิธีที่รวดเร็วกว่าในการค้นหายูทิลิตี้ที่ฉันต้องการเมื่อฉันต้องการมัน ขอบคุณ!

3
วิธีการตั้งค่าจำนวนคำสั่งประวัติการเรียกคืน
ฉันกำลังใช้ทุบตี เพื่อเรียกดูประวัติคำสั่งของฉันฉันกำลังเรียกhistoryคำสั่งที่ฉันเชื่อว่ากำลังเรียกโปรแกรม Gnu ในชื่อเดียวกัน (ฉันไม่รู้ว่ามีวิธีเฉพาะทุบตีที่ดีกว่า) ใน. bashrc ของฉันฉันมีบรรทัดที่export PROMPT_COMMAND='history -a'จะเก็บประวัติจากเซสชันทุบตีหลายครั้งที่ฉันใช้อยู่ ถ้าฉันทำประวัติฉันเห็น 524 รายการในปัจจุบันเท่านั้น สามารถกำหนดค่านี้ได้หรือไม่ ฉันต้องการที่จะเพิ่มจำนวนนี้เป็นจำนวนมากขึ้นกล่าวว่า 2000

2
ฉันควรใช้การอัปเดต apt-get เมื่อใดและเพราะเหตุใด
คำถามทั่วไป: บางคนสามารถอธิบายสิ่งที่คำสั่งapt-get updateทำและเมื่อฉันควรใช้มันจริงเหรอ? หมายเหตุ โปรดให้คำตอบรายละเอียด ไม่ใช่แค่สำเนาของ man page ยกเว้นว่าเวอร์ชั่นของคุณมีรายละเอียดมาก (ฉันใส่นิยามจาก man page ด้านล่าง) apt-get update : ใช้เพื่อซิงโครไนซ์ไฟล์ดัชนีแพ็คเกจจากแหล่งที่มา ดัชนีของแพ็คเกจที่มีอยู่จะถูกดึงจากตำแหน่งที่ระบุใน /etc/apt/sources.list(5) ควรทำการอัปเดตเสมอก่อนที่จะอัปเกรดหรืออัพเกรด Sub-คำถาม: จัดเก็บดัชนีแพ็กเกจไว้ที่ไหน บนฐานข้อมูล ในไฟล์? จะเกิดอะไรขึ้นถ้าฉันapt-get installไม่อัพเดทแคช? มีโอกาสที่แพ็กเกจระยะไกลจะไม่อยู่อีกต่อไปและลิงก์จะใช้งานไม่ได้หรือไม่ มีบางการเมืองที่ตกลงกันเกี่ยวกับที่เก็บ deb หรือไม่? ตัวอย่างเช่นที่เก็บควรมีเพียงเวอร์ชันสุดท้ายของแพ็คเกจหรือในทางตรงกันข้ามมันควรมีทุกเวอร์ชั่นสำหรับการเผยแพร่เฉพาะ? บริบท ฉันถามคำถามของฉันเพราะฉันกำลังศึกษากรอบเทียบท่า หนึ่งในคุณสมบัติของมันคือDockerfileซึ่งช่วยให้คุณสร้างอิมเมจระบบปฏิบัติการได้โดยเรียกใช้คำสั่งจากไฟล์นี้ คุณสมบัติหนึ่งของภาพนี้คือมันควรจะเหมือนกันเสมอไม่ว่าบริบทคืออะไร (เวลาของการสร้าง ฯลฯ ) ฉันกลัวว่าถ้าฉันเปิดใช้งานapt-get updateคำสั่งในเวลาที่ต่างกันผลลัพธ์จะแตกต่างกันดังนั้นรูปภาพของฉันจะแตกต่างกัน
15 apt  docker 

1
vim / gvim ไม่สามารถใส่คลิปบอร์ด X11 ลงทะเบียน“ + หรือ” *?
เนื่องจากขาดการรักษาความปลอดภัยกับเซิร์ฟเวอร์ vino มาตรฐานฉันจึงเปลี่ยนไปใช้x11vncบนกล่อง linux (พร้อม Xubuntu 14.04) และ SSVNCทางหน้าต่าง ด้วย vino, ตัดและวางจาก windows ไปยัง Linux และ windows, ในสองทิศทาง, ไม่สม่ำเสมอ (1) แต่เมื่อมันทำงาน, มันใช้ได้กับทุกโปรแกรม; ฉันสามารถใช้การvimลงทะเบียน"+โดยไม่มีปัญหา ฉันวิ่ง (2) autocutsel -fork ตามปกติเพื่อให้การเลือก "คลิกกลาง" และ ctrl-c / v เหมือนกัน ตอนนี้ฉันใช้ x11vnc (เรียกด้วย:) x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000เพื่อให้มีการเชื่อมต่อที่ปลอดภัยและมีการเข้ารหัสเกิดปัญหาขึ้น: ฉันสามารถคัดลอกบน windows และวางใน terminal linux …
15 vim  x11  vnc  clipboard 

1
วิธีที่เชื่อถือได้สำหรับกระบวนการเด็กในคุกโดยใช้ 'nsenter:'
ฉันรู้ว่า namespaces ลินุกซ์ในหมู่สิ่งอื่น ๆ อีกมากมายสามารถ leveraged ที่จะจัดการกับการ จำกัด และงูกระบวนการที่เด็กได้อย่างปลอดภัยโดยไม่ต้องมีโอกาสของพวกเขาใด ๆ ถูก zombied initและทิ้งบน แต่ฉันไม่ชัดเจนในรายละเอียดการใช้งาน ฉันจะใช้เครื่องมือที่จัดเตรียมโดยutil-linuxเช่นmountและnsenterเพื่อดูตรวจสอบและตรวจสอบให้แน่ใจว่ากระบวนการทั้งหมดที่เปิดใช้เป็นลูกหลานของเนมสเปซโดยตรงของกระบวนการอื่นได้อย่างไร

1
เหตุใดปริมาณงาน TCP ของฉันจึงมากกว่าปริมาณงาน UDP มาก
ฉันไม่ได้ทำอะไรผิดปกติกับการกำหนดค่าฮาร์ดแวร์หรือเคอร์เนล (การตั้งค่าเริ่มต้นทั้งหมด, การติดตั้งระบบปฏิบัติการใหม่, Linux kernel 3.11 TCP / IP สแต็ค) และฉันเฉลี่ยประมาณ 3.83 ล้านข้อความต่อวินาทีผ่าน TCP ในขณะที่ฉันเฉลี่ยเพียง 0.75 ล้านข้อความต่อวินาทีผ่าน UDP ดูเหมือนว่าจะท้าทายสิ่งที่ฉันคาดหวังของทั้งสองโปรโตคอลอย่างสมบูรณ์ อะไรเป็นสาเหตุที่ทำให้เกิดความแตกต่างอย่างมากและฉันจะวินิจฉัยบน Ubuntu 13.10 ได้อย่างไร #TCP RESULTS Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes …

2
ข้อไหนคือพกพาที่สุดของ sed, awk, perl และ sh?
ใครสามารถใส่เครื่องมือเหล่านี้ตามลำดับของการพกพา? ซึ่งเหล่านี้เป็นบางอย่างที่จะพบในได้มากที่สุดที่น้อยที่สุด * ระบบระวัง? เป็นของพวกเขา 100% แน่ใจว่าจะนำเสนอ? ฉันเดาว่าลำดับต่อไปนี้คือ: awk sed ดวลจุดโทษ Perl ในขณะที่ฉันจินตนาการว่ามีระบบที่ไม่เริ่มต้นเชลล์ bourne บางเชลล์จะปรากฏเป็นค่าเริ่มต้นที่จะอยู่ที่/bin/sh? ไม่น่าจะเป็นไปได้ว่ามันไม่ใช่เปลือกหอยชนิด Bourne ทั้งสองawkและsedมีหน้าอธิบายพวกเขาในสเปค POSIX ดังนั้นสันนิษฐานว่าพวกเขาจะมีอยู่เสมอ เป็นอย่างนั้นเหรอ? ฉันมั่นใจได้หรือไม่ว่าทั้งสองจะถูกติดตั้งบน * nix ใด ๆ ? รวมถึงระบบฝังตัว?

5
คัดลอกไฟล์ที่เล็กที่สุดก่อน?
ฉันมีไดเรกทอรีขนาดใหญ่ที่มีไดเรกทอรีย่อยและไฟล์ที่ฉันต้องการคัดลอกซ้ำ มีวิธีใดบ้างที่จะบอกcpว่าควรทำการคัดลอกตามขนาดไฟล์เพื่อให้ไฟล์ที่เล็กที่สุดถูกคัดลอกก่อน?
15 shell  cp  file-copy  size 

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