Linux Command Line Interface

Basic core knowledge Operating System (OS)

Oparating System (OS) หรือระบบปฏิบัติการนั้นเป็นตัวช่วยจัดการ การติดต่อระหว่างผู้ใช้และฮาร์ดแวร์รวมถึงการจัดสรรทรัพยากร ไม่ให้ฮาร์ดแวร์รับภาระหนักเกินไป ดังนั้นถ้าเราเลือก OS ที่ดีประสิทธิภาพการทำงานของคอมพิวเตอร์ก็จะดียิ่งขึ้น
รูปที่ 1.1 การติดต่อกันระหว่างผู้ใช้และคอมพิวเตอร์
Computer Hardware คือ อุปกรณ์คอมพิวเตอร์
BIOS : Basic Input/Output เป็น ควบคุมการติดต่อเบื้องต้นอุปกรณ์คอมพิวเตอร์กับคอมพิวเตอร์
Operating System คือ ระบบปฏิบัติการที่เป็น สื่อกลาง ระหว่างคนกับคอมพิวเตอร์
Operating System commands คือ คำสั่งเฉพาะที่ใช้ระบบปฏิบัติการ
Appication programs คือ โปรแกรมทั่วไปที่อยูบนระบบปฏิบัติการ

Linux & WSL why we use it?

Linux คือ ระบบปฏิบัติการ (Operation System) ชนิดหนึ่ง เป็นระบบปฏิบัติการที่เปิดให้ผู้ใช้สามารถใช้งานได้ตามต้องการ โดยสามารถเข้าถึง hardware ได้โดยตรง มีความเป็นอิสระในการจัดการการทำงานคอมพิวเตอร์ไม่ว่าจะเลือกเปิดปิดฮาร์ดแวร์หรือการแบ่งหน่วยความจำ ก็สามารถทำได้โดยไม่มีข้อแม้
Windows Subsystem for Linux (WSL) เป็น ฟิเจอร์ของระบบปฏิบัติ windows 10 ที่สามารถใช้งาน Linux พร้อมกับ Windows ซึ่งใช้พื้นที่หน่วยความจำน้อยกว่า Virtual Machine (VM) ทำให้เราสามารถสร้างหรือปรับปรุงโปรแกรมสำหรับ Linux ได้เลยแม้จะอยู่บน windows ก็ตาม
Ubuntu คือ ระบบปฏิบัติการที่นำ Linux มาพัฒนาต่อเพื่อให้สามารถใช้งานได้ง่ายขึ้น
https://www.youtube.com/watch?v=YMCylaT4iV4

Basic command on Linux

ชุดคำสั่ง
คำอธิบาย
ตัวอย่าง
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 (ชื่อไดเรกทอรี่ที่ต้องการลบ)
echo
เป็นคำสั่งที่ใช้ในการแสดงข้อความใดๆ
ที่ต้องการให้ถูกปรากฏบนหน้าต่างเทอร์มินัล หรือสามารถใช้แทรกข้อความลงในไฟล์ได้
echo (ข้อความที่ต้องการแสดง)
echo Hello echo this is message >> test.txt
cat
ใช้แสดงข้อมูลที่อยู่ในไฟล์ออกมา
แสดงครั้งเดียวพร้อมกันทั้งหมด ในบางครั้งก็
ใช้ในการรวมไฟล์หลายไฟล์เข้าด้วยกันมา
เป็นไฟล์เดียว และสามารถใช้สร้างไฟล์
cat (ไฟล์.txt)
เช่น cat test.txt
clear
ล้าง terminal ให้อยู่ใน init state
clear
df
แสดง ผลได้ทั้งจำนวนพื้นที่ที่มีการใช้งาน
ไปแล้วในระบบ และพื้นที่ว่างที่สามารถใช้งาน
df
du
คำสั่งที่ใช้ในการตรวจสอบขนาดการใช้งาน
ไดเรกทอรีที่ชี้อยู่ (mount point) รวมถึง
ไดเรกทอรีย่อยๆลงไปจากตำแหน่งปัจจุบัน
du
pwd
แสดงไดเรกทอรี่ที่กำลังใช้งาน
pwd
ifconfig
ตรวจสอบว่ากำลังใช้ Network Interface
Card (NIC) หมายเลขตัวใดอยู่ เช่น eth0
หรือ eth1 เป็นต้น
ifconfig
tar
ใช้สำหรับแตกไฟล์นามสกุล tar
และบีบอัดไฟล์หรือไดเรกทอรี่ให้เป็น
ไฟล์นามสกุล tar
tar cvf (ชื่อไฟล์.tar) (ไดเรกทอรี่หรือไฟล์ที่ต้องการบีบอัด)
เช่น tar cvf test1.tar test1
คำสั่งแตกไฟล์ tar
tar xvf (ชื่อไฟล์.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

การทดลอง: ทำตามบทที่ 3 ในหนังสือ Computer Operating System for Engineering

แบบฝึกหัด:

จงสร้างไดเรกทอรี่ตั้งชื่อเป็น “รหัสนิสิต” โดยภายไดเรกทอรี่จะประกอบด้วย ไฟล์ ดังรายการข้างล่าง
  1. 1.
    ไฟล์ชื่อ Hello ในไฟล์มีข้อความเขียนว่า “Hello Linux”
  2. 2.
    ไฟล์ชื่อ Username ในไฟล์มี ชื่อ นามสกุล รหัสนิสิต อยู่ด้านใน
  3. 3.
    ไดเรกทอรี่ชื่อ “รหัสนิสิต_backup” ภายในไดเรกทอรี่นี้ประกอบด้วยไฟล์ในข้อ 1. และ ข้อ 2.
ภาพประกอบของไดเรกทอรี่และสิ่งที่อยู่ในไดเรกทอรี่
Last update: May 2023
Author: Thanaluk Pranekunakol (AIC-Researcher), Waratith Sawangboon (AIC-Researcher)
Advance Innovation Center, Electrical Engineering Department, Faculty of Engineering, Burapha University