Unix & Linux

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

2
/ sys / เอกสารประกอบ?
มีหน้าคนใดใน/sys/ไดเรกทอรีและตั้งค่าอุปกรณ์อย่างไร ฉันหวังว่าอาจมีบางอย่างที่คล้ายกันman procแต่ไม่พบสิ่งใดที่จะผลักฉันไปในทิศทางที่ถูกต้อง
9 linux  man 

5
การทำให้ไดเรกทอรีได้รับการป้องกันจาก 'rm -rf'
ฉันเพียงแค่สูญเสียข้อมูลบางอย่างในโฟลเดอร์ซึ่งเป็นโฟลเดอร์ภายใน B rm -rf Bหลังจากที่ทำ ก่อนที่ฉันจะรู้ว่าสิ่งที่ฉันทำมันจบลงแล้ว ตอนนี้ฉันได้เรียนรู้บทเรียนแล้วฉันต้องการทำให้โฟลเดอร์ของฉันงี่เง่าพิสูจน์เพื่อหลีกเลี่ยงในครั้งต่อไปเมื่อฉันทำสิ่งที่คล้ายกันและต้องการที่จะฆ่าตัวตาย rmวิธีการหนึ่งที่ฉันสามารถคิดคือการเขียนฟังก์ชั่นการทุบตีและนามแฝงมัน .dontdeleteฟังก์ชั่นนี้จะดูในแต่ละโฟลเดอร์ย่อยสำหรับไฟล์ที่ซ่อนอยู่เช่น เมื่อพบว่ามันจะถามว่าฉันต้องการที่จะดำเนินการต่อไป ฉันไม่สามารถป้องกันการเขียนได้เนื่องจากมีกระบวนการที่เขียนไปยังโฟลเดอร์นี้อย่างต่อเนื่อง มีวิธีที่ดีกว่าที่จะทำหรือไม่

3
“ ตัวกรองล้มเหลว” จาก hplip
คำอธิบายปัญหา - ไม่สามารถพิมพ์ได้ ชื่ออุปกรณ์: เครื่องพิมพ์ HP LaserJet M1005 MFP USB ระบบปฏิบัติการ: Linux 3.8.13-1-MANJARO # 1 SMP PREEMPT x86_64 GNU / Linux คำอธิบายข้อผิดพลาด: ถ้วยทำงานได้ดีและดี ฉันสามารถเข้าถึง localhost: 631 ติดตั้ง Hplip แล้ว พยายามพิมพ์ไฟล์ PDF หลังจากออกคำสั่งพิมพ์คิวการพิมพ์จะแสดงข้อผิดพลาด "Processing - Not connected?" การสำรวจเพิ่มเติมสำหรับข้อผิดพลาดของงานพิมพ์ทำให้ฉันเกิดข้อผิดพลาด "ตัวกรองล้มเหลว" สิ่งที่ฉันได้ลองไปแล้ว: ลบและเพิ่มเครื่องพิมพ์ผ่านทางเว็บอินเตอร์เฟสของถ้วย พยายามติดตั้งเครื่องพิมพ์โดยใช้ hp-setup ใต้รูท ฉันไม่แน่ใจว่าจะทำอย่างไรในจุดนี้ ใครช่วยกรุณาบอกฉันว่าจะทำอย่างไรหรืออย่างน้อยที่จะมองไปข้างหน้าเพื่อมีโอกาสในการแก้ปัญหาของฉัน ...
9 printing  cups  hplip 

1
จุดเปลี่ยนโหมด Virtual ใน Vim คืออะไร?
ความช่วยเหลือบอกว่าคำสั่งโหมดแทนที่เสมือนใน Vim gr& GRแทนที่ตัวอักษรในหน้าจอทรัพย์และไม่อยู่ในไฟล์ :help Virtual-Replace-mode ฉันเข้าใจสิ่งนี้เหมือนกับการเปลี่ยนอักขระบนจอแสดงผล แต่ไม่ได้อยู่ในบัฟเฟอร์ นั่นถูกต้องใช่ไหม? ดูเหมือนว่าไม่ถูกต้อง ฉันสามารถใช้คำอธิบายและอาจเป็นสถานการณ์จำลองหรือตัวอย่างที่เกี่ยวข้องกับคุณลักษณะนี้
9 vim  vi 

1
ค้นหาฮาร์ดลิงก์ทั้งหมดของไฟล์โดยไม่ต้องข้ามระบบไฟล์
ฉันเห็นในหน้านี้ว่า inodes มีตัวนับลิงก์เพื่อทราบจำนวนไฟล์ (อ่าน: "รายการไดเรกทอรี") ชี้ไปที่ inode นี้ มีวิธีที่จะทราบว่าไดเรกทอรีใดมีรายการดังกล่าวโดยไม่ต้องข้ามทั้งระบบไฟล์? ข้อมูลนี้ถูกเก็บไว้ที่ไหน? struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; gid_t i_gid; … };

