คำสั่ง Linux เบื้องต้น [ 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     ต้นทาง      ปลายทาง

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

$ 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   /etc/services   >   temp.txt

$ less   temp.txt

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

$ grep   ftp   /etc/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

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

Views :13792pixelstats trackingpixel

One Response to “คำสั่ง Linux เบื้องต้น [ Basic Linux Command ]”

Leave a Reply

ค้นหา
แบบสอบถาม

คุณชอบใช้ Linux/Unix ตัวไหนในการทำเซิร์ฟเวอร์ มากที่สุด?

View Results

Loading ... Loading ...
ผู้เยี่ยมชมเว็บไซต์

เริ่มนับวันที่ 16 พ.ค. 2550