Unix & Linux

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

2
วิธีการทำให้เป็นกลุ่มใช้ / var / log / ข้อความเน้นไวยากรณ์ไปยังไฟล์ใด ๆ ที่เรียกว่า "messages" หรือ "messages- *"?
ฉันชอบสีสันของเสียงเรียกเข้า/var/log/messagesแต่มันก็ใช้งานได้กับ - ชื่อไฟล์ที่แน่นอน ไม่ทำงานสำหรับการหมุนข้อความที่เก่ากว่า (เช่น/var/log/messages-20120610) หรือไฟล์ข้อความที่ฉันได้รับจากระบบอื่น ฉันจะปรับแต่งสิ่งนี้ได้อย่างไร

5
เป็นไปได้ไหมที่จะบีบอัดไฟล์ที่มีขนาดใหญ่มาก (~ 30 GB) โดยใช้ gzip?
เป็นไปได้ไหมที่จะบีบอัดไฟล์ที่มีขนาดใหญ่มาก (~ 30 GB) โดยใช้ gzip? ถ้าเป็นเช่นนั้นฉันควรใช้คำสั่งสวิตช์และตัวเลือกใด หรือมีโปรแกรมอื่น (โดยเฉพาะอย่างยิ่งหนึ่งที่มีอยู่ทั่วไปในการแจกแจง Ubuntu) ที่ฉันสามารถใช้ในการบีบอัด / zip ไฟล์ที่มีขนาดใหญ่มาก? คุณมีประสบการณ์เกี่ยวกับสิ่งนี้หรือไม่?

3
gcc ไม่สามารถเชื่อมโยงไปยัง pthread ได้หรือไม่
ฉันเพิ่งติดตั้ง XUbuntu 11.10 64 บิต แต่ฉันมีปัญหาในการรวบรวมตัวอย่าง pthread ที่ง่ายที่สุด นี่คือรหัสpthread_simple.c: #include <stdio.h> #include <pthread.h> main() { pthread_t f2_thread, f1_thread; void *f2(), *f1(); int i1,i2; i1 = 1; i2 = 2; pthread_create(&f1_thread,NULL,f1,&i1); pthread_create(&f2_thread,NULL,f2,&i2); pthread_join(f1_thread,NULL); pthread_join(f2_thread,NULL); } void *f1(int *x){ int i; i = *x; sleep(1); printf("f1: %d",i); pthread_exit(0); } void *f2(int *x){ …
17 c  libraries  gcc  xubuntu 

2
ต้องการเรียงลำดับไฟล์ตามวันที่อัพเดทรวมถึงไดเรกทอรีย่อย
ฉันต้องการเรียงลำดับเฉพาะไฟล์ตามวันที่อัพเดทรวมถึงไดเรกทอรีย่อย ฉันพบls -lrtR | grep ^-แล้ว แต่ดูเหมือนจะไม่เรียงตามวันที่อัพเดท และฉันต้องการบันทึกรายการนี้ลงในไฟล์ เป็นไปได้ไหม? Apr 01 2010 InsideDoosanServiceImpl.class // in A directory Apr 08 2010 MainController.class // in B directory Apr 07 2010 RecommendController.class // in B directory Apr 01 2010 MainDao.class // in B directory ฉันหมายความว่ารายการทั้งหมดไม่ได้เรียงตามวันที่ แต่เรียงลำดับตามโฟลเดอร์เป็นอันดับแรกและเรียงลำดับตามวันที่ ฉันต้องการรายชื่อเรียงตามวันที่ก่อนรวมทั้งไดเรกทอรีย่อยทั้งหมด
17 ls 