2
การบันทึกเสียงปุ่มเดียวใน Linux (บันทึกในการเปิดตัวกุญแจ)
ฉันต้องการเรียกใช้โปรแกรมที่บันทึกเสียงเมื่อกดปุ่มควบคุมขวาค้างไว้เท่านั้น yy-mm-dd hh:mm.oggปล่อยให้เป็นอิสระแป้นพิมพ์ผลที่จะเขียนไปยังดิสก์เป็นเช่น ฉันจะทำอย่างไร $ xmodmap -pke |grep -e Record keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord การควบคุมด้านขวาถูกจับโดย xev สำหรับการคีย์และการคีย์เหตุการณ์: KeyPress event, serial 43, synthetic NO, window 0x1800001, root 0x7f, subw 0x0, time 27689430, (-145,169), root:(476,366), state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives …

4
rsync, ลบไฟล์ที่ได้รับด้านที่ถูกลบในการส่งด้าน (แต่อย่าลบทุกอย่าง)
ฉันต้องการใช้ rsync กับ ... ลบไฟล์ในด้านการรับที่ถูกลบไปยังด้านการส่ง อย่าลบไฟล์อื่น ๆ ที่อยู่ในไดเรกทอรี rsynced ทางด้านการรับ ตัวอย่างเช่นสมมติว่าฉันมีไดเรกทอรีlocal-src: ก่อน: local-srcภายในมี ... a.txt b.txt c.txt ไดเรกทอรีระยะไกลของฉันที่ฉันต้องการซิงค์กับเนื้อหาของการที่เรียกว่าlocal-srcremote-src ก่อน: remote-srcจากระยะไกลประกอบด้วย ... a.txt b.txt c.txt d.txt README.md สมมติว่าฉันลบบางไฟล์ในlocal-src: หลังจากลบ local-srcในพื้นที่:ภายในมี ... c.txt ฉันจะใช้ rsync อย่างไรเพื่อให้แน่ใจว่าไฟล์ที่ถูกลบที่ต้นทางนั้นจะถูกลบที่ปลายทางเช่นกัน แต่ไม่ต้องลบไฟล์อื่น ๆ ที่ปลายทาง ตัวอย่างเช่นฉันต้องการมีสิ่งต่อไปนี้ที่ปลายทาง: หลังจากลบ LOCAL: remote-srcจากระยะไกลมี ... c.txt d.txt README.md นั่นคือa.txtและb.txtจะถูกลบจากระยะไกลเช่นกัน แต่d.txtและREADME.txtถูกทิ้งให้อยู่คนเดียว มีวิธีใดบ้างที่จะทำให้สำเร็จด้วย rsync? แก้ไข:คำตัดสินดูเหมือนว่าจะเป็นไปไม่ได้กับ …
9 rsync 

4
SSH ไม่ทำงานอีกต่อไป:“ เขียนล้มเหลว: Broken Pipe”
ฉันใช้ macbook pro ที่บ้านและเปลี่ยนอุปกรณ์เป็นประจำที่ห้องปฏิบัติการของฉัน อย่างไรก็ตามในช่วง 3-4 วันที่ผ่านมาเมื่อใดก็ตามที่ฉัน SSH เข้าไปในเครื่องในห้องแล็บฉันจะได้รับการเขียนล้มเหลว: ข้อผิดพลาดของ Broken Pipe แทบจะภายใน 2 นาทีหลังจากที่ฉันหมดสติ ความจริงที่ว่าทุกอย่างทำงานได้อย่างสมบูรณ์ไม่กี่วันที่ผ่านมาทำให้ฉันงงงันและความช่วยเหลือใด ๆ ที่จะทำให้สิ่งต่าง ๆ ทำงานได้อีกครั้งจะได้รับการชื่นชมมาก
9 networking  ssh  ip 

3
X-server คำนวณ DPI อย่างไร
จากXfce Docs : ในกรณีที่คุณต้องการแทนที่ค่า DPI (จุดต่อนิ้ว) ที่คำนวณโดย X-serverคุณสามารถเลือกช่องทำเครื่องหมายและใช้สปินบ็อกซ์เพื่อระบุความละเอียดที่จะใช้เมื่อหน้าจอของคุณแสดงแบบอักษร แต่วิธีการที่ไม่เซิร์ฟเวอร์ X- คำนวณของตนหรือไม่ สมมติฐานอะไรที่ทำในกระบวนการและบางส่วนของพารามิเตอร์ที่สามารถแทนที่? อาจรู้ว่าฉันมีพิกเซลบนหน้าจอกี่พิกเซล แต่ก็เพียงพอแล้ว

