Unix & Linux

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

8
เหตุใดฮาร์ดลิงก์ไปยังไดเรกทอรีที่ไม่ได้รับอนุญาตใน UNIX / Linux
ฉันอ่านในตำราเรียนที่ Unix / Linux ไม่อนุญาตการเชื่อมโยงอย่างหนักไปยังไดเรกทอรี แต่อนุญาตการเชื่อมโยงที่อ่อนนุ่ม เป็นเพราะเมื่อเรามีรอบและถ้าเราสร้างฮาร์ดลิงก์และหลังจากเวลาที่เราลบไฟล์ต้นฉบับมันจะชี้ไปที่ค่าขยะบางอย่าง? หากวัฏจักรคือเหตุผลเดียวที่อยู่เบื้องหลังไม่อนุญาตให้มีการเชื่อมโยงอย่างหนักแล้วทำไมลิงก์แบบนุ่มไปยังไดเรกทอรีที่ได้รับอนุญาต?

2
แกะ DEB ออกได้อย่างง่ายดายแก้ไข postinst และบรรจุใหม่ DEB
ฉันกำลังพยายามติดตั้ง OpenCL SDK ของ Intel แต่ไฟล์ DEB เป็นการแปลงแบบบั๊กจาก RPM (ดูที่นี่สำหรับคนที่อยากรู้อยากเห็น) ฉันต้องการแก้ไขpostinstสคริปต์ใน DEB ที่ให้ไว้ ฉันจะใช้ DEB ที่มีอยู่แล้วแยกเนื้อหา (รวมถึงข้อมูลการควบคุม) จากนั้นจึงบรรจุเนื้อหาใหม่เพื่อสร้าง DEB ใหม่ในภายหลัง ฉันจะแก้ไขไฟล์เท่านั้นจะไม่มีการเพิ่มหรือลบไฟล์ใด ๆ

2
จะปิดการใช้งานการระงับอัตโนมัติเมื่อฉันปิดฝาแล็ปท็อปได้อย่างไร
ฉันใช้อาร์คลินุกซ์ ไม่เคยพักระบบอัตโนมัติก่อนที่จะอัปเกรดระบบเมื่อเร็ว ๆ นี้ ฉันคิดว่ามันเกี่ยวข้องกับlaptop-modeหรือacpidดังนั้นฉันจึงหยุดพวกเขา: /etc/rc.d/laptop-mode stop /etc/rc.d/acpid stop ฉันยังแก้ไข/etc/laptop-mode/laptop-mode.conf: ENABLE_LAPTOP_MODE_TOOLS=0 จากนั้นฉันจะแก้ไข/etc/acpi/actions/lm_lid.shแสดงความคิดเห็นในบรรทัดสุดท้าย: # /usr/sbin/laptop_mode auto แต่ทั้งหมดข้างต้นไม่ทำงาน พบบรรทัดต่อไปนี้ใน/var/log/kernel.log(บรรทัดที่ไม่เกี่ยวข้องกัน): Oct 23 15:29:20 localhost kernel: [18617.549098] PM: Syncing filesystems ... done. Oct 23 15:29:20 localhost kernel: [18618.001898] PM: Preparing system for mem sleep Oct 23 15:29:30 localhost kernel: [18618.039565] Freezing user space processes …

8
ตัวกรอง Rsync: คัดลอกหนึ่งรูปแบบเท่านั้น
ฉันกำลังพยายามสร้างไดเรกทอรีที่จะเก็บไฟล์ PDF ทั้งหมดของฉันและรวบรวมจาก LaTeX LaTeXผมชอบการรักษาแต่ละโครงการในโฟลเดอร์ที่แยกต่างหากทั้งหมดตั้งอยู่ในโฟลเดอร์ขนาดใหญ่ที่เรียกว่า ดังนั้นฉันจึงพยายามวิ่ง: rsync -avn *.pdf ~/LaTeX/ ~/Output/ ซึ่งควรหาไฟล์ pdf ทั้งหมด~/LaTeX/และโอนไปยังโฟลเดอร์ผลลัพธ์ มันใช้งานไม่ได้ มันบอกฉันว่ามันไม่ตรงกับ " *.pdf" หากฉันไม่ใช้ตัวกรองนี้คำสั่งจะแสดงรายการไฟล์ทั้งหมดในโฟลเดอร์โครงการทั้งหมดภายใต้ LaTeX ดังนั้นจึงเป็นปัญหากับตัวกรอง * .pdf ฉันพยายามแทนที่~/ด้วยพา ธ เต็มไปยังโฮมไดเร็กตอรี่ของฉัน, แต่นั่นไม่มีผลอะไรเลย. ฉันกำลังใช้ zsh ฉันพยายามทำสิ่งเดียวกันด้วยการทุบตีและแม้จะมีตัวกรองที่ระบุทุกไฟล์เดียวในทุกไดเรกทอรีย่อย ... เกิดอะไรขึ้นที่นี่? เหตุใด rsync จึงไม่เข้าใจตัวกรอง PDF ของฉันเท่านั้น ตกลง. ดังนั้นอัปเดต: ไม่ฉันพยายาม rsync -avn --include="*/" --include="*.pdf" LaTeX/ Output/ และนี่ทำให้ฉันมีรายชื่อไฟล์ทั้งหมด ฉันเดาเพราะทุกอย่างตรงกับรูปแบบแรก ...
128 backup  rsync  wildcards 

