Unix & Linux

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

1
ความหมายของ 'ln -sf' ใน Linux คืออะไร
ฉันมี 2 คำถาม ตัวแรกคือ-sfตัวเลือกและตัวที่สองสำหรับการใช้งาน-fตัวเลือกที่เฉพาะเจาะจงมากขึ้น โดย googling ฉันคิดออกคำอธิบายของคำสั่งlnตัวเลือกและ-s-f (คัดลอกจากhttp://linux.about.com/od/commands/l/blcmdl1_ln.htm ) -s, --symbolic : make symbolic links instead of hard links -f, --force : remove existing destination files ฉันเข้าใจตัวเลือกเหล่านี้เป็นรายบุคคล แต่วิธีที่สามารถใช้นี้-sและ-fตัวเลือกพร้อมกัน? -sใช้สำหรับสร้างไฟล์ลิงค์และ-fใช้สำหรับลบไฟล์ลิงค์ ฉันไม่เข้าใจสถานการณ์นี้และเหตุใดจึงต้องใช้ตัวเลือกการผสานนี้ หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับlnคำสั่งฉันได้ทำตัวอย่าง $ touch foo # create sample file $ ln -s foo bar # make link to file $ vim …
21 shell  ln 

3
การซ่อนเคอร์เซอร์ของเมาส์แบบไดนามิกเมื่อใช้หน้าจอสัมผัส
คำถามนี้ถูกย้ายจาก Ask Ubuntu เพราะสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 4 ปีที่แล้ว ฉันมีแล็ปท็อปหน้าจอสัมผัสและฉันต้องการซ่อนตัวชี้เมื่อใดก็ตามที่ฉันสัมผัสหน้าจอ ฉันรู้แก้ปัญหาเช่นunclutterและstartx -nocursorแต่ฉันต้องการตัวชี้ไปซ่อน / แสดงแบบไดนามิกที่หลบซ่อนตัวหากฉันใช้หน้าจอสัมผัสและแสดงเมื่อฉันใช้เมาส์ฮาร์ดแวร์ ฉันคิดเกี่ยวกับการทำสองพอยน์เตอร์แยกจากกันและใช้หนึ่งในสองวิธีด้านบนตัวชี้หน้าจอสัมผัส แต่ไม่มีวิธีการแก้ปัญหาเหล่านั้นพูดถึงวิธีการกำหนดเป้าหมายตัวชี้เดียวและมีพอยน์เตอร์หลายตัวทำให้สิ่งแปลก ๆ เคอร์เซอร์ของเมาส์ ฉันคิดว่าฉันสามารถทำสิ่งนี้ได้อย่างสมเหตุสมผลการติดตามกลไกการป้อนข้อมูลในปัจจุบันและดำเนินการxinput -cursor [transparent cursor]เมื่อใดก็ตามที่มีการใช้หน้าจอสัมผัสและxinput -cursor [normal cursor]เมื่อใดก็ตามที่ใช้เมาส์ปกติ ฉันดูที่ xinput และดูเหมือนว่าเนื่องจากทั้งฮาร์ดแวร์เมาส์และหน้าจอสัมผัสถูกเลื่อนไปที่ตัวชี้เดียวกันทั้งคู่ลงทะเบียนเหตุการณ์เดียวกันใน xev ดังนั้นฉันจึงไม่แน่ใจว่าฉันจะได้รับข้อมูลที่จำเป็นในการแยกสัมผัสที่แตกต่างกันอย่างไร จาก mouseclick มันเป็นไปได้?
21 xorg  xinput 

4
ฉันจะป้องกันไม่ให้ sed -i ทำลาย symlink ได้อย่างไร
ทำไมsed -iการดำเนินการของ symlink จึงทำลายลิงก์นั้นและแทนที่ด้วยไฟล์ปลายทาง จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร เช่น. $ ls -l pet* -rw-rw-r-- 1 madneon madneon 4 mar 23 16:46 pet lrwxrwxrwx 1 madneon madneon 6 mar 23 16:48 pet_link -> pet $ sed -i 's/cat/dog/' pet_link $ ls -l pet* -rw-rw-r-- 1 madneon madneon 4 mar 23 16:48 pet -rw-rw-r-- 1 …
21 sed  symlink 

1
หน้าจอสลัวทำอย่างไรแม้ว่าจะต่ำกว่าระดับต่ำสุดจริง ๆ ?
แล็ปท็อปของฉัน (Toshiba Sattelite) สว่างเกินไปแม้ในสภาพแวดล้อมภายนอกจากวันที่ผ่านมาและฉันต้องสามารถหรี่แสงได้ต่ำกว่าการตั้งค่าขั้นต่ำ ~#cat /sys/class/backlight/acpi_video0/brightness ~#0 การตั้งค่าที่ด้านล่าง 0 จะไม่ทำงานและแอปเช่นเดียวfluxกับแฮกเกอร์บางคนที่บังคับให้เข้าสู่โหมดกลางคืนผ่านสคริปต์โดยการเลื่อนเขตเวลาล้มเหลวในการทำมากเกินไปและปล่อยให้สีเหลืองแน่นอน มีวิธีการบางอย่างในการตั้งค่าให้ต่ำกว่าระดับต่ำสุดอย่างใดหรือไม่? (ใช้การ์ด nvidia รวมอยู่ด้วย) มีโปรแกรมที่ฉันหายไปซึ่งจะทำให้มืดลงโดยการวางทับสีดำใสหรือไม่?

5
วิธีจับคู่ * กับไฟล์ที่ซ่อนอยู่ในไดเรกทอรี
วิธีจับคู่ไฟล์ที่ซ่อนอยู่ในไดเรกทอรีที่กำหนด ตัวอย่างเช่น ถ้าฉันให้คำสั่งด้านล่างมันไม่ได้ให้ผลลัพธ์ของไฟล์ที่ซ่อนอยู่ du -b maybehere*/* วิธีการทำให้ง่าย ๆ นี้โดยใช้คำสั่งเดียวแทนที่จะใช้ du -b maybehere*/.* maybehere*/* เพราะฉันต้องพิมพ์บางทีสองครั้ง


8
วิธีใช้ grep และ cut in script เพื่อรับ URL เว็บไซต์จากไฟล์ HTML
ฉันกำลังพยายามใช้ grep และตัดเพื่อแยก URL จากไฟล์ HTML ลิงค์มีลักษณะดังนี้: <a href="http://examplewebsite.com/"> เว็บไซต์อื่น ๆ ที่มี.net, แต่ฉันคิดว่าฉันจะให้ตัดออกจากจุดที่เหมาะสมก่อน.gov >ดังนั้นฉันรู้ว่าฉันสามารถใช้ grep และตัดเพื่อตัดทุกอย่างก่อน http และหลัง. com แต่ฉันติดอยู่ในขณะนี้


2
วิธีกำหนดค่า 'htop' เพื่อแสดงบรรทัดคำสั่งทั้งหมด
มันมีวิธีการแสดงบรรทัดคำสั่งที่สมบูรณ์ในhtop(เช่นในหลายบรรทัดหรือมีแบนเนอร์เคลื่อนไหว) ด้วยการตั้งค่าเริ่มต้นที่แสดงบรรทัดเดียวเท่านั้นจึงไม่สามารถแยกกระบวนการทั้งหมดได้เช่นjavaโปรแกรมที่แตกต่างกัน(เนื่องจากอาร์กิวเมนต์คลาสหรือ jar ตามหลังอาร์กิวเมนต์จำนวนมาก) หรือโปรแกรมที่มีเส้นทางไบนารีที่ยาวสมบูรณ์ การข้ามเส้นทางสัมบูรณ์แบบสมบูรณ์ในความโปรดปรานของไบนารีเท่านั้นจะเป็นการประนีประนอมซึ่งความแตกต่างจะไม่เหมาะสม แต่จะดีกว่าในบางกรณี ฉันตรวจสอบการตั้งค่าและ manpage และไม่พบตัวเลือกที่เหมาะสมกับความเข้าใจของฉัน
21 htop 


3
Sed - แทนที่อักขระในบรรทัดที่ตรงกันใช่หรือไม่
ในไฟล์ที่มีบรรทัดเช่นนี้: # lorem ipsum blah variable ฉันต้องการลบ#อักขระ (ความคิดเห็น) ในบรรทัดเดียวกันที่มีสตริงที่เฉพาะเจาะจงแทน เป็นsedสิ่งที่ดีสำหรับเรื่องนี้? ฉันกำลังดิ้นรนเพื่อให้การทำงานแบบมีเงื่อนไขนี้ ฉันมี "เงอะงะ" วิธีการทำเช่นนี้; ฉันสามารถค้นหาหมายเลขบรรทัดที่ตรงกันด้วยawkหรือsedจากนั้นใช้หมายเลขนี้ในsedคำสั่งแยกกันแต่ฉันเชื่อว่าสิ่งนี้สามารถทำได้ในวิธีที่ดีกว่ามาก
21 sed 

2
ค้นหาไดเรกทอรีและไฟล์ที่มีสิทธิ์อื่นนอกเหนือจาก 775/664
ฉันกำลังย้ายเว็บไซต์จากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งและ Git ไม่ได้จัดเก็บข้อมูลเมตาเช่นการอนุญาตไฟล์ ฉันต้องการค้นหาไดเรกทอรีและไฟล์ที่ไม่ใช่ 775/664 ตามลำดับ ตอนนี้ฉันกำลังใช้การคุมกำเนิดด้วยก้อนกรวดนี้: $ find . -type d -exec ls -la {} \; | grep ^d | grep -v ^drwxrwxr-x $ find . -type f -exec ls -la {} \; | grep -v ^d | grep -v ^-rw-rw-r-- | grep -v '.git' แม้ว่ามันจะใช้ได้ดี แต่ฉันรู้สึกว่ามันค่อนข้างแฮ็ก มีวิธีที่ดีกว่าในการทำเช่นนี้อาจเป็นวิธีมาตรฐานหรือฉันควรจะแฮ็ค? สิ่งนี้ทำงานบน …
21 permissions  find 

2
สิ่งที่จำเป็นสำหรับการเริ่มระบบน้อยที่สุดเพื่อเปิดใช้ getty บนคอนโซลเสมือน
สำหรับ SysV initฉันต้อง/etc/inittabrespawning รายการเก็ตตี้ที่/sbin/initไบนารีไบนารีและห้องสมุดที่ใช้ร่วมกันสำหรับเปลือกloginที่gettyที่ PAM / การรักษาความปลอดภัย / สิ่งเงาและอุปกรณ์ไม่กี่ไฟล์ สำหรับupstartฉันต้องการความต้องการเดียวกันค่อนข้างมาก แต่แทนที่จะ/etc/inittabมี*.confไฟล์บางไฟล์ภายใต้/etc/init: หนึ่ง * .conf start on startupที่ตั้ง runlevel ด้วยtelinitและหนึ่ง * .conf สำหรับแต่ละ tty ที่เริ่ม / respawn gettyบน tty นั้นบน runlevels ที่เหมาะสม . ฉันต้องการการกำหนดค่าและไบนารีsystemd initอะไร ดูเหมือนว่าเอกสารทั้งหมดที่ฉันจะมุ่งเน้นไปที่วิธีการใช้ระบบที่ติดตั้งแล้วเพื่อเริ่มและหยุดบริการ รายการไฟล์ที่จะคัดลอก (ยกเว้นเคอร์เนล / initrd) จากการติดตั้งArchหรือfedora ที่ใช้งานจะทำได้ดี แต่ฉันไม่สามารถหาข้อมูลประเภทsystemdนั้นได้ สิ่งที่ผมอยากจะรู้ว่าคือสำหรับsystemdสิ่งที่ไฟล์จะถูกต้องและสิ่งที่พวกเขาจะต้องมีการเริ่มต้นเปลือกเข้าสู่ระบบหลังจาก initramfs ไม่ได้ของการเรียกไปยังswitch_rootsystemd /sbin/init ตัวอย่างเช่นupstartไบนารีและสอง*.confไฟล์: ไฟล์/etc/init/whatever.conf: เริ่มต้นเมื่อเริ่มต้น ปล่อย …
21 boot  systemd 

13
ฉันจะลบความคิดเห็นทั้งหมดจากไฟล์ได้อย่างไร
ฉันมีไฟล์ที่มีความคิดเห็น: foo bar stuff #Do not show this... morestuff evenmorestuff#Or this ฉันแค่ต้องการพิมพ์รหัสที่ไม่ใส่เครื่องหมายทั้งหมด: foo bar stuff morestuff evenmorestuff ความสามารถในการตัดความคิดเห็นออกจากไฟล์เป็นสิ่งสำคัญ ... วิธีการที่ดีคืออะไร

3
วิธีการ“ ถูกต้อง” เริ่มโปรแกรมประยุกต์จากเปลือก
ฉันพบว่ามันยากที่จะตอบคำถามอย่างแม่นยำ แต่ฉันจะทำให้ดีที่สุด ฉันใช้dwmเป็นตัวจัดการหน้าต่างเริ่มต้นและdmenuเป็นตัวเรียกใช้แอปพลิเคชันของฉัน ฉันแทบจะไม่ได้ใช้แอปพลิเคชัน GUI นอกเหนือจากเบราว์เซอร์ของฉัน งานส่วนใหญ่ของฉันทำได้โดยตรงจากบรรทัดคำสั่ง นอกจากนี้ฉันเป็นแฟนตัวยงของความเรียบง่ายเกี่ยวกับระบบปฏิบัติการแอปพลิเคชั่นและอื่น ๆ หนึ่งในเครื่องมือที่ฉันไม่เคยได้รับคือตัวเปิดแอปพลิเคชัน สาเหตุหลักมาจากฉันขาดความเข้าใจที่แม่นยำในการทำงานของโปรแกรมเรียกใช้งาน / สิ่งที่พวกเขาทำ แม้การค้นหาทางอินเทอร์เน็ตที่ครอบคลุมจะแสดงคำอธิบายที่คลุมเครือเท่านั้น สิ่งที่ฉันต้องการจะทำคือกำจัดแม้กระทั่งตัวเรียกใช้งานแอปพลิเคชันของฉันเพราะนอกเหนือจากการวางไข่แอปพลิเคชันจริง ๆ แล้วฉันไม่ได้ใช้มันอย่างแน่นอน ในการทำเช่นนี้ฉันอยากจะรู้วิธีการ "เริ่มต้น" แอปพลิเคชันจากเปลือก โดยที่ความหมายของ "ถูกต้อง" สามารถประมาณได้โดย "เหมือนตัวเรียกใช้งานแอปพลิเคชันจะทำ" ฉันรู้เกี่ยวกับวิธีต่อไปนี้เพื่อวางไข่กระบวนการจากเปลือก: exec /path/to/Program แทนที่เชลล์ด้วยคำสั่งที่ระบุโดยไม่ต้องสร้างกระบวนการใหม่ sh -c /path/to/Program เรียกใช้กระบวนการที่ขึ้นกับเชลล์ /path/to/Program เรียกใช้กระบวนการที่ขึ้นกับเชลล์ /path/to/Program 2>&1 & เรียกใช้กระบวนการอิสระเชลล์ nohup /path/to/Program & เรียกใช้กระบวนการเชลล์อิสระและเปลี่ยนทิศทางเอาต์พุตไปที่ nohup.out อัปเดต 1: ฉันสามารถแสดงให้เห็นว่าอะไรเช่นdmenuสร้างใหม่จากการโทรซ้ำไปยังps -eflเงื่อนไขที่แตกต่างกัน มัน spawns เปลือกใหม่และเป็นลูกของนี้เปลือกแอพลิเคชัน/bin/bash …
21 shell  exec 

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