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

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

3
วิธีการแสดงพาร์ทิชันทั้งหมดในรูปแบบต้นไม้ (หลักขยายและตรรกะ)?
ฉันพยายามค้นหาบางสิ่งที่คล้ายกับเอาต์พุตfindmntแต่มีวอลุ่มแทนจุดเมานท์ (ตัวอย่าง): TARGET TYPE FSTYPE sda ├─sda1 Primary ext4 │ └─/ ├─sda2 Primary NTFS ├─sda3 Primary ext4 │ └─/boot └─sda4 Extended ├─sda5 Logical ext4 │ └─/home └─sda6 Logical ext4 └─/var การแสดงของ TYPE และ FSTYPE นั้นเป็นทางเลือกสิ่งที่น่าสนใจสำหรับฉันคือแผนผังเลย์เอาต์ ผลลัพธ์ของlsblkค่อนข้างไม่สมบูรณ์เนื่องจากไม่ได้แสดงความแตกต่างระหว่างพาร์ติชันหลัก, ขยายและตรรกะ (ฉันรู้ว่าฉันจู้จี้จุกจิกที่นี่): lsblk -a NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 …

7
คุณจะย้ายไฟล์เป็นจำนวนมากในหนึ่งไดเรกทอรีได้อย่างปลอดภัยได้อย่างไร
ฉันจะย้ายไฟล์ไปยังไดเรกตอรีโดยที่อาจมีหลายร้อยหรือหลายพันไฟล์ในไดเรคทอรีและคุณอาจไม่แน่ใจว่ามีพหูพจน์อยู่..หรือไม่ คุณจะใช้วิธีใด วิธีจัดการกับดักจะแตกต่างกันไปบางครั้งเราจะเขียนทับบางครั้งเราต้องปลอดภัยกว่า IO มีความสำคัญเนื่องจากเป็นเซิร์ฟเวอร์ที่ใช้งานจริง แต่ปริมาณที่กำหนดจะเป็นตัวเลือกสำหรับไฟล์ที่ไม่ซ้ำกัน การสงวนสิทธิ์และการประทับเวลา ฯลฯ เป็นสิ่งสำคัญ เรามักจะไม่รู้ว่าข้อมูลคืออะไร โอ้และmvไม่จำเป็นต้องใช้งานrsync, cpยินดีต้อนรับโซลูชัน หมายเหตุ: เรากำลังเรียกใช้ CentOS 5.5 เพื่อแจ้งให้เราทราบหากไม่สามารถใช้งานได้เนื่องจากเป็นคุณสมบัติที่ใหม่กว่า ...

2
พฤติกรรมที่แปลกประหลาดของ TR ใช้ช่วง
ฉันมีเซิร์ฟเวอร์หนึ่งที่แสดงพฤติกรรมแปลก ๆ เมื่อใช้ tr นี่คือตัวอย่างจากเซิร์ฟเวอร์ที่ใช้งานได้: -bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] 1234567890 -bash-3.2$ นั่นทำให้รู้สึกที่สมบูรณ์แบบสำหรับฉัน อย่างไรก็ตามสิ่งนี้มาจากเซิร์ฟเวอร์ 'พิเศษ': [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] abcdefghijklmnpqrstuvwxyz1234567890 อย่างที่คุณเห็นการลบอักขระตัวพิมพ์เล็กทั้งหมดล้มเหลว แต่มันได้ลบตัวอักษร 'o' ส่วนที่น่าสนใจคือสองตัวอย่างต่อไปนี้ซึ่งไม่สมเหตุสมผลกับฉันเลย: [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-n] opqrstuvwxyz1234567890 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-o] abcdefghijklmnpqrstuvwxyz1234567890 [root@host~]# (อีกครั้งเครื่องหมาย 'o' จะถูกลบในตัวอย่างสุดท้าย) ไม่มีใครมีความคิดอะไรเกิดขึ้นที่นี่? ฉันไม่สามารถทำซ้ำในกล่อง linux อื่น ๆ ที่ฉันใช้

1
ตัวเลือกทางเลือกเพื่อ rm -f
ฉันต้องการเรียกใช้บรรทัดคำสั่ง: cd ~/www/tmp/; rm -P 2* แต่ฉันได้รับข้อผิดพลาดหากไม่มีไฟล์ที่ขึ้นต้นด้วย 2 คุณคิดว่าฉันต้องการใช้-fอย่างไรก็ตาม: -f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. และฉันทำดูแลเกี่ยวกับแฟ้ม permissions- ถ้ามีบางสิ่งบางอย่างที่แปลกที่เกิดขึ้นผมต้องการยกเลิกคำสั่ง ฉันต้องการระงับข้อผิดพลาด 'ไม่มีอยู่' …
10 command-line  rm 

