Unix & Linux

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

5
ฉันจะย้อนกลับวิดีโอคลิปได้อย่างไร
ระบบปฏิบัติการของฉันคือ Debian 8 ฉันมีไฟล์ชื่อclip01.mp4ที่ฉันต้องการย้อนกลับดังนั้นจึงเล่นย้อนกลับ เสียงสามารถยกเลิกหรือกลับรายการได้เช่นกันไม่สำคัญ เห็นได้ชัดว่าffmpegเลิกใช้แล้วavconvแต่ฉันไม่สามารถหาวิธีแก้ปัญหาที่ใช้เครื่องมือทั้งสองได้! ฉันต้องการเก็บโคเดอร์วิดีโอไว้เหมือนกันเพื่อหลีกเลี่ยงความสูญเสียใด ๆ ควรใช้เครื่องมือบรรทัดคำสั่งเพื่อความสะดวกในการเขียนสคริปต์
12 video 

2
วิธีการเมาท์ / เมาท์อุปกรณ์ภายนอกโดยอัตโนมัติบน NixOS
ฉันมีแท่ง USB และพาร์ทิชันฮาร์ดไดรฟ์ NTFS ที่ฉันต้องการใช้ใน NixOS ในการกระจายอื่น ๆ ฉันจะติดมันโดยใช้ ntfs-3g ใน / mnt แต่ใน NixOS ไดเรกทอรีไม่มีอยู่ ฉันคิดว่า NixOS เป็นวิธีมาตรฐานและ / หรือสถานที่อื่น ๆ ใน NixOS ควรตั้งค่าการติดตั้งพาร์ติชันภายนอกโดยอัตโนมัติอย่างไรควรใช้ configuration.nix
12 usb  ntfs  automounting  nixos 

4
วิธีการสลับหรือปิดการเลือกข้อความที่ส่งไปยังคลิปบอร์ด
ฉันต้องการปิดใช้งานพฤติกรรมเริ่มต้นที่ดูเหมือนว่าจะเกิดขึ้นกับการแจกจ่าย Linux ทุกครั้งที่ฉันเคยลองแล้วว่าข้อความใด ๆ ที่เลือกจะถูกส่งไปยังคลิปบอร์ดทันที (Mint, Ubuntu, Fedora, SuSE ฯลฯ ) และตัวจัดการหน้าต่างทุกตัว (Gnome , KDE, Cinnamon) และแทนที่จะทำตัวเหมือนการใช้งาน Windows ฉันรู้ว่านี่เป็นพฤติกรรมที่รักของหลาย ๆ คนใน Linux และฉันมั่นใจว่าหลายคนจะคิดว่าฉันเป็นคนงี่เง่า เหตุผลที่ฉันต้องการทำเช่นนี้คือฉันเป็นแป้นพิมพ์ขยะเมื่อใช้งาน GUI (เช่นเมื่อฉันอยู่ใน Linux และฉันคัดลอก URL จากนั้นสลับไปที่เบราว์เซอร์ของฉันและพิมพ์ Ctrl + L มันจะเลือกแถบที่อยู่และย้ายวางที่ฉันตั้งใจไว้หนึ่งรอยและแทนที่ด้วยสิ่งที่ฉันพยายามที่จะเขียนทับ ) ฉันรู้ว่ามีวิธีแก้ปัญหาหลายอย่าง แต่ฉันไม่สนใจจริง ๆ สิ่งที่ฉันต้องการคือการสลับพฤติกรรมสำหรับคลิปบอร์ด
12 x11  clipboard 

