Unix & Linux

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

5
Dynamic Symlinks
ฉันสร้างแอปของฉันสำหรับสถาปัตยกรรมที่แตกต่างกันและต้องการสร้าง "ไดนามิก symlink" ซึ่งพาฉันไปยังรุ่นที่ถูกต้องตามตัวแปร หากเครื่องที่ฉันเข้าสู่ระบบในขณะนี้คือ x86 ดังนั้น symlink ควรพาฉันไปที่งานสร้างนั้น ตัวอย่างล้อเลียนของสิ่งที่ฉันต้องการจะทำ: $ uname -i x86_64 $ ls -ltr lrwxr-xr-x 1 dogbane gg 4 Feb 16 15:40 mylink -> @sys/ drwxrwxr-x 2 dogbane gg 2048 Feb 16 15:40 x86_64/ drwxrwxr-x 2 dogbane gg 2048 Feb 16 15:40 i386/ $ cd mylink $ …
10 symlink 

5
กำลังค้นหาซับสตริงในไฟล์ข้ามไดเรกทอรีย่อยด้วยคำสั่งในตัวเดียวหรือไม่
ใน Windows ถ้าฉันต้องการค้นหาสตริงในไฟล์ทั้งหมดในไดเรกทอรีย่อยทั้งหมดฉันจะทำสิ่งที่ต้องการ findstr /C:"the string" /S *.h อย่างไรก็ตามในลินุกซ์ (พูด, อูบุนตู) ฉันได้พบไม่มีวิธีอื่นนอกเหนือจากคำสั่งประปาบางส่วนที่เกี่ยวข้องกับการfind, xargsและgrep(ตัวอย่างที่หน้านี้: ? ฉันจะซ้ำ grep ผ่านไดเรกทอรีย่อย ) อย่างไรก็ตามคำถามของฉันแตกต่างกัน: มีคำสั่งในตัวเดียวที่ทำงานผ่านเวทมนตร์นี้โดยไม่ต้องเขียนเชลล์สคริปต์ของฉันหรือไม่
10 linux  grep  find  recursive 


3
แก้ไข CTRL- * เป็นกลุ่มภายใต้หน้าจอ GNU
เมื่อเรียกใช้เป็นกลุ่มภายใต้หน้าจอ GNU ฉันพบว่าการรวมกันของCTRLปุ่มลูกศรและ Pg * ไม่ทำงานอย่างที่คาดไว้ ฉันใช้vim-gnomeแพ็คเกจUbuntu 10.10 บนเครื่องที่แตกต่างกันยังใช้ Ubuntu สิ่งนี้ทำงานได้โดยไม่มีปัญหา โชคไม่ดีที่ตอนนี้ฉันยังไม่มีการกำหนดค่า มีคำถามที่เกี่ยวข้องที่นี่: วิธีการแก้ไข Ctrl + ลูกศรในกลุ่ม? อย่างไรก็ตามวิธีแก้ปัญหาที่แนะนำนั้นคือทำการแมปปุ่มลัดของ vim เพื่อทำงานกับเทอร์มินัลอีมูเลเตอร์ในกรณีนั้น PuTTY ฉันไม่จำการเรียงลำดับใด ๆ และสงสัยว่ามีตัวเลือกการกำหนดค่าหน้าจอซึ่งจะแก้ไขปัญหานี้ได้ นอกจากนี้ยังมีเธรดในรายชื่อผู้รับจดหมายบนหน้าจอ gnu ซึ่งแสดงว่าการเรียกใช้ vim ผ่าน$ TERM=xterm vimเป็นการแก้ไขที่เหมาะสมหรือวิธีแก้ไขปัญหา ใช้งานได้ แต่ฉันกังวลเล็กน้อยว่าอาจมีผลข้างเคียง มันไม่ได้ฟังดูคุ้นหูพอที่จะเป็นวิธีแก้ปัญหาที่ฉันติดตั้งบนเครื่องอื่น (ถ้าจำเป็นต้องมีวิธีแก้ไข)
10 ubuntu  vim  gnu-screen 