1
ฉันจะยกเลิกรายการคำสั่งที่เหลือใน Bash ได้อย่างไร?
ใน Bash บางครั้งฉันจะพิมพ์รายการคำสั่งและการเข้าชมEnterและต่อมาก็ตระหนักว่ามีข้อผิดพลาดบางคำสั่งใกล้จะจบรายการ ฉันรู้ว่าถ้าฉันกดCtrl+ Cมันจะยุติคำสั่งที่กำลังทำงานอยู่และยกเลิกรายการที่เหลือ มีวิธีการยกเลิกรายการที่เหลือโดยไม่ยกเลิกคำสั่งที่กำลังทำงานอยู่หรือไม่? ตัวอย่างเช่นสมมติว่าฉันพิมพ์บางสิ่งบางอย่างเช่น foo; bar หรือ foo && bar ซึ่งfooเป็นคำสั่งที่ใช้เวลานานซึ่งเป็นสิ่งสำคัญมากที่จะไม่ขัดจังหวะและbarทำสิ่งที่ไม่สามารถแก้ไขได้และไม่ต้องการ (พูดshutdown -h nowหรือrm -rf /) ในขณะที่fooยังทำงานอยู่มีวิธีทั่วไปในการบอกเชลล์ให้fooเสร็จ แต่จะไม่ทำงานในbarภายหลังหรือไม่? (ใช่ฉันสามารถเปลี่ยนการอนุญาตbarเพื่อไม่ให้ใช้งานได้ แต่มันไม่สะดวกbarเป็นพิเศษหากเป็นอย่างrmที่ฉันต้องการใช้ในระหว่างนี้และจะไม่ทำงานหากฉันไม่ได้เป็นเจ้าของbarหรือbarเป็นบิวอิน)

1
วิธีคัดลอกข้อความจากบรรทัดคำสั่งไปยังคลิปบอร์ดโดยไม่ต้องใช้เมาส์?
ฉันกำลังพยายามหาวิธีที่จะคัดลอกข้อความปัจจุบันในบรรทัดคำสั่งไปยังคลิปบอร์ดโดยไม่ต้องแตะเมาส์ กล่าวอีกนัยหนึ่งฉันต้องเลือกข้อความด้วยแป้นพิมพ์เท่านั้น ฉันพบวิธีแก้ปัญหาครึ่งทางที่อาจนำไปสู่วิธีแก้ปัญหาเต็มรูปแบบ: Ctrl+a - เลื่อนไปที่จุดเริ่มต้นของบรรทัด Ctrl+k - ตัดทั้งเส้น Ctrl+y - ดึงข้อความที่ตัดกลับมา หรือฉันสามารถใช้Ctrl+uเพื่อดำเนินการ 2 ขั้นตอนแรก แน่นอนว่ามันใช้งานได้ แต่ฉันพยายามหาว่าข้อความที่ถูกตัดนั้นถูกเก็บไว้ตรงไหน มีวิธีการเข้าถึงโดยไม่ใช้Ctrl+yหรือไม่? ฉันรู้xclipและฉันยังใช้มันเพื่อส่งข้อความตรงไปยังคลิปบอร์ดดังนั้นฉันจึงคิดว่าจะบีบอัดข้อมูลที่บันทึกไว้โดยCtrl+kไปที่xclipแต่ไม่แน่ใจว่าจะทำอย่างไร วิธีการที่ผมได้รับเพื่อให้ห่างไกลคือการเขียนสคริปต์ที่ใช้xdotoolในการเพิ่มechoจุดเริ่มต้นของบรรทัดและ| zxcไปยังจุดสิ้นสุดของเส้นแล้วฮิตใส่ ( zxcเป็นนามแฝงที่กำหนดเองซึ่งโดยทั่วไปท่อxclip) วิธีนี้ใช้ได้ผล แต่ก็ไม่ใช่วิธี "สะอาด" จริงๆ ฉันใช้ Cshell ถ้ามันสร้างความแตกต่าง แก้ไข: ฉันไม่ต้องการใช้screenเป็นวิธีการแก้ปัญหาลืมที่จะพูดถึงว่า ขอบคุณ!

1
มีบางอย่างเช่น lsblk สำหรับอินเตอร์เฟสเครือข่ายหรือไม่?
มีคำสั่ง Linux ที่แสดงภาพอินเตอร์เฟสเครือข่ายที่กำหนดค่าไว้ในมุมมองแบบต้นไม้เช่นเดียวlsblkกับอุปกรณ์บล็อกหรือไม่ ผลลัพธ์ของโปรแกรมดังกล่าวอาจมีลักษณะเช่นนี้ (จากล่างขึ้นบน): eth0 └─bond0 ├─bond0.42 │ └─br42 └─bond0.43 └─br43 eth1 └─bond0 ├─bond0.42 │ └─br42 └─bond0.43 └─br43 tap100i0 └─br42 tap100i1 └─br43 tap101i0 └─br42 tap101i1 └─br43 หรือสิ่งนี้ (จากบนลงล่าง): br42 ├─bond0.42 │ └─bond0 │ ├─eth0 │ └─eth1 ├─tap100i0 └─tap101i0 br43 ├─bond0.43 │ └─bond0 │ ├─eth0 │ └─eth1 ├─tap100i1 └─tap101i1 หมายเหตุ: …

