Unix & Linux

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


2
ด้านบนและ ps ไม่แสดงผลลัพธ์ cpu เดียวกัน
นี้มีการเชื่อมโยงนี้คำถาม เมื่อฉันเรียกใช้topฉันได้รับผลลัพธ์ต่อไปนี้: pid 3038ใช้ 18% cpu อย่างไรก็ตามเมื่อทำงาน ผลลัพธ์ที่ได้คือ 5.5% และจำนวนนี้ดูเหมือนจะไม่เปลี่ยนแปลงตามเวลา (เช่นเมื่อใช้คำสั่งเดียวกันในภายหลัง) ... เป็นpsคำสั่งอย่างใดค่าเฉลี่ยการใช้งาน CPU?
54 cpu  top  ps 


13
จะตรวจสอบความคืบหน้าของการรัน cp ได้อย่างไร?
เป็นไปได้หรือไม่ที่จะตรวจสอบความคืบหน้าของการรันกระบวนการ cp? กระบวนการบางอย่างตอบสนองต่อสัญญาณ KILL ต่างๆเพื่อให้คุณสามารถตรวจสอบสถานะของพวกเขาได้ ฉันรู้ว่าฉันสามารถเรียกใช้ cp ด้วยพารามิเตอร์ -v แต่ถ้าลืมที่จะทำเช่นนั้น cp กำลังทำงานอยู่เป็นเวลานานมากและฉันต้องการที่จะรู้ว่าไฟล์ใดที่จะถูกคัดลอกหรือจำนวนที่ถูกคัดลอกแล้ว
54 cp 

6
ฉันจะแปลง PNG เป็น PDF ด้วยคุณภาพสูงได้อย่างไรจึงไม่พร่ามัวหรือเลือน
มีคำถามมากมายเกี่ยวกับการแปลงไฟล์ PDF เป็นภาพ PNG แต่ฉันกำลังมองหาไฟล์ PNG ที่คมชัดและเพียงแค่หุ้มมันหรือฝังในไฟล์ PDF โดยไม่ทำให้มันพร่ามัวหรือ เลือน ฉันตระหนักถึงการติดตั้ง imagemagic ฉันสามารถทำการแปลงง่าย ๆ เช่น: convert sample.png sample.pdf ฉันได้ลองสวิตช์มากมายเพื่อตั้งค่าความลึกและการตั้งค่าคุณภาพ: convert -quality 100 sample.png sample.pdf อย่างไรก็ตาม PDF ยังคงออกมาดูพร่ามัว / เลือน นี่คือภาพตัวอย่าง: http://img406.imageshack.us/img406/6461/picture3mu.png ในฐานะที่เป็น png มันคมชัดและสะอาด เมื่อฉันแปลงเป็น PDF แม้ในขนาดเดียวกันมันก็ดูพร่ามัว: รูปภาพ 4.png http://img803.imageshack.us/img803/9969/picture4at.png ฉันจะแปลง PNG เป็น PDF ด้วยคุณภาพสูงได้อย่างไร

3
รีเฟรช alias และฟังก์ชั่นใหม่หลังจากกำหนด alias และฟังก์ชั่นใหม่หรือไม่?
เมื่อฉันกำหนดนามแฝงใหม่ใน.bash_aliasesไฟล์หรือฟังก์ชั่นใหม่ใน.bashrcไฟล์มีคำสั่งรีเฟรชที่จะสามารถใช้นามแฝงหรือฟังก์ชั่นใหม่ได้ทันทีโดยไม่ต้องปิดเทอร์มินัล (ในกรณีของฉัน xfce4 เทอร์มินัล และในระหว่างการทำงาน)

