คำถามติดแท็ก command-line

บรรทัดคำสั่งเป็นอินเทอร์เฟซแบบโต้ตอบกับเชลล์ของคุณ

2
ทางลัดสำหรับการดำเนินการชุดคำสั่งในประวัติทุบตีอยู่หรือไม่?
สมมติว่าฉันมีตัวอย่างเล็ก ๆ น้อย ๆ ต่อไปนี้ในhistory: ... 76 cd ~ 77 ./generator.sh out.file 78 cp out.file ~/out/ 79 ./out/cleaner.sh . 80 ls -alnh /out ... ถ้าผมต้องการที่จะรันคำสั่ง77, 78และ79ในคำสั่งอย่างใดอย่างหนึ่งไม่มีอยู่ทางลัดสำหรับการนี้หรือไม่? ฉันได้ลอง!77 !78 !79แล้วซึ่งจะทำให้พวกเขาทั้งหมดในบรรทัดเดียวเพื่อดำเนินการ

6
ฉันจะป้อน n ซ้ำของตัวเลขในทุบตีโต้ตอบได้อย่างไร
ฉันต้องการเรียกใช้คำสั่ง foo --bar=baz <16 zeroes> ฉันจะพิมพ์ 16 ศูนย์ได้อย่างมีประสิทธิภาพได้อย่างไร ถ้าฉันAltกดค้างไว้1 6 0มันจะทำซ้ำสิ่งต่อไป 160 ครั้งซึ่งไม่ใช่สิ่งที่ฉันต้องการ ใน emacs ฉันสามารถใช้Alt-[number]หรือCtrl-u 1 6 Ctrl-u 0แต่ในทุบตีCtrl-uฆ่าสายที่ถูกพิมพ์ในขณะนี้และศูนย์ต่อไปเพียงแค่เพิ่ม 0 ลงในบรรทัด ถ้าฉันทำ foo --bar=baz $(printf '0%.0s' {1..16}) จากนั้นhistoryแสดงให้เห็นอย่างชัดเจนข้างต้นและไม่foo --bar=baz 0000000000000000; ie bash ไม่ทำงานในแบบที่ฉันต้องการ ( แก้ไข : เป็นจุดฉันต้องการที่จะใส่จำนวนศูนย์โดยไม่ต้องใช้การ$(...)ทดแทนคำสั่ง) (*) ฉันเดาว่าคำจำกัดความทางเทคนิคของ "มีประสิทธิภาพ" คือ "กับการกดแป้นพิมพ์ O (log n)" โดยเฉพาะอย่างยิ่งการกดแป้นจำนวนหนึ่งเท่ากับจำนวนหลักใน 16 (สำหรับค่าทั้งหมด 16) …

4
ฉันจะบีบอัดไฟล์ในสถานที่ได้อย่างไร
ฉันมีเครื่องที่มีการใช้งานฮาร์ดดิสก์ 90% ฉันต้องการบีบอัดไฟล์บันทึก 500+ ไฟล์ให้เป็นไฟล์ใหม่ที่เล็กกว่า อย่างไรก็ตามฮาร์ดดิสก์มีขนาดเล็กเกินไปที่จะเก็บไฟล์ต้นฉบับและไฟล์ที่บีบอัดไว้ ดังนั้นสิ่งที่ฉันต้องการคือการบีบอัดไฟล์บันทึกทั้งหมดเป็นไฟล์ใหม่ทีละไฟล์ลบต้นฉบับเมื่อถูกบีบอัด ฉันจะทำสิ่งนั้นใน Linux ได้อย่างไร

3
ฉันจะพิมพ์รหัสในรูปแบบที่ดีได้อย่างไร
เช่นเดียวกับการใช้ markdown บน Stack Overflow เพื่อสร้างmonospace outputฉันจะทำอย่างไรกับโปรแกรมของฉัน ฉันลอง lp filename.txt และรู้สึกยินดีอย่างยิ่งที่พบว่ามันสามารถใช้เครื่องพิมพ์เครือข่ายท้องถิ่นและพิมพ์ 'ตามที่เป็น' ปัญหาคือการส่งออกไม่เว้นระยะโมโน มีตัวเลือกที่เร็วกว่า ... 1) copy the text 2) paste into a text doc 3) format the document as mono 4) print it ฉันชอบที่จะหาตัวเลือกเช่นlp filename.txt -format=mono;)