2
แป้นพิมพ์ลัดสำหรับบรรทัดคำสั่งคืออะไร
ฉันกำลังพูดถึงแป้นพิมพ์ลัดที่คุณใช้ใน command-line / terminal ตัวอย่าง: Ctrl+ cที่ฆ่ากระบวนการCtrl+ dออกจากระบบCtrl+ zที่ส่งกระบวนการไปยังพื้นหลัง ... ฯลฯ ผมได้ทดสอบและพบว่าพวกเขาจะไม่ขั้ว (เช่นgnome-terminal, xterm, konsole) ที่เฉพาะเจาะจงหรือเปลือก (เช่นbash, zsh) ที่เฉพาะเจาะจงที่จะได้ทำงานที่ttys ดังนั้นฉันต้องการทราบ: ใครเป็นผู้ให้ทางลัดเหล่านี้ ฉันจะแสดงและแก้ไข / กำหนดได้อย่างไร?

1
ป้องกันการวางหลายบรรทัดในทุบตี
ฉันมักจะใช้ctrl+cเพื่อคัดลอกข้อความจากแอปพลิเคชั่น gui บางส่วนแล้ววางลงในเทอร์มินัลอีมูเลเตอร์ (เทอร์มิเนเตอร์) โดยใช้เมนูคลิกเมาส์ขวาและวาง บางครั้งฉันลืมว่าคลิปบอร์ดมีหลายบรรทัดซึ่งเมื่อวางลงในทุบตีทำให้แต่ละบรรทัดจะ "ดำเนินการ" มีวิธีแก้ปัญหาเพื่อป้องกันการวางหลายบรรทัดทั้งหมดหรือไม่?

4
เขียนข้อความระหว่าง Unix และ Windows
เป็นไปได้ไหมที่จะส่งข้อความระหว่างผู้ใช้สองคนใน LAN เดียวกัน แต่เป็น Windows แรกที่รันด้วย cmd และ Linux / Unix ตัวที่สอง? ฉันไม่ได้มองหาบริการส่งข้อความด่วน ฉันต้องการที่จะพิมพ์ในเปลือก Linux สิ่งที่ชอบ write user@192.168.x.x:port message เพื่อให้ผู้ใช้ Windows สามารถอ่านข้อความในหน้าต่าง cmd message; จากนั้นผู้ใช้ Windows ควรจะสามารถตอบกลับด้วยคำสั่งอื่น เป็นไปได้ไหม? ฉันได้อ่านเกี่ยวกับmsgคำสั่งWindows แล้วแต่มันไม่ทำงานในทุกเวอร์ชั่นของระบบปฏิบัติการ มีอะไรอีกไหม? แทนที่จะเป็น PuTTY ฉันต้องการใช้เชลล์ Linux และ Windows cmd

4
วิธี จำกัด เวลาที่โปรแกรมรันใน Linux?
python simulate.py <parameter list>ฉันมีหลายแบบจำลองในการทำแต่ละถูกเรียกด้วย ปัญหาเกี่ยวกับการจำลองเหล่านี้คือบางส่วนหยุดทำงานโดยไม่ต้องพูดถึงซึ่งทำให้ฉันไม่สามารถเรียกใช้งานเป็นชุดด้วยสคริปต์อย่างง่าย สิ่งที่ฉันต้องการคือรูปแบบของคำสั่ง "รันไทม์ - ข้อ จำกัด " ซึ่งจะฆ่ากระบวนการโดยอัตโนมัติ (ควรกดCtrl + C จริงๆ แต่ฉันคิดว่าการฆ่าแบบง่ายจะทำได้เช่นกัน) หลังจากเวลาที่กำหนดถ้า กระบวนการไม่ได้สิ้นสุดอย่างสง่างาม แน่นอนผมสามารถเขียนสคริปต์เช่นตัวเอง แต่ฉันสงสัยว่าคนที่ได้ทำมันแล้วก่อนที่ฉันดังนั้นฉันไม่จำเป็นต้องบูรณาการล้อใช้เวลากับps, timeและคู่มือทุบตี