5
วิธีการตรวจสอบการติดตั้ง RPM เคอร์เนลเวอร์ชันสูงสุดโดยทางโปรแกรม
สิ่งที่ฉันต้องการเขียนคืออะไรบางอย่างตาม: if [ uname -r is not == highest version of kernel RPM installed ] then echo "You need to reboot to use the latest kernel" fi ปัญหาคือถ้าผลลัพธ์ของrpm -q kernelสิ่งที่ชอบ: kernel-2.6.32-358.10.2.el6.x86_64 kernel-2.6.32-358.6.1.el6.x86_64 ... ฉันจะทราบได้อย่างไรว่าอันไหนที่สูงกว่า ฉันรู้ว่าการเรียงสตริงง่าย ๆ ไม่น่าเชื่อถือ (มันจะย้อนกลับมาพร้อมกับตัวอย่างนี้) มีทางลัดด้วย rpm หรือไม่ฉันต้องแยกวิเคราะห์ทุกอย่างแล้วเปรียบเทียบเอง
9 rpm  version 

1
ใช้ `/ run / shm` (ก่อนหน้านี้` / dev / shm`) เป็นไดเรกทอรีชั่วคราว
เป็นการดีที่จะสร้างไดเรกทอรีใน/run/shm(ก่อนหน้านี้/dev/shm) และใช้สิ่งนั้นเช่นไดเรกทอรีชั่วคราวสำหรับโปรแกรมหรือไม่? พื้นหลัง: ฉันกำลังเขียนการทดสอบกล่องดำสำหรับโปรแกรมที่ทำสิ่งต่าง ๆ มากมายด้วยไฟล์และไดเรกทอรี สำหรับการทดสอบทุกครั้งฉันสร้างไฟล์และไดเรกทอรีจำนวนมากจากนั้นเรียกใช้โปรแกรมแล้วสร้างชุดไฟล์และไดเรกทอรีที่คาดหวังจากนั้นเรียกใช้ diff เพื่อเปรียบเทียบ ตอนนี้ฉันมีการทดสอบประมาณ 40 ครั้งและพวกเขาใช้เวลาในการรัน 2 วินาที หวังว่าจะเร่งความเร็วฉันต้องการรันการทดสอบในไดเรกทอรีบน ramdisk บางประเภท การค้นคว้าเกี่ยวกับ ram disk ฉันสะดุดกับคำถามด้วยคำตอบที่ระบุว่าไม่เป็นไรในการสร้างไดเรกทอรี/dev/shmและใช้งานเช่นเดียวกับไดเรกทอรีชั่วคราว ค้นคว้าเพิ่มเติมอีกเล็กน้อยแต่ฉันเจอหน้า wikiจาก debian ที่ระบุว่าเป็นข้อผิดพลาดในการใช้/dev/shmโดยตรง ฉันควรใช้shm_*ฟังก์ชั่น น่าเสียดายที่shm_*ฟังก์ชั่นดูเหมือนจะไม่สามารถใช้งานได้ในเชลล์สคริปต์ ตอนนี้ฉันสับสน มันโอเคหรือไม่ที่จะใช้/run/shm(เดิม/dev/shm) เหมือนไดเรกทอรีชั่วคราวหรือไม่?

