Unix & Linux

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

3
การค้นหาปกติหรือการค้นหาไวด์การ์ด
เอกสาร Fedora พูดว่า: 5.2 การค้นหาขั้นสูง หากคุณไม่ทราบชื่อของแพ็คเกจให้ใช้การค้นหาหรือระบุตัวเลือก หรือใช้ไวด์การ์ดหรือนิพจน์ทั่วไปด้วยตัวเลือกการค้นหายำเพื่อขยายขอบเขตการค้นหา ตอนแรกฉันคิดว่านี่เป็นสิ่งที่ผิดหรือล้าสมัยเนื่องจากไม่มีไวยากรณ์ที่รู้จักของนิพจน์ทั่วไปที่จะใช้งานได้yum searchแต่จากนั้นฉันก็พบสิ่งนี้ : yum search [cl-*]ตัวอย่างเช่น แต่มันจะทำอะไรบางอย่างอย่างอื่น พบสิ่งที่ไม่มีตัวอักษร "c" หรือ "l" ในชื่อหรือคำอธิบาย (สิ่งที่ฉันต้องการคือการหาแพคเกจทั้งหมดที่มีชื่อจะถูกจับคู่โดยcl-.*regexp ฉันยังพบว่ามีคนไม่กี่คนที่แนะนำให้ผลลัพธ์ของไปป์ยำgrepซึ่งแน่นอนแก้ปัญหา แต่โดยหลักการแล้วฉันต้องการค้นหาสิ่งที่ทำในวงเล็บเหลี่ยมทำอะไร ถ้าหากyumสามารถค้นหาได้โดย regexp ล่ะ

5
ค้นหาแพคเกจซอฟต์แวร์ทั้งหมดใน Debian ที่ให้ทางเลือกเฉพาะ
การกระจาย Debian มีระบบทางเลือก Debian จาก Wiki: ระบบเดเบียนทางเลือกสร้างวิธีการสำหรับหลาย ๆ โปรแกรมที่ทำหน้าที่เดียวกันหรือคล้ายกันเพื่อแสดงเป็นการนำไปใช้ทางเลือกที่ติดตั้งพร้อมกัน ตัวอย่างเช่นระบบจำนวนมากมีเครื่องมือแก้ไขข้อความหลายตัวติดตั้งพร้อมกัน โปรแกรม vi เป็นตัวอย่างคลาสสิกของโปรแกรมแก้ไขที่มีการนำไปใช้งานหลายอย่างเช่น nvi, elvis, vim เป็นต้น แต่ควรกำหนดว่าควรใช้อันใดเป็นค่าเริ่มต้น โดยทั่วไปมีหลายแพ็คเกจใน Debian ที่ให้ทางเลือกเฉพาะ เราจะได้รับรายการที่สมบูรณ์ของแพ็คเกจดังกล่าวทั้งหมดที่มีอยู่ในที่เก็บ Debian อย่างไร ขอให้เราใช้ทางเลือกที่ vi เป็นตัวอย่าง หมายเหตุ: การทำแบบสอบถามดังกล่าวกับรายการแพคเกจที่ติดตั้งนั้นเป็นเรื่องง่าย แต่นั่นไม่ใช่คำถามที่ถาม

1
yum: แผนภูมิพึ่งพา RPM
ฉันจะติดตั้งแพ็กเกจ RPM และฉันเห็นว่าการพึ่งพาบางอย่างจำเป็นต้องติดตั้งไลบรารีเซิร์ฟเวอร์ X ด้วยเช่นกัน ฉันแน่ใจว่าแพคเกจที่ฉันต้องการคือซอฟต์แวร์เซิร์ฟเวอร์และไม่จำเป็นต้องใช้ X server ฉันสงสัยว่ามีวิธีพิมพ์รายการการพึ่งพา RPM แบบเดียวกับที่ทำใน Gentoo Linux หรือไม่ คำสั่งนี้พิมพ์การอ้างอิงระดับแรกเท่านั้นดังนั้นจึงไม่เหมาะกับฉัน: $ yum deplist <package name>
12 rhel  yum  rpm 

4
จะค้นหาไฟล์ที่ไม่ได้เป็นเจ้าของโดยแพ็คเกจใด ๆ ได้อย่างไร?
ในระบบของฉันฉันมีแฟ้มที่ได้อยู่ในแพคเกจใด ๆ make installพวกเขาเป็นของเราหรือจากโปรแกรมที่รวบรวมการติดตั้งด้วย ฉันจะค้นหาไฟล์ทั้งหมดที่ไม่ได้เป็นของแพ็คเกจใด ๆ ได้อย่างไร
12 debian  apt  repository 

3
วิธีเริ่มต้น XTerm ด้วยพรอมต์ที่ด้านล่าง?
เมื่อเริ่มต้น XTerm พรอมต์จะเริ่มที่บรรทัดแรกของเทอร์มินัล เมื่อรันคำสั่งพรอมต์จะเลื่อนลงมาจนกระทั่งถึงด้านล่างและจากนั้นจะอยู่ที่นั่น (ไม่ใช่แม้กระทั่งShift- Page Downหรือเมาส์สามารถเปลี่ยนได้) แทนที่จะเริ่มต้นอายุการใช้งานเทอร์มินัลให้เป็น "พิเศษ" การแจ้งเตือนควรอยู่ที่ด้านล่างของเครื่อง โปรดทราบว่าฉันมีหลายคู่สายพร้อมท์ แน่นอนว่ามันควรจะทำงานได้เหมือนเดิม (ปรับขนาดเลื่อนได้ไม่มีบรรทัดใหม่ที่ไม่จำเป็นในเอาต์พุตและไม่มีเอาต์พุตหายไปอย่างลึกลับ) ดังนั้นPROMPT_COMMAND='echo;echo;...'หรือคล้ายกันไม่ใช่ตัวเลือก การแก้ปัญหาไม่ควรเป็นแบบเฉพาะเชลล์ แก้ไข: วิธีการแก้ปัญหาในปัจจุบันในขณะที่ทำงานในกรณีที่เรียบง่ายมีไม่กี่ประเด็น: มันทุบตีที่เฉพาะเจาะจง ทางออกที่ดีควรพกพาไปหากระสุนอื่นได้ มันล้มเหลวถ้ากระบวนการอื่น ๆ PS1ปรับเปลี่ยน ตัวอย่างหนึ่งคือ virtualenv ซึ่งจะเพิ่ม(virtualenv)ที่จุดเริ่มต้นของPS1ซึ่งก็มักจะหายไปเพียงแค่ครึ่งหน้าบน Ctrl- lตอนนี้ลบหน้าสุดท้ายของประวัติศาสตร์ มีวิธีที่จะหลีกเลี่ยงปัญหาเหล
12 bash  terminal  xterm 

2
ปิดใช้งานแคชของไฟล์เรียกทำงานของ bash ในพา ธ
โปรดทราบว่านี่ไม่ซ้ำกัน ฉันกำลังถามเกี่ยวกับการปิดการใช้งานแคชไม่ล้างมัน หากคุณมีแคชเพื่อล้างข้อมูลจะไม่ถูกปิดใช้งาน ในโอกาสที่หายากที่ฉันสังเกตเห็นแคชของ bash ของสิ่งที่พบในเส้นทางไม่ใช่เพราะมีประโยชน์เพราะเป็นเลือดที่น่ารำคาญ ตัวอย่าง: ~ dc$ export PATH=$HOME/bin:$PATH ~ dc$ cat bin/which #!/bin/bash echo "my which" ~ dc$ which my which ~ dc$ rm bin/which ~ dc$ which which -bash: /Users/dc/bin/which: No such file or directory ในอีกเปลือก ... ~ dc$ which which /usr/bin/which ฉันแน่ใจว่าแคชนี้ใช้งานได้ดีในสมัยก่อนเมื่อดิสก์ช้าและหน่วยความจำมีราคาแพงและ จำกัด ดังนั้นคุณจึงไม่สามารถแคชได้มากนัก - …
12 bash 

1
ไฟล์สองไฟล์ในหนึ่งในโฟลเดอร์ของฉันจะมีชื่อเหมือนกันได้อย่างไร
ฉันดาวน์โหลดสองไฟล์พวกเขาทั้งสองถูกบันทึกไว้ในชื่อไฟล์เดียวกันจากนั้นฉันก็โอนไฟล์เหล่านั้นด้วย scp ไปยังคอมพิวเตอร์เครื่องอื่น ทำไมพวกเขาถึงไม่กลายเป็นหนึ่งในนั้นเมื่อวินาทีที่ถูกบันทึกไว้?
12 files  filenames 

6
รับโหนดอุปกรณ์โดยการจับคู่หมายเลขหลัก / รอง
แต่ละโหนดอุปกรณ์ภายใต้/devมีคู่หลัก / รองหมายเลขของตัวเอง ฉันรู้ว่าเราสามารถดึงหมายเลขคู่นี้จากโหนดอุปกรณ์โดยวิธีstatดังนี้: stat -c 'major: %t minor: %T' <file> หรือls -lแสดงตัวเลขเหล่านี้ด้วย แต่เราจะได้รับโหนดอุปกรณ์โดยการระบุหมายเลขหลักและรองได้อย่างไร วิธีเดียวที่ฉันรู้คือเคล็ดลับls -l+ บางอย่างawkแต่ฉันหวังว่าจะมีวิธีแก้ปัญหาที่ดีกว่า
12 udev 

1
การตั้งค่าจอภาพหลักใน XFCE?
ฉันต้องตรวจสอบ: ------ ------ |VGA-1| |HDMI-1| ------ -------- ด้วยเหตุผลบางอย่างค่าเริ่มต้นของ VGA-1 เป็นจอภาพหลัก ตอนนี้นี่คือสิ่งที่ฉันพยายามแก้ไข: ไปที่การตั้งค่าแก้ไขและตั้งค่าหลักใน HDMI-1 เป็น True สิ่งนี้: การเลือกจอมอนิเตอร์หลักของ Fedora ตอนนี้ดูเหมือนว่ามันจะมีเล่ห์เหลี่ยมตั้งแต่ HDMI-1 เป็นสัญญาณหลักตาม "xrandr - กระแส" อย่างไรก็ตามพาเนลยังคงอยู่ที่จอภาพด้านซ้าย (VGA-1) และฉันไม่แน่ใจว่า HDMI-1 ของฉันเป็นอุปกรณ์หลักเลย นี่เป็นข้อบกพร่องหรือฉันกำลังทำอะไรผิดที่นี่?

3
อะไรคือความแตกต่างของ -a และ -e ในนิพจน์เงื่อนไขของ bash?
จากman bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. แล้วอะไรคือความแตกต่างระหว่าง[ -a $FILE ]และ[ -e $FILE ]ถ้ามี? หากไม่มีความแตกต่างจริงเหตุใดจึงมีค่าสถานะสองค่าสำหรับจุดประสงค์เดียวกัน
12 bash  shell  test 

1
ฉันจะหยุดสี bash shell PS1 เพื่อหยุดที่ส่วนท้ายของคำสั่งได้อย่างไร
ฉันมีสี PS1 ที่กำหนดเองซึ่งฉันมีคำสั่งเชลล์จริงในสีที่แตกต่างดังนั้นฉันจึงสามารถดูว่าคำสั่งใดที่ฉันพิมพ์และแยกออกจากเอาต์พุตคำสั่งอย่างรวดเร็ว สมมติว่าสีใน PS1 ถูกตั้งค่าเป็น 'สีน้ำเงิน' สำหรับพรอมต์คำสั่งและสีเริ่มต้นในเปลือกของฉันเป็นสีขาว ฉันพิมพ์คำสั่งเช่น ls (ls -l เป็นสีน้ำเงิน) เอาต์พุตที่สร้างขึ้นบรรทัดแรกยังคงเป็นสีน้ำเงิน เส้นที่เหลือทั้งหมดมาเป็นสีขาว สิ่งที่ฉันต้องการคือผลลัพธ์ทั้งหมดหลังจากคำสั่งให้เป็น 'สีขาว' ตัวอย่างอื่น: ฉันพิมพ์คำสั่ง 'cat' สีจะเป็นสีน้ำเงิน เอาท์พุทมาเอาท์พุททั้งหมดเป็นสีฟ้า ฉันต้องการให้ผลลัพธ์เป็น 'สีขาว' ในขณะที่ยังคงพร้อมท์คำสั่งที่ฉันพิมพ์ 'สีน้ำเงิน' ในบางคำสั่งมันดีคำสั่งอื่น ๆ สีเดียวกันล้นในบรรทัดแรกของการส่งออกแล้วสีเริ่มต้นเตะในและคำสั่งอื่น ๆ บางส่วนเอาท์พุททั้งหมด (เช่น cat) มีสีเดียวกัน มีวิธีการเก็บเฉพาะคำสั่งที่ฉันพิมพ์ในสีเดียวและที่เหลือเป็นค่าเริ่มต้นหรือไม่? ฉันใช้ OSX แก้ไข # 1 นี่คือภาพหน้าจอที่ @ derobert เชื่อมโยงกับความคิดเห็นที่แสดงสิ่งที่ฉันกำลังมองหา
12 bash  prompt 

3
เข้าไปในไดเรกทอรีที่ลิงค์โดยลิงค์
เมื่อฉันcdลิงค์เส้นทางปัจจุบันของฉันจะถูกนำหน้าด้วยเส้นทางของลิงก์แทนที่จะเป็นเส้นทางของไดเรกทอรีที่ลิงก์ไปยังลิงก์ เช่น ~/dirlinks/maths$ ls -l logic lrwxrwxrwx 1 tim tim 71 Jul 27 10:24 logic -> /windows-d/academic discipline/study objects/areas/formal systems/logic ~/dirlinks/maths$ cd logic ~/dirlinks/maths/logic$ pwd /home/tim/dirlinks/maths/logic ~/dirlinks/maths/logic$ cd .. ~/dirlinks/maths$ ฉันต้องการให้เส้นทางปัจจุบันของฉันเปลี่ยนไปเป็นเส้นทางของ dir ที่เชื่อมโยงเพื่อที่ฉันจะสามารถทำงานกับผู้ปกครอง dirs ของ dir ที่เชื่อมโยงได้เช่นกัน นอกจากlsการเชื่อมโยงเพื่อค้นหา dir ที่เชื่อมโยงจากนั้นcdเข้าไปยังมันมีวิธีใดบ้างที่จะทำให้สำเร็จได้ง่ายขึ้น? ตัวอย่างเช่นหลังจากcdเป็นลิงก์คุณจะเปลี่ยนเส้นทางปัจจุบันเป็นเส้นทางของ dir ที่เชื่อมโยงได้อย่างไร

1
Linux น้อยที่สุดที่มีเคอร์เนลและ BusyBox: / etc / inittab จะถูกละเว้นจะดำเนินการ / init เท่านั้น
ฉันจัดการเพื่อสร้างซีดีลินุกซ์สดขนาดเล็กและใช้งานได้เต็มรูปแบบซึ่งมีเคอร์เนลเท่านั้น (คอมไพล์ด้วยตัวเลือกเริ่มต้น) และ BusyBox (คอมไพล์ด้วยตัวเลือกเริ่มต้น + สแตติกแอปเพล็ตทั้งหมดที่มีอยู่/sbin/init) ผมมีปัญหาใด ๆ ในการสร้างinitrdและเติม/dev, /procและ/sysและข้าพเจ้ายังมีปัญหาที่ไม่ทั้งหมดของฉันกับ/initเชลล์สคริปต์ เมื่อเร็ว ๆ นี้ฉันอ่านว่า BusyBox รองรับ/etc/inittabการกำหนดค่า (อย่างน้อยถึงระดับหนึ่ง) และฉันต้องการทำอย่างใดอย่างหนึ่งต่อไปนี้: ลืม/initเชลล์สคริปต์ของฉันและพึ่งพา/etc/inittabการกำหนดค่าทั้งหมด ใช้ทั้ง/initเชลล์สคริปต์และ/etc/inittabการกำหนดค่า ตอนนี้ปัญหาที่เกิดขึ้นจริง - ดูเหมือนว่า/etc/inittabจะถูกละเว้นอย่างสมบูรณ์เมื่อ distro บูตของฉัน อาการคือ: เมื่อฉันลบ/initและปล่อยให้/etc/inittabฉันจบลงด้วยความตื่นตระหนกเคอร์เนล สมมติฐานของฉันคือว่าเมล็ดไม่ได้ดำเนินการ/sbin/initเลยหรือว่า/sbin/initไม่พบ /etc/inittab(หรืออ่าน) ผมอ่านที่ BusyBox /etc/inittabควรปรับการทำงานได้โดยไม่ต้อง ดังนั้นฉันออกทั้งสอง/initและ/etc/inittabและคาดเดาสิ่งที่ - ตื่น kernel อีกครั้ง ผมพยายามที่จะดำเนินการ/sbin/initจากเปลือกของฉันและหลังจากที่หลายคาดเดาซึ่งรวมถึงexec /sbin/init, setsid /sbin/initและexec setsid /sbin/initฉันจบลงด้วยความตื่นตระหนกเคอร์เนล ทั้งที่มีและไม่มี / etc / inittab อยู่ในระบบไฟล์ นี่คือเนื้อหาของ/initสคริปต์เชลล์ของฉัน: …

2
SCP และเจ้าของไฟล์
อะไรคือสาเหตุที่ทำให้เกิดการเปลี่ยนแปลงในการเป็นเจ้าของไฟล์หลังจากที่scp'เปลี่ยนจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่น? ความเป็นเจ้าของไฟล์เปลี่ยนจาก ' owner ' เป็น ' apache ' scp -pผมใช้ ผู้ใช้ ' เจ้าของ ' มีอยู่ในเซิร์ฟเวอร์ทั้งสองและมี UID เดียวกัน
12 files  scp  chown 

5
คุณหยุด 'wget' หลังจากที่ได้รับ 404 ได้อย่างไร
หากคุณใช้การขยายรั้งด้วยwgetคุณสามารถดึงภาพที่มีหมายเลขตามลำดับได้อย่างง่ายดาย: $ wget 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg' มันดึง 10 ไฟล์แรก90.jpgที่ถูก99.jpgปรับให้เป็นตัวเลขแต่100.jpgกลับมาเป็นข้อผิดพลาด404: ไฟล์ไม่พบไฟล์ (ฉันมีเพียง 100 ภาพเก็บไว้ในเซิร์ฟเวอร์) ไฟล์ที่ไม่มีอยู่เหล่านี้กลายเป็น "ปัญหา" มากกว่าถ้าคุณใช้ช่วงที่ใหญ่กว่าเช่น{00..200}ด้วยไฟล์ที่ไม่มีอยู่ 100 ไฟล์มันจะเพิ่มเวลาในการเรียกใช้งานสคริปต์และอาจกลายเป็นภาระเล็กน้อย (หรืออย่างน้อยก็สร้างความรำคาญ) เซิฟเวอร์. มีวิธีใดบ้างที่wgetจะหยุดหลังจากได้รับข้อผิดพลาด 404 ครั้งแรกหรือไม่ (หรือดียิ่งขึ้นสองในแถวในกรณีที่มีไฟล์หายไปในช่วงด้วยเหตุผลอื่น) คำตอบไม่จำเป็นต้องใช้การขยายรั้ง; ลูปก็ดีเช่นกัน

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