Tuesday, November 22, 2011

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

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

Post a Comment

 

At Command Linux Copyright © 2012 | Design by I Love Linux