เคล็ดลับสำหรับการจับด้วยบรรทัดคำสั่ง [ปิด]


29

เมื่อฉันย้ายจาก Windows ไปที่ Ubuntu เป็นครั้งแรกสิ่งที่น่ากังวลที่สุดที่ฉันต้องทำคือใช้บรรทัดคำสั่ง

คำสั่งการพิมพ์เป็นประสบการณ์ที่แปลกใหม่เมื่อคุณคุ้นเคยกับการชี้และคลิกเท่านั้น

เมื่อฉันพูดคุยกับผู้ใช้ Ubuntu ใหม่พวกเขามักจะรู้สึกไม่สบายใจที่จะพูดคุยกับคอมพิวเตอร์โดยตรง

มีคำแนะนำที่ง่ายและเป็นมิตรเพื่อช่วยให้ผู้ใช้ใหม่ทำความคุ้นเคยกับบรรทัดคำสั่งหรือไม่

คุณมีเคล็ดลับที่จะทำให้ประสบการณ์ง่ายขึ้นหรือสนุกขึ้นหรือไม่?


4
สำหรับสิ่งที่คุ้มค่า Ubuntu พยายามอย่างหนัก (อย่างน้อยหนักกว่าลินุกซ์อื่น ๆ ) ไม่ให้คุณใช้บรรทัดคำสั่งหากคุณไม่ต้องการ แต่จะมีสิ่งต่าง ๆ ที่ทำได้ง่ายกว่า / เร็วกว่าบนบรรทัดคำสั่งมากกว่าใน GUI ดังนั้นจึงเป็นความคิดที่ดีที่จะเรียนรู้เกี่ยวกับมัน (และเป็นคำถามที่ดี)
David Z

คำตอบ:


17

หากคุณกำลังมองหาแนวทางที่ดีในการเรียนรู้บรรทัดคำสั่งรายการโปรดของฉันคือLinuxCommand.org

คำแนะนำจะแสดงพื้นฐานของบรรทัดคำสั่งและจะแนะนำคุณในการเขียนเชลล์สคริปต์ที่มีประโยชน์

ที่กล่าวว่าผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องใช้บรรทัดคำสั่งสำหรับการดำเนินงานแบบวันต่อวัน ฉันไม่คิดว่าบรรทัดคำสั่งควรกีดกันผู้ใช้จากการโยกย้ายไปยัง Ubuntu แต่เมื่อคุณเรียนรู้พลังของบรรทัดคำสั่งคุณจะไม่สามารถอยู่ได้โดยปราศจากมัน!


15

นี่คือคำสั่งทั่วไปสำหรับการจัดการกับระบบไฟล์:

  • cp [src] [dest] - คัดลอก src ไปยังปลายทาง
  • mv [src] [dest] - ย้าย src ไปยังปลายทาง (ใช้สำหรับเปลี่ยนชื่อ)
  • cd [dir] - เปลี่ยนไดเรกทอรีปัจจุบันเป็น dir
  • pwd - พิมพ์ไดเรกทอรีปัจจุบัน
  • cat [file] - พิมพ์เนื้อหาของไฟล์ไปที่หน้าจอ
  • rm [file]- ลบไฟล์1
  • rmdir [dir] - ลบไดเรกทอรีว่างเปล่า

คำนำหน้าคำสั่งใด ๆ ที่sudoทำให้คำสั่งถูกเรียกใช้งานในฐานะผู้ใช้รูท

1 - อย่าพิมพ์sudo rm -rf /เพราะมันจะลบระบบไฟล์


5
Heh, +1 สำหรับคำเตือน sudo rm :)
Nicholas Knight

2
อย่าลืมบันทึกย่อเกี่ยวกับ forkbomb ที่น่าอับอาย ": () {: |: &} ;:" ที่สำคัญคือต้องใช้กระบวนการใหม่จำนวนไม่ จำกัด และค่อยๆทำให้ระบบช้าลงจนกว่าจะหมดทรัพยากรที่ต้องรีสตาร์ทระบบ สำหรับข้อมูลเพิ่มเติมโปรดดูที่en.wikipedia.org/wiki/Fork_bomb
Evan Plaice

12

1) การเติมแท็บ:

ประหยัดเวลาขนาดยักษ์ หากคุณกำลังพิมพ์คำสั่งคุณต้องพิมพ์คำสั่งให้เพียงพอเพื่อให้มีเซ็กเมนต์เริ่มต้นที่สามารถขยายได้ในวิธีเดียวเท่านั้นจากนั้นสามารถกด TAB หนึ่งครั้งเพื่อขยายเซ็กเมนต์เริ่มต้นของคุณไปยังคำสั่งทั้งหมด ดังนั้นสำหรับตัวอย่างเช่นในระบบของฉันจะขยายumo TAB umount(ในระบบของฉันเป็นส่วนขยายเริ่มต้นที่ขยายได้เพียงด้านเดียวคือฟังก์ชั่นของสิ่งที่คุณติดตั้ง ฯลฯ ) หากคุณไม่พิมพ์พอที่จะทำให้การเสร็จสมบูรณ์ไม่น่าสงสัย TAB จะไม่ขยาย แต่แท็บที่สองจะแสดง รายการความสำเร็จที่เป็นไปได้ ดังนั้นในระบบของฉันum TAB TABผลผลิต:

umask       umax_pp     umount      umount.hal

การทำให้แท็บเสร็จสมบูรณ์ยังใช้งานได้บนเส้นทาง: cd /home/me/docs/reallylo TABหากเป็นเอกเทศให้ขยายไปยังcd /home/me/docs/reallylongdirnameและหากไม่ซ้ำกันให้เสนอรายการของการต่อเนื่องของผู้สมัครเช่นเดียวกับumด้านบน

2) man some-commandหรือsome-command --helpหรือsome-command -h:

หากคุณจำไม่ได้ว่าคำสั่งทำงานอย่างไรคุณสามารถขอรับเอกสารได้ในเชลล์ manมักจะให้รายละเอียดมากที่สุด โดยปกติหนึ่งหรือทั้งสองอย่างของ--helpและ-hขัดแย้งกับคำสั่งให้สรุปสั้น ๆ

3) head:

man some-commandเข้าควบคุมเทอร์มินัลและป้องกันไม่ให้คุณป้อนคำสั่งในขณะที่ข้อความตัวอักษรแสดงขึ้น man some-command | headจะแสดง 10 บรรทัดแรก man some-command | head -nจะแสดงบรรทัดแรก n ในทั้งสองกรณีคุณจะได้รับข้อความแจ้งกลับเพื่อให้คุณสามารถแสดงข้อความบนหน้าจอขณะที่คุณป้อนคำสั่ง


เมื่อฉันใช้man some-commandคนช่วยให้ฉันเลื่อนขึ้นและลงผ่านหน้า ไม่ปกติเหรอ?
Michael Crenshaw

@ mac9416: แน่นอน ฉันไม่เคยลองมาก่อน: - [แก้ไขคำตอบเพื่อพิจารณาสิ่งนี้ ขอบคุณ!
vanden

ใช่manใช้เพจเจอร์ (ปกติless) less somefileหากคุณต้องการที่จะตรวจสอบไฟล์ในลักษณะที่คล้ายพิมพ์ หากคุณคุ้นเคยvimคุณสามารถใช้jkปุ่มเพื่อเลื่อน
Umang

ในความเป็นธรรมทั้งหมดความสมบูรณ์ของแท็บไม่สามารถใช้ได้ในทุกเชลล์
นาธานออสมัน

@ George Edison: จริงเพียงพอ แต่ถ้าเป็นผู้ใช้ใหม่ที่มีปัญหา (ตามที่เป็นปัญหา) พวกเขาจะไม่เปลี่ยนเชลล์จากค่าเริ่มต้นและจะมีแท็บเสร็จสมบูรณ์
vanden

7

เปลี่ยนเป็น zsh!

ในขณะที่มันเป็นเหมือนทุบตีมาก แต่ก็มีคุณสมบัติเพิ่มเติมที่ดีมากออกมาจากกล่อง (เช่นตัวอย่างการแก้ไขการพิมพ์ผิดแม้ในองค์ประกอบพา ธ ก่อนหน้าหรือวิดเจ็ตที่มีประโยชน์ในการเรียกความช่วยเหลือสำหรับคำสั่งปัจจุบัน ฉันกด ESC-h หลังจากเช่นพิมพ์mplayerและจะเปิดหน้าคนหลังจากปิดมันฉันกลับไปที่บรรทัดเก่า))

