Unix & Linux

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

6
ฉันจะหยุดพัก 30 นาทีขณะทำงานหรือทำอะไรบนคอมพิวเตอร์ได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน12 เดือนที่ผ่านมา ฉันกำลังเรียกใช้ Debian หลายครั้งที่ฉันรู้สึกอึดอัด (หรือบางอย่าง) ที่ต้องใช้คอมพิวเตอร์เป็นเวลานาน มีเครื่องมือที่จะบอกฉันหลังจาก 30-40 นาทีเพื่อหยุดพักหรือไม่? ฉันจำได้ว่าเห็นบางสิ่ง แต่ฉันลืมสิ่งที่เรียกว่า

4
วิธีที่เข้ากันได้กับ POSIX เพื่อรับชื่อผู้ใช้ที่เชื่อมโยงกับ ID ผู้ใช้
ฉันมักจะต้องการชื่อเข้าสู่ระบบที่เชื่อมโยงกับ ID ผู้ใช้และเนื่องจากมันพิสูจน์แล้วว่าเป็นกรณีการใช้งานทั่วไปฉันตัดสินใจที่จะเขียนฟังก์ชันเชลล์เพื่อทำสิ่งนี้ ในขณะที่ฉันใช้ดิสทริบิวชัน GNU / Linux เป็นหลักฉันพยายามเขียนสคริปต์ของฉันให้พกพาได้มากที่สุดและเพื่อตรวจสอบว่าสิ่งที่ฉันทำอยู่นั้นใช้กับ POSIX ได้ การแยกวิเคราะห์ /etc/passwd วิธีแรกที่ฉันพยายามคือการแยกวิเคราะห์/etc/passwd(โดยใช้awk) awk -v uid="$uid" -F: '$3 == uid {print $1}' /etc/passwd อย่างไรก็ตามปัญหาด้วยวิธีนี้คือการเข้าสู่ระบบอาจไม่ได้อยู่ในพื้นที่เช่นการตรวจสอบผู้ใช้อาจจะผ่าน NIS หรือ LDAP ใช้getentคำสั่ง การใช้getent passwdเป็นแบบพกพามากกว่าการแยกวิเคราะห์/etc/passwdเนื่องจากยังทำการสืบค้นฐานข้อมูล NIS หรือ LDAP ที่ไม่ใช่ท้องถิ่น getent - Wikipedia getent (1) - หน้าลินุกซ์ getent passwd "$uid" | cut -d: -f1 น่าเสียดายgetentที่ POSIX …
23 users  posix 

2
ส่วน "ข้อบกพร่อง" ของ / proc / cpuinfo แสดงให้เห็นอะไรจริง ๆ
บน Debian ยืดและการทดสอบระบบ / /proc/cpuinfoมือปราบกับเคอร์เนลในปัจจุบันและเฟิร์มแวติดตั้งผมยังคงเห็นการล่มสลายและปีศาจระบุว่าเป็นข้อบกพร่องใน อย่างไรก็ตามการรันspectre-meltdown-checkerรายการนั้นไม่เสี่ยง ดังนั้นฉันสงสัยว่าอะไร/proc/cpuinfoจะแสดง นี่เป็นเพียงช่องโหว่สำหรับซีพียูนี้และจะแสดงรายการเหล่านั้นเสมอแม้จะมีระบบที่ถูกติดตั้งหรือไม่?
23 linux  cpu  proc 

5
Linux / xBSD บูตก่อน GRUB อย่างไร
จากข้อมูลของWikipediaนั้น GRUB ได้เปิดตัวในปี 1995 โดยจุดนั้น Linux และ xBSD มีอยู่เป็นเวลาหลายปี ฉันรู้ว่ายูนิกซ์รุ่นแรก ๆ นั้นเชื่อมโยงกับฮาร์ดแวร์ในยุค 70 และ 80 แต่ Linux และ xBSD มีอิสระในการเผยแพร่และติดตั้ง คำถามใดที่คุณจะบูท Linux ได้ในตอนนั้น? ดิสทริบิวชันจัดส่งด้วยการปรับใช้ bootloaders ของตนเองหรือไม่

