ค้นหาเว็บไซต์

ทางลัดในเทอร์มินัลของ Linux 9 อย่างนี้จะช่วยคุณประหยัดเวลาพิมพ์ไปหลายชั่วโมง


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

แอลลิแอสซิ่ง

สร้างทางลัดสำหรับคำสั่งยาว

สิ่งแรกที่คนส่วนใหญ่ที่เพิ่งเริ่มใช้ Linux สังเกตเห็นเมื่อพวกเขาเริ่มใช้เทอร์มินัลก็คือพวกเขาต้องพิมพ์เยอะ เนื่องจากฉันเติบโตมากับ MS-DOS นั่นจึงไม่ใช่ปัญหามากสำหรับฉัน แต่แม้แต่ฉันก็ต้องการประหยัดเวลาในการพิมพ์คำสั่งยาวๆ โดยเฉพาะในการทำงานซ้ำๆ

อัลิอาสในเชลล์ให้ฉันทำแบบนั้นได้ สิ่งที่ฉันต้องทำคือเลือกชื่อที่ฉันต้องการบันทึกอัลิอาสนั้นไว้แล้วกำหนดมัน เมื่อฉันต้องการทดลองใช้อัลิอาสใหม่ ฉันก็จะใช้มันที่บรรทัดคำสั่ง

เนื่องจากฉันเป็นนักเขียน ฉันมักจะต้องการเปลี่ยนตัวพิมพ์ของข้อความ ฉันสามารถทำได้นั้นโดยใช้คำสั่ง tr ในการทำเช่นนั้นกับอินพุตมาตรฐาน ฉันจะต้องพิมพ์ทั้งหมดนี้ออกมา:

tr '[:upper:]' '[:lower:]

สิ่งนี้จะแปลงตัวอักษรพิมพ์ใหญ่ทุกตัวเป็นตัวอักษรพิมพ์เล็ก ฉันจะกำหนดชื่อย่อ "lc" เป็นทางลัดโดยใช้คำสั่ง alias:

alias lc="tr '[:upper:]' '[:lower:]'" 

เมื่อฉันมั่นใจว่าสิ่งนี้ใช้ได้ ฉันก็สามารถใส่มันลงในไฟล์เริ่มต้นเชลล์ เช่น .bashrc หรือ .zshrc เนื่องจากฉันใช้ zsh ฉันได้สร้างคำสั่งใหม่โดยไม่ต้องเขียนโปรแกรม "จริง" สิ่งนี้แสดงให้เห็นถึงพลังของบรรทัดคำสั่งของ Linux และของเชลล์ Linux

คุณสามารถเปลี่ยนเชลล์ได้

คุณไม่จำเป็นต้องยึดติดกับ Bash

ในลินุกซ์ ส่วนต่อประสานกับผู้ใช้นั้นท้ายที่สุดคือโปรแกรมระดับผู้ใช้ ซึ่งสิ่งนี้ใช้ได้กับเดสก์ท็อปอย่าง Gnome หรือ KDE Plasma เช่นเดียวกับเชลล์ คุณสามารถสลับเชลล์คำสั่งบรรทัดคำสั่งได้อย่างง่ายดายด้วย csh

Bash เป็นเชลล์เริ่มต้นบน Linux และคุณสามารถพิจารณามันเป็นมาตรฐาน de facto เชลล์ที่ฉันชื่นชอบคือ zsh (ออกเสียงว่า "ซีเชลล์") เป็นค่าเริ่มต้นบนระบบ macOS แม้ว่าจะดูเหมือนว่ามาจากปัญหาเรื่องสิทธิ์การใช้งานระหว่าง Apple และผู้สร้าง Bash คือ Free Software Foundation มากกว่า zsh csh (ออกเสียงว่า "ซีเชลล์") เป็นตัวเลือกที่นิยมในประวัติศาสตร์บนระบบ BSD และ KornShell เป็นเชลล์สำรองที่นิยมอีกตัวหนึ่ง

คุณสามารถติดตั้งเชลล์อื่น ๆ ผ่านตัวจัดการแพ็กเกจได้

ในการสลับไปยังเชลล์ คุณสามารถใช้คำสั่ง chsh

chsh /path/to/shell

เส้นทางเต็มของเชลล์ควรถูกระบุไว้ในไฟล์ /etc/shells มิฉะนั้นจะไม่ทำงาน ดิสโทรส่วนใหญ่จะใส่เชลล์ที่ติดตั้งไว้ในนั้นโดยอัตโนมัติ

ทำไมคุณถึงอยากเปลี่ยนเชลล์ตั้งแต่แรก? เชลล์หลายตัวมีคุณสมบัติที่แตกต่างกัน zsh มีการจับคู่รูปแบบที่ขยายขึ้นหรื"globbing" ที่ช่วยให้คุณค้นหาไฟล์ในไดเรกทอรีย่อยได้ คุณยังสามารถติดตั้ง Oh My Zsh ซึ่งจะกล่าวถึงต่อไป เพื่อปรับแต่ง zsh เพิ่มเติมได้

ฟังก์ชัน

การสร้างโปรแกรมเชลล์เล็กๆ

ฟังก์ชันเชลล์เป็นทางเลือกที่ยืดหยุ่นมากกว่าการใช้ชื่อย่อ ชื่อย่อสามารถรับอาร์กิวเมนต์จากบรรทัดคำสั่งได้

ฉันจะกำหนดชื่อเล่น lc ก่อนหน้านี้ของฉันใหม่เป็นฟังก์ชัน:

ls (){
tr '[:upper:]' '[:lower:]'
}

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

ประวัติของเชลล์

เรียกคำสั่งที่พิมพ์ก่อนหน้านี้

ถ้าคุณใช้เทอร์มินัลเป็นเวลานาน คุณจะต้องการเรียกสิ่งที่คุณพิมพ์ก่อนหน้านี้ ประวัติของเชลล์เป็นวิธีหนึ่งในการทำเช่นนั้น เพื่อทำซ้ำคำสั่งที่ใช้ล่าสุด ให้ใช้เครื่องหมายอัศเจรีย์สองตัว (!!):

!!

คุณยังสามารถใช้ปุ่มลูกศรขึ้นและลงเพื่อเลื่อนดูประวัติคำสั่งของคุณได้ คุณสามารถดูประวัติคำสั่งทั้งหมดของคุณโดยใช้คำสั่ง "history"

เพื่อดูรายการคำสั่งที่เพิ่งรัน ใช้คำสั่ง history:

history

การแก้ไขบรรทัดคำสั่ง

เลื่อนดูประวัติของเชลล์ของคุณอย่างรวดเร็ว

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

ฉันชอบค้นหาย้อนหลังกำลังคำสั่งของฉันด้วยคำสั่งแป้นพิมพ์ Ctrl + r ฉันสามารถค้นหาสตริง และเมื่อพบแล้ว ฉันสามารถแก้ไขหรือรันคำสั่งนั้นอีกครั้งได้

การควบคุมงาน

ทำงานหลายอย่างพร้อมกันจากเทอร์มินัล

ในขณะที่ฉันเติบโตมากับ MS-DOS และฉันรู้สึกคิดถึงมัน โดยเฉพาะเกมต่างๆ แต่ฉันดีใจที่ได้ทิ้งธรรมชาติการทำงานแบบงานเดียวของมันไป ฉันสามารถรันคำสั่งมากกว่าหนึ่งคำสั่งพร้อมกันบนเชลล์ของ Linux วิธีที่ง่ายที่สุดในการทำเช่นนั้นคือผ่านหน้าต่างคอมมานด์ไลน์หลายหน้าต่างหรือเทอร์มินัลมัลติเพล็กเซอร์ แต่การควบคุมงานก็ทำงานได้ดีในยามฉุกเฉิน

เมื่อฉันต้องการรันคำสั่งที่ฉันรู้ว่าจะใช้เวลานาน ฉันสามารถใส่มันไว้ในพื้นหลังด้วยคำสั่ง & (แอมเพอร์แซนด์) และยังคงควบคุมเทอร์มินัลได้:

some_long_job &

งานนี้จะทำงานในพื้นหลังและจะแสดงผลลัพธ์ใดๆ ในเทอร์มินัลเมื่อมันเสร็จสิ้น เหมาะสำหรับการเปิดโปรแกรมกราฟิกโดยไม่ทำให้เทอร์มินัลใดเทอร์มินัลหนึ่งติดขัด ตัวอย่างเช่น การเปิด Firefox จากเทอร์มินัล:

firefox &

ฉันยังสามารถนำหน้าคำสั่งด้วย bg เพื่อวางมันในพื้นหลังได้ด้วย:

bg some_long_job

ฉันสามารถนำงานพื้นหลังมาสู่พื้นหน้าและทำให้มันควบคุมเทอร์มินัลด้วยคำสั่ง fg:

fg

ฉันสามารถระงับโปรแกรมที่กำลังทำงานอยู่ด้วยการกดปุ่ม Ctrl + z จากนั้นส่งมันไปทำงานเบื้องหลังด้วยคำสั่ง bg

การมัลติเข้าสถานีปลายทาง

เปิดเทอร์มินัลหลายตัวและอยู่ออนไลน์

ตัวคูณเทอร์มินอลเช่น tmux มีประโยชน์สำหรับการเรียกใช้หลายเทอร์มินอลในหนึ่งเดียว GNU Screen เป็นตัวแรก และในตอนแรกมันมีประโยชน์เป็นทางเลือกที่มีน้ำหนักเบาสำหรับ X Window System ในการเรียกใช้หลายเทอร์มินอล โปรแกรมเหล่านี้มีประโยชน์สำหรับเซสชัน SSH ระยะไกลเพราะคุณสามารถเชื่อมต่อกลับไปยังพวกมันได้หากการเชื่อมต่อขาด YouTuber NetworkChuck มีบทเรียนเกี่ยวกับวิธีการใช้ tmux:

แท็บเทอร์มินัล

หลายเทอร์มินอลในหน้าต่างเดียวกัน

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

โอ้มาย Zsh

ปรับแต่งเซสชัน zsh ของคุณ

Oh My Zsh เป็นยูทิลิตี้ที่เพิ่มตัวเลือกเพิ่มเติมบางอย่างให้กับ zsh หนึ่งในนั้นที่ฉันใช้เป็นประจำคือความสามารถในการใช้ธีมที่กำหนดเอง มีปลั๊กอินมากมายที่คุณสามารถใช้ปรับแต่งเซสชัน zsh ของคุณ นี่เป็นหนึ่งในเหตุผลที่ทำให้ zsh เป็นที่นิยมอย่างมากในหมู่ผู้ใช้พลังงานของ Linux


ถุงเครื่องมือของฉันสำหรับเทอร์มินัลลินุกซ์

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

บทความที่เกี่ยวข้อง