1
จุดประสงค์ของการใช้เครื่องหมายอัศเจรีย์หลายอันใน sed คืออะไร?
POSIX เอกสาร sedกล่าวว่า: ฟังก์ชั่นสามารถนำหน้าด้วย '!' หนึ่งรายการหรือมากกว่า อักขระซึ่งในกรณีนี้จะใช้ฟังก์ชันถ้าที่อยู่ไม่ได้เลือกพื้นที่รูปแบบ ต้องยอมรับอักขระ <blank> ศูนย์หรือมากกว่าก่อนอักษรตัวแรก '!' ตัวละคร ไม่มีการระบุว่าอักขระ <blank> สามารถตาม '!' ได้หรือไม่ อักขระและแอปพลิเคชันที่สอดคล้องจะต้องไม่เป็นไปตาม '!' อักขระที่มีอักขระ <blank> ดังนั้นด้วย POSIX sed เราสามารถ: sed -e '/pattern/!d' file มันเหมือนกับการเขียน: sed -e '/pattern/!!d' file และ!!!dและnของเครื่องหมายอัศเจรีย์จะยังคงได้รับการปรับ (ทดสอบกับสามsedรุ่นจากมรดกตกทอด toolchest ) ฉันไม่เห็นประโยชน์ใด ๆ ระหว่างหลายรายการแทนที่จะแสดงเป็นอัศเจรีย์ ทำไมสเป็คอนุญาตให้ไวยากรณ์นั้นและมันมีประโยชน์ในการใช้งานจริง? ดูเหมือนว่า GNU sed ไม่เข้ากันกับกรณีนี้มันจะบ่นถ้าเราใช้อุทานหลายอย่าง: $ sed -e '/pattern/!!d' …
12 sed  posix 


2
วิธีเลื่อนขึ้นหลังจากเคอร์เนลตกใจ?
ในขณะที่ tinkering กับ Linux VM ฉันได้รับความตื่นตระหนกเคอร์เนลเป็นประจำ, ซึ่งผลักดันผลลัพธ์ที่เป็นประโยชน์ทั้งหมดกับสิ่งที่ฉันไม่เข้าใจและอาจไม่เป็นประโยชน์กับฉัน ความตื่นตระหนกส่วนใหญ่เกิดขึ้นในinitramfsช่วง VirtualBoxฉันใช้ Shiftเครื่องหมาย + ปกติPg Upใช้งานไม่ได้ (ในกรณีของฉัน) มีวิธีอื่นในการเลื่อนดูและดูผลลัพธ์ของสิ่งที่มาก่อนหรือไม่

1
Uselogin ใน sshd_config
ฉันกำลังดูไฟล์ sshd_config ของฉันและฉันพบสิ่งนี้: #Uselogin no ฉันรู้ว่ามันมีความคิดเห็น แต่ไม่มีคำอธิบายข้างต้นและเมื่อฉัน google มันฉันได้รับนี้: อย่าใช้บริการเข้าสู่ระบบแบบดั้งเดิม (1) เพื่อเข้าสู่ระบบผู้ใช้ เนื่องจากเรากำลังใช้การแยกสิทธิพิเศษทันทีที่ผู้ใช้เข้าสู่บริการ ths เข้าสู่ระบบ (1) ถูกปิดใช้งาน หรือ ระบุว่าจะใช้การเข้าสู่ระบบ (1) สำหรับการเข้าสู่ระบบแบบโต้ตอบหรือไม่ ค่าเริ่มต้นคือ "ไม่" โปรดทราบว่าไม่เคยใช้การเข้าสู่ระบบ (1) สำหรับการดำเนินการคำสั่งระยะไกล โปรดทราบว่าหากเปิดใช้งานนี้ X11Forwarding จะถูกปิดใช้งานเนื่องจากการเข้าสู่ระบบ (1) ไม่ทราบวิธีจัดการคุกกี้ xauth (1) หากระบุ UsePrivilegeSeparation ระบบจะปิดใช้งานหลังจากการตรวจสอบสิทธิ์ เท่าที่เข้าใจnoป้องกันไม่ให้ ssh ใช้ "การเข้าสู่ระบบแบบดั้งเดิม" แต่ฉันไม่สามารถหาอะไรเกี่ยวกับการเข้าสู่ระบบ "ดั้งเดิม" ใครช่วยอธิบายสิ่งที่มันทำ?
12 ssh  login  sshd 