7
จะฆ่าแมวที่หนีไม่พ้นได้อย่างไร
หลายครั้งที่ฉันรันcatคำสั่งบนไฟล์ที่มีเนื้อหามากถึงสองสามพันบรรทัดโดยไม่ตั้งใจ ฉันพยายามฆ่าcatคำสั่งด้วยCtrl+ CหรือCtrl+ Zแต่ทั้งคู่จะมีผลเฉพาะหลังจากที่แสดงผลลัพธ์ทั้งหมดcatในเทอร์มินัลดังนั้นฉันต้องรอจนกว่าcatจะได้รับการดำเนินการอย่างสมบูรณ์ มีวิธีแก้ปัญหาที่ดีกว่าที่หลีกเลี่ยงการรอ? เพราะบางครั้งไฟล์มีขนาดไม่เกิน 100MB และทำให้เกิดความรำคาญที่จะรอ tcshฉันใช้
128 shell  terminal  kill  cat  tcsh 

8
เรียงลำดับกระบวนการตามการใช้หน่วยความจำ
ฉันสามารถดูรายการกระบวนการทั้งหมดและหน่วยความจำผ่าน ps aux และผ่าน VSZ และ RSS มีวิธีเรียงลำดับผลลัพธ์ของคำสั่งนี้ตามลำดับจากมากไปน้อยในค่า RSS หรือไม่
128 linux  memory 

6
เหตุใด Linux จึงไม่ได้รับการยอมรับว่าเป็นเคอร์เนล GNU อย่างเป็นทางการ
ในขณะที่ฉันรู้อยู่พักหนึ่งแล้วว่าHurdและภารกิจในฐานะเคอร์เนลระบบปฏิบัติการ GNU อย่างเป็นทางการฉันก็สงสัยว่า Linux จะไม่ได้รับการยอมรับว่าเป็นเคอร์เนล GNU อย่างเป็นทางการในช่วงหลายปีที่ผ่านมา ดีกว่าฮูลด์? ลินุกซ์มีบทบาทหน้าที่นี้มาไม่ต่ำกว่า 20 ปีแต่ก็เห็นได้ว่าโครงการ GNU กำลังรักษาระยะห่างเมื่อใช้งานกับลีนุกซ์ ทำไมสิ่งนี้จึงเกิดขึ้น เป็นเพราะความฝันที่ Hurd จะ (ในบางจุดในอนาคต) อยู่ในระดับคุณภาพการผลิตหรือไม่? เป็นเพราะโครงการ GNU ไม่เห็นภารกิจของมันสะท้อนให้เห็นถึงเท่าที่ต้องการใน Linux? มันเป็นเพราะเหตุผลทางการเมืองอื่น ๆ ?
128 linux-kernel  gnu  hurd 

5
การจัดเรียงหมายเลขหน้าต่างใหม่ใน tmux
ฉันมักจะจบลงด้วยหน้าต่างมากกว่าสิบใน tmux ต่อมาฉันปิดบางอันที่เก่ากว่าของฉัน มีวิธีการเปลี่ยนหมายเลขพูดหน้าต่าง 15 ไปที่หน้าต่าง 3 (ซึ่งไม่มีอยู่อีกต่อไป) หรือไม่ หรือpackพวกเขาทั้งหมดขึ้นอีกครั้งเพื่อให้ไม่มีช่องว่างเปล่า? Ctrl+B, 15ฉันต้องการที่จะทำเช่นนี้เพราะมันเป็นเรื่องยากที่จะข้ามไปยังหน้าต่างเลขที่สูงขึ้นเพราะคุณไม่สามารถทำ ฉันต้องใช้Ctrl+B, wเพื่อแสดงรายการหน้าต่างจากนั้นพิมพ์ตัวอักษรที่สอดคล้องกับหน้าต่างที่ฉันต้องการเปิด ฉันรู้ว่าฉันสามารถสลับหน้าต่างได้ ตัวอย่างเช่นฉันสามารถสร้างหน้าต่างใหม่ ( Ctrl+B, c) ซึ่งจะเปิดในช่องว่าง 3 ฉันสามารถเปิดswapwหน้าต่าง 15 และหน้าต่าง 3 จากนั้นปิดหน้าต่าง 15 เห็นได้ชัดว่านี่เป็นวิธีที่น่าเบื่อ คุณจัดการ windows จำนวนมากใน tmux ได้อย่างไร?
128 tmux 