5
IFS (Internal Field Separator) ทำหน้าที่เป็นตัวคั่นเดี่ยวสำหรับตัวคั่นหลายตัวต่อเนื่องกันได้หรือไม่?
การแยกอาร์เรย์โดยใช้ IFS ด้วยค่าที่ไม่ใช่ขาวสร้างองค์ประกอบที่ว่างเปล่า แม้แต่การใช้tr -sเพื่อย่อขนาด delim หลาย ๆ ตัวเป็น delim เดียวก็ไม่เพียงพอ ตัวอย่างอาจอธิบายปัญหาได้ชัดเจนยิ่งขึ้น .. มีวิธีการที่จะบรรลุผลลัพธ์ "ปกติ" ผ่าน tweaking ของ IFS (มีการตั้งค่าที่เกี่ยวข้องเพื่อเปลี่ยนพฤติกรรมของ IFS หรือไม่? ไอเอฟเอ var=" abc def ghi " echo "============== IFS=<default>" arr=($var) for x in ${!arr[*]} ; do echo "# arr[$x] \"${arr[x]}\"" done # sfi="$IFS" ; IFS=':' set -f # …
10 bash  shell  scripting 

4
ที่เก็บแพ็กเกจแบบกระจายสำหรับ Linux?
หลายครั้งที่ฉันเห็นข้อความแจ้งให้ผู้ใช้ไม่อัปเดตที่เก็บบ่อยเกินไป (เช่นมากกว่าหนึ่งครั้งต่อวัน) เพราะนั่นจะทำให้เซิร์ฟเวอร์มีปัญหามากเกินไป นอกจากนี้ฉันเข้าใจว่ามันต้องใช้เครื่องจักรที่มหึมาสำหรับที่เก็บเช่นนั้น ฉันสงสัยว่ามีบางอย่างเหมือน BitTorrent สำหรับการจัดการแพ็คเกจหรือไม่? หรือถ้าไม่มีมันเป็นไปได้ไหมที่จะมีระบบแบบนี้? (ฉันกำลังคิดถึงระบบที่ผู้ใช้แต่ละคนเก็บแพ็คเกจที่พวกเขามีและให้บริการในแบบเดียวกับ BitTorrent)

3
อะไรคือสาเหตุของ VirtualBox OSE เพื่อแขวนเครื่องของฉัน
ฉันใช้ VirtualBox OSE และเมื่อเร็ว ๆ นี้เมื่อฉันเรียกใช้ Ubuntu 10.10 บนเครื่องของฉันมีแนวโน้มที่จะวางสายบังคับให้ฉันรีเซ็ตฮาร์ดมัน (ไม่ดี) ฉันจะเริ่มค้นหาปัญหาได้อย่างไร นี่คือบรรทัดสุดท้ายจาก " / var / log / syslog " ก่อนการรีเซ็ต: Jan 27 12:11:22 debian kernel: [ 193.400230] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use) หมายเหตุ : VirtualBox OSE เป็นรุ่น3.2.10 ฉันใช้เคอร์เนล2.6-บิท2.6.37กับ Debian Squeeze ฉันไม่สามารถทำซ้ำปัญหานี้เมื่อใช้ Fedora 14 VM

4
ฉันจะตรวจสอบได้อย่างไรว่าไฟล์ gzipped ว่างเปล่า?
มีวิธีที่รวดเร็วในการตรวจสอบว่าไฟล์ gzipped ว่างเปล่าหรือฉันต้องคลายซิปก่อนหรือไม่? ตัวอย่าง: $ touch foo $ if [ -s foo ]; then echo not empty; fi $ gzip foo $ if [ -s foo.gz ]; then echo not empty; fi not empty $ wc -l foo.gz 1 foo.gz


4
ทำไม echo“ bar” -n ต่างจาก echo -n“ bar”?
เปรียบเทียบ echo -n "bar" กับ echo "bar" -n อดีตทำในสิ่งที่ฉันคิดว่าควรจะทำ (พิมพ์ "บาร์" โดยไม่มีการขึ้นบรรทัดใหม่) ในขณะที่หลังไม่ นี่เป็นข้อบกพร่องหรือจากการออกแบบ? ทำไมมันถึงแตกต่างจากโปรแกรม cli หลาย ๆ ตัวที่คุณไม่สามารถย้ายตัวเลือกต่างๆได้? ยกตัวอย่างเช่นเป็นเหมือนกับtail -f /var/log/messages tail /var/log/messages -fบางครั้งผมทำหลังเมื่อฉันลืมฉันอยากอดีตเพราะภายในตัวเลือกและข้อโต้แย้งที่มีการปรับปรุงใหม่โดยปกติgetopt ปรับปรุง:ใช่ฉันเดิมคำถามของฉันไม่ดี ฉันลบ nerf คุณจะต้องดูประวัติเพื่อให้คำตอบบางอย่างเหมาะสม


