ทำความเข้าใจการจำแนกประเภทต่างๆ ของคำสั่งเชลล์และการใช้งานใน Linux
เมื่อเป็นเรื่องของการควบคุมระบบ Linux ของคุณอย่างสมบูรณ์ ไม่มีอะไรที่ใกล้เคียงกับ command line interface (CLI) ในการที่จะเป็นผู้ใช้ Linux เราต้องเข้าใจคำสั่งเชลล์ประเภทต่างๆ และวิธีการใช้งานที่เหมาะสมจากเทอร์มินัล
ใน Linux มีคำสั่งหลายประเภท และสำหรับผู้ใช้ Linux ใหม่ การรู้ความหมายของคำสั่งต่างๆ ช่วยให้สามารถใช้งานได้อย่างมีประสิทธิภาพและแม่นยำ ดังนั้นในบทความนี้ เราจะอธิบายการจำแนกประเภทต่างๆ ของคำสั่งเชลล์ใน Linux
แนะนำให้อ่าน: 5 เคล็ดลับและเทคนิคบรรทัดคำสั่งที่น่าสนใจใน Linux – ตอนที่ 1
สิ่งสำคัญประการหนึ่งที่ควรทราบคืออินเทอร์เฟซบรรทัดคำสั่งแตกต่างจากเชลล์ เพียงแต่ให้ช่องทางในการเข้าถึงเชลล์เท่านั้น เชลล์ซึ่งสามารถตั้งโปรแกรมได้ทำให้สามารถสื่อสารกับเคอร์เนลโดยใช้คำสั่งได้
การจำแนกประเภทต่างๆ ของคำสั่ง Linux อยู่ภายใต้การจำแนกประเภทต่อไปนี้:
1. โปรแกรมปฏิบัติการ (คำสั่งระบบไฟล์)
เมื่อคุณรันคำสั่ง Linux จะค้นหาไดเร็กทอรีที่เก็บไว้ในตัวแปรสภาพแวดล้อม ` PATH จากซ้ายไปขวาเพื่อเรียกใช้คำสั่งเฉพาะนั้น
คุณสามารถดูไดเร็กทอรีได้ใน ` PATH
ดังนี้:
echo $PATH
/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
ในลำดับข้างต้น ไดเร็กทอรี /home/aaronkilik/bin
จะถูกค้นหาก่อน ตามด้วย /usr/local/sbin
และอื่นๆ ลำดับมีความสำคัญในการค้นหา กระบวนการ.
ตัวอย่างคำสั่งระบบไฟล์ในไดเร็กทอรี /usr/bin
:
ll /bin/
ผลลัพธ์ตัวอย่าง
total 16284
drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../
-rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect*
-rwxr-xr-x 1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size*
lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root*
-rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super*
-rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log*
-rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2*
-rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox*
-rwxr-xr-x 1 root root 31288 May 20 2015 bzcat*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x 1 root root 4877 May 20 2015 bzexe*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*
2. นามแฝงของ Linux
คำสั่งเหล่านี้เป็นคำสั่งที่ผู้ใช้กำหนด ซึ่งสร้างขึ้นโดยใช้คำสั่งในตัวของเชลล์ นามแฝง และมีคำสั่งเชลล์อื่นๆ ที่มีตัวเลือกและอาร์กิวเมนต์บางอย่าง แนวคิดก็คือการใช้ชื่อใหม่และชื่อย่อสำหรับคำสั่งที่มีความยาว
แนะนำให้อ่าน: 10 การใช้ (!) สัญลักษณ์หรือตัวดำเนินการที่น่าทึ่งและลึกลับในคำสั่ง Linux
ไวยากรณ์สำหรับการสร้าง นามแฝง เป็นดังนี้:
alias newcommand='command -options'
หากต้องการแสดงรายการ นามแฝง ทั้งหมดบนระบบของคุณ ให้ออกคำสั่งด้านล่าง:
alias -p
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
หากต้องการสร้างนามแฝงใหม่ใน Linux ให้ทำตามตัวอย่างด้านล่าง
alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'
อย่างไรก็ตาม นามแฝงที่เราสร้างไว้ข้างต้นใช้งานได้ชั่วคราวเท่านั้น เมื่อระบบรีสตาร์ท นามแฝงเหล่านั้นจะไม่ทำงานหลังจากการบู๊ตครั้งถัดไป คุณสามารถตั้งค่านามแฝงถาวรได้ในไฟล์ .bashrc
ดังที่แสดงด้านล่าง
หลังจากเพิ่มแล้ว ให้รันคำสั่งด้านล่างเพื่อใช้งาน
source ~/.bashrc
3. คำสงวนของ Linux Shell
ในการเขียนโปรแกรมเชลล์ คำต่างๆ เช่น if, then, fi, for, ในขณะที่ , case, esac, else, จนกระทั่ง และอื่นๆ อีกมากมายเป็นคำสงวนของเชลล์ ตามคำอธิบายที่บอกเป็นนัย พวกมันมีความหมายเฉพาะกับเชลล์
คุณสามารถแสดงรายการคีย์เวิร์ดของเชลล์ Linux ทั้งหมดได้โดยใช้คำสั่ง type
ดังที่แสดง:
type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword
การอ่านที่แนะนำ: 10 โอเปอเรเตอร์ Linux Chaining ที่มีประโยชน์พร้อมตัวอย่างที่ใช้งานได้จริง
4. ฟังก์ชั่นเชลล์ลินุกซ์
ฟังก์ชันเชลล์คือกลุ่มของคำสั่งที่ดำเนินการร่วมกันภายในเชลล์ปัจจุบัน ฟังก์ชั่นช่วยในการดำเนินงานเฉพาะในเชลล์สคริปต์ รูปแบบทั่วไปของการเขียนฟังก์ชันเชลล์ในสคริปต์คือ:
function_name() {
command1
command2
…….
}
อีกทางหนึ่ง
function function_name {
command1
command2
…….
}
มาดูวิธีการเขียนฟังก์ชันเชลล์ในสคริปต์ชื่อ shell_functions.sh
#!/bin/bash
#write a shell function to update and upgrade installed packages
upgrade_system(){
sudo apt update;
sudo apt dist-upgrade;
}
#execute function
upgrade_system
แทนที่จะดำเนินการสองคำสั่ง: sudo apt update
และ sudo apt dist-upgrade
จากบรรทัดคำสั่ง เราได้เขียนฟังก์ชันเชลล์อย่างง่ายเพื่อดำเนินการทั้งสองคำสั่งเป็นคำสั่งเดียว คำสั่ง upgrade_system
ภายในสคริปต์
แนะนำให้อ่าน: 5 เชลล์สคริปต์สำหรับมือใหม่ Linux เพื่อเรียนรู้การเขียนโปรแกรมเชลล์
บันทึกไฟล์และหลังจากนั้นทำให้สคริปต์ปฏิบัติการได้ ในที่สุดก็รันได้ดังนี้:
chmod +x shell_functions.sh
./shell_functions.sh
5. คำสั่งในตัวของ Linux Shell
คำสั่งเหล่านี้เป็นคำสั่ง Linux ที่สร้างไว้ในเชลล์ ดังนั้นคุณจึงไม่พบคำสั่งเหล่านี้ภายในระบบไฟล์ ได้แก่ pwd, cd, bg, นามแฝง, ประวัติ, ประเภท, แหล่งที่มา, อ่าน, ออก และอื่นๆ อีกมากมาย
คุณสามารถแสดงรายการหรือตรวจสอบคำสั่งในตัวของ Linux ได้โดยใช้คำสั่ง type
ดังที่แสดง:
type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin
เรียนรู้เกี่ยวกับการใช้งานคำสั่งในตัวของ Linux:
- 15 ตัวอย่างคำสั่ง 'pwd' ใน Linux
- ตัวอย่างคำสั่ง 15 'cd' ใน Linux
- เรียนรู้พลังของคำสั่ง 'ประวัติศาสตร์' ของ Linux
บทสรุป
ในฐานะผู้ใช้ Linux สิ่งสำคัญเสมอคือต้องทราบประเภทของคำสั่งที่คุณใช้งานอยู่ ฉันเชื่อว่าด้วยคำอธิบายที่แม่นยำและเข้าใจง่ายข้างต้นพร้อมภาพประกอบที่เกี่ยวข้องบางส่วน คุณคงเข้าใจคำสั่ง Linux ประเภทต่างๆ เป็นอย่างดี
คุณสามารถเข้าไปมีส่วนร่วมผ่านทางส่วนความคิดเห็นด้านล่างสำหรับคำถามหรือแนวคิดเพิ่มเติมที่คุณต้องการเสนอให้เรา