Basic Commands
Basic Linux Command Interface
Useful shortcuts
Ctrl + A
ย้าย cursor ไปที่ต้นบรรทัด
Ctrl + E
ย้าย cursor ไปที่ปลายบรรทัด
Alt + F
ขยับ cursor ไปข้างหน้าโดยข้ามไปทีละคำ (word)
Alt + B
ขยับ cursor ถอยหลังโดยข้ามไปทีละคำ (word)
Ctrl + L
ล้างหน้าจอ terminal คล้ายกับคำสั่ง clear
Ctrl + R
ค้นหาคำสั่งที่เคยพิมพ์มาก่อนหน้านี้
Ctrl + C
หยุดการทำงานของโปรแกรม
Ctrl + D
logout หรือออกจากคำสั่งที่กำลังทำงานอยู่
Ctrl + Z
หยุดพักคำสั่งชั่วคราว
Basic Commands
mkdir
ใช้สร้างไดเรกทอรี่ใหม่
mkdir (ชื่อไดเรกทอรี่)
เช่น mkdir test1
cd
การเข้าสู่ไดเรกทอรี่ที่ต้องการ
cd (ไดเรกทอรี่ที่ต้องการเข้า)
เช่น cd test1
touch
ใช้สร้างไฟล์ หรืออัพเดตเวลาการแก้ไขไฟล์ล่าสุด
touch test.txt
touch -m test.txt
ls
แสดงไฟล์ที่อยู่ในไดเรกทอรี่
ls
cp
เป็นคำสั่งที่ใช้ในการคัดลอกไฟล์
(ทั้งไฟล์เดียวและหลายไฟล์)
โดยระบุ source และ target
cp (ชื่อไฟล์) (ที่อยู่ที่ต้องการคัดลอกไฟล์ไปไว้)
เช่น cp test.txt test1
คือการ copy file ชื่อ test.txt ไปไว้ในไดเรกทอรี่ test1
mv
เป็นคำสั่งที่ใช้ในการโยกย้ายไฟล์ หรือ
เปลี่ยนชื่อไฟล์
mv (ชื่อไดเรกทอรี่เดิม) (ชื่อไดเรกทอรี่ใหม่ที่ต้องการย้ายไป)
mv file.txt /test1
เปลี่ยนชื่อไฟล์ mv (ชื่อเก่า) (ชื่อใหม่)
mv file.txt newfile.txt
rm
ใช้ในการลบไฟล์โดยสามารถใช้ได้ทั้ง
ไฟล์เดียวหรือหลายไฟล์
rm (ตามด้วยชื่อไฟล์ที่ต้องการลบ)
rm test1.txt
rmdir
ใช้ลบไดเรกทอรี่ ซึ่งสามารถลบได้
เฉพาะไดเรกทอรีว่างเท่านั้น
rmdir directory_name
echo
เป็นคำสั่งที่ใช้ในการแสดงข้อความใดๆ
ที่ต้องการให้ถูกปรากฏบนหน้าต่างเทอร์มินัล หรือสามารถใช้แทรกข้อความลงในไฟล์ได้
echo (ข้อความที่ต้องการแสดง)
echo Hello
echo this is message >> test.txt
cat
ใช้แสดงข้อมูลที่อยู่ในไฟล์ออกมา
แสดงครั้งเดียวพร้อมกันทั้งหมด ในบางครั้งก็
ใช้ในการรวมไฟล์หลายไฟล์เข้าด้วยกันมา
เป็นไฟล์เดียว และสามารถใช้สร้างไฟล์
cat (ไฟล์.txt)
เช่น cat test.txt
clear
ล้าง terminal ให้อยู่ใน init state
clear
df
แสดง ผลได้ทั้งจำนวนพื้นที่ที่มีการใช้งาน
ไปแล้วในระบบ และพื้นที่ว่างที่สามารถใช้งาน
df -h
du
คำสั่งที่ใช้ในการตรวจสอบขนาดการใช้งาน
ไดเรกทอรีที่ชี้อยู่ (mount point) รวมถึง
ไดเรกทอรีย่อยๆลงไปจากตำแหน่งปัจจุบัน
du -h
pwd
แสดงไดเรกทอรี่ที่กำลังใช้งาน
pwd
ifconfig
ตรวจสอบว่ากำลังใช้ Network Interface
Card (NIC) หมายเลขตัวใดอยู่ เช่น eth0
หรือ eth1 เป็นต้น
ifconfig
tar
ใช้สำหรับแตกไฟล์นามสกุล tar
และบีบอัดไฟล์หรือไดเรกทอรี่ให้เป็น
ไฟล์นามสกุล tar
tar cvf (ชื่อไฟล์.tar) (ไดเรกทอรี่หรือไฟล์ที่ต้องการบีบอัด)
เช่น tar cvf test1.tar test1
คำสั่งแตกไฟล์ tar
tar xvf test1.tar
chmod
การกำหนดสิทธิ์ในการเข้าถึงไฟล์
โดยแบ่งสิทธิ์ไว้ 3 กลุ่มคือ Owner Group
publie ซึ่งจะแทนตัวเลข 0-7 ในการกำหนด
สิทธิ์ของแต่ละกลุ่ม เช่น 644 (เลขฐานแปด)หรือเทียบเท่ากับ rw-r--r-- หมายถึง เจ้าของอ่านและเขียนได้ แต่คนอื่น
ทั่วไปอ่านได้อย่างเดียว
chmod (กำหนดสิทธิ์การเข้าถึง) (ชื่อไฟล์)
เช่น chmod 644 test
uname
แสดงชื่อของระบบปฏิบัติการที่ใช้งานอยู่
uname -a
ps aux
ใช้แสดงรายการประมวลผลต่างที่กำลัง
ทำงานอยู่ของระบบแบบระเอียด
ps aux
kill
การส่งสัญญาณเข้าไปขัดจังหวะโปรเซส
เพื่อบอกกับโปรเซสตามวัตถุประสงค์ของสัญญาณ้ส่งไป สามารถดูตัวเลข process
ได้จาก คำสั่ง kill -l
kill (ตัวเลข process) (PID)
เช่น kill –9 203
zip
ใช้บีบอัดไฟล์เป็นนามสกุล zip
zip (ชื่อไฟล์.zip) ไฟล์ที่ต้องการzip
เช่น zip test.zip test
unzip
ใช้แตกไฟล์นามสกุล zip
unzip (ไฟล์.zip)
เช่น unzip test.zip
sudo su
ใช้เมื่อผู้ใช้ต้องการเข้าในฐานะผู้ดูแลระบบ
ที่เรียกว่า Superuser หรือ root
sudo su
Command Sequences
ผู้ใช้สามารถป้อนคำสั่งมากกว่าหนึ่งคำสั่งไปพร้อมกันโดยใช้ตัวดำเนินการควบคุม (Control Operators) ได้แก่ ||
&&
&
;
;;
|
(
)
เป็นต้น ซึ่งการเรียงชุดคำสั่งอย่างง่ายที่สุดในกรณีที่มีมากกว่า 1 คำสั่งเป็นต้นไป จะใช้เครื่องหมาย ;
อัฒภาค (semicolon) shell จะรับคำสั่งและดำเนินการทีละคำสั่งตามลำดับ ในกรณีที่จะมีการตรวจสอบผลลัพธ์การทำงานของแต่ละคำสั่งว่าสำเร็จหรือล้มเหลวนั้น ระบบปฏิบัติการลีนุกซ์จะมีการคืนค่ากลับคือถ้าคืนค่ากลับมาเลขศูนย์จะหมายถึงคำสั่งดำเนินการสำเร็จ แต่ถ้าเป็นตัวเลขอื่นๆจะถือว่าคำสั่งนั้นทำงานล้มเหลว ดังนั้นผู้ใช้สามารถกำหนดเส้นทางการทำงานตามเงื่อนไขที่ออกมาโดยใช้ตัวดำเนินการ AND &&
และ OR ||
ตัวอย่างเช่น
จากคำสั่งข้างต้น ไฟล์ test.txt มีอยู่ในไดเรกทอรีจึงทำให้ระบบปฏิบัติการลีนุกซ์คืนค่ากลับมาเป็นศูนย์ คำสั่งถัดไปจึงทำงานต่อได้ แต่ในขณะที่ไฟล์ mail.txt ไม่ได้อยู่ในไดเรกทอรี แสดงถึงการทำงานล้มเหลว ทำให้ไม่มีการทำคำสั่งตัวถัดไป แต่หากใช้ตัวดำเนินการ ||
คำสั่งถัดมาจะถูกทำงานในกรณีที่คำสั่งแรกมีการคืนค่ากลับมาไม่เท่ากับศูนย์ ดังตัวอย่างข้างล่าง
แต่หากต้องการนำตัวดำเนินการ && และ || มาประยุกต์ใช้ในการตรวจสอบเงื่อนไขเหมือนชุดคำสั่ง if (เงื่อนไข) ..(จริง).. else ..(เท็จ).. หรือ if (เงื่อนไข) ? ..(จริง).. : ..(เท็จ).. ในภาษาโปรแกรมทั่วไป จะมีรูปแบบการเขียนดังนี้
Standard I/O
รายละเอียดขบวนการทำงานของ Shell ในระบบปฏิบัติการลีนุกซ์ จะมีพื้นฐานสำคัญคือ วิธีการเชื่อมต่อระหว่างโปรแกรมและสิ่งแวดล้อมของตัวโปรแกรมเองภายในเทอร์มินัล (Terminal) ที่เรียกว่า I/O ซึ่งรูปข้างล่างนี้เป็นการแสดงการเชื่อมต่อของอุปกรณ์ I/O มาตราฐานพื้นฐานของระบบที่มีอยู่ 3 ชนิด ได้แก่
ตารางรายละเอียดพื้นฐานของ Standard I/O
stdin (Standard Input Stream)
0
สำหรับรับคำสั่งจากผู้ใช้เพื่อส่งต่อให้โปรแกรม อาทิเช่นการรับข้อมูลคำสั่งจากการกดคีย์บอร์ด
stdout (Standard Output)
1
สำหรับแสดงผลลัพธ์ที่ถูกส่งออกมาจากโปรแกรม เพื่อส่งข้อความผลลัพธ์ออกมาแสดงบนจอภาพ
stderr (Standard Error)
2
สำหรับแสดงผลความผิดพลาดเกิดจากการทำงานของโปรแกรมที่รับคำสั่งมาประมวลผล ออกจากหน้าจอภาพ
Redirections
ระบบปฏิบัติการลีนุกซ์นั้นได้เตรียมเครื่องมือตัวดำเนินการที่สามารถควบคุมกลไกการไหลของข้อมูลจากทิศทางหนึ่งไปยังอีกทิศทางหนึ่งหรืออธิบายง่ายๆคือการเปลี่ยนเส้นทางข้อมูลว่าจะให้ออกตัว standard stream ตัวใด โดยการใช้ตัวดำเนินการ <
แทน stdin (Standard Input) และ >
แทน stdout (Standard Output) ซึ่งตัวดำเนินการ redirection นั้นมีอยู่ด้วยกัน 5 แบบตามรายละเอียดในตารางข้างล่าง
ตารางตัวดำเนินการ redirection
< ไฟล์
เปิดไฟล์สำหรับอ่านข้อมูลภายในไฟล์
<< token
ใช้ในกรณีที่เป็นคำสั่งหรือเชลล์สคริปท์ที่ต้องการรับค่าจนกระทั่งเจอ token
> ไฟล์
เปิดไฟล์สำหรับเขียนทับข้อมูลใหม่
>> ไฟล์
เปิดไฟล์สำหรับเขียนต่อท้ายจากข้อมูลเดิม
n>&m
เปลี่ยนเส้นทางของ File Descriptor (FD) เดิม n ไปที่ใหม่ m
ยกตัวอย่างเช่น การใช้งานการส่งอินพุทจากไฟล์ /etc/passwd ให้กับคำสั่ง grep และการส่งอินพุทจากการป้อนข้อความให้กับคำสั่ง sort ดังแสดงข้างล่าง
เมื่อมีการใช้ตัวดำเนินการ >
ผลลัพธ์จากคำสั่งจะถูกส่งไปเก็บไว้ในไฟล์ /tmp/results แทนที่จะออกหน้าจอ ดังตัวอย่างข้างล่าง
ตัวอย่างการใช้คำสั่ง cat เพื่อแสดงข้อมูลภายในไฟล์ จะมีการแสดงข้อความผิดพลาด (Error message) ออกทางหน้าจอ ถ้าไฟล์นั้นไม่มีอยู่ในไดเรกทอรี
สามารถกรองข้อความผิดพลาดให้ไปเก็บไว้ในไฟล์ชื่อ error.log ด้วยตัวดำเนินการ 2>
ในกรณีที่ไม่ต้องการเก็บข้อความผิดพลาด สามารถทำได้โดยส่งไปให้ไฟล์ชื่อ /dev/null
บันทึกข้อความผิดพลาดเพิ่มต่อเข้าไปในไฟล์ error.log ด้วยตัวดำเนินการ 2>>
Last updated: July 2023
Authors:
Assoc. Prof. Wiroon Sriborrirux
Thanaluk Pranekunakol (AIC-Researcher), Waratith Sawangboon (AIC-Researcher)
Last updated
Was this helpful?