5
Cygwin ไม่มีคำสั่งดู?
ฉันติดตั้ง Cygwin บน Windows XP เพื่อใช้คำสั่งบางอย่าง ตอนนี้ฉันจะตรวจสอบไฟล์ทุก 2 นาทีและต้องการใช้ watch เพื่อจุดประสงค์นี้ แต่ฉันเห็นว่า Cygwin ไม่มีคำสั่งดังกล่าว นี่เป็นเรื่องจริงหรือ ฉันควรทำอะไรแทน
54 cygwin  watch 

6
วิธีคัดลอกไฟล์บางไฟล์ แต่ไม่ใช่ทั้งหมด?
ดังนั้นคุณสามารถใช้*เป็นบัตรเสริมสำหรับไฟล์ทั้งหมดเมื่อใช้cpภายในบริบทของไดเรกทอรี มีวิธีการคัดลอกไฟล์ทั้งหมดยกเว้นxไฟล์หรือไม่
54 bash  shell  wildcards 

8
ย้าย `rm` ไปที่ถังขยะ
มี Linux สคริปต์ / แอปพลิเคชันซึ่งแทนที่จะลบไฟล์ย้ายพวกเขาไปยังตำแหน่ง "ขยะ" พิเศษหรือไม่? ฉันต้องการสิ่งนี้แทนrm(อาจเป็นนามแฝงหลังมีข้อดีและข้อเสียสำหรับการที่) โดย“ ถังขยะ” ฉันหมายถึงโฟลเดอร์พิเศษ เดียวmv $* ~/.trashเป็นขั้นตอนแรก แต่นึกคิดนี้ควรจัดการ trashing หลายไฟล์ที่มีชื่อเดียวกันโดยไม่เขียนทับไฟล์ถังขยะเก่าและอนุญาตให้มีการเรียกคืนไฟล์ไปยังตำแหน่งเดิมของพวกเขาด้วยคำสั่งง่ายๆ (ชนิดของ“ยกเลิก”) ยิ่งไปกว่านั้นมันจะดีถ้าถังขยะถูกรีบูทโดยอัตโนมัติเมื่อรีบูท (หรือกลไกที่คล้ายกันเพื่อป้องกันการเติบโตไม่สิ้นสุด) โซลูชันบางส่วนสำหรับสิ่งนี้มีอยู่จริง แต่การกระทำ“ คืนค่า” โดยเฉพาะนั้นไม่สำคัญ มีโซลูชันที่มีอยู่สำหรับสิ่งนี้ซึ่งไม่พึ่งพาระบบถังขยะจากเชลล์กราฟิกหรือไม่? (นอกเหนือจากนี้มีการพูดคุยกันอย่างไม่รู้จบไม่ว่าจะเป็นวิธีการที่เป็นธรรมมากกว่าการใช้การสำรองข้อมูลบ่อยครั้งและ VCS ในขณะที่การสนทนาเหล่านั้นมีประเด็นผมเชื่อว่ายังคงมีช่องสำหรับคำขอของฉัน)
54 shell  rm 


3
ฉันจะ“ เชื่อมโยง” symlink ที่ใช้งานไม่ได้อีกครั้งได้อย่างไร
ฉันมีแผนผังไดเรกทอรีที่มีลิงก์สัญลักษณ์ไปยังไฟล์ภายใต้/home... อย่างไรก็ตามฉันย้าย/homeไป/mnt/homeแล้วและต้องการวิธี "เชื่อมโยง" ลิงก์ทั้งหมดใหม่ มีฟังก์ชั่นดังกล่าวอยู่หรือฉันต้องเขียนสคริปต์เพื่อทำเช่นนั้น? ตัวอย่างเช่นฉันมีสิ่งต่อไปนี้: [root@trees ~]# ls -l /mnt/home/someone/something total 4264 lrwxrwxrwx 1 jnet www-data 55 2011-08-07 13:50 a -> /home/someone/someotherthing/a lrwxrwxrwx 1 jnet www-data 55 2011-08-07 13:50 b -> /home/someone/someotherthing/b lrwxrwxrwx 1 jnet www-data 55 2011-08-07 13:50 c -> /home/someone/someotherthing/c lrwxrwxrwx 1 jnet www-data 55 2011-08-07 13:50 …

