Unix & Linux

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

6
ค้นหาไฟล์หรือไดเรกทอรีที่ใหญ่ที่สุด
คำสั่งใดจะพิมพ์ขนาดของไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรี tmp (รวมถึงไฟล์ที่ซ่อนอยู่) และจัดเรียงตามขนาดจากมากที่สุดไปหาน้อยที่สุดในรูปแบบที่มนุษย์อ่านได้ (เช่น 2 GB) ผลลัพธ์อาจเป็นดังนี้: file.mpg 2GB file.avi 1.8GB .backtup 1.7 GB (this is directory) ฉันพยายามใช้lsและduคำสั่ง แต่ไม่พบสวิตช์ที่ถูกต้อง


4
วิธีเขียนเอาต์พุตของ live-f1 ลงในไฟล์
ฉันเปิดเทอร์มินัลแล้ววิ่ง live-f1 ซึ่งแสดงฟีดสดในเทอร์มินัล (ข้อความ) ที่เปลี่ยนแปลงทุกวินาที สามารถใช้คีย์ "Enter" เท่านั้นในขณะที่โปรแกรมนี้กำลังทำงาน (ออกจากโปรแกรมนั้น) ดังนั้นคุณไม่สามารถพิมพ์สิ่งอื่นใดลงในคอนโซลได้ ฉันต้องการเขียนเนื้อหาของเทอร์มินัลลงในไฟล์เหมือนทุก ๆ วินาที ฉันจะทำมันได้อย่างไร โดยการเปิดคอนโซลที่ 2 และใช้คำสั่งบางอย่าง? ไม่สามารถทำให้มันทำงานกับคำสั่ง setterm -dump ได้
10 terminal 

4
ฟีเจอร์ X รุ่นใดที่เปิดตัว Y
ส่วนใหญ่ของงานประจำวันของฉันคือการพัฒนาซอฟต์แวร์สำหรับการใช้งานบนเครื่องที่มีรุ่นต่าง ๆ ของซอฟต์แวร์เดียวกันเช่นbash, และfind grepเมื่อพบกับคุณลักษณะที่มีประโยชน์เช่นเพื่อทำให้โค้ดง่ายขึ้นสิ่งสำคัญคือต้องทราบว่าคุณลักษณะนี้มีอยู่ในเครื่องมือที่ติดตั้งที่เก่าที่สุดหรือไม่ สำหรับสิ่งที่สำคัญมันจะมีประโยชน์ที่จะทราบว่าคุณลักษณะนี้เป็นของใหม่หรือมีมานานหลายปีในเครื่องมือที่ติดตั้งที่เก่าแก่ที่สุด สิ่งที่เป็นวิธีที่รวดเร็วในการตอบคำถามนี้authoritativelyเครื่องมือลินุกซ์โดยเฉพาะอย่างยิ่ง GNU หลัก Utils? ความเป็นไปได้บางอย่างเพื่อลดความแม่นยำ: การค้นหาไบนารี่ไบนารี่ (sic) ด้วยการรันเวอร์ชันที่แตกต่างนั้นเป็นคำตอบที่ดีที่สุด แต่ก็ใช้เวลามากที่สุด การติดตั้งที่เก่ากว่ามักไม่พร้อมใช้งานด้วยเหตุผลด้านความปลอดภัย การอ่านรหัสเกือบจะดี แต่อาจต้องใช้เวลานานหากคุณลักษณะนั้นมีชื่อคลุมเครือชื่อนั้นไม่ตรงกับชื่อตัวแปร / ฟังก์ชัน / วัตถุโดยตรงหรือถูกนำไปใช้ก่อนที่จะเปิดใช้งาน เปลี่ยนบันทึก (ถ้ามี) โดยปกติแล้วจะเชื่อมต่อการเปลี่ยนแปลงคุณสมบัติกับรุ่นซอฟต์แวร์ บันทึกการกระทำสามารถให้คำแนะนำได้ แต่ไม่ทราบว่าจะมีการรวมรุ่นใดไว้ด้วย หน้าคนไม่ค่อยพูดถึงวันที่ เช่นเดียวกับGooglingและคุณอาจประสบปัญหาในการยกเว้นแหล่งที่ไม่ได้รับอนุญาตทั้งหมด
10 coreutils 