3
Chainload syslinux จาก GRUB2 - แสดงเมนู syslinux.cfg
ฉันใช้ดิสก์ USB Clonezilla สดเพื่อจำลองระบบ ตามที่อธิบายไว้ในhttp://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.docดิสก์ของฉันจะแจ้งให้ฉันพร้อมกับเมนูที่มีอยู่ ในsyslinux.cfgสำหรับทุกระบบยกเว้นระบบล่าสุดที่เป็นเครื่อง UEFI (และมีการกำหนดค่า BIOS ให้บูตจากอุปกรณ์ UEFI ก่อน) ที่ฉันได้รับแจ้งจากgrub.cfgเมนู เนื่องจากฉันปรับแต่งsyslinux.cfgเมนูเป็นอย่างมากฉันต้องการแก้ไขgrub.cfgไฟล์ให้เฉพาะ chainload เป็น syslinux โดยอัตโนมัติเพื่อแสดงsyslinux.cfgเมนูในทุกกรณี เป็นไปได้ทั้งหมดหรือไม่ อย่างไร? บนดิสก์มี GRUB2 และความเข้าใจของฉัน (จากการดูรอบ ๆ อินเทอร์เน็ต) เป็นสิ่งที่เป็นไปได้ แต่ฉันยังไม่เข้าใจเลย ความช่วยเหลือใด ๆ ที่ชื่นชม แก้ไข:ฉันต้องการชี้แจงว่าระบบบูทที่ใช้ด้วงโดยไม่มีปัญหาในการเลือกตัวเลือกใด ๆ ที่อยู่ในgrub.cfgเมนูตามค่าเริ่มต้นที่ให้ไว้โดยการดาวน์โหลด Conezilla แต่สิ่งที่ฉันต้องการจะทำคือการแสดงเมนูของ syslinux (ในsyslinux.cfg) แทนที่จะเป็นเมนูเริ่มต้นในการgrub.cfg แก้ไขครั้งที่สองฉันทำมันอย่างไร:ในที่สุดโซลูชันที่เสนอไม่ทำงานสำหรับฉันดังนั้นฉันจึงสร้างโฟลเดอร์ 'EFI \ boot' "ไม่พร้อมใช้งาน" (เปลี่ยนชื่อ); วิธีนี้การบู๊ต UEFI ล้มเหลวและบูทระบบจาก syslinux เหมือนกับในระบบเก่า: …

1
vi [m] อ่านช่วงของบรรทัดจากไฟล์อื่น
บน Linux แก้ไขfile_Bในกลุ่มผมต้องการที่จะเพิ่มบรรทัด 10-25 file_Aจาก ตัวอย่าง: หนึ่งชุดมีทั้งเอกสาร HTML ที่มีส่วนหัวค่อนข้างเหมือนกันและใช่หนึ่งสามารถสร้างแม่แบบและเริ่มจากที่นั่น แต่ก็ยัง: ฉันกำลังมองหาวิธีที่เรียบง่าย [และสง่างาม] ในการแทรกช่วงของบรรทัดจากไฟล์หนึ่งไฟล์และเพิ่มลงในไฟล์ที่ฉันกำลังแก้ไขอยู่ ในกลุ่ม วิธีแก้ปัญหาที่ฉันพบจนถึงตอนนี้ แต่ไม่ตรงกับที่ฉันกำลังมองหา ภายใน file_Bคำสั่ง:read file_Aจะเพิ่ม * ทั้ง file_A * ลงใน file_B มากเกินไป มีการคัดลอกและวางภายในเป็นกลุ่ม - แต่สำหรับอันนี้ต้องเปิด file_A ภายใน file_A :10,25w! file_Bจะ 'ส่ง' ช่วงของบรรทัดที่file_Bระบุ ดูเหมือนว่าจะใกล้เคียงกับการคัดลอกและวาง หนึ่งสามารถเปิดหลาย windows ในกลุ่มแต่ในขณะที่ฉันทำงานบนหน้าจอ 8 นิ้วหน้าต่างหลายบานทำให้การวางแนวยาก เนื่องจากฉันไม่สามารถหาวิธีแก้ปัญหาที่สะดวกสบายได้ฉันสงสัยว่าฉันเพิ่งเข้าใจผิดบางอย่างหรือวิธีการที่ฉันพบว่ามีการใช้กันทั่วไปและถือเป็นวิธีมาตรฐาน
9 linux  vim  copy-paste 

4
ผ่านหลายไดเรกทอรีไปยังตัวเลือก -prune ในการค้นหา
ฉันใช้findเพื่อค้นหาและลบไฟล์สำรองข้อมูล แต่ต้องการแยกไดเรกทอรีบางอย่างออกจากการค้นหา ชื่อไฟล์สำรองข้อมูลอาจยุติใน.bck, bak, หรือ~backup โค้ดตัวอย่างการทำงานขั้นต่ำ (MWE) ที่มีเพียงสามไดเรกทอรีที่ต้องแยกคือ: #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o -path "./Documents" \) -prune -o -type f \( -name "*.bck" -o -name "*.bak" -o -name "*~" -o -name "*.backup" \) -print0 | xargs -0 --no-run-if-empty trash-put \( -path "dir1" …

1
gunzip & tar xf ทำงานภายใต้สถานการณ์ใดบ้าง แต่ tar xzf ล้มเหลว
เพื่อแสดงให้เห็นจุด: ผมได้ดาวน์โหลดห้องสมุด LEDA จากเว็บไซต์ของ บริษัท การใช้ tar -xzf กับมันล้มเหลว: $ tar -xzf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors อย่างไรก็ตาม gunzip ตามด้วย tar -xf ใช้งานได้ดี: $ gunzip LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz $ tar -xf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar # …
9 tar  gzip 

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