Unix & Linux

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


21
จะสร้างสตริงแบบสุ่มได้อย่างไร
ฉันต้องการสร้างสตริงแบบสุ่ม (เช่นรหัสผ่านชื่อผู้ใช้ ฯลฯ ) มันเป็นไปได้ที่จะระบุความยาวที่ต้องการ (เช่น 13 ตัวอักษร) ฉันสามารถใช้เครื่องมืออะไรได้บ้าง (เพื่อเหตุผลด้านความปลอดภัยและความเป็นส่วนตัวขอแนะนำให้สร้างสตริงแบบออฟไลน์ซึ่งตรงข้ามกับออนไลน์บนเว็บไซต์)
209 password  string  random 

16
แสดงรายการการอัพเดทที่มี แต่ไม่ได้ติดตั้ง
ฉันต้องการสคริปต์การรายงานที่ดำเนินการโดย cron เพื่อแจ้งให้ฉันทราบในกรณีที่มีการอัพเดตสำหรับแพ็คเกจของฉัน เป็นวิธีที่จะทำให้apt-getรายการอัปเดตที่มีให้ฉัน แต่ไม่ต้องทำอะไรอีกหรือไม่
209 apt 

6
วิธีการสร้างหน้าต่างใหม่ในไดเรกทอรีปัจจุบันใน tmux?
เป็นไปได้หรือไม่ที่จะเปิด a new-windowด้วยไดเร็กทอรีการทำงานที่ตั้งค่าเป็นไดเร็กทอรีที่ฉันกำลังใช้อยู่ฉันกำลังใช้zshหากมีความสำคัญ

8
ให้เซสชัน SSH ทำงานต่อหลังจากตัดการเชื่อมต่อ
บางครั้งฉันมีกระบวนการทำงานนานที่ฉันต้องการเริ่มก่อนกลับบ้านดังนั้นฉันสร้างเซสชัน SSH ไปยังเซิร์ฟเวอร์เพื่อเริ่มต้นกระบวนการ แต่จากนั้นฉันต้องการปิดแล็ปท็อปของฉันและกลับบ้านและต่อมาหลังอาหารเย็นฉันต้องการ ตรวจสอบกระบวนการที่ฉันเริ่มก่อนออกจากงาน ฉันจะทำสิ่งนั้นกับ SSH ได้อย่างไร ความเข้าใจของฉันคือว่าถ้าคุณหยุดการเชื่อมต่อ SSH ของคุณคุณจะหยุดเซสชันการเข้าสู่ระบบของคุณบนเซิร์ฟเวอร์ดังนั้นจึงฆ่ากระบวนการที่ใช้เวลานาน

10
วิธีล้าง journalctl
ฉันไม่พบวิธีที่ปลอดภัยในการล้างบันทึก systemd ใน google ไม่มีใครรู้วิธีที่ปลอดภัยและเชื่อถือได้ที่จะทำเช่นนั้น? สมมติว่าฉันกำลังทดลองกับบางสิ่งและบันทึกของฉันเต็มไปด้วยข้อความแสดงข้อผิดพลาดต่างๆ ยิ่งกว่านั้นฉันกำลังแสดงบันทึกประจำวันของฉันบนเดสก์ท็อปโดยใช้ Conky ฉันไม่ต้องการเห็นข้อผิดพลาดเหล่านั้นเพราะพวกเขาเตือนฉันวันอันยิ่งใหญ่ที่ฉันแก้ไขสิ่งนี้ฉันอยากรู้สึกเหมือนเป็นคนใหม่หลังจากสยองขวัญนี้ ฉันคิดว่าทุกคนจะยอมรับว่านี่เป็นเหตุผลที่ถูกต้องในการล้างบันทึก: P

1
เคอร์เนลถึงขีด จำกัด การเฝ้าดูถึง
ฉันกำลังประสบปัญหาในกล่อง linux ที่รูตฉันมีคำสั่งที่ส่งคืนข้อผิดพลาดเนื่องจากถึงขีด จำกัด การรับนาฬิกาจนสุดแล้ว # tail -f /var/log/messages [...] tail: cannot watch '/var/log/messages': No space left on device # inotifywatch -v /var/log/messages Establishing watches... Failed to watch /var/log/messages; upper limit on inotify watches reached! Please increase the amount of inotify watches allowed per user via '/proc/sys/fs/inotify/max_user_watches'.` ฉัน googled เล็กน้อยและทุกวิธีที่ฉันพบคือเพิ่มขีด …
206 linux  kernel  inotify 