5
การรันหลายคำสั่งด้วย su ใน Bash
ฉันต้องการใช้su -cเพื่อรันเป็นคำสั่งหลายคำสั่งพร้อมกัน ฉันไม่ต้องการใช้สคริปต์พิเศษสำหรับสิ่งนี้ ฉันพยายามต่อไปนี้: su root -c "tcpdump -i wlan0 -s 1500 -w CCCCCC & " -c "ls -lh" แต่มันดำเนินการเพียงอย่างเดียวlsไม่ใช่คนแรก ฉันพยายามต่อไปนี้: su root -c "tcpdump -i wlan0 -s 1500 -w CCCCCC & ; ls -lh;" ;แต่มันบอกว่ามีข้อผิดพลาดกับอัฒภาค คุณรู้วิธีการทำเช่นนั้น?
10 bash  su 

1
ฉันจะกำหนดค่า SELinux เพื่ออนุญาตการเชื่อมต่อขาออกจากสคริปต์ CGI ได้อย่างไร
ฉันกำลังย้ายไปยังเว็บเซิร์ฟเวอร์ใหม่ที่มีการตั้งค่า SELinux (ใช้งาน Centos 5.5) ฉันได้ตั้งค่าไว้แล้วเพื่อให้สามารถเรียกใช้งานสคริปต์ CGI ได้โดยไม่มีปัญหา แต่สคริปต์เก่าที่ใช้ Perl บางตัวไม่สามารถเชื่อมต่อกับเว็บเซอร์ระยะไกล (ฟีด RSS และอื่น ๆ ) วิ่ง: grep perl /var/log/audit/audit.logให้: ประเภท = SYSCALL msg = การตรวจสอบ (1299612513.302: 7650): arch = 40000003 syscall = 102 สำเร็จ = no exit = -13 a0 = 3 a1 = bfb3eb90 a2 = 57c86c a3 …
10 centos  selinux 

3
ฉันจะตรวจสอบดิสก์ I / O ในไดเรกทอรีเฉพาะได้อย่างไร
ฉันมีกระบวนการเล็กน้อยที่มีชื่อที่รู้จักซึ่งทั้งหมดเขียนไปยังไฟล์ในไดเรกทอรีเดียว ฉันต้องการบันทึกจำนวนดิสก์บล็อกอ่านและเขียนในช่วงเวลา ( ไม่ใช่แค่การเข้าถึงไฟล์) เพื่อทดสอบว่าการเปลี่ยนแปลงพารามิเตอร์จะลดจำนวน I / O อย่างมีนัยสำคัญหรือไม่ ฉันใช้อยู่ในขณะนี้iostat -d -pแต่ จำกัด เฉพาะพาร์ทิชันทั้งหมด

5
ค้นหาพา ธ สัมบูรณ์จากสคริปต์
ในสคริปต์ฉันได้รับใน$0เส้นทางญาติที่เป็นไปได้ สำหรับการแปลงให้เป็นสัมบูรณ์ฉันได้พบโซลูชันนี้ซึ่งฉันไม่เข้าใจ: abspath=$(cd ${0%/*} && echo $PWD/${0##*/}) ปัญหาของฉันคือภายในมหัศจรรย์ของและ${0%/*} ${0##*/}ดูเหมือนว่าก่อนหน้านี้จะแยก dirname และหลังจะแยกชื่อไฟล์ฉันไม่เข้าใจเลย
10 bash  path 

