คำสั่ง พื้นฐานใน ลินุกซ์ ( Basic Linux Command )

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

คำสั่ง ls (list) 
ใช้ในการดูข้อมูลในไดเรคเทอรี

 


รูปแบบการใช้งาน

ls -l => ดูข้อมูลในไดเรคเทอรีแบบละเอียด

ls -a => ดูข้อมูลในไดเรคเทอรีรวมทั้งไฟล์ที่มีการซ่อนไว้ด้วย

 

ตัวอย่างการใช้งาน

$ ls

Desktop

$ ls /home

cp lost+found

$ ls -l

total 4

drwxr-xr-x 4 cp cp 4096 May 15 21:56 Desktop

$ ls -a

. .beagle .gconf .gstreamer-0.10 .nautilus

.. Desktop .gconfd .gtkrc-1.2-gnome2 .redhat

.bash_logout .dmrc .gnome .ICEauthority .Trash

...


คำสั่ง man (Manual) 
ใช้สำหรับดูวิธีการใช้งานคำสั่งต่างๆ

ในการใช้งาน เราจะพิมพ์ man แล้วตามด้วยคำสั่งที่ต้องการดูรายละเอียดเพิ่มเติม ซึ่งจะมีหน้าต่างขึ้นมาแสดงขึ้นมา เมื่อจะออกจากคำสั่ง man ให้กดปุ่ม q

ตัวอย่างการใช้งาน

$ man ls

LS(1) User Commands LS(1)

NAME

ls - list directory contents

SYNOPSIS

ls [OPTION]... [FILE]...

DESCRIPTION

List information about the FILEs (the current directory by default). Sort

...


คำสั่ง mkdir (Make Directory) 
ใช้ในการสร้างไดเรคเทอรี

ตัวอย่างการใช้งาน

$ mkdir linux-command

$ ls

Desktop linux-command


คำสั่ง cd (Change Directory) 
ใช้ในการเปลี่ยนไดเรคเทอรีที่ทำงาน

ตัวอย่างการใช้งาน

$ cd linux-command

แบบทดสอบ

ให้สร้างไดเรคเทอรีชื่อว่า backups ภายใต้ไดเรคเทอรี linux-command

ไดเรคเทอรี   .  และ  ..

จากที่ได้ใช้คำสั่ง ls -a จะเห็นว่ามีไดเรคเทอรี . และ .. ขึ้นมาด้วย ซึ่งทั้งสองไดเรคเทอรี มีความสำคัญดังนี้

(.) เป็นไดเรคเทอรีปัจจุบัน การใช้คำสั่ง cd . จะหมายถึงการไปยังไดเรคเทอรีปัจจุบัน

(..) เป็นไดเรคเทอรีที่อยู่สูงกว่าไดเรคเทอรีปัจจุบัน (Parent Directory) การใช้คำสั่ง cd .. จะหมายถึง การไปยังไดเรคเทอรีที่อยู่สูงกว่าไดเรคเทอรีปัจจุบัน


คำสั่ง pwd (Print Working Directory) 
ใช้ในการแสดงพาธที่อยู่ ณ ปัจจุบัน

ตัวอย่างการใช้งาน

$ pwd

/home/cp

 

~ ( Home Directory ) 
ใช้ในการอ้างอิง Home Directory แทนพาธเต็ม

ตัวอย่างการใช้งาน

$ cd ~

 

คำสั่ง cp  ( Copy ) 
ใช้ในการคัดลอกไฟล์

รูปแบบคำสั่ง

cp file1 file2

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ cp /etc/services .

แบบทดสอบ

ให้คัดลอกไฟล์ services ไปเป็นไฟล์สำรองชื่อ services-org


คำสั่ง mv ( Move ) 
ใช้ในการย้ายที่อยู่ (Move) หรือเปลี่ยนชื่อ (Rename)
ไฟล์หรือไดเรคเทอรี

รูปแบบการใช้งาน

mv source destinattion

ตัวอย่างการใช้งาน

$ mv services-org backups


คำสั่ง rm (Remove) ใช้ในการลบไฟล์ , 
rmdir (Remove Directory) ใช้ในการลบไดเรคเทอรี

การใช้งานคำสั่ง rm และ rmdir จะคล้ายๆ กัน ซึ่ง rmdir จะไม่สามารถลบไดเรคเทอรี ที่มีข้อมูลอยู่ข้างในได้ ต้องใช้คำสั่ง rm -r แทน ถ้าต้องการลบข้อมูลข้างในด้วย

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ cp services services.tmp