2
วิธีตั้งค่าตัวแปรสภาวะแวดล้อมโกลบอลเมื่อบูตผ่านสคริปต์และให้พร้อมใช้งานสำหรับแอ็พพลิเคชันที่รันก่อนล็อกอิน?
ฉันมีบริการที่ทำงานตอนบู๊ตและในบริการนั้นจะเรียกสคริปต์ทุบตีในพื้นหลังที่ส่งออกตัวแปรสภาพแวดล้อมบางอย่าง ปัญหาที่ฉันมีคือตัวแปรสภาพแวดล้อมเหล่านั้นไม่ได้ถูกส่งไปยังพาเรนต์ของกระบวนการพื้นหลังดังนั้นทันทีที่สคริปต์ของฉันทำงานเสร็จพวกเขาก็หายไป นอกจากนี้หลังจากที่เรียกใช้สคริปต์แล้วบริการจะเรียกใช้สคริปต์อื่นที่เริ่มต้นแอปพลิเคชันที่ฉันมี แอปพลิเคชันนี้ต้องการการเข้าถึงตัวแปรสภาพแวดล้อมเหล่านั้น ระบบ RHEL ที่ฉันใช้งานนั้นมีไว้สำหรับผู้ใช้ที่ไม่เคยลงชื่อเข้าใช้ระบบจะบู๊ตและเริ่มแอปพลิเคชันเท่านั้น ฉันรู้ว่าตัวแปรสภาพแวดล้อมสำหรับกระบวนการผู้ปกครอง / เปลือกไม่สามารถจริงๆตั้งค่าได้โดยเปลือกกระบวนการพื้นหลังเด็กแม้ว่า ฉันต้องการวิธีการทำสิ่งนี้ผ่านสคริปต์ที่ถูกเรียกใช้โดยบริการของฉัน (ไม่จำเป็นต้องอยู่ในพื้นหลัง) ไม่ใช่โดยการเพิ่มเข้าไปในบริการของฉัน (ซึ่งไม่ได้ผลสำหรับฉัน) และไม่เก็บไว้ใน/etc/environmentหรือ.profileหรืออะไรเช่นนั้น ในบริการของฉันฉันพยายามเพิ่มตัวแปรสภาพแวดล้อม (ไม่ใช่สิ่งที่ฉันต้องการจะทำ): export TEST=192.168.1.1 ฉันลองสิ่งนี้ในบริการของฉันด้วย: TEST=192.168.1.1 export TEST=${TEST} ฉันพยายามเปลี่ยนวิธีการให้บริการของฉันเรียกสคริปต์ทุบตี: /bin/asdf/script & ฉันยังพยายามจัดหาสคริปต์เพื่อให้ทำงานในเชลล์เดียวกัน (ซึ่งฉันได้รับจากสิ่งนี้ ): . ./bin/asdf/script #I'm very confused why this didn't work ฉันพบสิ่งนี้ซึ่งดูน่าสนใจ แต่มันก็ไม่ได้แปลกในกรณีของฉัน

1
รูปแบบทั่วไปของชื่อคีย์สำหรับการผูกคีย์ในไฟล์“ inputrc” คืออะไร?
ฉันเข้าใจว่ารูปแบบสำหรับการเชื่อมโยงคีย์ในinputrcไฟล์คือ: keyname: function-name or macro สำหรับชื่อคีย์ฉันเห็นสิ่งต่าง ๆ เช่น: "\e[B" "\e[1~" "\e[5D" "\M-l" "\C-[OD" "\e\e[D" ความหมายของชื่อคีย์เหล่านี้คืออะไรและรูปแบบทั่วไปของชื่อคีย์คืออะไร โปรดแบ่งปันลิงก์ไปยังเอกสาร
17 bash  readline 

2
แยกส่วนตรงกลางของบรรทัดของไฟล์ข้อความหรือไม่
ฉันกำลังเขียนสคริปต์ PHP เพื่อแยกไฟล์ข้อความขนาดใหญ่เพื่อแทรกฐานข้อมูลจากมัน อย่างไรก็ตามในโฮสต์ของฉันไฟล์มีขนาดใหญ่เกินไปและฉันใช้หน่วยความจำเกินขีด จำกัด สำหรับ PHP ไฟล์นี้มีประมาณ 16,000 บรรทัด ฉันต้องการแยกไฟล์ออกเป็นสี่ไฟล์ (ตอนแรก) เพื่อดูว่าฉันสามารถโหลดไฟล์เหล่านั้นได้หรือไม่ head -4000 file.txtส่วนแรกที่ผมจะได้รับกับ ส่วนตรงกลางนั้นค่อนข้างซับซ้อนกว่าเดิม - ฉันคิดถึงการtailส่งออกpip ไปยังhead( tail -4001 file.txt | head -4000 > section2.txt) แต่มีวิธีอื่นหรือดีกว่า อันที่จริงตรรกะของฉันถูกทำให้ยุ่งเหยิง - สำหรับส่วนที่สองฉันต้องมีบางอย่างที่ชอบtail -12001 file.txt | head - 4000แล้วลดtailอาร์กิวเมนต์สำหรับส่วนถัดไป ฉันเริ่มสับสนแล้ว! : P