6
Unix shell มีความเสถียรเพียงใด“ stdin / stdout APIs”?
grepping, awking, sedding และ piping เป็นกิจวัตรประจำวันของผู้ใช้ระบบปฏิบัติการที่คล้าย Unix อาจอยู่ในบรรทัดคำสั่งหรือภายในเชลล์สคริปต์ (เรียกรวมกันว่าตัวกรองจากนี้เป็นต้นไป) ที่สำคัญเมื่อทำงานกับโปรแกรม "มาตรฐาน" Unix CLI และเชลล์บิวด์อิน (เรียกรวมกันว่าคำสั่งต่อจากนี้ไป) ตัวกรองต้องการรูปแบบที่คาดหวังอย่างแม่นยำสำหรับ stdin, stdout และ stderr ในแต่ละขั้นตอนของตัวกรองเพื่อให้ทำงานได้อย่างถูกต้อง ฉันเรียกรูปแบบที่คาดหวังนี้ของคำสั่งบางอย่างว่า API ของคำสั่งนี้มีดังต่อไปนี้ ในฐานะที่เป็นคนที่มีพื้นฐานการพัฒนาเว็บฉันเปรียบเทียบการรวบรวมข้อมูลและการประมวลผลข้อมูลทางเทคนิคกับการขูดเว็บซึ่งเป็นเทคนิคที่ไม่แน่นอนมากเมื่อใดก็ตามที่มีการเปลี่ยนแปลงเล็กน้อยในการนำเสนอข้อมูล คำถามของฉันตอนนี้เกี่ยวข้องกับความมั่นคงของ Unix APIs คำสั่ง คำสั่งในระบบปฏิบัติการแบบ Unix ทำตามมาตรฐานอย่างเป็นทางการที่เกี่ยวข้องกับอินพุตและเอาต์พุตหรือไม่? มีกรณีในประวัติศาสตร์ที่มีการปรับปรุงคำสั่งที่สำคัญบางอย่างทำให้การทำงานของตัวกรองบางตัวที่สร้างขึ้นโดยใช้คำสั่งรุ่นเก่ากว่านั้นเสียหายหรือไม่ มีคำสั่ง Unix ที่สุกเมื่อเวลาผ่านไปซึ่งเป็นไปไม่ได้ที่จะเปลี่ยนแปลงอย่างที่ตัวกรองบางตัวสามารถแตกได้หรือไม่? ในกรณีที่ตัวกรองอาจแตกเป็นครั้งคราวเนื่องจากการเปลี่ยนคำสั่ง APIs ฉันจะเป็นนักพัฒนาป้องกันตัวกรองจากปัญหานี้ได้อย่างไร

4
ฆ่าขั้นตอนผู้ใช้ทั้งหมดใน Ubuntu หรือไม่
วิธีการฆ่ากระบวนการทั้งหมดของผู้ใช้คนหนึ่ง? เมื่อฉันทำให้ps auxฉันได้รับรายการของกระบวนการที่มีผู้ใช้หลายคนและฉันต้องการที่จะฆ่าทุกขั้นตอนของผู้ใช้name1! คำสั่งให้ทำใน Ubuntu คืออะไร?

3
การจัดการคีย์ X และตัวชี้คว้าบนบรรทัดคำสั่ง
เครื่องมือบรรทัดคำสั่งใดที่มีอยู่ในรายการและจัดการคว้าเซิร์ฟเวอร์ X (นั่นคือการคว้าในคีย์และตัวชี้คว้ากล่าวคือ จำกัด การใช้คีย์หรือปุ่มเมาส์เฉพาะกับแอปพลิเคชันเฉพาะหรือการทำให้ตัวชี้เมาส์ค้างอยู่ในพื้นที่หน้าจอเฉพาะ) ฉันกำลังมองหาxgrabยูทิลิตี้สมมุติฐานที่จะ แสดงสิ่งที่ชอบ Key 0x00f00ba5 0x123 0 Button 0x00f00ba5 2 Pointer 0x00abcdef หมายความว่าได้มีการเรียกร้องให้XGrabKey(display, 0x123, 0, 0x00f00ba5, ...)และอื่น ๆ ที่มีXGrabButton, XGrabPointer, XGrabKeyboard, XGrabServer(ถ้าเป็นไปได้) รูปแบบการแสดงผลไม่เป็นไรสิ่งที่ฉันต้องการคือวิธีที่จะดูว่าใครกำลังคว้าอะไรบ้างและอาจจะมีวิธียกเลิกการจับพวกนี้ (ถ้าเป็นไปได้ฉันไม่แน่ใจว่า X11 API อนุญาตหรือไม่)