4
ฉันจะดู Netflix บน Linux ได้อย่างไร
ฉันเพิ่งติดตั้ง Fedora 14 บนพีซีที่บ้านของฉันดังนั้นฉันจึงมีระบบดูอัลบูตที่ใช้ windows และ linux ฉันอาจจะใช้ Linux เป็นหลักบนเครื่องนั้นเพราะเก่ากว่าและ Linux จัดการทรัพยากรได้ดีกว่า Windows แต่ฉันเป็น Netflix นิดหน่อยและจากสิ่งที่ฉันอ่านไม่ได้มีวิธีแก้ปัญหาที่ช่วยให้ Netflix ทำงานบน Linux เห็นได้ชัดว่าแสงจันทร์ (ซึ่งฉันเข้าใจว่าควรจะเป็นเหมือนแสงสีเงิน) ขาดฟังก์ชั่นชิ้นสำคัญ ดังนั้นจึงไม่มีทางออกจริง ๆ ?
10 linux  video  moonlight 

4
เหตุใดไฟล์ในบ้านของฉันจึงถูกสร้างขึ้นเป็นแบบเขียนได้ทั่วโลกแม้จะมีข้อ จำกัด มากขึ้น
ฉันได้ตระหนักว่าการอนุญาตสำหรับไฟล์และไดเรกทอรีใหม่มีลักษณะแปลกไปบ้าง ก่อนอื่น umask ดูเหมือนจะกลับคำตอบที่ถูกต้อง: $ umask 0002 นี่หมายถึงการเข้าถึงอย่างเต็มรูปแบบสำหรับผู้ใช้และกลุ่มของฉันไม่มีการเข้าถึงเพื่อเขียนสำหรับส่วนที่เหลือของโลก แต่ถ้าฉันสร้างไฟล์ใน $ HOME ของฉันนี่คือลักษณะ: $ ls -l testfile -rw-rw-rw- 1 robe robe 0 mar 16 12:58 testfile เช่นการให้สิทธิ์การเขียนแก่ทุกคน สิ่งเดียวกันนี้เกิดขึ้นกับไดเรกทอรี: $ ls -ld testdir drwxrwxrwx 2 robe robe 6 mar 16 13:00 testdir ฉันคิดว่านี่เหมือนกับ umask 0000 ไม่ใช่ 0002 ฉันได้ค้นหาทั้งหมด / etc สำหรับตัวอย่างของ umask …
10 centos  umask 