3
เมื่อกระบวนการใดคัดลอกหน่วยความจำเสมือนหรือหน่วยความจำในเครื่อง
วิธีมาตรฐานในการสร้างกระบวนการใหม่ใน Linux คือ footprint หน่วยความจำของกระบวนการหลักถูกคัดลอกและกลายเป็นสภาพแวดล้อมของกระบวนการลูกจนกว่าexecvจะมีการเรียกใช้ สิ่งที่เรากำลังพูดถึงรอยเท้าหน่วยความจำเสมือน (สิ่งที่กระบวนการร้องขอ) หรือคนที่อาศัยอยู่ (สิ่งที่ใช้จริง)? แรงจูงใจ: ฉันมีอุปกรณ์ที่มีพื้นที่สว็อป จำกัด และแอปพลิเคชันที่มีความแตกต่างอย่างมากระหว่างพื้นที่หน่วยความจำเสมือนและที่อยู่อาศัย แอปพลิเคชันไม่สามารถแยกได้เนื่องจากหน่วยความจำไม่เพียงพอและต้องการดูว่าการพยายามลดขนาดรอยเท้าเสมือนจริงจะช่วยได้หรือไม่

1
ทราบว่ากระบวนการใดที่ I / O ไม่มี iotop
บน Linux ฉันต้องการทราบว่ากระบวนการใดใช้ Band I ของดิสก์ I / O ของฉัน ฉันรู้ว่าฉันสามารถใช้งานได้iotopแต่ฉันมีเครื่องที่iotopไม่สามารถติดตั้งด้วยเหตุผลต่าง ๆได้ ฉันจะรับข้อมูลด้วยตนเองได้อย่างไร ( iotopตัวเองดำเนินการอย่างไร)