3
นิพจน์ทั่วไปสำหรับค้นหาอักขระสองตัวใน Bash
ฉันกำลังมองหานิพจน์ทั่วไปที่ค้นหาการเกิดขึ้นของอักขระสองตัวในข้อความรายชื่อและอื่น ๆ บนบรรทัดคำสั่ง (Bash) หลักคำถาม : มีวิธีง่ายๆในการมองหาลำดับเช่นaa, ll, tttttฯลฯ ที่หนึ่งกำหนดนิพจน์ปกติที่จะมองหาที่ปรากฏ n ของตัวละครเดียวกันด้วย? สิ่งที่ฉันกำลังมองหาคือการบรรลุเป้าหมายในระดับพื้นฐานมาก ๆ บนบรรทัดคำสั่ง ใน Linux Shell หลังจากงานวิจัยบางอย่างฉันมาถึงคำตอบต่อไปนี้ - และคำถามที่เกิดจากพวกเขาดังนั้นพวกเขาเพียงแค่ให้คำแนะนำแก่ฉันว่าคำตอบอาจอยู่ที่ใด แต่: ก) (e) grep และปัญหาแบ็กสแลช grep 'a\{2\}' มองหา aa egrep'a{2}' มองหา aa คำถาม: ความจำเป็นของการตั้ง backlashes นั้นผูกพันกับคำสั่งที่ฉันใช้หรือไม่? ถ้าเป็นเช่นนั้นทุกคนสามารถให้คำแนะนำฉันกับฉันได้อย่างไรเมื่อใช้ (e) grep ที่นี่? b) ฉันพบคำตอบนี้ที่นี่สำหรับคำถามของฉันแม้ว่าจะไม่ใช่สิ่งที่ฉันกำลังมองหา: grep -E '(.)\1' filenameมองหารายการที่มีลักษณะเดียวกันที่ปรากฏมากกว่าหนึ่งครั้ง แต่ไม่ได้ถามบ่อยแค่ไหน ใกล้กับสิ่งที่ฉันกำลังมองหา แต่ฉันยังต้องการตั้งค่าการทำซ้ำจำนวนมาก …

2
ไฮไลต์สามไฟล์ที่อัพเดตล่าสุดในเอาต์พุต ls
มีวิธีใดที่จะโอเวอร์โหลดหรือปิดlsคำสั่งเพื่อให้ไฮไลต์ / ขีดเส้นใต้ / มิฉะนั้นจะทำให้ไฟล์สามไฟล์ที่ผ่านการแก้ไขมีความชัดเจนหรือไม่? ฉันรู้ว่าฉันสามารถls -rtlสั่งซื้อได้ตามเวลาการแก้ไขแบบย้อนกลับ แต่ฉันมักจะต้องการรายชื่อเรียงตามตัวอักษรของไฟล์แม้ว่าฉันจะต้องการระบุไฟล์ล่าสุดที่ตนเองหรือผู้อื่นดัดแปลงอย่างรวดเร็ว
10 linux  bash  command-line  ls 

2
อินเตอร์เฟสบรรทัดคำสั่งเหมือนของซิสโก้
ฉันกำลังมองหาวิธีที่จะใช้งานซิสโก้ขั้นพื้นฐานอย่างอินเตอร์เฟซบรรทัดคำสั่งบนอุปกรณ์เซิร์ฟเวอร์ Ubuntu ของฉัน (โดยเฉพาะ 12.04) ฉันได้พบกับโครงการต่อไปนี้: CLISHอย่างไรก็ตามเอกสารเป็นแบบร่างและดูเหมือนว่าจะค่อนข้างเก่า ใครบ้างมีประสบการณ์กับสิ่งนี้และคุณอาจรู้จักโครงการ / แนวทางที่คล้ายกันบ้างไหม?

3
วิธี `ค้นหา 'หลายไฟล์และเปิดในกลุ่ม?
สมมติว่าผมมีไฟล์ชื่อfilename123.txtและเป็นไฟล์เดียวที่มีชื่อเช่นนั้นและฉันสามารถกับคำสั่งlocate locate filename123และจะส่งคืนเฉพาะไฟล์นี้ ตอนนี้ผมต้องการที่จะเปิดมันด้วย/vi vimแต่ฉันไม่ต้องการไปที่ตำแหน่งนั้นและพิมพ์viคำสั่งตามด้วยชื่อไฟล์ ที่นี่ฉันต้องการผลลัพธ์locate filename123ที่จะผนวกเข้ากับคำสั่ง vi ฉันจะทำเช่นนั้นได้อย่างไร ฉันได้ลองแล้ว: locate filename123 | vi แต่มันไม่ได้ผล และข้อผิดพลาดนี้มาใน terminal: santosh@santosh:~$ locate filename123 | vi Vim: Warning: Input is not from a terminal Vim: Error reading input, exiting... Vim: Finished.

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