Unix & Linux

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

10
วิธีที่เร็วที่สุดในการสร้างไฟล์ข้อความขนาด 1 GB มีตัวเลขแบบสุ่มคืออะไร
ฉันลองสคริปต์ทุบตี แต่ใช้เวลานานเกินไปในการสร้างไฟล์ 1 MB แบบง่าย ฉันคิดว่าคำตอบอยู่ที่การใช้/dev/randomหรือ/dev/urandomแต่โพสต์อื่น ๆ ที่นี่แสดงให้เห็นว่าจะเพิ่มข้อมูลทุกชนิดลงในไฟล์โดยใช้สิ่งเหล่านี้ได้อย่างไร แต่ฉันต้องการเพิ่มตัวเลขเท่านั้น ดังนั้นมีคำสั่งที่ฉันสามารถใช้เพื่อสร้างไฟล์สุ่มขนาด 1 GB ที่มีตัวเลขเพียงระหว่าง 0 และ 9 หรือไม่ แก้ไข: ฉันต้องการให้ผลลัพธ์เป็นแบบนี้ 0 1 4 7 ..... 9 8 7 5 8 ..... 8 .... .... 8 7 5 3 ..... 3 ช่วงคือ 0 - 9 หมายถึงเฉพาะตัวเลข 0, 1, 2, 3, 4, 5, …
52 files  random 