2
ทำไม gcc แสดง `ไม่รู้จัก 'ในเป้าหมาย: x86_64-unknown-linux-gnu ใน Arch Linux
ฉันอยากรู้ว่าทำไมเมื่อฉันทำงานgcc -vภายใต้ Arch Linux มันจะแสดงunknownคำในผลลัพธ์เหล่านี้: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper Target: x86_64-unknown-linux-gnu ในขณะที่ distro อื่น ๆ เช่น ubuntu จะแสดงชื่อ distro เช่นubuntu: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-ubuntu-linux-gnu/5.1.0/lto-wrapper Target: x86_64-ubuntu-linux-gnu
12 linux  arch-linux  gcc 

1
“ ไม่พบรายการ 'main / binary-i386 / Packages' ที่คาดหวังไว้ในไฟล์ Release "
ฉันเพิ่มที่เก็บของบุคคลที่สามและตอนนี้ฉันเห็นคำเตือนนี้ขณะอัปเดตรายการแพ็คเกจของฉัน: W: Failed to fetch http://codezen.org/debian/dists/sid/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file) ทำไมถึงเป็นอย่างนั้น?
12 apt 

5
เรียกใช้ "grep" ยกเว้นไฟล์ในเส้นทางที่ระบุ
ฉันต้องการแยกไฟล์./test/main.cppออกจากการค้นหา นี่คือสิ่งที่ฉันเห็น: $ grep -r pattern --exclude=./test/main.cpp ./test/main.cpp:pattern ./lib/main.cpp:pattern ./src/main.cpp:pattern ฉันรู้ว่ามันเป็นไปได้ที่จะได้รับผลที่ฉันต้องการโดยใช้คำสั่งต่างๆในการจัดเรียงท่อและฟิลเตอร์ แต่มีบางข้อความ / การหลบหนีที่จะทำให้grepเข้าใจสิ่งที่ฉันต้องการกำเนิด?

4
เพราะเหตุใดจึงไม่ได้มีการส่งข้อมูลนโยบายที่ฉลาด - แคช
ไม่เข้าใจสาเหตุ $ apt-cache policy foo N: Unable to locate package foo แต่ $ apt-cache policy foo 2>&1 | grep . มันว่างเปล่า. ฉันกำลังทำข้อสันนิษฐานผิด งานเดิม: ฉันต้องประมวลapt-cache policyผลเอาท์พุทน่าจะเป็น :-) UPD : fooใช้ในตัวอย่างของฉันอาจถูกแทนที่ด้วยชื่อแพคเกจใด ๆ ที่ไม่มีอยู่ในapt-getดัชนีของคุณ UPD 2 : มีคำตอบสำหรับวิธีแก้ปัญหา +50เงินรางวัลเพิ่มเติมจะมอบให้กับทุกคนที่อธิบายว่าทำไม2>&1โซลูชันไม่ทำงาน
12 shell  apt  pipe 

3
ทำไมจึงไม่แนะนำให้ใส่พาร์ติชันสำหรับเริ่มระบบใน LVM
ฉันอ่านบางที่ไม่แนะนำให้ใส่พาร์ติชันสำหรับบูตบนพาร์ทิชันที่ใช้ LVM แต่ฉันจะทำมันต่อไป ปัญหาเดียวที่ฉันเจอคือบางครั้งเมื่อฉันติดตั้งดิสทริบิวเตอร์ลินุกซ์ใหม่และวางมันไว้ในพาร์ทิชันสำหรับบูตบน LVM, ด้วงไม่สามารถตรวจจับได้ grub-mkconfigคำสั่งมักจะทำผิดพลาดในการสร้างgrub.cfgไฟล์ แต่ถ้านี่เป็นปัญหาเดียวของพาร์ติชั่นสำหรับบู๊ต lvm ฉันคิดว่ามันโอเค เพราะฉันรู้วิธีการแก้ไขเพียงแค่ให้ที่อยู่ที่เหมาะสมกับพาร์ทิชันบูตที่ตั้งใจไว้ในการบูตจากนั้นทุกอย่างก็เรียบร้อย ดังนั้นมีอะไรนอกเหนือจากนี้ที่ LVM สามารถทำให้เกิดปัญหาได้หรือไม่ เพราะในความคิดของฉัน LVM มีความยืดหยุ่นมากและไม่ทำให้ระบบช้าลง
12 boot  partition  lvm 

7
ฉันจะรับรุ่น ksh อย่างปลอดภัยได้อย่างไร
ฉันจะรับรุ่น ksh อย่างปลอดภัยจากภายในสคริปต์ ksh ได้อย่างไร ฉันได้เห็นวิธีแก้ไขปัญหาต่อไปนี้ : ksh --version echo ${.sh.version} echo $KSH_VERSION และเมื่อได้รับสถานการณ์ที่เหมาะสมแต่ละงานเหล่านี้ถูกต้อง อย่างไรก็ตามฉันสนใจกรณีที่ไม่สมบูรณ์ โดยเฉพาะมีหลายเครื่องที่ฉันทำงานด้วยที่มีรุ่นเก่ากว่า ksh ที่สำหรับวัตถุประสงค์ของฉันขาดฟังก์ชั่นอย่างรุนแรง อย่างไรก็ตามเหตุผลที่ฉันต้องการตรวจสอบรุ่น (โดยทางโปรแกรม) คือดูว่ารุ่น ksh เป็นหนึ่งในรุ่นที่มีความสามารถน้อยกว่าหรือไม่ และถ้าเป็นเช่นนั้นฉันต้องการรันสาขาด้วยรหัสที่ยอดเยี่ยมน้อยลง อย่างไรก็ตามในเครื่องที่มีปัญหาความไม่สมบูรณ์ของเชลล์จะขยายไปสู่การตรวจสอบเวอร์ชัน ... ถ้าฉันลองksh --versionมันจะพิมพ์ออกมาและเปิดตัวอย่างใหม่ของksh! หากฉันลองecho ${.sh.version}ให้kshถือว่านี่เป็นข้อผิดพลาดทางไวยากรณ์ที่ไม่สามารถทิ้ง2> /dev/nullได้ $ echo ${.sh.version} 2> /dev/null ksh: ${.sh.version}: bad substitution แน่นอนecho $KSH_VERSIONว่าใช้งานได้ดี - ฉันหมายความว่ามันจะไม่ผิดพลาด - แม้ว่าเครื่องเหล่านี้จะว่างเปล่า นอกจากนี้ผมเห็นที่ไหนสักแห่งที่มีการตั้งค่าโดยเฉพาะKSH_VERSIONpdksh คำถาม: ฉันจะตรวจสอบเวอร์ชั่นของkshโปรแกรมอย่างปลอดภัยได้อย่างไร kshสำหรับวัตถุประสงค์ของฉันที่นี่ฉันไม่สนใจสิ่งที่หมายเลขรุ่นที่เกิดขึ้นจริงเป็นเพียงแค่ไม่ว่าจะเป็นรุ่นเก่า …

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