2
เป็นไปได้หรือไม่ที่จะควบคุมว่าจอภาพใดที่ถือว่าเป็นจอภาพหลัก
ฉันเพิ่งเพิ่มจอภาพที่ 2 และฉันพบว่าโอ้ปัญหาทั่วไปที่จอภาพเปลี่ยน เห็นได้ชัดว่าจอภาพที่ 2 ได้รับการระบุว่าเป็น "monitor 0" โดย X.org แต่เป็น # 2 ตามแอปเพล็ตการกำหนดค่า ATI (แอปเพล็ตหมายเลขจอภาพที่เริ่มต้นด้วย 1 ไม่ใช่ 0) ที่กล่าวว่าจอภาพที่ 2 นี้เป็นจอภาพแรกที่แสดงโดยแอปเพล็ต สิ่งนี้เกี่ยวข้องกับฉันเนื่องจากฉันพบปัญหาใน Windows ด้วยการสลับจอภาพสองจอแบบสุ่มหลังจากรีบูตเครื่อง การเคลื่อนย้ายพาเนล Gnome ไปนั้นง่ายพอหากไม่ชัดเจน อย่างไรก็ตามฉันสงสัยเกี่ยวกับความเป็นไปได้ของสิ่งอื่น ๆ โดยใช้ "จอภาพ 0" เมื่อในกรณีนี้ฉันคาดว่าพวกเขาจะอยู่บน "จอภาพ 1" ดังนั้นฉันสามารถควบคุมว่าจอภาพใดที่ถือว่าเป็นจอหลักได้หรือไม่

2
ฉันจะแก้ไขคำสั่ง ci ในกลุ่มได้อย่างไร
เช่นเดียวกับ "ci (" เปลี่ยนทุกอย่างระหว่างวงเล็บฉันต้องการ "ci $" เพื่อเปลี่ยนทุกอย่างระหว่างเครื่องหมายดอลลาร์ (สำหรับการแก้ไข LaTeX) เป็นไปได้ไหม
10 vim  vi 

1
ค้นหาเครื่องมือการแท็กบรรทัดคำสั่งสำหรับ mp3 และ ogg ที่สนับสนุนรูปภาพ
ฉันกำลังค้นหาเครื่องมือติดแท็กบรรทัดคำสั่งที่รองรับ ogg- และการติดแท็ก mp3 และอนุญาตให้เพิ่มรูปภาพในแท็ก ขณะนี้ฉันใช้lltagแต่ไม่รองรับรูปภาพ daggerเป็นเครื่องมือที่ฉันใช้ก่อนหน้านี้ แต่ขาดการสนับสนุนรูปภาพเช่นกัน

1
Ramdisk และเริ่มเหมือนกันหรือไม่?
ขณะที่อ่านผ่านเอกสาร kernel ใน ramdisk ใน ramfs-rootfs-initramfs.txtผมมีข้อสงสัยเช่น ramdisk อธิบายมีเช่นเดียวกับคุณสมบัติ initrd อธิบายไว้ในโพสต์ที่ที่แตกต่างระหว่าง initrd และ initramfs มีคนช่วยอธิบายเรื่องนี้ให้ฉันหน่อยได้ไหม? และถ้ามันเหมือนกันฉันอ่านว่ามีข้อเสียมากมายสำหรับมัน แต่ยังอยู่ใน fedora PC ของฉันฉันเห็น initrd-2.6.29.4-167.fc11.i686.PAE.img ในโฟลเดอร์บูตของฉัน มันแตกต่างจากผู้เริ่มต้นที่กล่าวถึงข้างต้นหรือไม่? UPDATE_EDIT: ใน บทความที่ฉันยังเห็นคำสั่งเช่น # update-initramfs -u all update-initramfs: Generating /boot/initrd.img-2.6.18-5-amd64 ดังนั้น initramfs นี้เชื่อมโยงกับ initrd.img อย่างไร
10 linux  boot  initrd 

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