บทที่ 1 : คำสั่งสำหรับผู้ใช้พื้นฐาน (Basic user command)
- 1.1 คำสั่ง ls : : : แสดงรายชื่อแฟ้มในห้องปัจจุบัน หรือห้องอื่น ๆ ที่ต้องการ
- : ใช้แสดงรายชื่อแฟ้มทั้งหมดใน home directory
- ตัวอย่างคำสั่ง และการใช้งาน
ls -alt :: เพื่อแสดงรายชื่อแฟ้ม และจัดเรียงตามเวลา (a=all, l=long listing, t=sort by modification time)
ls -alt | more :: เพื่อแสดงรายชื่อแฟ้มทั้งหมด แต่หยุดทีละหน้า ถ้ามีจำนวนแฟ้มเกินที่จะแสดงได้ ใน 1 หน้า
ls -al --sort=time | more :: แสดงรายชื่อแฟ้มเรียงตามเวลา แยกทีละหน้า แบบ long listing
ls -R | more :: แสดงรายชื่อในทุก directory ในห้องปัจจุบัน (R=Recursive)
ls -alSR | grep Trash | more :: แสดงข้อมูลแฟ้ม Trash จากทุก Sub directory
ls -alS | more :: แสดงรายชื่อแบบจัดเรียงตามขนาดแบบ Descending ใช้ดูขนาด mail box ใน /var/mail ได้ดี
ถ้าสังเกตนะครับ แฟ้มที่มี . หน้าชื่อแฟ้ม หมายถึง แฟ้มที่ซ่อนไว้ ถ้าใช้คำสั่ง ls หรือ ls -l จะไม่เห็นแฟ้มเหล่านี้
ถ้ามีอักษร D ที่ Column แรก ในส่วนแสดงรายชื่อแฟ้ม ด้วยคำสั่ง ls -al จะหมายถึง directory
- : list directory contents
- 1.2 คำสั่ง chmod : : : เปลี่ยนสถานะของแฟ้มเช่น Read Write eXecute
- : ใช้เปลี่ยนสิทธิของแฟ้ม เจ้าของ(Owner), คนในกลุ่ม(Group), คนอื่น(Other) สามารถทำอะไรได้บ้าง
ในแต่ละกลุ่มจะมีการกำหนดสิทธิได้ 3 แบบ
ตัวอักษร R มาจาก Read หมายถึง อ่าน ตัวอักษร W มาจาก Write หมายถึง เขียน ตัวอักษร X มาจาก Execute หมายถึง ประมวลผล ตัวอย่างเช่น --- : ไม่มีสิทธิอะไรเลย (เลขที่ใช้คือ 0) --X : ประมวลผลได้อย่างเดียว (เลขที่ใช้คือ 1) R-- : อ่านได้อย่างเดียว (เลขที่ใช้คือ 4) RW- : อ่าน และเขียนได้ (เลขที่ใช้คือ 6) R-X : อ่าน และประมวลผลได้ (เลขที่ใช้คือ 5) RWX : อ่าน เขียน และประมวลผลได้ (เลขที่ใช้คือ 7) | ความหมายของ RWXRWXRWX จะเห็นว่ามีอักษร 9 ตัว
3 ตัวแรกหมายถึง เจ้าของ 3 ตัวที่สองหมายถึง กลุ่ม 3 ตัวที่สามหมายถึง คนอื่น ตัวอย่างเช่น RWX------ : เจ้าของเท่านั้นที่มีสิทธิทุกอย่าง (เลขที่ใช้คือ 700) RWXRWX--- : เจ้าของ และสมาชิกกลุ่มเดียวกันมีสิทธิทุกอย่าง (เลขที่ใช้คือ 770) RWXR-XR-X : เจ้าของทำได้หมด ส่วนกลุ่มและคนอื่นอ่านและประมวลผลได้ (เลขที่ใช้คือ 755) R--R--R-- : ทุกคนอ่านได้อย่างเดียว (เลขที่ใช้คือ 444) |
- ตัวอย่างคำสั่ง และการใช้งาน
chmod 777 index.php :: ทำให้แฟ้มนี้ อ่าน เขียน และประมวลผล โดยทั้ง 3 กลุ่ม
chmod 755 * -Rf :: ทำให้ทุกแฟ้ม ทุก direcroty ในห้องปัจจุบัน เปลี่ยนตามที่กำหนด
- : change file access permissions
- 1.3 คำสั่ง man : : : แสดงรายละเอียดของคำสั่ง (Manual)
- : เป็นคำสั่งที่สำคัญมาก เพราะจะช่วยให้อธิบายคำสั่งต่าง ๆ ให้ท่านได้
- ตัวอย่างคำสั่ง และการใช้งาน
man man :: เพื่ออธิบายคำสั่ง man เอง ว่าตัวคำสั่งนี้ใช้อย่างไร
man ls :: เพื่ออธิบายคำสั่ง ls ว่าใช้อย่างไร
man useradd :: เพื่ออธิบายคำสั่ง useradd ว่าใช้อย่างไร
- : format and display the on-line manual pages
- 1.4 คำสั่ง mkdir, rmdir, cd : : : คำสั่งเกี่ยวกับ Directory หรือ Folder เพื่อสร้าง หรือลบ
- : งานต่าง ๆ เกี่ยวกับ directory
- ตัวอย่างคำสั่ง และการใช้งาน
mkdir hello :: สร้าง directory ชื่อ hello ในห้องปัจจุบัน
rmdir hello.htm :: จะลบแฟ้มชื่อ hello.htm
cd / :: ย้าย directory ไปยัง root หรือห้องนอกสุด
cd .. :: ย้าย directory ออกไปข้างบน 1 ระดับ
cd ~/x :: เข้าไปยังห้อง x ของ home directory เช่น /home/thaiall/x ถ้า home directory คือ /home/thaiall
- : make, remove empty, change working directory
- ผู้ใช้คอมพิวเตอร์ที่ใช้ dos มาก่อนต้องคุ้นเคยกับ directory แน่นอน สำหรับคำสั่งเกี่ยวกับ directory ในที่นี้มี 3 คำสั่ง
- mkdir หมายถึง สร้าง directory (make directories)
- rm หมายถึง ลบ directory (remove files or directories) และคำสั่งนี้ยังใช้ลบแฟ้มตามปกติได้อีกด้วย
- 1.5 คำสั่ง pico : : : editor ยอดฮิตใน Linux ที่ต้องมากับ Pine เป็น Text mode ที่ใช้ง่ายที่สุด
- : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text คล้าย vi แต่มีประสิทธิภาพกว่ามาก
- เพียงแต่พิมพ์คำว่า pico แล้ว enter ก็ใช้งานได้เลย การจะจัดเก็บ หรืองานต่าง ๆ ที่มีบริการไว้มากมาย ท่านสามารถอ่านได้จากเมนูด้านล่าง ซึ่งเครือ่งหมาย ^ หมายถึงการกดปุ่ม Ctrl ประกอบอักษรต่าง ๆ นั่นเอง ผมคิดว่าท่านน่าจะพออ่านรู้เรื่อง หรือจะพิมพ์ว่า pico xx ก็จะเป็นการสร้างแฟ้มชื่อ xx ให้ทันที แต่หากมีแล้ว ก็จะเปิดแฟ้ม xx มาให้แก้ไขในโปรแกรม xx เมื่อท่านต้องการเลิกก็ทำได้โดยกดปุ่ม Ctrl-X เป็นอันเรียบร้อย หากท่านใดเคยใช้ vi เมื่อลองใช้โปรแกรมนี้จะติดใจอย่างแน่นอน เพราะใช้งานได้ง่ายกว่า หลายเท่านัก
- 1.6 คำสั่ง emacs : : : editor ยอดฮิตใน Linux ใช้ยากกว่า pico นิดหน่อย
- : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text คล้าย vi แต่มีประสิทธิภาพกว่ามาก
Welcome to GNU Emacs, one component of a Linux-based GNU system.
Get help C-h (Hold down CTRL and press h)
Undo changes C-x u Exit Emacs C-x C-c
Get a tutorial C-h t Use Info to read docs C-h i
Ordering manuals C-h RET
Activate menubar F10 or ESC ` or M-`
(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)
- 1.7 คำสั่ง vi : : : editor ยอดฮิตใน Linux ที่ใช้ยากที่สุด
- : เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text
ตัวอย่างคำสั่ง และการใช้งาน
esc กลับไปยังโหมดคำสั่ง
enter ย้ายไปยังต้นบรรทัดของบรรทัดถัดไป
i ใส่ข้อความก่อนเคอร์เซอร์
a ใส่ข้อความหลังเคอร์เซอร์
A ใส่ข้อความที่ท้ายบรรทัดปัจจุบัน
dd ลบบรรทัดปัจจุบันทั้งบรรทัด
x ลบอักษร 1 ตัวอักษร
cw เปลี่ยนข้อความ
:w บันทึกแฟ้ม
:q! ออกโดยไม่ เปลี่ยนแปลงใด ๆ
:wq บันทึกแฟ้ม และออกจากโปรแกรม vi
- : a programmers text editor
- 1.8 คำสั่ง id, finger, who, w : : : โปรแกรมตรวจสอบ username ของตนเอง
- : ทุกคำสั่งข้างต้นใช้สำหรับตรวจสอบผู้ใช้ แต่จะให้รายละเอียดต่างกันไป
- ตัวอย่างคำสั่ง และการใช้งาน
id uname :: ใช้ตรวจดูว่ามี account ในระบบหรือไม่ (ผลแสดงรหัสผลู้ใช้ และชื่อกลุ่ม)
finger uname :: ใช้ตรวจดูว่ามี account uname นี้ในระบบหรือไม่ ให้ผลละเอียด ทั้ง last login หรือ email ฉบับล่าสุด
finger :: ใช้แสดงรายชื่อทุกคนในระบบที่กำลัง login อยู่
finger @www.isinthai.com :: ใช้แสดงรายชื่อทุกคนในระบบที่กำลัง login อยู่ ตรวจ server นอกระบบได้ ถ้าเขาไม่ปิด
who |grep thai :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้ และเลือกเฉพาะบรรทัดที่มีอักษร thai
w :: ใช้แสดงรายชื่อทุกคนในระบบ แต่ใช้นอกระบบตนเองไม่ได้
- 1.9 คำสั่ง cat : : : แสดงข้อมูลในแฟ้มเหมือนคำสั่ง type ในระบบ DOS
- : แสดงข้อมูลในแฟ้ม คล้ายคำสั่ง type ในระบบ DOS
- ตัวอย่างคำสั่ง และการใช้งาน
- suwit:x:500:500:Suwit:/home/suwit:/bin/bash
- prasert:x:501:501::/home/prasert:/bin/bash
- bcom101:x:502:502::/home/bcom302:/bin/bash
cat /etc/passwd :: แสดงข้อมูลในแฟ้ม /etc/passwd
cat /etc/passwd | more :: แสดงข้อมูลในแฟ้ม /etc/passwd ทีละหน้า
ตัวอย่างข้อมูลในแฟ้ม passwd
- 1.10 คำสั่ง ifconfig : : : ดู IP หรือเพิ่ม IP เข้าไปใน linux server
- : แสดงข้อมูลเกี่ยวกับ Network interface และแสดง ip ต่าง ๆ ที่มีการเพิ่มเข้าไปใน server ได้
- ดูผลการทำงานของคำสั่งifconfig
eth0 Link encap:Ethernet HWaddr 00:20:18:C0:06:C4 inet addr:202.29.78.12 Bcast:202.29.78.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:673054 errors:0 dropped:0 overruns:0 frame:0 TX packets:666268 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:74892865 (71.4 Mb) TX bytes:680121131 (648.6 Mb) Interrupt:9 Base address:0xcf00 eth0:1 Link encap:Ethernet HWaddr 00:20:18:C0:06:C4 inet addr:202.29.78.1 Bcast:202.29.78.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:9 Base address:0xcf00
เพิ่ม ip ใหม่อีก 1 ip เช่น#/sbin/ifconfig eth0:1 202.29.78.1
สามารถดูวิธีเพิ่มหลาย IP ในคอมพิวเตอร์เครื่องเดียว ได้จากหัวข้อ 9.10 ด้วยการแก้ไขแฟ้ม /etc/rc.d/rc.local
- 1.11 คำสั่ง netstat : : : แสดงสถานะของเครือข่าย
- : แสดงสถานะของเครือข่ายว่ามีโปรแกรมใดเปิดให้บริการ
ดูผลการทำงานของคำสั่ง netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 *:https *:* LISTEN
tcp 0 0 www.isinthai.com:ssh 202.29.78.200:1225 ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 855 /var/lib/mysql/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 119 /dev/log
unix 2 [ ] STREAM CONNECTED 3007
unix 2 [ ] STREAM CONNECTED 859
- 1.12 คำสั่ง service : : : แสดงสถานะโปรแกรมที่เปิดให้บริการ
- : ดูสถานะของบริการต่าง ๆ ว่าถูกเปิดหรือ running อยู่หรือไม่
ดูผลการทำงานของคำสั่ง service --status-all
httpd (pid 2160 2159 2158 2155 2114 583 579 578 577 576 575 573) is running...
mysqld (pid 446 429 427 414) is running...
sendmail (pid 1700 1690) is running...
sshd (pid 2970 358) is running...
xinetd (pid 3923 369) is running...
- 1.13 คำสั่ง xinetd : : : แสดงบริการที่เปิดใต้โปรแกรม xinetd
ดูผลบางส่วนจากการทำงานของคำสั่ง xinetd -d
Service configuration: ftp
id = ftp
flags = IPv4
socket_type = stream
Protocol (name,number) = (tcp,6)
Nice = 10
Groups = no
Bind = All addresses.
Server = /usr/sbin/vsftpd
Server argv = vsftpd
Only from: All sites
No access: No blocked sites
Logging to syslog. Facility = authpriv, level = info
Log_on_success flags = HOST PID
Log_on_failure flags = HOST
- 1.14 คำสั่ง whereis : : : ค้นหาแฟ้มที่ต้องการว่าอยู่ที่ห้องใด
- : ค้นหาแฟ้มที่ต้องการว่าอยู่ที่ห้องใด แต่ค้นได้เฉพาะที่กำหนดไว้ใน PATH เท่านั้น หากต้องการค้นทั้งเครื่องต้องใช้คำสั่ง find
- ตัวอย่างคำสั่ง และการใช้งาน
whereis usermod :: แสดงห้องที่เก็บคำสั่ง usermod ทำให้สามารถสั่ง run จากห้องที่เก็บคำสั่งโดยตรงได้
whereis ifconfig :: แสดงห้องที่เก็บคำสั่ง ifconfig ทำให้ใช้คำสั่งเช่น /sbin/ifconfig ได้โดยตรง
- 1.15 คำสั่ง cp, rm, mv : : : จัดการแฟ้มเช่น คัดลอก ลบ และย้าย
- ตัวอย่างคำสั่ง และการใช้งาน
cp x y :: เดิมมีแฟ้มชื่อ x ต้องการแฟ้ม y ที่เหมือน x ขึ้นมาใหม่ สามารถใช้คำสั่ง cp
rm y :: ลบแฟ้ม y ออกจากเครื่อง ซึ่งอยู่ใน directory ปัจจุบัน
rm -r [directoryname] :: จะลบ directory ในเครื่อง sun และแฟ้มทั้งหมดใน directory นั้น และการลบแฟ้ม จะมีการถาม confirm ทุกแฟ้มเสมอ
rm -rf [directoryname] :: จะลบ directory ใช้ใน Redhat และแฟ้มทั้งหมดใน directory นั้น และการลบแฟ้ม จะมีการถาม confirm ทุกแฟ้มเสมอ
rm -f * :: ลบแฟ้มทั้งหมดโดยไม่ถาม yes
mv x /root :: ย้ายแฟ้ม x จากห้องปัจจุบันไปไว้ในห้อง /root
- 1.16 คำสั่ง ping : : : ตรวจสอบ ip และการเชื่อมต่อ internet
- : ตรวจสอบ ip ของเครื่องเป้าหมาย และการเชื่อมต่อ internet
- ตัวอย่างคำสั่ง และการใช้งาน
- PING 202.29.78.2 (202.29.78.2) from 202.29.78.12 : 56(84) bytes of data.
- From 202.29.78.12 icmp_seq=1 Destination Host Unreachable
- From 202.29.78.12 icmp_seq=2 Destination Host Unreachable
- From 202.29.78.12 icmp_seq=3 Destination Host Unreachable
ping www.thaiall.com :: ตัวสอบการมีอยู่ของ www.thaiall.com และแสดงเลข IP ของเว็บนี้
ping 202.29.78.100 -c 5 :: แสดงผลการทดสอบเพียง 5 บรรทัด
ping 202.29.78.2 :: ผลดังข้างล่างนี้ แสดงว่าไม่พบเครื่องที่มีเลข ip ดังกล่าว
- 1.17 คำสั่ง env : : : แสดงค่า environment ปัจจุบัน
- : แสดงค่า environment ปัจจุบัน
ตัวอย่างคำสั่ง และการใช้งาน
env
- HISTSIZE=1000
SSH_CLIENT=202.29.78.100 1091 22
OLDPWD=/usr/sbin
QTDIR=/usr/lib/qt3-gcc3.2
SSH_TTY=/dev/pts/0
USER=burin
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;.... :
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
MAIL=/var/spool/mail/burin
PWD=/etc
INPUTRC=/etc/inputrc
LANG=en_US.UTF-8
HOME=/root
SHLVL=2
LOGNAME=burin
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env
- 1.18 คำสั่ง lynx : : : Text browser ที่ใช้งานง่าย ใช้ดู source หรือ download ได้
- ตัวอย่างคำสั่ง และการใช้งาน
lynx www.thaiall.com :: เพื่อเปิดเว็บ www.thaiall.com แบบ text mode
lynx http://www.yonok.ac.th :: เพื่อเปิดเว็บ www.yonok.ac.th แบบ text mode
lynx -dump http://www.yonok.ac.th :: เพื่อแสดงผลลัพธ์แบบไม่ interactive คือการ view ผลแล้วหยุดทันที
lynx -dump -width=500 http://piology.org/.procmailrc.html|grep '^|'|cut -c3- :: ตัวอย่างการนำไปใช้
- 1.19 คำสั่ง nslookup : : : แสดงข้อมูลเกี่ยวกับ name server จาก ip หรือ domain name
- : แสดงข้อมูลเกี่ยวกับ name server จาก ip หรือ domain name
เช่น host yn1.yonok.ac.th หรือ dig yn1.yonok.ac.th เมื่อเข้าไปใน nslookup สามารถออกมาได้ด้วยการพิมพ์คำสั่ง exit หลังเครื่องหมาย > ตัวอย่างคำสั่ง และการใช้งาน nslookup 202.28.18.65
- Non-authoritative answer:
65.18.28.202.in-addr.arpa name = mars.uni.net.th.
Authoritative answers can be found from:
18.28.202.in-addr.arpa nameserver = mars.uni.net.th.
18.28.202.in-addr.arpa nameserver = ns.netserv.chula.ac.th.
mars.uni.net.th internet address = 202.28.18.65
- Name: www.thaiall.com
Address: 66.150.1.141
- 1.20 คำสั่ง tail : : : แสดงส่วนท้ายของแฟ้มที่มีขนาดใหญ่ ต้องข้ามกับ cat ที่ดูตั้งแต่เริ่มแฟ้ม
- : แสดงส่วนท้ายของแฟ้มที่มีขนาดใหญ่ ตรงข้ามกับ cat ที่ดูตั้งแต่เริ่มแฟ้ม
- ตัวอย่างคำสั่ง และการใช้งาน
tail index.html :: ดูส่วนท้ายของแฟ้ม index.html ใน Current directory
tail --lines=5 /var/log/messages :: ดูส่วนท้ายของแฟ้ม /var/log/messages แต่ต้องเป็น root จึงจะดูได้
tail /var/log/html/access.log :: ดูส่วนท้ายเพียง 10 บรรทัด ซึ่งเป็นค่า default ที่ไม่ได้กำหนดจำนวนบรรทัด
tail --lines=100 /var/log/html/access_log > access_bak :: เป็นการ backup ในขั้นแรก ก่อนใช้ mv ย้ายไปทับแฟ้มเดิม
- 1.21 คำสั่ง telnet : : : ใช้ติดต่อเข้า server ต่าง ๆ ตาม port ที่ต้องการ
.
- ตัวอย่างคำสั่ง และการใช้งาน
- Microsoft Windows POP3 Service Version 1.0 ready.
- USER aa@class.yonok.ac.th
- +OK
- PASS xxxxxxx
- +OK User successfully logged on
telnet 202.29.78.13 80 :: ให้พิมพ์คำสั่ง GET แม้มองไม่เห็นหลังกดปุ่ม enter (ใช้ทดสอบการตอบสนองของ server) - GET /index.html
- <frameset>
- <frame src=index.php>
- </frameset>
- Connection to host lost.
- C:\>
telnet 202.202.202.202 :: ขอติดต่อเข้าเครื่อง 202.202.202.202 การไม่กำหนด port คือเข้า port 23
telnet www.school.net.th 21 :: ขอติดต่อผ่าน port 21 ซึ่งเป็น FTP port
telnet mail.loxinfo.co.th 25 :: ตรวจ smtp ว่าตอบสนองกลับมา หรือไม่
telnet class.yonok.ac.th 110 :: ทดสอบ pop service ของ windows server 2003
100 : Continue 101 : Switching Protocols 200 : OK 201 : Created 202 : Accepted 203 : Non-Authoritative Information 204 : No Content 205 : Reset Content 206 : Partial Content 300 : Multiple Choices 301 : Moved Permanently 302 : Moved Temporarily 303 : See Other 304 : Not Modified 305 : Use Proxy 400 : Bad Request 401 : Unauthorized 402 : Payment Required 403 : Forbidden | 404 : Not Found 405 : Method Not Allowed 406 : Not Acceptable 407 : Proxy Authentication Required 408 : Request Time-out 409 : Conflict 410 : Gone 411 : Length Required 412 : Precondition Failed 413 : Request Entity Too Large 414 : Request-URI Too Large 415 : Unsupported Media Type 500 : Internal Server Error 501 : Not Implemented 502 : Bad Gateway 503 : Service Unavailable 504 : Gateway Time-out 505 : HTTP Version not supported |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น