10
Copy-paste สำหรับ vim ไม่ทำงานเมื่อ mouse (: set mouse = a) เปิดอยู่?
ฉันพยายามคัดลอกวางบางอย่างจากเสียงเรียกเข้าไปยังแอปพลิเคชันอื่นและจากแอปพลิเคชันนั้นไปvimใช้การคลิกขวาด้วยเมาส์แล้วคัดลอกและวาง (หรือด้วยCtrl+ vและCtrl+ cและลองCommandรุ่นสำหรับ Mac OSX อย่างชัดเจน) อย่างไรก็ตามเมื่อฉันลองทำมันเพียงคัดลอกคำแรกเมื่อฉันทำจากvimหรือเมื่อฉันคัดลอกจากแอปพลิเคชันไปยังvimมันจะคัดลอกทุกอย่าง แต่แทรกแท็บและช่องว่างที่แปลก ฉันคิดว่าสิ่งนี้เกิดขึ้นเมื่อฉันตัดสินใจที่จะวางเมาส์บนเครื่อง ในขณะที่: :set mouse=a ฉันมีบรรทัดนั้นใน.vimrcไฟล์ของฉันบน iTerm (mac os x) แม้ว่าเป็นไปได้หรือไม่ที่จะทำสำเนาวางของฉันกับแอปพลิเคชันอื่น ๆ ที่ไม่ได้อยู่ในvimการทำลายด้วยmouse=aon? หรืออย่างน้อยเป็นไปได้ที่จะตั้งค่าเมาส์ของฉันในขณะที่ฉันคัดลอกวาง? ฉัน:helpใช้เมาส์ แต่ความคิดเห็นนั้นไม่มีประโยชน์สำหรับฉัน ฉันจะวางที่นี่ แต่ ... เครื่องมือคัดลอกวางของฉันเสีย! ฉันลอง:set mouse!แล้ว:set mouse=a!แต่สิ่งเหล่านี้ไม่มีประโยชน์อะไร ... :( ข้อมูลเพิ่มเติมเกี่ยวกับสภาพแวดล้อมของฉัน: ฉันยังใช้ tmux เกือบตลอดเวลาแม้ว่าฉันได้ทดสอบข้อผิดพลาด / ข้อผิดพลาดนี้โดยไม่มีเซสชัน tmux นั่นคือเหตุผลที่ฉันโพสต์สิ่งนี้เป็นคำถามที่เป็นกลุ่ม
52 vim  clipboard 

6
“ su” ที่มีข้อผิดพลาด“ การเชื่อมต่อ X11 ถูกปฏิเสธเนื่องจากการรับรองความถูกต้องผิดพลาด”
ในฐานะที่เป็น root ฉันกำลังเชื่อมต่อกับรีโมตโฮสต์เพื่อดำเนินการคำสั่ง เฉพาะ "standarduser" เท่านั้นที่มี id-file ที่ถูกต้องและถูกต้อง. ssh / config ดังนั้นฉันจะเปลี่ยนผู้ใช้ก่อน: su standarduser -c 'ssh -x remotehost ./remotecommand' คำสั่งทำงานได้ดี แต่ถึงแม้ว่าฉันจะใช้ "-x" (ปิดการใช้งานการส่งต่อ X11) และการปิดการใช้งาน X11Forward ใน/etc/ssh/ssh_configฉันยังคงได้รับข้อความแสดงข้อผิดพลาด: X11 connection rejected because of wrong authentication. ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดเมื่อฉันเข้าสู่ระบบในฐานะ "ผู้ใช้มาตรฐาน" มันค่อนข้างน่ารำคาญเพราะฉันต้องการรวมคำสั่งในไฟล์งาน cron ฉันเข้าใจว่าข้อความแสดงข้อผิดพลาดอ้างถึงการตรวจสอบความถูกต้องที่ผิดพลาดของไฟล์. XAuth ของรูท แต่ฉันไม่ได้พยายามเชื่อมต่อผ่าน X11 ทำไม "ssh -x" ไม่ปิดการใช้งานการเชื่อมต่อ X11 และทิ้งข้อความข้อผิดพลาด? UPDATE …
52 bash  gnu-screen  su  xauth 

2
ฉันจะตรวจสอบใบรับรอง SSL ในบรรทัดคำสั่งได้อย่างไร
ฉันกำลังพยายามตรวจสอบ / ตรวจสอบว่าคีย์ rsa, ca-bundle และใบรับรองที่เก็บไว้ที่นี่ก็โอเค พวกเขาไม่ได้ให้บริการโดยเว็บเซิร์ฟเวอร์ ฉันจะตรวจสอบพวกเขาได้อย่างไร

7
รวมไฟล์ข้อความที่ชาญฉลาดคอลัมน์
ฉันมีไฟล์ข้อความสองไฟล์ คนแรกมีเนื้อหา: Languages Recursively enumerable Regular ในขณะที่สองมีเนื้อหา: Minimal automaton Turing machine Finite ฉันต้องการรวมไว้ในหนึ่งคอลัมน์ที่ชาญฉลาด ดังนั้นฉันจึงพยายามpaste 1 2และผลลัพธ์คือ: Languages Minimal automaton Recursively enumerable Turing machine Regular Finite อย่างไรก็ตามฉันต้องการให้คอลัมน์อยู่ในแนวเดียวกันเช่น Languages Minimal automaton Recursively enumerable Turing machine Regular Finite ฉันสงสัยว่ามันจะเป็นไปได้ไหมหากไม่ได้จัดการด้วยตนเอง? ที่เพิ่ม: นี่เป็นอีกตัวอย่างหนึ่งที่ Bruce ใช้วิธีเกือบจะจับมันยกเว้นบางแนวที่ฉันสงสัยว่าทำไม $ cat 1 Chomsky hierarchy Type-0 — $ cat 2 …

5
ทำการถ่ายโอนไฟล์เดียวต่อโดย rsync
ใน Ubuntu rsyncผมต้องการที่จะคัดลอกไฟล์ขนาดใหญ่จากฮาร์ดไดรฟ์ของฉันกับไดรฟ์ที่ถอดออกได้โดย ด้วยเหตุผลอื่นการดำเนินการไม่สามารถดำเนินการได้ในการดำเนินการครั้งเดียว ดังนั้นฉันจึงพยายามหาวิธีใช้rsyncในการคัดลอกไฟล์ต่อจากที่ที่มันถูกทิ้งไว้ครั้งล่าสุด ฉันพยายามใช้ตัวเลือก--partialหรือ--inplaceแต่ด้วย--progressฉันพบrsyncกับ--partialหรือ--inplaceเริ่มจากจุดเริ่มต้นแทนที่จะเป็นสิ่งที่ถูกทิ้งไว้ครั้งสุดท้าย หยุดrsyncต้นด้วยตนเองและตรวจสอบขนาดของไฟล์ที่ได้รับก็ยืนยันสิ่งที่ฉันพบ แต่ด้วย--appendrsync เริ่มต้นจากสิ่งที่ถูกทิ้งไว้ครั้งสุดท้าย ฉันกำลังสับสนว่าผมเห็นบนหน้าคน --partial , --inplaceและ--appendดูเหมือนจะเกี่ยวข้องกับการกลับมาทำงานคัดลอกจากสิ่งที่เหลือจากครั้งที่แล้ว บางคนสามารถอธิบายความแตกต่างได้หรือไม่ ทำไมทำไม่ได้--partialหรือ--inplaceทำงานให้กลับมาทำงานคัดลอก? เป็นความจริงหรือไม่ที่การกลับมาทำสำเนาrsyncต่อต้องทำงานกับ--appendตัวเลือกหรือไม่ นอกจากนี้หากไฟล์บางส่วนถูกทิ้งไว้โดยmvหรือcpไม่ใช่โดย rsync จะrsync --appendทำการคัดลอกไฟล์ต่อไปอย่างถูกต้องหรือไม่
52 linux  rsync 

8
เรามีการเลิกทำใน Linux หรือไม่?
ฉันเปลี่ยนชื่อไฟล์ไม่กี่ไฟล์ในหนึ่งชุดสคริปต์ มีวิธียกเลิกการเปลี่ยนแปลงโดยไม่ต้องเปลี่ยนชื่อกลับหรือไม่ Linux จัดเตรียมวิธีการดั้งเดิมundoหรือไม่?


9
การยกเลิกการวนซ้ำไม่สิ้นสุด
ฉันมีคำสั่งที่ฉันต้องการให้ทำงานอีกครั้งโดยอัตโนมัติในแต่ละครั้งที่มันสิ้นสุดลงดังนั้นฉันจึงทำสิ่งนี้: while [ 1 ]; do COMMAND; done; แต่ถ้าฉันหยุดลูปไม่ได้Ctrl-cเพราะมันฆ่าCOMMANDแล้วไม่ใช่ลูปทั้งหมด ฉันจะทำสิ่งที่คล้ายกันได้อย่างไร แต่ฉันสามารถหยุดได้โดยไม่ต้องปิดเครื่อง
52 bash  signals 

8
บรรทัดคำสั่ง: คุณจะหมุนไฟล์ PDF 90 องศาได้อย่างไร
เมื่อฉันสแกนเอกสารที่เป็นแนวนอนไฟล์ PDF ที่ส่งออกจะเป็นแนวตั้งดังนั้นตัวแสดง PDF ทั้งหมดจึงแสดงเอกสารที่สแกนในแนวตั้ง จากบรรทัดคำสั่งคุณจะหมุนไฟล์ PDF 90 องศาได้อย่างไร ฉันลองค้นหาและพบวิธีแก้ไขปัญหามากมาย แต่ฉันมีปัญหาในการค้นหาสิ่งที่ดูเหมือนว่าเป็นโซลูชันที่เชื่อถือได้ [1] ที่ใช้เครื่องมือ linux / unix ที่เสถียร เชิงอรรถ [1] ตัวอย่างเช่นต่อไปนี้เป็นตัวอย่างของโซลูชันจับจดที่ฉันพบ: "เพียงใช้ Adobe Acrobat Pro เพื่อหมุนไฟล์แล้วบันทึกไฟล์" "ใช้ pdfjam" "ใช้ pdftk" "ใช้ $ {PROGRAM_NAME} จาก Poppler" "ใช้การแปลงของ Imagemagick" - แต่จากนั้นความคิดเห็นทั้งหมดนั้นเป็นลบมากและระบุว่า "คุณภาพของภาพจะถูกทำลาย" "เปิดไฟล์ในโปรแกรมดู PDF จากนั้นหมุนแล้วพิมพ์โดยใช้เครื่องพิมพ์ PDF เช่น CUTEPDF หรือ PDFPRINTER หรืออื่น ๆ " …

5
เรียกใช้หลายคำสั่งและฆ่าพวกเขาเป็นหนึ่งในทุบตี
ฉันต้องการเรียกใช้หลายคำสั่ง (โปรเซส) ในเชลล์เดียว พวกเขาทั้งหมดมีผลผลิตต่อเนื่องของตัวเองและไม่หยุด เล่นกับพวกเขาในการแบ่งพื้นหลัง-Ctrl Cผมอยากจะเรียกพวกเขาเป็นกระบวนการเดียวที่จะสามารถที่จะหยุดทั้งหมดของพวกเขาด้วย (subshell อาจจะ?) -CtrlC โดยเฉพาะฉันต้องการเรียกใช้การทดสอบหน่วยด้วยmocha(โหมดดู) เรียกใช้เซิร์ฟเวอร์และเรียกใช้การประมวลผลไฟล์ล่วงหน้า (โหมดดู) และดูผลลัพธ์ของแต่ละรายการในหน้าต่างเทอร์มินัลเดียว โดยทั่วไปฉันต้องการหลีกเลี่ยงการใช้งานนักวิ่ง ฉันสามารถรับรู้ได้โดยเรียกใช้กระบวนการในพื้นหลัง ( &) แต่จากนั้นฉันต้องใส่พวกเขาลงในเบื้องหน้าเพื่อหยุดพวกเขา ฉันต้องการที่จะมีกระบวนการห่อหุ้มพวกเขาและเมื่อฉันหยุดกระบวนการมันจะหยุด 'ลูก' ของมัน

1
อ่านจากอนุกรมจากบรรทัดคำสั่ง linux
ฉันมีอุปกรณ์พอร์ตอนุกรมที่ฉันต้องการทดสอบโดยใช้บรรทัดคำสั่ง linux ฉันสามารถใช้ stty และ echo เพื่อส่งคำสั่งไปยังพอร์ตอนุกรม แต่เมื่ออุปกรณ์ตอบสนองฉันไม่มีวิธีอ่านสิ่งที่มาจากพอร์ตอนุกรม ฉันใช้ stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0 เพื่อส่งคำสั่งไปยังอุปกรณ์ อุปกรณ์ทำงานและส่งการตอบกลับใน 300 มิลลิวินาที ฉันจะพิมพ์การตอบกลับไปยังคอนโซลโดยใช้บรรทัดคำสั่งได้อย่างไร

7
แบตเตอรี่แล็ปท็อปสามารถระเบิดในขณะที่ใช้ Linux ได้หรือไม่?
ฉันมี Retina MacBook Pro 2013 และฉันต้องการติดตั้ง Debian บนมันจริงๆ ฉันมีความรู้และมีระบบ Debian อย่างน้อยสามระบบก่อนหน้านี้ ฉันมีความรู้มากเกี่ยวกับการทำงานของ command-line และ Linux การแบ่งพาร์ทิชันไม่ใช่ปัญหาสำหรับฉัน ดังนั้นฉันมีคำถามหนึ่งข้อก่อนติดตั้ง Debian พ่อของฉันเตือนฉันว่าโดยเฉพาะลีนุกซ์สามารถทำให้แบตเตอรี่แล็ปท็อประเบิดและ / หรือทำลายฮาร์ดแวร์ใน MacBooks ฉันพบสิ่งนี้แปลกมาก แต่ไม่มีงานวิจัยใด ๆ ที่พิสูจน์หักล้าง ฉันไม่สามารถพบสิ่งใดเกี่ยวกับสิ่งนี้บนอินเทอร์เน็ตดังนั้นใครสามารถช่วยฉันได้

4
เขียน Python stdout เป็นไฟล์ทันที
เมื่อพยายามเขียน stdout จากสคริปต์ Python ไปยังไฟล์ข้อความ ( python script.py > log) ไฟล์ข้อความจะถูกสร้างขึ้นเมื่อคำสั่งเริ่มทำงาน แต่เนื้อหาจริงจะไม่ถูกเขียนจนกว่าสคริปต์ Python จะเสร็จสิ้น ตัวอย่างเช่น: script.py: import time for i in range(10): print('bla') time.sleep(5) พิมพ์ไปยัง stdout ทุก 5 วินาทีเมื่อเรียกด้วยpython script.pyแต่เมื่อฉันโทรpython script.py > logขนาดของไฟล์บันทึกจะเป็นศูนย์จนกระทั่งสคริปต์เสร็จสิ้น เป็นไปได้หรือไม่ที่จะเขียนลงในไฟล์บันทึกโดยตรงเช่นคุณสามารถติดตามความคืบหน้าของสคริปต์ (เช่นใช้tail)? แก้ไขมันปรากฎว่าpython -u script.pyเป็นการหลอกลวงฉันไม่รู้เกี่ยวกับบัฟเฟอร์ของ stdout
51 shell  python  stdout 

5
การพิจารณาว่าไฟล์เป็นฮาร์ดลิงก์หรือลิงก์สัญลักษณ์?
ฉันกำลังสร้างเชลล์สคริปต์ที่จะนำชื่อไฟล์ / พา ธ ไปยังไฟล์และตรวจสอบว่าไฟล์นั้นเป็นลิงก์สัญลักษณ์หรือฮาร์ดลิงก์ สิ่งเดียวคือฉันไม่ทราบวิธีการดูว่าพวกเขาเป็นลิงค์ยาก ฉันสร้างไฟล์ 2 ไฟล์หนึ่งไฟล์เป็นฮาร์ดลิงก์และอีกหนึ่งลิงก์สัญลักษณ์เพื่อใช้เป็นไฟล์ทดสอบ แต่ฉันจะทราบได้อย่างไรว่าไฟล์เป็นฮาร์ดลิงก์หรือสัญลักษณ์ภายในเชลล์สคริปต์ นอกจากนี้ฉันจะค้นหาพาร์ติชันปลายทางของลิงก์สัญลักษณ์ได้อย่างไร สมมุติว่าฉันมีไฟล์ที่เชื่อมโยงไปยังพาร์ติชันอื่นฉันจะค้นหาพา ธ ไปยังไฟล์ต้นฉบับนั้นได้อย่างไร

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