1
“ LSB” หมายถึงอะไรเมื่ออ้างถึงไฟล์ที่สามารถใช้งานได้ในเอาต์พุตของ / bin / ไฟล์?
ฉันได้พบคำว่า" LSB executable"หรือ" LSB shared object"ในผลลัพธ์ของfileคำสั่งใน Linux ตัวอย่างเช่น: $ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped "LSB" หมายถึงอะไรในบริบทนี้

4
ทำไม $ RANDOM ถึงไม่รวมอยู่ในผลลัพธ์ของ 'env'
ฉันรู้ว่าenvเป็นคำสั่งเชลล์มันสามารถใช้ในการพิมพ์รายการของตัวแปรสภาพแวดล้อมปัจจุบัน และเท่าที่ฉันเข้าใจRANDOMก็เป็นตัวแปรสภาพแวดล้อม ดังนั้นทำไมเมื่อฉันเปิดใช้งานenvบน Linux ผลลัพธ์ไม่รวมRANDOM?

2
วิธีเขียน for for loop ที่รันคำสั่งแบบอะซิงโครนัสในแต่ละการวนซ้ำ
ฉันสงสัยว่าทำไมมีข้อผิดพลาดในการใช้คำสั่งแบบอะซิงโครนัสภายในลูป? $ for i in {1..8}; do sleep 100 & ; done bash: syntax error near unexpected token `;' ถ้าฉันเขียนมันเป็น $ for i in {1..8}; do > sleep 100 & > done มันใช้งานได้ดี ฉันจะเขียนมันในหนึ่งบรรทัดโดยไม่มีข้อผิดพลาดได้อย่างไร?
23 bash 

3
ไดรเวอร์อุปกรณ์ใน Linux เป็นโปรแกรม / กระบวนการหรือเป็นเพียงไลบรารีหรือไม่
ไดรเวอร์อุปกรณ์เป็นโปรแกรมที่ทำงานด้วยตัวเองหรือเป็นเพียงไลบรารี (กลุ่มของฟังก์ชั่น) ที่โหลดในหน่วยความจำและโปรแกรมสามารถเรียกใช้หนึ่งในฟังก์ชั่นของมัน (ดังนั้นจึงไม่ได้ทำงานด้วยตัวเอง) และถ้าเป็นโปรแกรมจะมี ID กระบวนการดังนั้นฉันสามารถยกเลิกไดรเวอร์อุปกรณ์ได้เช่นเดียวกับที่ฉันสามารถยกเลิกกระบวนการอื่นได้หรือไม่?
23 linux  drivers 

5
โปรแกรมที่สามารถดำเนินการต่อการถ่ายโอนไฟล์ล้มเหลวรู้ได้อย่างไรว่าจะเริ่มต่อท้ายข้อมูลได้อย่างไร
บางโปรแกรมคัดลอกไฟล์เช่นrsyncและcurlมีความสามารถในการดำเนินการถ่ายโอน / สำเนาล้มเหลว สังเกตว่าอาจมีสาเหตุหลายประการของความล้มเหลวเหล่านี้ในบางกรณีโปรแกรมสามารถทำการ "ล้างข้อมูล" ในบางกรณีโปรแกรมไม่สามารถทำได้ เมื่อโปรแกรมเหล่านี้ทำงานต่อพวกเขาดูเหมือนจะคำนวณขนาดของไฟล์ / ข้อมูลที่ถ่ายโอนได้สำเร็จและเพิ่งเริ่มอ่านไบต์ถัดไปจากแหล่งที่มาและผนวกเข้ากับส่วนของไฟล์ เช่นขนาดของไฟล์แฟรกเมนต์ที่ "ทำให้เป็น" ไปยังปลายทางคือ 1378 ไบต์ดังนั้นพวกเขาจึงเริ่มอ่านจากไบต์ 1379 บนต้นฉบับและเพิ่มลงในแฟรกเมนต์ คำถามของฉันคือการรู้ว่าไบต์นั้นประกอบไปด้วยบิตและไม่ใช่ไฟล์ทั้งหมดที่แบ่งข้อมูลเป็นกลุ่มขนาดไบต์ที่สะอาดโปรแกรมเหล่านี้รู้ได้อย่างไรว่าพวกเขาเลือกที่จะเริ่มเพิ่มข้อมูลให้ถูกต้องได้อย่างไร เมื่อเขียนไฟล์ปลายทางจะมีการบัฟเฟอร์หรือ "การทำธุรกรรม" คล้ายกับฐานข้อมูล SQL ที่เกิดขึ้นไม่ว่าจะเป็นที่ระดับเคอร์เนลของโปรแกรมหรือระบบไฟล์ หรือโปรแกรมสันนิษฐานว่าไบต์ล่าสุดอาจไม่สมบูรณ์ดังนั้นพวกเขาจึงลบมันโดยสมมติว่ามันเลวร้ายแล้วทำการคัดกรองไบต์ใหม่และเริ่มต้นการต่อท้ายจากที่นั่น? เมื่อรู้ว่าไม่ใช่ข้อมูลทั้งหมดที่แสดงเป็นไบต์การคาดเดาเหล่านี้ดูเหมือนจะไม่ถูกต้อง เมื่อโปรแกรมเหล่านี้ "กลับมา" พวกเขารู้ได้อย่างไรว่าพวกเขาเริ่มต้นในที่ที่ถูกต้อง?
23 file-copy 

6
เป็นไปได้ไหมที่โปรแกรมจะรับจำนวนที่ว่างระหว่างอาร์กิวเมนต์บรรทัดคำสั่งใน POSIX?
พูดถ้าฉันเขียนโปรแกรมด้วยบรรทัดต่อไปนี้: int main(int argc, char** argv) argvตอนนี้ก็รู้ว่าสิ่งที่อาร์กิวเมนต์บรรทัดคำสั่งจะถูกส่งผ่านไปโดยการตรวจสอบเนื้อหาของ โปรแกรมสามารถตรวจสอบว่ามีช่องว่างระหว่างอาร์กิวเมนต์กี่รายการ? เช่นเมื่อฉันพิมพ์เหล่านี้ในทุบตี: ibug@linux:~ $ ./myprog aaa bbb ibug@linux:~ $ ./myprog aaa bbb Environment เป็น Linux ที่ทันสมัย ​​(เช่น Ubuntu 16.04) แต่ฉันคิดว่าคำตอบควรนำไปใช้กับระบบที่สอดคล้องกับ POSIX

3
ความท้าทายของ Kernighan และ Pike: การใส่เครื่องหมายทับในชื่อไฟล์อย่างไร?
ฉันเพิ่งพบคำถามต่อไปนี้ในUnix Programming Environmentหนังสือคลาสสิคของ Kernighan และ Pike ใน Unix (ฉันพบข้อความด้านล่างในหน้า 79 ของปี 1984 ฉบับที่ ISBN: 0-13-937699-2): แบบฝึกหัดที่ 3-6 (คำถามเคล็ดลับ) คุณจะทำให้ a / เป็นชื่อไฟล์ได้อย่างไร (เช่น a / ที่ไม่แยกส่วนประกอบของเส้นทาง) ฉันทำงานกับ Linux มาหลายปีทั้งในฐานะผู้ใช้และโปรแกรมเมอร์ แต่ฉันไม่สามารถตอบคำถามนี้ได้ นอกจากนี้ไม่มีทางที่จะใส่ทับในชื่อไฟล์ก็ห้ามเด็ดขาดโดย kernel คุณสามารถแก้ไขระบบไฟล์ของคุณผ่านการเข้าถึงอุปกรณ์บล็อกหรือใช้อักขระที่มีลักษณะคล้ายกันจาก Unicode แต่สิ่งเหล่านั้นไม่ใช่วิธีแก้ปัญหา ฉันเข้าใจว่า Linux ≠ Unix แต่ควรใช้หลักการเดียวกันเนื่องจากระบบจะต้องสามารถแยกลำดับชั้นไดเรกทอรีออกจากเส้นทางได้อย่างไม่น่าสงสัย มีใครรู้บ้างว่า Kernighan และ Pike คิดอย่างไรเมื่อถามคำถามนี้ คำตอบที่ควรคืออะไร อะไรคือ 'เคล็ดลับ'? หรืออาจเป็นระบบ Unix …

3
เหตุใด 'grep -q' จึงใช้ไฟล์อินพุตทั้งหมด
พิจารณาไฟล์อินพุตต่อไปนี้: 1 2 3 4 วิ่ง { grep -q 2; cat; } < infile ไม่พิมพ์อะไรเลย ฉันคาดว่าจะพิมพ์ 3 4 ฉันสามารถรับผลลัพธ์ที่คาดหวังได้หากเปลี่ยนเป็น { sed -n 2q; cat; } < infile เหตุใดคำสั่งแรกไม่พิมพ์ผลลัพธ์ที่ต้องการ มันเป็นไฟล์อินพุตที่หาได้และเป็นไปตามมาตรฐานภายใต้OPTIONS : -q Quiet. Nothing shall be written to the standard output, regardless of matching lines. Exit with zero status if an …
23 grep 

3
การใช้วลีรหัสผ่านเดียวเพื่อปลดล็อกดิสก์ที่เข้ารหัสหลายอันตอนบูต
เครื่องของฉันมี SSD ซึ่งฉันติดตั้งระบบและ HDD ซึ่งฉันใช้เป็นที่เก็บข้อมูลสำหรับไฟล์ขนาดใหญ่และ / หรือไฟล์ที่ใช้งานไม่บ่อย ทั้งสองถูกเข้ารหัส แต่ฉันเลือกที่จะใช้วลีรหัสผ่านเดียวกันสำหรับพวกเขา SSD ติดตั้งที่/และ HDD ที่/usr/hdd(ผู้ใช้แต่ละรายแต่ละคนมีไดเรกทอรีอยู่และสามารถเชื่อมโยงตามที่พวกเขาต้องการจากโฮมไดเร็กตอรี่) เมื่อระบบถูกบูทระบบจะถามวลีรหัสผ่านสำหรับ SSD ทันทีและอีกสองสามวินาทีต่อมาสำหรับ HDD (ติดตั้งอัตโนมัติ) ระบุว่าข้อความรหัสผ่านทั้งสองเหมือนกันมีวิธีกำหนดค่าระบบให้ถามเพียงครั้งเดียวหรือไม่

6
วิธี cp ไฟล์ที่เหลือหลังจากพยายามล้มเหลว
ฉันกำลังพยายามคัดลอกไดเรกทอรีขนาดใหญ่จากไดรฟ์หนึ่งไปยังอีกไดรฟ์ ฉันออกจากระบบโดยไม่ตั้งใจก่อนที่จะเสร็จสิ้นดังนั้นประมาณ 80% ของไฟล์ที่คัดลอกมา มีการคัดลอกไฟล์ที่เหลือโดยไม่เริ่มต้นหรือไม่?
23 cp 

2
วิธีการสร้างใบรับรองแบบลงนามด้วยตนเองสำหรับ localhost
ฉันทำด้วยรหัสผ่านและมีฟิลด์ต่อไปนี้เป็นรูท openssl req -x509 -days 365 -newkey rsa:2048 -keyout /etc/ssl/apache.key \ -out /etc/ssl/apache.crt ทุ่ง Country: FI State: Pirkanmaa Locality: Tampere Organization: masi Organizational Unit Name: SSL Certificate Test CommonName: 192.168.1.107/owncloud EmailAddress: masi@gmail.com เอาต์พุต: ข้อผิดพลาดการจับมือ SSL ใน HTTPS ผลลัพธ์ที่ควรได้รับ: การเชื่อมต่อ HTTPS HTTP ใช้งานได้ COMMONNAME ควรรวม URL ที่คุณต้องการที่จะไปด้าย owncloud ของที่นี่ ฉันลองใช้ชื่อสามัญไม่สำเร็จ 192.168.1.107/owncloud …

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