2
emacs ไม่เห็นแบบอักษรของฉันใน Gentoo
ฉันคัดลอกไฟล์ ~ / .emacs จาก ubuntu linux ฉันได้ติดตั้งฟอนต์ Consolas (และใช้งานได้ในเทอร์มินอล gnome และเป็นฟอนต์ Monospace เริ่มต้น); แต่ Emacs ไม่เห็น (custom-set-faces '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width normal :foundry "microsoft" :family "Consolas"))) …
10 ubuntu  emacs  fonts  gentoo 

3
วิธีปฏิบัติที่ดีที่สุดในการใช้ $? ในทุบตี?
เมื่อฉันอ่านคำตอบนี้เกี่ยวกับ $? คำถามอื่นอยู่ในใจ มีวิธีปฏิบัติที่ดีที่สุดสำหรับวิธีใช้ $ หรือไม่ ในทุบตี? ลองมาตัวอย่าง: เรามีสคริปต์แบบเส้นตรงและฉันต้องการทราบว่าคำสั่งทั้งหมดจะทำงานได้ดี คุณคิดว่าเป็นการดีไหมที่จะเรียกใช้ฟังก์ชั่นเล็ก ๆ (ลองเรียกมันว่า "did_it_work") เพื่อตรวจสอบรหัสข้อผิดพลาดและแตกถ้าไม่ได้ #!/bin/bash function did_it_work { code=$1 if [ "$code" -ne "0" ] then echo "Error failure: code $code " exit 1 fi } dir=some/path mkdir -p $dir did_it_work $? cd $dir did_it_work $? run_some_command did_it_work $? แน่นอนว่าวิธีการนี้หมายความว่าฉันต้องแก้ไขปัญหาด้วยตนเองหากมีและเรียกใช้สคริปต์อีกครั้ง …

1
ทำไมคำสั่ง regex บางคำจึงมีคำว่า '\' ตรงข้ามกับอักขระต่าง ๆ ?
ยกตัวอย่างเช่นคำสั่งนี้: find . -regex ".*\.\(cpp\|h\)" นี่จะค้นหาไฟล์. h และ. cpp ทั้งหมดในไดเรกทอรีของคุณ อักขระระยะเวลา '.' ในการแสดงออกปกติมักจะหมายถึง "ตัวละครใด ๆ " เพื่อให้ตรงกับช่วงเวลาจริงคุณต้องหลบหนีโดยใช้เครื่องหมายแบ็กสแลช '\' ในกรณีนี้ให้ตัวละครที่มีความหมายพิเศษคุณต้องหลบหนีเพื่อให้ได้ตัวละครที่แท้จริงที่มันหมายถึง ตอนนี้ใช้วงเล็บและแถบ "หรือ" เป็นอักขระ '(', ')' และ '|' ตามลำดับ สิ่งเหล่านี้มีความหมายพิเศษซึ่งใช้สำหรับจัดกลุ่มนิพจน์ทั่วไป อย่างไรก็ตามเพื่อให้ได้ความหมายพิเศษตัวละครจะต้องถูกหลบหนีโดยใช้เครื่องหมายทับขวา! หากไม่มีเครื่องหมายแบ็กสแลชอักขระจะมีความหมายของอักขระจริงที่แสดงถึง ทำไม '.' ถือว่าแตกต่างจาก '(', ')' และ '|'?

2
screen + vim - มีวิธีใดที่จะตั้งชื่อหน้าต่างหน้าจอโดยอัตโนมัติเพื่อเปิดชื่อไฟล์เป็นกลุ่ม?
ฉันมีไฟล์ rc ของหน้าจอที่ดีงามที่แสดงให้ฉันเห็นหน้าต่างที่เปิดอยู่เกือบเหมือนกับแท็บที่ด้านล่างของเครื่อง ขณะนี้หน้าต่างตั้งชื่อตามพรอมต์ของฉันซึ่งไม่เป็นประโยชน์ มีวิธีในการตั้งชื่อหน้าต่างโดยอัตโนมัติตามชื่อไฟล์ของเซสชัน vim ที่เปิดอยู่ในหน้าต่างหรือไม่? ฉันคิดว่านี่น่าจะเป็นตัวแก้ไขหน้าต่างที่ยอดเยี่ยมถ้าเป็นไปได้

3
วิธีการ 'เขียน' แทร็กคำบรรยายลงในไฟล์วิดีโอ mp4
ฉันต้องการให้ไฟล์คำบรรยายเป็นส่วนหนึ่งของไฟล์วิดีโอ mp4 เพื่อที่ฉันจะได้ไม่ต้องจัดการกับสองไฟล์แยกกัน ฉันจินตนาการสองวิธี: ทำให้คำบรรยายเป็นส่วนที่แท้จริงของวิดีโอ สิ่งนี้จะต้องมีการเข้ารหัสวิดีโออีกครั้ง ทำให้คำบรรยายเป็นสตรีมแยก แต่ยังคงฝังอยู่ในไฟล์วิดีโอเดียวกัน นี่เป็นสิ่งที่ดีกว่าโดยเฉพาะอย่างยิ่งเพราะฉันสามารถปิดการใช้งานได้ (ไม่เหมือนกับวิธีอื่น) หรือแม้กระทั่งเล่นกับประเภท / ขนาดตัวอักษร ฉันจะทำสิ่งต่าง ๆ ในวิธีที่ 2 ได้อย่างไร นอกจากนี้ยังเป็นคูลที่จะรู้ว่าวิธีที่ 1 ทำงานอย่างไร

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