7
ฉันจะเรียกใช้รหัส BASIC ในเทอร์มินัลได้อย่างไร
ฉันต้องการเรียกใช้รหัส BASIC เช่นเดียวกับที่คุณเคยทำบนคอมพิวเตอร์รุ่นเก่าใน Linux (ฉันกำลังมองหาผู้ขัดขวางพื้นฐานที่สามารถเรียกใช้ฟังก์ชั่นระบบปฏิบัติการได้) ฉันมีตัวเลือกอะไรบ้าง (ควรเป็นแบบ Debian-based และ Arch-based)


4
รับไฟล์ทั้งหมดที่ได้รับการแก้ไขในวันที่ที่ระบุ
เป็นไปได้หรือไม่ที่จะค้นหาphpไฟล์ทั้งหมดภายในไดเรกทอรีที่ได้รับการแก้ไขในวันที่แน่นอน ฉันกำลังใช้ find /var/www/html/dir/ -mtime -28 | grep '\.php' เพื่อรับไฟล์ที่แก้ไขภายใน 28 วันที่ผ่านมา แต่ฉันต้องการเพียงไฟล์ที่ได้รับการแก้ไขในวันที่ดังต่อไปนี้: 2011-02-08


2
ทำไมปุ่ม Enter ไม่ส่ง EOL
Unix / Linux EOL คือ LF, เลื่อนบรรทัด, ASCII 10 \nลำดับหนี นี่เป็นตัวอย่างของ Python ที่จะได้รับหนึ่งปุ่มกด: import sys, tty, termios fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch เมื่อฉันกดEnterแป้นพิมพ์ของฉันเพื่อตอบสนองต่อตัวอย่างนี้มันจะให้\r, การคืนรถ, ASCII 13 บนวินโดวส์ , ส่งEnter CR LF == 13 10* ระวังไม่ใช่ Windows; ทำไมEnterให้ 13 …


5
คำสั่งเพื่อเรียนรู้เกี่ยวกับระบบที่ไม่คุ้นเคย [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว คุณล็อกอินเข้าสู่ระบบ UNIX หรือ Linux ที่ไม่คุ้นเคย (ในฐานะรูท) คำสั่งใดที่คุณใช้เพื่อปรับทิศทางตัวเองและค้นหาว่าคุณใช้ระบบประเภทใด คุณจะทราบได้อย่างไรว่าฮาร์ดแวร์ชนิดใดที่ใช้งานอยู่ระบบปฏิบัติการชนิดใดที่กำลังทำงานอยู่และสถานการณ์ปัจจุบันที่เกี่ยวกับการอนุญาตและความปลอดภัย คำสั่งแรกและคำสั่งที่สองที่คุณพิมพ์คืออะไร

4
ฉันจะใช้การไหลเวียนของข้อมูลแบบวงกลมในคำสั่งที่เชื่อมต่อระหว่างกันได้อย่างไร
ฉันรู้ว่ามีสองประเภทวิธีที่คำสั่งสามารถเชื่อมต่อซึ่งกันและกัน: โดยใช้ Pipe (วาง std-output ลงใน std-input ของคำสั่งถัดไป) โดยใช้ Tee (แบ่งเอาต์พุตเป็นเอาต์พุตจำนวนมาก) ฉันไม่ทราบว่านั่นคือทั้งหมดที่เป็นไปได้หรือไม่ดังนั้นฉันวาดประเภทการเชื่อมต่อสมมุติ: เป็นไปได้อย่างไรที่จะใช้การไหลเวียนของข้อมูลระหว่างคำสั่งเช่นในรหัสเทียมนี้ซึ่งฉันใช้ตัวแปรแทนคำสั่ง: pseudo-code: a = 1 # start condition repeat { b = tripple(a) c = sin(b) a = c + 1 }

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