2
pwd ที่ไม่มี symlinks
ถ้าฉันpwdสังเกตเห็นว่ามันใช้ symlink อะไรก็ตามที่ฉันเคยเข้าไปในไดเรกทอรีปัจจุบัน ฉันสามารถบอกให้ฉันทราบไดเรกทอรี "ของจริง" ที่ฉันอยู่หรือไม่ ... คือเส้นทางจากรูทไปยังไดเรกทอรีปัจจุบันของฉันโดยไม่ใช้ symlink ใด ๆ
54 symlink 

6
วิธีที่ดีที่สุดในการติดตามบันทึกและดำเนินการคำสั่งเมื่อมีข้อความปรากฏในบันทึก
ฉันมีบันทึกเซิร์ฟเวอร์ที่แสดงบรรทัดข้อความเฉพาะลงในไฟล์บันทึกเมื่อเซิร์ฟเวอร์หยุดทำงาน ฉันต้องการรันคำสั่งเมื่อเซิร์ฟเวอร์ทำงานและด้วยเหตุนี้ให้ทำสิ่งต่อไปนี้: tail -f /path/to/serverLog | grep "server is up" ...(now, e.g., wget on server)? วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

2
เทียบเท่าบรรทัดคำสั่ง 'น้อย' ของ 'tail -f'
tail -fฉันต้องการที่จะเปิดไฟล์โดยใช้น้อยลงและมีมันโดยอัตโนมัติเลื่อนไฟล์คล้ายกับ ฉันรู้ว่าฉันสามารถทำless fileแล้วกดShift-Fเพื่อส่งต่อไปตลอดกาล; tail -fเช่น ฉันต้องการlessเพราะมันให้--raw-control-charsธงซึ่งเป็นสิ่งจำเป็นเพราะอินพุตของฉันมีสีสัน
54 shell  less  tail 

7
ใครมีปลายอีกด้านของซ็อกเก็ตยูนิกซ์นี้?
ฉันต้องการตรวจสอบว่ากระบวนการใดมีส่วนอื่น ๆ ของซ็อกเก็ต UNIX โดยเฉพาะฉันถามเกี่ยวกับสิ่งที่สร้างขึ้นด้วยsocketpair()แม้ว่าปัญหาจะเหมือนกันสำหรับซ็อกเก็ต UNIX ใด ๆ ผมมีโปรแกรมparentที่สร้างsocketpair(AF_UNIX, SOCK_STREAM, 0, fds)และfork()s กระบวนการหลักปิดfds[1]และfds[0]ทำการสื่อสารต่อไป close(fds[0]); s=fds[1]เด็กไม่ตรงข้าม จากนั้นเด็กก็เข้าexec()ร่วมโปรแกรมอื่น, child1. ทั้งสองสามารถสื่อสารไปมาผ่านซ็อกเก็ตคู่นี้ได้ ตอนนี้ขอบอกว่าฉันรู้ว่าใครparentเป็น แต่ฉันต้องการที่จะคิดออกที่child1เป็น ฉันจะทำสิ่งนี้ได้อย่างไร มีเครื่องมือหลายอย่างที่ฉันจัดการ แต่ไม่มีใครสามารถบอกได้ว่ากระบวนการใดอยู่ที่ปลายอีกด้านของซ็อกเก็ต ฉันเหนื่อย: lsof -c progname lsof -c parent -c child1 ls -l /proc/$(pidof server)/fd cat /proc/net/unix โดยพื้นฐานแล้วฉันสามารถเห็นซ็อกเก็ตทั้งสองและทุกอย่างเกี่ยวกับพวกเขา แต่ไม่สามารถบอกได้ว่าพวกเขาเชื่อมต่อกัน ฉันพยายามระบุว่า FD ใดในผู้ปกครองกำลังสื่อสารกับกระบวนการลูก

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