Unix & Linux

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

3
วิธีรันไทม์บนหลายคำสั่งและเขียนเอาต์พุตเวลาไปยังไฟล์?
ฉันต้องการเรียกใช้timeคำสั่งเพื่อวัดเวลาของคำสั่งต่างๆ สิ่งที่ฉันต้องการจะทำคือ: วัดเวลาในการทำงานของพวกเขาทั้งหมดเข้าด้วยกัน เขียนtimeเอาต์พุตไปยังไฟล์ เขียนSTDERRจากคำสั่งที่ฉันวัดSTDERR สิ่งที่ฉันไม่ต้องการทำคือ เขียนคำสั่งต่าง ๆ ลงในสคริปต์แยกต่างหาก (เพราะเหตุใดเพราะทั้งหมดนี้เป็นสคริปต์ที่ฉันสร้างขึ้นมาโดยทางโปรแกรมแล้วและการสร้างสคริปต์ชั่วคราวอีกอันหนึ่งจะเป็นระเบียบมากกว่าที่ฉันต้องการ) สิ่งที่ฉันพยายาม: /usr/bin/time --output=outtime -p echo "a"; echo "b"; ใช้งานไม่ได้ทำงานtimeเฉพาะกับเครื่องแรกเท่านั้น /usr/bin/time --output=outtime -p ( echo "a"; echo "b"; ) ไม่ทำงาน(เป็นโทเค็นที่ไม่คาดคิด /usr/bin/time --output=outtime -p { echo "a"; echo "b"; } ไม่ทำงาน "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" /usr/bin/time --output=outtime -p ' echo "a"; echo "b";' ไม่ทำงาน "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" …

6
เป็นไปได้หรือไม่ที่จะเมานต์รูปภาพ dz ที่ถูกบีบอัดใน gzip?
ฉันชอบสร้างการสำรองข้อมูลรูปภาพเป็นครั้งแรกที่ฉันสำรองข้อมูลระบบ หลังจากครั้งแรกนี้ฉันใช้ rsync เพื่อสำรองข้อมูลเพิ่มเติม สำรองรูปภาพปกติของฉันเป็นดังนี้: เมานต์และปล่อยพื้นที่ว่างให้ว่าง: dd if=/dev/zero of=temp.dd bs=1M rm temp.dd ขยายและ dd ไดรฟ์ในขณะที่บีบอัด dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.ddimg.gz เพื่อให้ระบบกลับสู่ปกติฉันมักจะทำ gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda conv=sync,noerror bs=64K นี่เป็นเรื่องตรงไปตรงมาและทำให้ฉันสามารถบันทึก 'ไดรฟ์ทั้งหมด' ได้ แต่เพียงประหยัดพื้นที่ที่ใช้ นี่คือปัญหา ให้บอกว่าฉันทำข้างต้น แต่ไม่ได้อยู่ในระบบที่สะอาดและไม่ได้รับการสำรองข้อมูล rsync ในไม่ช้าและมีไฟล์ที่ฉันต้องการเข้าถึงที่อยู่ในภาพ สมมติว่าฉันไม่มีพื้นที่เก็บข้อมูลเพื่อคลายซิปและ dd อิมเมจลงในไดรฟ์ แต่ต้องการเมานต์อิมเมจเพื่อแยกไฟล์แต่ละไฟล์ออกไป .... มันเป็นไปได้ไหม? ปกติแล้วจะไม่มีการบีบอัดภาพ dd …

8
ฉันจะส่งอีเมล HTML โดยใช้คำสั่ง 'linux' ของ linux ได้อย่างไร
mail -s "subject" xxxxx@gmail.com <test.html ใช้งานได้ แต่สำหรับอีเมลข้อความธรรมดาเท่านั้น วิธีที่ถูกต้องในการส่งอีเมล HTML โดยใช้คำสั่ง Linux mailคืออะไร


4
การย้าย linux ติดตั้งไปยังคอมพิวเตอร์เครื่องใหม่
ฉันรู้ว่าในบางกรณีอาจเป็นการยากที่จะย้ายการติดตั้ง Windows จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง (ย้ายฮาร์ดไดรฟ์ทางกายภาพ) แต่วิธีการนั้นทำงานบน linux ได้อย่างไร โมดูลไดรเวอร์ส่วนใหญ่ไม่โหลดเมื่อทำการบูทหรือไม่ ดังนั้นในทางทฤษฎีแล้วมันจะเป็นเรื่องยุ่งยากขนาดใหญ่หรือไม่? เห็นได้ชัดว่าการกำหนดค่า xorg จะเปลี่ยนไปและไดรเวอร์ ATI ที่เป็นกรรมสิทธิ์และสิ่งนั้นจะต้องมีการคอมไพล์ใหม่ มีอะไรมากกว่าที่ฉันคิด สมมติว่าคอมพิวเตอร์ 2 เครื่องนั้นมาจากยุคเดียวกันนั่นคือทั้ง i7s และฮาร์ดแวร์แตกต่างกันเล็กน้อย ปรับปรุง: ขอบคุณสำหรับคำตอบ นี่เป็นส่วนใหญ่สำหรับความอยากรู้ของฉันเอง ฉันมีระบบลินุกซ์ของฉันและทำงานในที่ทำงาน แต่ในที่สุดฉันต้องการย้ายไปยังคอมพิวเตอร์ที่ฉันสามารถใช้การ์ดวิดีโอคู่เข้าเพื่อให้ฉันสามารถเรียกใช้จอภาพมากกว่า 2 จอ แต่ไม่มีเวลาเร็ว ๆ นี้

10
คุณจะเตะผู้ใช้ที่เป็นพิษเป็นภัยออกจากระบบของคุณได้อย่างไร?
ฉันกำลังทำ Google เมื่อไม่นานมานี้และสังเกตเห็นสองวิธี แต่ฉันเดาว่า google ไม่รู้จักเลย ดังนั้นคุณจะเตะผู้ใช้ออกจากกล่อง Linux ของคุณได้อย่างไร คุณจะเห็นว่าพวกเขาเข้าสู่ระบบได้อย่างไรตั้งแต่แรก? และที่เกี่ยวข้อง ... วิธีการของคุณใช้งานได้หรือไม่หากผู้ใช้ลงชื่อเข้าใช้ X11 DE (ไม่ใช่ข้อกำหนดที่ฉันอยากรู้)

5
ฉันจะป้องกันไม่ให้เซสชัน SSH ของฉันหยุดนิ่งได้อย่างไร
ฉันมีServerAliveIntervalและในกรณีที่มีเครื่องไม่กี่เครื่องที่ClientAliveIntervalตั้งค่าเป็น 540 ในไฟล์การกำหนดค่าไคลเอนต์ / เซิร์ฟเวอร์ SSH (ฉันคิดว่าการตั้งค่าเป็นมากกว่านั้นจะไม่ใช่ความคิดที่ดี) ฉันทำงานกับเซสชัน SSH จำนวนมากซึ่งปัจจุบันหยุดทำงานหลังจากไม่กี่นาที ฉันจะแก้ไขได้อย่างไร สิ่งที่ฉันต้องการคือการมีเซสชั่นที่จะไม่หยุดเลยดังนั้นถ้าฉันเปิดเซสชั่นที่ 8 และไม่ใช้มันเป็นเวลา 4 ชั่วโมงตัวอย่างเช่นยังคงใช้อีกครั้งที่ 12 โดยไม่ต้องเข้าสู่ระบบอีกครั้ง .
66 ssh 

4
ใช้ - รวมกับคำสั่ง du
นี่อาจเป็นสิ่งพื้นฐาน แต่ฉันไม่สามารถทำงานได้ ฉันพยายามใช้ DU เพื่อให้ได้ขนาดไฟล์โดยรวมลบไดเรกทอรีบางตัว ฉันจำเป็นต้องยกเว้นไดเรกทอรีหนึ่งที่เฉพาะเจาะจงเรียกแต่ไม่ทุกไดเรกทอรีที่เรียกว่าuploads uploadsตัวอย่างเช่นโครงสร้างไฟล์ของฉันมีลักษณะเช่นนี้: /store /uploads /junk_to_ignore /more_junk_to_ignore /user_one /uploads /user_two ฉันสามารถเรียกใช้คำสั่งต่อไปนี้: du -ch --exclude=uploads* และมันทำให้ฉันมีขนาดไฟล์ลบไดเรกทอรี "อัพโหลด" ทั้งหมด อย่างไรก็ตามในการพยายามที่จะแยกไดเรกทอรี (และไดเรกทอรีย่อยทั้งหมด) ฉันล้มเหลว ฉันได้ลองแล้ว: du -ch --exclude=./uploads* du -ch --exclude='/full/path/to/uploads/*' แต่ดูเหมือนจะไม่สามารถคิดออก ฉันจะแยกไดเรกทอรีเฉพาะได้อย่างไร


13
แก้ไขการล็อคในเชลล์สคริปต์หรือไม่
บางครั้งคุณต้องตรวจสอบให้แน่ใจว่ามีเพียงหนึ่งอินสแตนซ์ของเชลล์สคริปต์เท่านั้นที่ทำงานพร้อมกัน ตัวอย่างเช่นงาน cron ซึ่งดำเนินการผ่าน crond ที่ไม่มีการล็อคด้วยตนเอง (เช่น Solaris crond เริ่มต้น) รูปแบบทั่วไปที่จะใช้การล็อคคือรหัสดังนี้: #!/bin/sh LOCK=/var/tmp/mylock if [ -f $LOCK ]; then # 'test' -> race begin echo Job is already running\! exit 6 fi touch $LOCK # 'set' -> race end # do some work rm $LOCK แน่นอนรหัสดังกล่าวมีสภาพการแข่งขัน มีหน้าต่างเวลาที่การประมวลผลของทั้งสองอินสแตนซ์สามารถเลื่อนไปข้างหลังบรรทัดที่ 3 ก่อนที่จะสามารถแตะ$LOCKไฟล์ได้ สำหรับงาน …

1
Sticky bit เดิมทำอะไรเมื่อนำไปใช้กับไฟล์
ในสถานที่ต่าง ๆ เราจะเห็นว่า "เหนียวบิต" ที่ถูกกล่าวหาว่าทุกวันนี้เป็นคนเรียกชื่อผิดอย่างสมบูรณ์เนื่องจากการทำงานของมันในปัจจุบันคือการส่งผลกระทบต่อสิทธิ์การเขียนในไดเรกทอรีและทำหน้าที่เป็นธงลบที่ถูก จำกัด ใน AskUbuntu ตอบตอบเขียนว่า"บิตเหนียวมักจะนำไปใช้กับไดเรกทอรี" ผมสังเกตเห็นว่าระบบที่ทันสมัยแน่นอนดูเหมือนในทางปฏิบัติที่จะไม่นำไปใช้กับไฟล์ แต่ที่เป็นเวลานานที่ผ่านมาปกติกรณีที่เป็นมันจะนำไปใช้ (ภาพที่โปรแกรมปฏิบัติการ) ไฟล์มากกว่าที่จะไดเรกทอรี (เมื่อพูดถึงความยุ่งเหยิงของการใช้งานที่ทันสมัยในไฟล์มีคำถามที่เกี่ยวข้องที่Is sticky bit ไม่ได้ใช้ในระบบไฟล์ปัจจุบัน ) สิ่งนี้ทำให้คำถาม: สิ่งที่ไม่บิตเหนียวนำไปใช้ปฏิบัติการทำอย่างไร มันเหมือน setuid ไหม? หมายเหตุกาลที่ผ่านมา นี่ไม่ใช่วิธีการทำงานของหมุด? ตอนนี้ มันเป็นวิธีที่ใช้ในการทำงานแล้ว

6
เรียกใช้คำสั่งเชลล์ใน Python
ฉันกำลังศึกษาการทดสอบการเจาะและการเขียนโปรแกรม Python ฉันแค่อยากรู้ว่าฉันจะดำเนินการกับคำสั่ง Linux ใน Python อย่างไร คำสั่งที่ฉันต้องการดำเนินการคือ: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 ถ้าฉันใช้printPython และรันในเทอร์มินัลมันจะเหมือนกับการใช้งานเหมือนกับว่าคุณพิมพ์ด้วยตัวเองและกดEnter?
65 python 

3
อะไรคือความแตกต่างระหว่างคำสั่งเหล่านี้เพื่อนำเซิร์ฟเวอร์ Linux ลงมา?
การอ่าน"คำสั่ง Halt และ Shutdown แตกต่างกันอย่างไร" โดยทั่วไปฉันมีความคิดว่าการปิดคำสั่งทำอะไรโดยมีหรือไม่มีตัวเลือก -h / -r คำสั่ง "halt" จะทำการปิดระบบเพื่อให้ทำงานในระดับ 0 ของระบบ คำสั่ง "shutdown" ดำเนินการปิดระบบเพื่อรันระดับ 1 โดยไม่มีคำสั่ง -h หรือ -r สิ่งที่เกี่ยวกับคำสั่ง "poweroff" มันจะเข้าสู่ระดับ run-0 หรือ 1? นี่เป็นข้อแตกต่างหลักระหว่างคำสั่งทั้งสามนี้เท่านั้นหรือ
65 rhel  shutdown 

2
ทำไมอินเตอร์เฟส ethernet ของฉันถึงเรียกว่า enp0s10 แทนที่จะเป็น eth0
เมื่อฉันเรียกifconfig -aฉันเพียง แต่ได้รับทองหล่อและenp0s10อินเตอร์เฟซไม่คลาสสิกeth0 อะไรenp0s10หมายความว่าอย่างไร ทำไมจึงไม่มีeth0 ?

3
ทำไมการค้นหาของฉันจึงไม่เกิดซ้ำ
ฉันใช้คำสั่งต่อไปนี้ แต่ไม่ได้เรียกซ้ำ: find . -name *.java ฉันรู้ว่ามีไฟล์ java อยู่ข้างล่างในไดเรกทอรีปัจจุบัน แต่กำลังทำงานfindในไดเรกทอรีปัจจุบันเท่านั้น ฉันใช้ OS X, 10.9
65 shell  find  wildcards 

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