$ ls

backups services services.tmp

$ rm services.tmp

$ ls

backups services


คำสั่ง cat (Concatenate) 
ใช้สำหรับดูข้อมูลในไฟล์

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ cat services

...

...

iqobject 48619/tcp # iqobject

iqobject 48619/udp # iqobject

# Local services


คำสั่ง less 
ใช้สำหรับดูข้อมูลในไฟล์ทีละหน้าจอ

คำสั่ง less จะใช้สำหรับดูข้อมูลในไฟล์ทีละหน้าจอ สามารถใช้ปุ่ม space bar สำหรับการดูหน้าถัดไป และสามารถเลื่อนลูกศรขึ้น-ลง ได้ ถ้าต้องการออกจากหน้าจอของคำสั่ง less ให้กดปุ่ม q

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ less services

# /etc/services:

# $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $

#

# Network services, Internet style

...

...


คำสั่ง tail 
ใช้สำหรับดูข้อมูล ที่บรรทัดล่างสุดของไฟล์

รูปแบบการใช้งาน

tail -n number-of-line filename => ดูข้อมูลที่บรรทัดล่างสุดของไฟล์แบบระบุจำนวนบรรทัด

tail -f filename => ดูข้อมูลของไฟล์นั้นๆ แบบเรียลไทม์

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ tail services

nimspooler 48001/udp # Nimbus Spooler

nimhub 48002/tcp # Nimbus Hub

nimhub 48002/udp # Nimbus Hub

nimgtw 48003/tcp # Nimbus Gateway

nimgtw 48003/udp # Nimbus Gateway

com-bardac-dw 48556/tcp # com-bardac-dw

com-bardac-dw 48556/udp # com-bardac-dw

iqobject 48619/tcp # iqobject

iqobject 48619/udp # iqobject

# Local services


คำสั่ง grep 
ใช้ในการค้นหาข้อความในไฟล์

รูปแบบการใช้งาน

grep 'keyword' filename

grep -i 'keyword' filename => ค้นหาแบบไม่สนใจตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ (Non-Case Sensitive)

ตัวอย่างการใช้งาน

$ cd ~/linux-command

$ grep ssh services

ssh 22/tcp # SSH Remote Login Protocol

ssh 22/udp # SSH Remote Login Protocol

x11-ssh-offset 6010/tcp # SSH X11 forwarding offset

sshell 614/tcp # SSLshell

sshell 614/udp # SSLshell

sdo-ssh 3897/tcp # Simple Distributed Objects over SSH

sdo-ssh 3897/udp # Simple Distributed Objects over SSH

ssh-mgmt 17235/tcp # SSH Tectia Manager

ssh-mgmt 17235/udp # SSH Tectia Manager


การเปลี่ยนเส้นทางการแสดงผลของคำสั่ง (Redirection) 

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


การเปลี่ยนเส้นทางที่ฝั่งแสดงผล ( Output ) 

สัญลักษ์ที่ใช้แทนการส่งออกข้อมูลคือ >

ตัวอย่างการใช้งาน

คำสั่ง cat โดยปกติแล้ว จะแสดงข้อมูลในไฟล์ แล้วแสดงออกมาทางจอภาพ แต่ในบางครั้ง เราต้องการให้คำสั่ง cat เขียนข้อมูลลงบนไฟล์ ตัวอย่างเช่น สร้างไฟล์ชื่อว่า faculties ไว้เก็บชื่อคณะต่างๆ เมื่อใส่รายชื่อเสร็จแล้ว ให้กดปุ่ม ^d (Ctrl + d) เพื่อบันทึกและออกจากการเขียนไฟล์

$ cat > faculties

engineering

science

technology

กด ( Ctrl + d ) เพื่อบันทึกและออกจากการเขียนไฟล์

ถ้าหากต้องการเพิ่มข้อมูลลงในไฟล์เดิม โดยที่ข้อมูลไม่หายไป (Append) ให้เปลี่ยนเส้นทางจาก > ไปเป็น >> เพื่อเป็นการระบุว่า จะทำการเขียนไฟล์ต่อจากเดิม ดังนี้

$ cat >> faculties

management science

กด (Ctrl + d) เพื่อบันทึก และออกจากการเขียนไฟล์