4
ฉันจะจัดการสวิตช์ในเชลล์สคริปต์ได้อย่างไร
มีเครื่องมือในตัวที่จะรับรู้-xและ--xxxxเป็นสวิตช์และไม่ขัดแย้งหรือคุณต้องผ่านตัวแปรอินพุททั้งหมดทดสอบการขีดกลางแล้วจึงแยกอาร์กิวเมนต์หลังจากนั้น

4
ฉันจะ grep โดยไม่มีช่องว่างนำหน้าได้อย่างไร
ฉันกำลัง greping ผ่าน codebase ขนาดใหญ่และ whitespaces และ tabulation ชั้นนำดูเหมือนจะค่อนข้างน่ารำคาญ มีวิธีใดที่จะกำจัดมันได้หรือไม่? grep -R "something" ./ เช่นแทนที่จะเป็น: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgsomethingdrfg bar/bar.cpp: 1234edwssomethingczd ฉันต้องการได้รับ: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgdsomethingrfg bar/bar.cpp: 1234edwssomethingczd หรือดีกว่า: foo/bar.cpp: qwertyuisomethingooi foo/bar/baz.h: 43rfsgdrsomethingfg bar/bar.cpp: 1234edwssomethingczd

5
คัดลอกและเปลี่ยนชื่อไฟล์ที่พบในฟังก์ชั่น "ค้นหา" Linux อย่างไร
ฉันมีชื่อโฟลเดอร์/home/user/tempsซึ่งมี 487 โฟลเดอร์ ในแต่ละโฟลเดอร์ฉันมีไฟล์ชื่อ thumb.png ฉันต้องการคัดลอกไฟล์ทั้งหมดที่ชื่อว่า thumb.png ไปยังโฟลเดอร์แยกต่างหากและเปลี่ยนชื่อไฟล์ตามโฟลเดอร์ที่มาจาก
17 shell  find  rename 

4
เป็นไปได้ไหมที่จะหาเส้นทางของโปรแกรมที่กำลังรันอยู่?
ฉันมีxmms2dกระบวนการทำงาน แต่ไฟล์ปฏิบัติการที่เป็นไปได้สองไฟล์ (ในไดเรกทอรีที่แตกต่างกันทั้งในเส้นทางปฏิบัติการ) ที่อาจเกิดขึ้นได้ ฉันสงสัยว่าหนึ่งในนั้นเสียหายเพราะบางครั้งโปรแกรมนี้ใช้งานได้และบางครั้งก็ใช้ไม่ได้ กระบวนการทำงานในตอนนี้ทำงานดังนั้นฉันต้องการลบ (หรือเปลี่ยนชื่อ) อีกอันหนึ่ง ps ax|grep "xmms"ส่งคืน8505 ? SLl 2:38 xmms2d -vโดยไม่มีข้อมูลพา ธ รับ PID ฉันจะพบว่ามันถูกเรียกใช้จาก/usr/bin/xmms2dหรือ/usr/local/bin/xmms2dไม่? ขอบคุณ!
17 process 