3
ผลกระทบด้านความปลอดภัยของการลืมอ้างตัวแปรในเชลล์ bash / POSIX
หากคุณได้ติดตาม unix.stackexchange.com มาระยะหนึ่งแล้วคุณควรจะรู้ว่าตอนนี้การปล่อยตัวแปรที่ไม่ได้ระบุไว้ในบริบทรายการ (ดังในecho $var) ใน Bourne / POSIX shells (zsh เป็นข้อยกเว้น) มีความหมายพิเศษมากและ ไม่ควรทำจนกว่าคุณจะมีเหตุผลที่ดี มันกล่าวถึงในระยะในจำนวนของ Q & A นี่ (ตัวอย่าง: ทำไมไม่เชลล์สคริปต์สำลักของฉันในช่องว่างหรืออักขระพิเศษอื่น ๆ , เมื่อสองครั้ง quoting จำเป็น? , การขยายตัวของตัวแปรเปลือกและผลของ glob และแยกกับมัน , ที่ยกมา vs การขยายสตริงที่ไม่ได้กล่าวถึง) เป็นเช่นนี้มาตั้งแต่การเปิดตัว Bourne shell ในช่วงปลายยุค 70 และไม่ได้ถูกเปลี่ยนแปลงโดย Korn shell (หนึ่งในความเสียใจที่ยิ่งใหญ่ที่สุดของDavid Korn (คำถาม # 7) ) หรือbashที่คัดลอก Korn …

8
ทำไม * ไม่ * แยก `ls '(และจะทำอะไรแทน)
ฉันเห็นคำตอบที่อ้างถึงลิงก์นี้อย่างสม่ำเสมอโดยระบุอย่างชัดเจนว่า"อย่าแยกวิเคราะห์ls" เรื่องนี้ทำให้ฉันรำคาญด้วยเหตุผลสองประการ: ดูเหมือนว่าข้อมูลในลิงก์นั้นได้รับการยอมรับโดยขายส่งด้วยคำถามเล็กน้อย แต่ฉันสามารถเลือกข้อผิดพลาดอย่างน้อยสองสามข้อในการอ่านแบบไม่เป็นทางการ ดูเหมือนว่าปัญหาที่ระบุไว้ในลิงค์นั้นไม่ได้ก่อให้เกิดความปรารถนาที่จะหาทางแก้ไข จากย่อหน้าแรก: ... เมื่อคุณขอ[ls]รายการไฟล์มีปัญหาใหญ่: Unix อนุญาตให้ตัวละครเกือบทุกตัวในชื่อไฟล์รวมถึงช่องว่าง, newlines, จุลภาค, สัญลักษณ์ท่อและสิ่งอื่น ๆ ที่คุณเคยลองใช้เป็น ตัวคั่นยกเว้น NUL ... lsแยกชื่อไฟล์ด้วยการขึ้นบรรทัดใหม่ สิ่งนี้ใช้ได้จนกว่าคุณจะมีไฟล์ที่มีการขึ้นบรรทัดใหม่ในชื่อ และเนื่องจากผมไม่ทราบว่าการดำเนินการใด ๆlsที่ช่วยให้คุณสามารถที่จะยุติชื่อไฟล์ที่มีตัวอักษร NUL lsแทนการขึ้นบรรทัดใหม่นี้จะทำให้เราไม่สามารถที่จะได้รับรายชื่อของชื่อไฟล์ได้อย่างปลอดภัยด้วย คนเกียจคร้านใช่มั้ย วิธีที่เคยเราสามารถจัดการกับการขึ้นบรรทัดใหม่ยกเลิกชุดจดทะเบียนสำหรับข้อมูลที่อาจมีการขึ้นบรรทัดใหม่? ถ้าคนที่ตอบคำถามในเว็บไซต์นี้ไม่ได้ทำสิ่งนี้ทุกวันฉันอาจคิดว่าเรากำลังมีปัญหา ความจริงก็คือlsการใช้งานส่วนใหญ่ให้ api ที่ง่ายมากสำหรับการแยกวิเคราะห์ผลลัพธ์ของพวกเขาและเราทุกคนได้ทำมันมาตลอดโดยไม่ได้ตระหนักถึงมัน ไม่เพียง แต่คุณสามารถจบชื่อไฟล์ด้วย null คุณสามารถเริ่มต้นด้วย null ได้เช่นกันหรือกับสตริงอื่น ๆ ที่คุณอาจต้องการ มีอะไรมากกว่าที่คุณสามารถกำหนดสตริงพลเหล่านี้ต่อไฟล์ชนิด โปรดพิจารณา: LS_COLORS='lc=\0:rc=:ec=\0\0\0:fi=:di=:' ls -l --color=always | cat -A total 4$ drwxr-xr-x …
204 shell  ls 

4
เหตุใดรูปแบบไฟล์เก็บถาวร tar จึงเปลี่ยนเป็นการบีบอัด xz เพื่อแทนที่ bzip2 และ gzip ล่ะ
tarคลังเก็บมากขึ้นใช้xzรูปแบบตาม LZMA2 สำหรับการบีบอัดแทนการbzip2(bz2)บีบอัดแบบดั้งเดิม ในความเป็นจริงkernel.orgทำให้การประกาศ " Good-bye bzip2 " ล่าช้าเมื่อวันที่ 27 ธันวาคม 2013แสดงว่าแหล่งที่มาของเคอร์เนลจากจุดนี้จะได้รับการปล่อยตัวทั้งในรูปแบบ tar.gz และ tar.xz - และในหน้าหลักของเว็บไซต์tar.xzสิ่งที่นำเสนอโดยตรงอยู่ใน มีเหตุผลเฉพาะที่อธิบายว่าทำไมสิ่งนี้จึงเกิดขึ้นและสิ่งที่เกี่ยวข้องgzipในบริบทนี้คืออะไร?
202 history  gzip  bzip2  xz 

7
วิธีลบบรรทัดเดียวออกจากประวัติ
ฉันทำงานใน Mac OSX ดังนั้นฉันเดาว่าฉันใช้ทุบตี ... ? บางครั้งฉันป้อนบางสิ่งที่ฉันไม่ต้องการให้จดจำในประวัติศาสตร์ ฉันจะลบออกได้อย่างไร

3
ฉันจะดูรายการงาน cron ทั้งหมดที่กำหนดไว้ในเครื่องของฉันได้อย่างไร
ดูแลระบบของฉันตั้งค่างาน cron จำนวนมากบนเครื่องของฉัน ฉันต้องการที่จะรู้ว่าสิ่งที่กำหนดไว้สำหรับเวลาอะไร ฉันจะรับรายการนั้นได้อย่างไร
201 linux  cron  scheduling 

9
ฉันจะลดขนาดวิดีโอด้วย ffmpeg ได้อย่างไร
ฉันffmpegจะใช้เพื่อลดขนาดของวิดีโอด้วยการลดคุณภาพ (อย่างน้อยที่สุดเท่าที่จะเป็นไปได้โดยธรรมชาติ แต่ฉันต้องการให้มันทำงานบนอุปกรณ์พกพาที่ไม่มีพื้นที่ว่างมาก)? ฉันลืมที่จะเขียนสิ่งหนึ่งเลย เมื่อวิดีโอสามารถใช้คำบรรยาย (* .srt หรือ * .sub) ฉันต้องการแปลงให้เหมาะกับพารามิเตอร์ของไฟล์วิดีโอที่แปลงแล้ว

9
วิธีการดูผลลัพธ์ของกระบวนการทำงานในเซสชั่นทุบตีอื่น?
ฉันออกจากสคริปต์ที่ทำงานบนเครื่องระยะไกลจากเมื่อฉันทำงานในท้องถิ่น ฉันสามารถเชื่อมต่อผ่าน SSH psกับเครื่องเป็นผู้ใช้เดียวกันและดูสคริปต์ที่ทำงานอยู่ใน $ ps aux | grep ipcheck myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh มันเป็นเพียงการส่งออกไปยัง stdout ในเซสชั่นท้องถิ่น (ฉันวิ่งใน./ipchecker.shรูปแบบหน้าต่าง terminal ท้องถิ่นไม่มีการเปลี่ยนเส้นทางไม่มีการใช้งานscreenฯลฯ ) มีต่อไปจากเซสชัน SSH ที่ฉันสามารถดูผลลัพธ์ของคำสั่งที่รันอยู่ (โดยไม่หยุด) จนถึงตอนนี้สิ่งที่ดีที่สุดที่ฉันพบคือใช้strace -p 18386แต่ฉันได้รับข้อความจำนวนมากลอยขึ้นมาบนหน้าจอซึ่งมีรายละเอียดมากเกินไป ฉันสามารถหยุดstraceและจากนั้นร่อนผ่านเอาท์พุทและค้นหาข้อความที่นำมาพิมพ์ไปยัง stdout แต่มันยาวและสับสนและเห็นได้ชัดว่าในขณะที่มันหยุดฉันอาจพลาดบางอย่าง ฉันต้องการหาวิธีที่จะเห็นเอาต์พุตสคริปต์ทำงานเสมือนว่าฉันทำงานในพื้นที่ ใครสามารถปรับปรุงสิ่งนี้ได้บ้าง คำตอบที่ชัดเจนคือการรีสตาร์ทสคริปต์ด้วยการเปลี่ยนเส้นทางหรือในscreenเซสชั่น ฯลฯ นี่ไม่ใช่สคริปต์ที่สำคัญต่อภารกิจดังนั้นฉันสามารถทำได้ แต่ฉันเห็นว่านี่เป็นแบบฝึกหัดการเรียนรู้ที่สนุกสนาน

4
เหตุใดการใช้เชลล์ลูปเพื่อประมวลผลข้อความจึงถือว่าไม่ดี?
การใช้วนลูปในการประมวลผลข้อความโดยทั่วไปถือว่าเป็นแนวปฏิบัติที่ไม่ดีในเชลล์ POSIX หรือไม่ ในฐานะที่เป็นStéphane Chazelas ชี้ให้เห็นบางส่วนของสาเหตุของการไม่ได้ใช้ห่วงเปลือกความคิด , ความน่าเชื่อถือ , ความสวย , ประสิทธิภาพการทำงานและการรักษาความปลอดภัย คำตอบนี้อธิบายถึงความน่าเชื่อถือและแง่มุมที่ชัดเจน : while IFS= read -r line <&3; do printf '%s\n' "$line" done 3< "$InputFile" สำหรับผลการดำเนินงานที่whileห่วงและอ่านช้าอย่างมากเมื่ออ่านจากไฟล์หรือท่อเพราะอ่านเปลือกในตัวอ่านตัวละครตัวหนึ่งที่เวลา ด้านแนวคิดและความปลอดภัยเป็นอย่างไร?

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