การเปลี่ยนเส้นทางที่ฝั่งรับข้อมูล (Input)   

สัญลักษ์ที่ใช้แทนการรับข้อมูลคือ <

ตัวอย่างการใช้งาน

การเรียงข้อมูลในไฟล์ใหม่ ด้วยใช้คำสั่ง sort โดยเรานำไฟล์ที่ยังไม่มีการจัดเรียง มาเป็นอินพุต (input) ของคำสั่ง sort ดังนี้

$ cat > number

2

3

9

7

4

กด ( Ctrl + d ) เพื่อบันทึกและออกจากการเขียนไฟล์

$ sort < number

2

3

4

7

9


ไปป์ (Pipe)   

เป็นการเชื่อมต่อกันระหว่าง input กับ output โดย output ของคำสั่งหนึ่ง จะเป็น input ของอีกคำสั่งหนึ่ง จะใช้สัญลักษ์เป็น | (Vertical Bar)

ตัวอย่างการใช้งาน

ตัวอย่างนี้เป็นการหาข้อความ ftp ที่อยู่ในไฟล์ services แต่เนื่องจากว่า มีข้อมูลอยู่เป็นจำนวนมาก ทำให้ไม่สามารถดูได้ทั้งหมดในครั้งเดียว จึงต้องมีการสร้างไฟล์ขึ้นมาชื่อว่า temp.txt เพื่อใช้ในการเก็บผลลัพธ์ จากนั้นจึงใช้คำสั่ง less เพื่อไปอ่านข้อมูลจากไฟล์ temp.txt จึงจะได้ผลลัพธ์ที่ต้องการ

$ grep ftp services > temp.txt

$ less temp.txt

ถ้ามีการใช้ไปป์ (Pipe) จะทำให้ไม่จำเป็นต้องมีไฟล์ temp.txt เราสามารถเชื่อมผลลัพธ์ของคำสั่ง grep ftp services ให้ไปเป็นอินพุตของคำสั่ง less ได้ทันที ดังนี้

$ grep ftp services | less


คำสั่ง df 
ใช้ในการตรวจดูการใช้พื้นที่ของฮาร์ดดิสก์

ตัวอย่างการใช้งาน

$ df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda2 5952284 1954800 3690244 35% /

/dev/sda1 124427 10175 107828 9% /boot

tmpfs 257580 0 257580 0% /dev/shm

/dev/sda6 30555364 180716 28797472 1% /home

/dev/sda3 2972268 116068 2702780 5% /var


คำสั่ง du 
ตรวจดูการใช้พื้นท์ของไฟล์และไดเรคเทอรี

ตัวอย่างการใช้งาน

$ du -s *

104 Desktop

740 linux-command

คำสั่ง find 
ใช้ในการค้นหาไฟล์หรือไดเรคเทอรี

ตัวอย่างการใช้งาน

ค้นหาไฟล์หรือไดเรคเทอรีที่ขึ้นต้นด้วยคำว่า ser โดยเริ่มค้นหาจากไดเรคเทอรีปัจจุบัน ( . )

$ cd ~/linux-command

$ find . -name "ser*" -print

./backups/services-org

./services

 

Keywords : Linux , Command , คำสั่ง , ลินุกซ์ , ลีนุกซ์ 

Hardware Profile

สวัสดีครับคุณเอ ไม่ทราบว่าถ้าต้องการ ดู hardware spec ใน linux ต้องใช้ คำสั่งอย่างไหรครับ

Hardware Profile

มีหลายคำสั่งครับ แต่แบบที่ผมนิยมใช้จะเป็น

dmesg | less

แล้วเลื่อนดูรายละเอียดเอา หรือจะดูรายละเอียดอีกแบบก็เป็น

lshw -short

ครับ

อยากรู้วิธี zip file

อยากรู้วิธี zip file ใน linux หลังจากที่เป็น .tar แล้ว เราจะ zip ยังไง แล้วก็ คลาย ออกยังไง

Thak..!

tar xvfz filename (enter)

tar xvfz filename (enter)

zip file.tar

zip file.tar ด้วยคำสั่ง
tar cfz file.tar.gz file.tar

คลาย file.tar.gz ด้วยคำสั่ง
tar xvfz file.tar.gz

ครับ

อยากรู้

อยากรู้ command awk ,sed ใช้งานอย่างไร และ สอง command แตกต่างกันอย่างไรครับ