2
ฉันจะผูกกับ Shift + {ซ้ายขวา} ใน tmux ได้อย่างไร
ฉันกำลังดูtmuxจากscreenและมีการชนในขณะที่กำหนดค่าการtmuxผูกคีย์(สูงกำหนด!) ปัญหาคือในฉัน.screenrcฉันมี bindkey ^[[d prev bindkey ^[[c next bindkey ^[[a title bindkey ^[[b screen 1 และงานผูก (เดิมมาจากrxvt-tabbedex) แต่tmuxเห็นได้ชัดว่าไม่มีทางที่จะผูกคำสั่งกับShiftLeft/ Rightชุดค่าผสม โปรดพิสูจน์ว่าฉันผิด

3
กำลังมองหาตำราเรียนเครื่องมือ Unix แบบเก่า
ฉันกำลังมองหาหนังสือเกี่ยวกับชุดเครื่องมือบรรทัดคำสั่ง Unix (sh, grep, sed, awk, cut, ฯลฯ ) ที่ฉันอ่านเมื่อไม่นานมานี้ มันเป็นหนังสือที่ยอดเยี่ยม แต่ฉันลืมชื่อทั้งหมด สิ่งที่ยอดเยี่ยมเกี่ยวกับหนังสือเล่มนี้คือตัวอย่างการรัน มันแสดงให้เห็นถึงวิธีการใช้ระบบการทำบัญชีมหาวิทยาลัยโดยใช้เครื่องมือการประมวลผลข้อความเท่านั้น คุณจะพบนักเรียนด้วยชื่อที่มี grep อัปเดตเกรดด้วย sed คำนวณคะแนนเฉลี่ยด้วย awk แนบคะแนนไปยัง ID ที่ตัดและอื่น ๆ หากความทรงจำของฉันให้บริการหนังสือเล่มนี้มีหน้าปกสีดำและได้รับการตีพิมพ์ในปี 1980 ไม่มีใครจำหนังสือเล่มนี้ได้หรือไม่ ฉันขอขอบคุณความช่วยเหลือในการค้นหามัน


1
วิธีการ (อย่างปลอดภัย) ย้าย / tmp ไปยังไดรฟ์ข้อมูลอื่น
วันนี้/tmpไดเรกทอรีเต็มไปด้วยเครื่องที่ทำงาน ปัญหาคือมันอยู่ในพาร์ติชันรูทซึ่งไม่ใหญ่มาก เพื่อที่จะแก้ไขปัญหานี้ให้เพื่อนร่วมงานสร้าง/new/tmpไดเรกทอรีอื่นคัดลอกเนื้อหาทั้งหมดไปยังไดเรกทอรีใหม่ออกเดิมและทำให้ลิงก์สัญลักษณ์/tmp/tmp -> /new/tmp เมื่อเขาคัดลอกไฟล์ (จริงๆนี้เป็นคนอื่นที่ไม่ใช่ฉัน) เขาไม่ได้ใช้-aเพื่อให้เจ้าของไฟล์ภายใต้ทุกคนเป็น/new/tmp rootนอกจากนี้เขาไม่ได้ตั้งค่าการอนุญาตของ/new/tmpไดเรกทอรีดังนั้นจึงเป็นค่าเริ่มต้น 0755 สิ่งนี้ทำให้ไม่มีปัญหาและแม้กระทั่งโหมดการปรับแต่งและบิตความเป็นเจ้าของล้มเหลวในการกู้คืนเครื่องกลับสู่สถานะการทำงานที่ยอมรับได้ ฉันต้องลงมือทำทุกอย่างใน/tmpและรีบูต /tmpไดเรกทอรีที่มีซ็อกเก็ตต่างๆและท่อและ whatnot ตั้งแต่พวงของคนทำงาน Gnome ผ่าน VNC และฉันจะใช้screenซึ่งมีท่อของตัวเอง มีวิธีที่ปลอดภัยในการย้าย/tmpไดเรกทอรีไปยังไดรฟ์ข้อมูลอื่นบนระบบที่รันอยู่หรือไม่? ฉันไม่แน่ใจว่าฉันจะทำอะไรเพื่อให้ทุกอย่างทำงานได้จริง ฉันสงสัยเป็นพิเศษเกี่ยวกับสิ่งที่เกิดขึ้นกับท่อและซ็อกเก็ต

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