ผมขอแนะนำหนังสือเล่มต่อไปนี้ซึ่งครอบคลุม zsh, ทุบตีและบางหอยอื่น ๆ
จากทุบตีถึง Z เชลล์: ชัยชำนะบรรทัดคำสั่ง ในขณะที่มันมีอายุไม่กี่ปีแล้วฉันดีใจที่สิ่งนี้ไม่ทำให้ฉันหันเหออกจากการซื้อ คำแนะนำนี้มีไว้หากคุณไม่ต้องการเปลี่ยนเป็น zsh

ฉันใช้บรรทัดคำสั่งเป็นจำนวนมากตั้งแต่ไม่กี่ปี (ภายในเครื่องและผ่าน SSH) ฉันเพิ่งทำสลับไปยัง zsh ด้วยตัวเอง (ส่วนใหญ่เป็นเพราะการแจ้ง bash ที่กำหนดเองซึ่งไม่เข้ากัน) นี่คือการกำหนดค่าzshของฉัน(รวมอยู่ในที่เก็บ dotfilesของฉัน)

คุณสามารถใช้chsh -s /bin/zshเพื่อสลับเปลือกของคุณ (ผ่าน / etc / passwd) หรือเพียงเรียกมันว่าจากเปลือกปัจจุบันของคุณคือพิมพ์zshในพรอมต์ bash ของคุณ (คุณอาจต้องติดตั้งก่อน ( sudo apt-get install zsh)


5

"apropos" (หรือเทียบเท่า: "man -k") เพื่อค้นหาคำสั่งให้ทำบางสิ่ง

$ apropos [my query]

ตัวอย่างเช่นในการค้นหาคำสั่งเพื่อคัดลอกไฟล์:

$ apropos copy

จะแสดงรายการคำสั่งจำนวนมากซึ่ง

cp (1) - copy files and directories

เป็นหนึ่ง

"cp" เป็นคำสั่งและ "1" เป็นส่วนจากคู่มือที่ปรากฏ ส่วนที่ 1 เป็นคำสั่งของผู้ใช้ทั่วไป (ส่วนอื่น ๆ รวมถึงสิ่งต่าง ๆ เช่นการโทรในห้องสมุดซึ่งคุณจะไม่สนใจ) หากต้องการ จำกัด การค้นหาเฉพาะส่วนที่ 1 ให้ใช้:

$ apropos -s1 [my query]

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งให้ใช้ "man" เช่น

$ man cp

+1 manสำหรับการเป็นคนแรกที่จะกล่าวถึง ไชโย!
jathanism

4

ลองใช้ปลา

fish เป็นเชลล์บรรทัดคำสั่งที่ใช้งานง่ายสำหรับระบบปฏิบัติการ UNIX เช่น Linux

เหนือสิ่งอื่นใดมันยังมีความสมบูรณ์ของแท็บขั้นสูงมากกว่าทุบตีซึ่งจะมีประโยชน์มากในขณะที่เรียนรู้

ข้อความแสดงแทน

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php


1
ฉันชอบคุณสมบัติการค้นหาประวัติ เพียงพิมพ์อะไรก็ได้กดปุ่มลูกศรขึ้นเพื่อค้นหาคำที่เหมือนกันในประวัติศาสตร์ของคุณ ประหยัดเวลาได้อย่างยอดเยี่ยม
Javier Rivera

ลิงก์ไปที่ fishshell.org ล้าสมัยแล้ว fishshell.comเป็นเครื่องใหม่
NES

2

history | grep SOMETHING - ค้นหาคำสั่งที่คุณใช้ก่อนหน้านี้ซึ่งมี SOMETHING

fortune - :-)


2
สำหรับสิ่งนี้ฉันใช้Ctrl+R SOMETHING(ด้วยความแตกต่างที่ทำให้เกิดขึ้นครั้งสุดท้าย ) ทำซ้ำCtrl+Rเพื่อค้นหาเหตุการณ์ที่เกิดขึ้นเพิ่มเติมSOMETHINGในประวัติคำสั่ง
Bert Van Vreckem

2