1
ในสคริปต์ทุบตีใช้เงื่อนไข“ หรือ” ในคำสั่ง“ ถ้า”
คำถามนี้เป็นผลสืบเนื่องของแปลกไปของฉันคำถามก่อนหน้านี้ ผู้ใช้ในเว็บไซต์นี้ช่วยฉันในการกำหนดวิธีการเขียน bash forloop ที่วนซ้ำค่าสตริง ตัวอย่างเช่นสมมติว่าการควบคุมวงตัวแปรfnameiterates "a.txt" "b.txt" "c.txt"มากกว่าสตริง ฉันต้องการที่จะecho"ใช่!" เมื่อfnameมีค่า"a.txt"หรือ"c.txt"และecho"ไม่!" มิฉะนั้น. ฉันได้ลอง bash shell script แล้ว: #!/bin/bash for fname in "a.txt" "b.txt" "c.txt" do echo $fname if [ "$fname" = "a.txt" ] | [ "$fname" = "c.txt" ]; then echo "yes!" else echo "no!" fi done ฉันได้รับผลลัพธ์: a.txt ไม่! …
128 bash  shell-script 


10
สคริปต์ตรวจสอบโฟลเดอร์สำหรับไฟล์ใหม่หรือไม่
วิธีการตรวจหาไฟล์ใหม่ในโฟลเดอร์ที่มีbash script ฉันต้องการประมวลผลไฟล์ทันทีที่สร้างขึ้นในโฟลเดอร์ เป็นไปได้ที่จะทำเช่นนั้นหรือฉันต้องกำหนดสคริปต์ด้วยcronที่ตรวจสอบไฟล์ใหม่ทุกนาทีหรือไม่

6
ฉันจะกำหนดจำนวนช่อง RAM ที่ใช้งานได้อย่างไร
ฉันลืมว่ามีการติดตั้งโมดูล RAM จำนวนเท่าใดในแล็ปท็อปของฉัน ฉันไม่ต้องการคลายเกลียว แต่ต้องการค้นหาบนคอนโซลโดยใช้ bash ฉันจะรวบรวมข้อมูลนี้ได้อย่างไร

8
แสดงรายการไฟล์ปกติเท่านั้น (แต่ไม่ใช่ไดเรกทอรี) ในไดเรกทอรีปัจจุบัน
ฉันสามารถใช้ls -ld */เพื่อแสดงรายการไดเรกทอรีทั้งหมดในไดเรกทอรีปัจจุบัน มีวิธีที่ง่ายเหมือนกันเพียงแค่แสดงรายการไฟล์ปกติทั้งหมดในไดเรกทอรีปัจจุบันหรือไม่? ฉันรู้ว่าฉันสามารถใช้การค้นหา find . -maxdepth 1 -type f หรือสถิติ stat -c "%F %n" * | grep "regular file" | cut -d' ' -f 3- แต่สิ่งเหล่านี้ไม่ได้ทำให้ฉันรู้สึกว่าสง่างามเกินไป มีวิธีสั้น ๆ ที่ดีในการแสดงเฉพาะไฟล์ปกติ (ฉันไม่สนใจเกี่ยวกับอุปกรณ์ท่อ ฯลฯ ) แต่ไม่ใช่ไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันหรือไม่? รายชื่อลิงก์สัญลักษณ์เช่นกันจะเป็นข้อดี แต่ก็ไม่จำเป็น
126 shell  files  ls  wildcards 

14
แทนที่สตริงในขนาดใหญ่ (70GB) หนึ่งบรรทัดไฟล์ข้อความ
ฉันมีขนาดใหญ่ (70GB) หนึ่งบรรทัดไฟล์ข้อความและฉันต้องการแทนที่สตริง (โทเค็น) ในนั้น ฉันต้องการแทนที่โทเค็น<unk>ด้วยโทเค็นจำลองอีกตัว ( ปัญหาถุงมือ ) ฉันพยายามsed: sed 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new แต่ไฟล์ที่ส่งออกcorpus.txt.newมีศูนย์ไบต์! ฉันยังลองใช้ Perl: perl -pe 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new แต่ฉันได้รับข้อผิดพลาดหน่วยความจำไม่เพียงพอ สำหรับไฟล์ขนาดเล็กคำสั่งทั้งสองข้างต้นจะใช้งานได้ ฉันจะแทนที่สตริงเป็นไฟล์ดังกล่าวได้อย่างไร นี่เป็นคำถามที่เกี่ยวข้อง แต่ไม่มีคำตอบสำหรับฉันเลย แก้ไข : สิ่งที่เกี่ยวกับการแยกไฟล์ในกลุ่มของ 10GBs (หรืออะไรก็ได้) และนำไปใช้sedกับแต่ละคนแล้วรวมกับพวกเขาcat? มันสมเหตุสมผลไหม มีวิธีแก้ปัญหาที่สง่างามกว่านี้ไหม?

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