หากต้องการเรียนรู้วิธีใช้คำสั่งให้เพิ่มช่องว่างแล้ว "- ช่วย" ที่ส่วนท้ายของคำสั่ง - นี่จะบอกวิธีใช้และให้รายการตัวเลือกต่างๆ

เช่น

cp --help

คำเตือนนี่ใช้ไม่ได้กับคำสั่งทั้งหมด!
SilverWolf - Reinstate Monica

2

คู่มือท่องเที่ยว Ubuntu และอ้างอิงมีบทที่เกี่ยวกับการใช้บรรทัดคำสั่ง มันจะทำให้คุณพร้อมใช้งานได้อย่างรวดเร็วด้วยบรรทัดคำสั่ง

นอกจากนี้ยังสามารถดาวน์โหลดหรืออ่านออนไลน์ได้ฟรี


2

ฉันแนะนำและใช้CLI Companion :

CLI Companion เป็นเครื่องมือในการจัดเก็บและเรียกใช้คำสั่ง Terminal จาก GUI ผู้คนที่ไม่คุ้นเคยกับเทอร์มินัลจะพบว่า CLI Companion เป็นวิธีที่มีประโยชน์ในการทำความคุ้นเคยกับเทอร์มินัลและปลดล็อกศักยภาพของมัน ผู้ใช้ที่มีประสบการณ์สามารถใช้ CLI Companion เพื่อเก็บรายการคำสั่งที่ครอบคลุมในรายการที่ค้นหาได้

ป้อนคำอธิบายรูปภาพที่นี่

คุณได้รับโดยการเรียกใช้:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

หากคุณไม่ต้องการที่จะเพิ่ม PPA ลองไฟล์นี้สำหรับ 12.04 (รุ่นล่าสุด 1.1-6 ปล่อย 2012-04-14 - ตรวจสอบที่หน้านี้สำหรับรุ่นใหม่.) - หรือนำ PPA sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightliesหลังจากติดตั้งด้วย


1

ค้นหาหนังสือ Ubuntu ที่มีดัชนีบรรทัดคำสั่งที่ดี zerox และวางไว้ใกล้กับคอมพิวเตอร์ บังคับตัวเองให้ใช้มัน แหล่งข้อมูลที่ดีคือหนังสือ "คำสั่ง Ubuntu Linux Toolbox 1000+" ครอบคลุมทุกสิ่งที่คุณจำเป็นต้องรู้ (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

อย่างไรก็ตามหากคุณไม่ได้ใช้เซิร์ฟเวอร์ในเดสก์ท็อป Ubuntu เกือบทุกอย่างพร้อมใช้งานกับ GUI


0

ฉันได้เรียนรู้มากมายเกี่ยวกับการใช้บรรทัดคำสั่งและทำให้ฉันรู้สึกสบายใจในการทำงานจากการอ่านหนังสือThe Bash Cookbookจาก O'Reilly and Associates มันเป็นหนังสือเกี่ยวกับการเขียนสคริปต์ Bash แต่ชิ้นส่วนที่มีขนาดกัดของรูปแบบตำราอาหารทำให้เข้าถึงได้ง่ายมาก หากคุณคิดว่า "Gee ฉันแน่ใจว่าอยากทำ X แต่ฉันไม่รู้ว่าทำอย่างไร" คุณสามารถใช้สารบัญเพื่อค้นหา X (และ Y และ Z สำหรับเรื่องนั้น) และ รับความคิดที่ดีเกี่ยวกับวิธีการทำ (และคำอธิบายที่ดีเกี่ยวกับวิธีการทำงานกับตัวชี้ไปยังสูตรและแหล่งข้อมูลอื่น ๆ ที่สามารถขยายความเข้าใจของคุณต่อไป)


0

ฉันได้อ่าน Ubuntu Server Book อย่างเป็นทางการ The (รุ่นที่ 2)เพื่อเรียนรู้การบริหารระบบและไม่เพียง แต่ฉันมีความเชี่ยวชาญในการใช้บรรทัดคำสั่งมากขึ้น แต่ฉันก็เริ่มเรียนรู้การทำงานภายในของระบบปฏิบัติการด้วยตนเอง

การใช้ Ubuntu Server Edition ช่วยให้ฉันเรียนรู้บรรทัดคำสั่งได้ง่ายขึ้นเพราะฉันไม่มี GUI ที่จะใช้แทน

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