คำสั่ง ADMIN


คำสั่ง ADMIN


คำสั่งเกี่ยวกับ Admin

คำสั่ง df
(Disk Free) ดูเนื้อที่ฟรีของดิสก์
เมื่อเราต้องดูและจัดการเกี่ยวกับดิสก์ (Disk) ในระบบ สามารถใช้คำสั่ง df (Disk Free) เพื่อตรวจสอบจำนวนเนื้อที่ว่างที่ยังเหลืออยู่บนดิสก์ได้ และสามารถกระทำได้ทุก ๆ ครั้งที่เราต้องการ ดังตัวอย่าง

# df

ซึ่งจะรายงานสถานการใช้ดิสก์ปัจจุบันที่เรามีอยู่ออกมาให้ด้วย ซึ่งการใช้งานคำสั่ง df ธรรมดานั้น เราอาจจะเข้าใจความหมายของตัวเลขต่าง ๆ ได้ลำบาก แต่เราสามารถใช้คำสั่ง df-h เพื่อดูอีกลักษณะหนึ่ง ซึ่งเป็นแบบที่เข้าใจได้ง่ายขึ้น

# df-h

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


คำสั่ง du
(disk usage) ดูเนื้อที่ดิสก์ที่มีการใช้งาน
เราสามารถใช้คำสั่ง du ดูว่ามีการใช้เนื้อที่ file ในแต่ละ directory เป็นจำนวนเท่าไร
ดังตัวอย่าง

# du-h /home

จากตัวอย่างเป็นการขอดูการใช้งานพื้นที่ของกดิสก์ในส่วนของ /home ซึ่งเราจะรู้ว่า user แต่ละคนนั้นใช้งานดิสก์ไปเท่าไรแล้ว

คำสั่ง mount

อันนี้ไว้ใช้ ในการ mount hard disk หรือ cd rom หรือ floppy disk อย่างที่พูดไว้บ้างแล้วว่าใน unixไม่มีการแสดง file เป็น c: เป็น d: เมื่อมี CD rom หรือ floppy disk ใหม่และต้องการใช้งาน เราจะต้อง mount มันก่อน โดยคำสั่ง mount

#mount -option devicename mountpoint

device name ได้แก่ ชื่อของ device สำหรับ linux นั้น จะยกตัวอย่างให้ดังนี้ กรณี IDE cd rom นั้นถ้าต่อโดยใช้สาย connector อันเดียวกันกับ hard disk drive c จะมีชื่อ device เป็น /dev/hdb และ ถ้าใช้ สายคนละสายกับ hard disk drive c: จะมีชื่อ device เป็น /dev/hdd (ลองแกะเครื่องดูสาย หรือไม่ก็ลอง mount ดูทั้ง /dev/hdd และ /dev/hdb โดยปกติ CD จะทำงานช้ากว่า hard disk ควรจะใช้ สายคนละสายกับ drive c เพื่อไม่ให้ cd ไปถ่วงการทำงานของ drive C ให้ช้าลง)สำรับ floppy จะชื่อ /dev/fd0, /dev/fd1
mountpont คือชื่อของ directory ที่จะใช้แทน Device นั้น เช่น /mnt/cdrom /mnt/floppy
option มีหลาย option แต่หลักๆก็คือ -t ซึ่งเป็นการระบุ file system ที่จะ mount
เช่น ext2 fat fat32 vfat ntfs
ตัวอย่างการ mount cdrom

#mount -t vfat /dev/hdd /mnt/cdrom
#mount -t fat /dev/fd0 /mnt/floppy

เมื่อจะดูข้อมูลใน disk หรือ CD ก็สามารถดูได้จาก Directory /mnt/cdrom และ /mnt/floppy

คำสั่ง umount

เป็นคำสั่งในการยกเลิกการ mount file เช่น umount /mnt/floppy

# umount /mnt/floppy

เป็นการยกเลิกการ mount floppy disk

คำสั่ง adduser การเพิ่ม User account
เมื่อต้องการที่จะเพิ่มรายชื่อผู้ใช้ (user account) ให้กับผู้ใช้ใหม่ สามารถกระทำได้โดยการ ใช้คำสั่ง adduser ดังตัวอย่าง

# adduser

จากนั้นระบบจะให้เราใส่ user name ที่ต้องการและให้กรอกรายละเอียดต่าง ๆ

เมื่อเราต้องการบริหารเครื่องเซิร์ฟเวอร์ที่มี User Account จำนวนมาก ๆ เป็นทีละสองถึงสามพัน User Account เราจะเพิ่ม
user เหล่านั้นได้อย่างไร หากเราต้องการมาใช้คำสั่ง adduser ทีละคำสั่งคงจะไม่ใช่เรื่องน่าสนุกสำหรับคนที่ต้องบริหารและดูแลเซิร์ฟเวอร์ การแก้ไขปัญหานี้เราสามารถที่จะใช้คำสั่ง adduser ร่วมกันพารามิเตอร์ -f เข้ามาช่วยได้ โดยการทำตามขั้นตอนต่อไปนี้

ทำการสร้างไฟล์ข้อความ (Text - File) ที่เก้ฐ User Account ที่เราต้องการเสียก่อน โดยที่หนึ่งบรรทัดเท่ากับหนึ่ง User Account ซึ่งจะมีโครงสร้างแต่ละบรรทัดดังนี้

name:uid:gid:class:change:expire:gecos::home_dir:shell:password

โดยที่
์name คือ User Name ที่เราต้องการสร้าง
uid คือ User ID ของ User Account นั้น ๆ
gid คือ Group ID ของ User Account นั้น ๆ
class คือ ล๊อกอินคลาส (Login Class) ควรว่างไว้
change คือ วันที่ที่หมดอายุของรหัสผ่าน
expire คือ วันที่ที่ User Account นี้จะหมดอายุ
gecos คือ ชื่อเต็ม (Full name) หรือรายละเอียดอื่น ๆ ของ User Account นั้น ๆ

้home_dir คือ โฮมไดเรกทรอรี (Home Directory) ของ User Account นั้น ๆ
shell คือ เซลล์ที่ User Account จะใช้ในการสั่งงาน
password คือ รหัสผ่านของ User Account นั้น ๆ

ในที่นี้เราจะสร้างไฟล์ข้อความขึ้นมาหนึ่งไฟล์ชื่อ useraccount.txt ที่เก็บไว้ในไดเรกทรอรี /root ดังคำสั่ง

# pico /root/useraccount.txt

(จากนั้นพิมพ์ User Account ที่เราต้องการลงในไฟล์ดังตัวอย่าง และบันทึกไฟล์)
384140041:1011:1001::::ID384140041:::09112519
394143012:1012:1001::::ID394143021:::01052520
394147034:1013:1001::::ID394147034:::19052520
394244001:1014:1001::::ID394244001:::27122519
394244025:1015:1001::::ID394244025:::27022521

อธิบายตัวอย่าง
38410041 เป็นคอลัมน์ที่ 1 คือ User Account ที่เราต้องการสร้าง
:1011 เป็นคอลัมน์ที่ 2 คือ User ID ของ User Account นั้น ๆ
:1001 เป็นคอลัมน์ที่ 3 คือ Group ID ของ User Account นั้น ๆ
: เป็นคอลัมน์ที่ 4 คือ Class Login (ควรว่างไว้)
: เป็นคอลัมน์ที่ 5 คือ วันที่ที่หมดอายุของรหัสผ่าน (ควรว่างไว้)
: เป็นคอลัมน์ที่ 6 คือ วันที่ที่ User Account นี้จะหมดอายุ (ควรว่างไว้)
:ID384140041 เป็นคอลัมน์ที่
7 คือ ชื่อเต็ม (Full Name)
: เป็นคอลัมน์ที่ 8 เป็น Home Directory (ควรว่างไว้
)
: เป็นคอลัมน์ที่ 9 เป็น Shell ที่ใช้สั่งงาน (ควรว่างไว้)
: 09112519 เป็นคอลัมน์ที่ 10 คือ รหัสผ่านของ User Account นั้น ๆ

คำแนะนำเพิ่มเติมในการสร้างไฟล์ข้อความนี้ เราอาจจะสร้างไฟล์ข้อความที่มีลักษณะโครงสร้างแบบนี้ได้จากโปรแกรม Ms Excel ซึ่งเราสามารถจัดวางคอลัมน์ต่าง ๆ ได้โดยง่ายเมื่อเราจัดวางคอลัมน์ได้แล้ว เราก็จะ Export งานนั้นออกมาเป็นรูปแบบของไหล์ข้อความ (Text File) ตามที่เราต้องการ แล้วก็ Upload ขึ้นเซิร์ฟเวอร์อีกครั้ง

เมื่อเราสร้างไฟล์ข้อความที่เก็บ User Account เรียบร้อยแล้ว ต่อมาเราก็จะสั่งให้ระบบปฏิบัติการทำการสร้างคำสั่ง Adduser ดังนี้

# adduser -f /root/useraccount.txt

เท่านี้ระบบปฏิบัติการก็จะสามารถสร้าง User Account ทีละมาก ๆ ได้ อย่างสบายด้วยคำสั่ง adduser

การลบ User Account ออกจากระบบ
เมื่อต้องการลบรายชื่อผู้ใช้งาน (User Account) ออกจากระบบเป็นการถาวรนั้นสามารถกระทำได้ด้วยคำสั่ง rmuser

# rmuser kitti

เป็นตัวอย่างการลบรายชื่อผู้ใช้ (user account) ที่ชื่อ kitti ซึ่งระบบจะถามความแน่ใจจากเราอีกครั้ง และจะถามเราว่าต้องการที่จะลบ Home Directory ของ user kitti หรือไม่ หากเราต้องการลบ ตอบ Y ระบบจะทำการลบข้อมูลทุกอย่างที่เก็บไว้ใน Home Directory ของ user kitt ออกทั้งหมด

เมื่อต้องการระงับการใช้งาน User เป็นการชั่วคราว

เมื่อเราต้องดูแลระบบซึ่งจะต้องเกี่ยวข้องกับ User จำนวนมาก ๆ และถ้าหากมี User บางคนที่ใช้งานระบบที่เราดูแบอยู่อย่างไม่เหมาะสม เช่น ก่อกวนการใช้งานของ User คนอื่น ๆ เราสามารถที่จะระงับการใช้งานของ ๊User คนนั้น ๆ ได้เป็นการชั่วคราวโดยให้เราไปแก้ไขไฟล์ /etc/passwd แล้วใสเครื่องหมาย # นำหน้าชื่อ User Account นั้น ๆ ดังตัวอย่าง

- Login เป็น root แล้วทำการแก้ไขไฟล์ /etc/passwd

# pico /etc/passwd
(ใส่เครื่องหมาย # นำหน้าชื่อ User Account ที่เราต้องการระงับการใช้งานชั่วคราว เช่น user01 และ user02)
new:*:8:8:News Subsytem:/:/sbin/nologin
man:*:9:9:Mister Man Pages:/usr/share/man:/sbin/nologin
sshd:*:22:22:Secure Shell Daemon:/var/empty:/sbin/nologin
smmsp:*:25:25:Sendmail Submission User:/var
mailnull:*:22:26:Sendmail Default User:/var?spool/clientmqueue:/sbin/nologin
bind:*:53:53:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6:Post Office Owner:/nonexistent:/sbin/nologin
www:*:80:80:World Wide Web Owner:/nonexisten:/sbin/nologin
nobody:*:65534:65534:Unrivileged user:/nonexistent:/sbin/nologin
kitti:*:1001:0:Kittipong:/home/kitti:/bin/sh
mysql:*:1002:1002:User &:/home/mysql:/bin/sh
jojo:*:1003:1003:User &:/home/jojo:/bin/sh
admin:*:1004:1004:User &:/home/admin:/bin/sh
jabber:*:93:93:Jabber Daemon:/nonexitstent:/sbin/nologin
#user01:*:1005:1005:User &:/home/user01:/bin/sh
#user02:*:1006:1006:User &:/home/user02:/bin/sh

คำสั่ง who, w
ไว้ดูว่ามีใครที่ login เข้ามาในระบบบ้าง


คำสั่ง ps
ไว้ดูว่ามี process อะไรบ้างที่กำลังทำงานอยู่ ปกติถ้าเราใช้คำสั่ง ps เฉยๆผลลัพธ์ที่ออกมาจะแสดงเฉพาะprocess ที่เราเป็นคนสั่งเอาไว้ในขณะ ที่เรา log เข้า ไป แต่ถ้า พิมพ์ ps -a จะแสดงทั้งหมด


การเรียกดู Process ID (PID) ด้วยคำสั่ง ps
ในการทำงานเกี่ยวกับ Process ของระบบนั้น บางครั้งเราอาจจะใช้คำสั่ง ps เพื่อเรียกดูรหัสประจำตัวโปรเซสก่อน แล้วหากต้องการที่ฆ่าโปรเซสบางโปรเซสทิ้ง เนื่องจากโปรเซสที่ไม่ได้ใช้งาน หรืออาจเพื่อการยกเลิกการทำงานของโปรเซสนั้น ๆ เป็นการชั่วคราว เราสามารถใช้คำสั่ง kill เพื่อฆ่าโปรเซสนั้นทิ้งไปได้ ดังตัวอย่าง

# ps -ax
PID TT STAT TIME COMMAND
0 ?? DLs 0:00.03 (swapper)
1 ?? ILs 0:00.03 /sbin/init
2 ?? DL 0:00.91 (g_event)
3 ?? DL 0:01.13 (g_up)
4 ?? DL 0:02.45 (g_down)
5 ?? IL 0:00.00 (acpi_task0)
6 ?? IL 0:00.00 (acpi_task1)
7 ?? IL 0:00.00 (acpi_task2)
8 ?? DL 0:00.00 (pagedaemon)
9 ?? DL 0:00.00 (vmdaemon)
#

จากตัวอย่างเป็นการเรียกดู Process ID ที่ทำงานอยู่ ณ ปัจจุบันทั้งหมด

# ps-ax I grep httpd
328 ?? Ss 0:00.69 /usr/local/apacche/bin/httpd
384 ?? I 0:00.01 /usr/local/apacche/bin/httpd
385 ?? I 0:00.02 /usr/local/apacche/bin/httpd
386 ?? I 0:00.01 /usr/local/apacche/bin/httpd
387 ?? I 0:00.01 /usr/local/apacche/bin/httpd
388 ?? I 0:00.02 /usr/local/apacche/bin/httpd
13280 ?? I 0:00.02 /usr/local/apacche/bin/httpd
13933 ?? I 0:00.02 /usr/local/apacche/bin/httpd
13934 ?? I 0:00.01 /usr/local/apacche/bin/httpd
13935 ?? I 0:00.01 /usr/local/apacche/bin/httpd
14127 p0 R+ 0:00.00 n/httpd
#

จากตัวอย่างเป็นการเรียกดู ProcessID เฉพาะโปรเซสที่ชื่อ httpd เท่านั้น(โปรเซส httpd เป็นโปรเซสที่ทำหน้าที่เป็น Web Server ของระบบ ในที่นี้ใช้โปแกรม Apache Web Server)

คำสั่ง kill การฆ่าโปรเซส
พิมพ์ kill ตามด้วยเลขที่ของ process (PID) ซึ่งเลขที่ process เราสามารถดูได้จาก คำสั่ง ps จะเป็นการหยุดการทำงาน ของ Process นั้นๆ รูปแบบคำสั่ง kill -option PID option ที่ใช้บ่อยได้แก่ -9 แปลว่า kill ชนิดไม่ให้ฟื้นอีก
ดังตัวอย่าง

# kill 1245

คำสั่ง kill ยังมี option หลายอย่างดังนี้

รหัสชื่อความหมาย
1HUP (hang up)ทำการยุติโปรเซสนั้นและให้ restart โปรเซสนั้นใหม่
2INTทำการขัดจังหวะโปรเซสนั้น
3QUITออกจากการทำงานของโปรเซสนั้น
6ABRTยกเลิกการทำงานของโปรเซสนั้น
9KILLการฆ่าแบบ Non-ignorable
14ALRMมีการแจ้งเตือนของโปรเซสนั้น
15TERMทำการยุติโปรเซสนั้นโดยสิ้นเชิง

จากค่าของรหัสและชื่อนั้น สามารถที่จะนำมาประยุกต์ให้กับคำสั่ง kill ได้ดังตัวอย่าง เช่น

# kill -9 1245
# kill -HUP 1245

คำสั่ง Ifconfig เป็นการตรวจสอบค่า IP address ของ Network Card
เราสามารถกำหนดค่า ตรวจสอบค่าของ IP address หร้อมแสดงรายละเอียดต่าง ๆ ของ Network Card ที่ติดตั้งอยู่

# ifconfig
rl0: flag=8843mtu 1500
inet 202.29.80.130 netmask 0xffffff80 broadcast 202.29..80.255
inet6 fe80::202:44ff:fe 14:ba%r10 prefixlen 64 scopeid 0x1
ether 00:02:44:14:00:ba
media: Ethernet autoselect (100baseTX )
status: active
1p0:flags=8810mtu1500
1o0:flags=8049mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%1o0 prefixlen 64 scopeid 0x7
inet 127.0.0.1 netmask 0xff000000
#

เป็นการแสดงค่าของ IP address และรายละเอียดต่าง ๆ ของ Network Card ทั้งหมดที่ได้มีการติดตั้งในเซิร์ฟเวอร์

# ifconfig -a
rl0: flags=8843mtu 1500
inet 202.29.80.130 netmark 0xffffff80 broadcast 202.29.80.255
inet6 fe80::202:44ff:fe 14;ba%r10 prefixlen 64 scopeid 0x1
ether 00:02:44:14:00:ba
media: Ethernet autoselect (100baseTX )
status:active
1p0: flag=8810 mtu 1500
1o0: flag=8049 mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%1o0 prefixlen 64 scopeid 0x7
inet 127.0.0.1 netmask 0xff000000
#

เป็นการแสดงผลเหมือนกันคำสั่ง ifconfig ธรรมดา

# ifconfig r10
r10: flag=8843 mtu 1500
inet 202.29.80.130 netmask 0xffffff80 broadcast 202.29.80.255
inet6 fe80::202::44ff:fe14:ba%r10 prefixlen 64 scopeid 0x1
ether 00:02:44:14:00:ba
media: Ethernet autoselect (100baseTX )
status:active
#

เป็นการแสดงค่า IP address และรายละเอียดต่าง ๆของ r10

# ifconfig r10 192.168.1.1 netmark 255.255.255.0
r10: flag=8843 mtu 1500
inet 192.168.1.1 netmask 0xffffff80 broadcast 192.168.1.1
inet6 fe80::202:44ff:fe14:ba%r10 prefixlen 64 scopeid 0x1
ether 00:02:44:14:00:ba
media: Ethernet autoselect (100baseTX )
status: active
#

เป็นการกำหนดค่า IP address และ netmask ให้กับ Network Card ที่ชื่อ r10

การอนุญาติและไม่อนุญาติให้ Network Card ทำงาน
เราสามารถกำหนดให้ Network Card ทำงานได้ หรือไม่ทำงานด้วยการใช้คำสั่ง ifconfig ตามด้วย Device Name และคำว่า up หรือ down ดังตัวอย่าง

# ifconfig r10 down
# ifconfig r10 up

คำสั่ง arp และการตรวจสอบค่า MAC address
ในการทำงานเกี่ยวกับเครือข่ายที่มีขนาดใหญ่ ๆ บางครั้งก็สร้างความลำบากใจให้กับดูแลเครือข่ายไม่น้อย เมื่อมีปัญหาเกิดขึ้น อาทิเช่น มีผู้ใช้บางคนไปกำหนด ip address ไปชนกับเครื่องคอมพิวเตอร์ใดในเครือข่ายก็ไม่รู้ ซึ่งเหตุการณ์แบบนี้อาจจะเกิดขึ้นกับคุณก็เป็นได้ เราสามารถใช้คำสั่ง arp เพื่อตรวจสอบหาว่าเครื่องคอมพิวเตอร์เครื่องใดใช้ MAC address ใดบ้าง (MAC address เป็นค่าของตัวเลขฐานสิบหกจำนวนหนึ่ง ซึ่งจะถูกกำหนดใช้กับ Network Card ทุกใบที่ได้ผลิตออกมากจากบริษัทต่าง ๆ ซึ่งจะไม่ซ้ำกัน เช่น 00:01:44:34:12:55 เป็นต้น
)

# arp -a
? (202.29.80.129) at 00:00:0c:3e:792b on r10 [ethernet]
? (202.29.80.160) at 00:c0:05:01:9a:ef on r10 [ethernet]
? (202.29.80.242) at 02:c0:9f:2a:bd:a2 on r10 [ethernet]
#

คำสั่ง top
มีไว้ monitor ระบบ โดยจะแสดงรายการ process ที่กำลังทำงานอยู่โดยเรียงตามลำดับการใช้ cpu และ memory การแสดงผลจะเกือบเป็น realtime โดยจะมีการ refresh ทุก 1-2 วินาที
ดังตัวอย่าง

# top
last pid: 14084; load averages: 0.00, 0.00, 0.00 up 0+09:24:25 09:55:30
39 processses: 1 running, 38 sleeping
CPU states: 0.8% user, 0.0% nice, 0.0% sytem, 0.0% interrupt, 99.2% idle
Mem: 15M Active, 98M Inact, 28M Wired, 60K Cache, 28M Buf, 42M Free
Swap: 363M Total, 363M Free

PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
14084 root 96 0 2140K 1408K RUN 0:00 0.51% 0.05% top
489 jabber 96 0 3448K 2044K select 0:05 0.00% 0.00% jabberd
453 root 96 0 3124K 2588K select 0:01 0.00% 0.00% sendmail
382 root 96 0 3220K 2536K select 0:01 0.00% 0.00% httpd
442 mysql 96 0 1200K 2752K select 0:01 0.00% 0.00% mysql
495 root 96 0 3408K 2476K select 0:00 0.00% 0.00% radiusd
448 root 96 0 2628K 2020K select 0:00 0.00% 0.00% sshd
271 root 96 0 1172K 736K select 0:00 0.00% 0.00% syslogd
365 root 96 0 1144K 680K select 0:00 0.00% 0.00% usbd
501 root 96 0 3792K 3000K select 0:00 0.00% 0.00% snmpd
516 root 96 0 1324K 1008K select 0:00 0.00% 0.00% inetd
536 jabber 96 0 2344K 1620K select 0:00 0.00% 0.00% jabberd
528 root 8 0 1236K 960K nanslp 0:00 0.00% 0.00% cron
548 root 5 0 1524K 1204K ttyin 0:00 0.00% 0.00% csh
14060 root 4 0 5364K 2352K sbwait 0:00 0.00% 0.00% ssbd
537 root 8 0 1532K 1220K wait 0:00 0.00% 0.00% login
14065 root 20 0 1508K 1152K pause 0:00 0.00% 0.00% csh

จากตัวอย่างจะเห็นได้ว่าระบบจะรายงานจำนวน Process ที่ใช้งานในระบบทั้งหมด , Process ที่กำลังทำงานอยู่ , สถานะของการใช้งาน (CPU) , สถานะของการใช้หน่วยความจำ , การใช้หน่วยตวามจำเสมือน (Virtual Memory) ตลอดจนรหัสประจำตัวของโปรเซสด้วย นับได้ว่าคำสั่ง top เป็นคำสั่งที่มีประโยชน์อย่างมากในการตรวจสอบการทำงานของโปรเซสต่าง ๆ ในระบบ และทำให้เราเข้าใจการทำงานของโปรเซสได้มากขึ้นอีกด้วย

คำสั่ง tail

จริงๆ tail ไว้ดู file เฉพาะในส่วนท้ายของ file แต่ส่วนใหญ่เราจะเอาไปใช้ในการ monitor log file เช่น
tail -f /var/log/messages
จะเป็นการ monitor log file ของระบบที่ชื่อว่า messages หรือ
tail -f /usr/local/apache/log/error_log
ใช้ monitor error_log ของ apache web server


คำสั่ง mcopy mdel mdir mkdir ...

กรณีที่เบื่อการ mount floppy เพื่อดู file เราสามารถใช้ คำสั่ง mdir a: เพื่อดูรายชื่อ file ใน drive A ใช้คำสั่ง
#mcopy a:test /
เพื่อ copy file test มาเก็บไว้ใน / directory หรือ mmkdir สร้าง directory คือง่ายว่าถ้าอยากใช้คำสั่ง dos บน Linux ให้ลองพิมพ์ m(dos command) จะช่วยประหยัดเวลาไปบ้างโดยเฉพาะเวลาใช้ floppy disk
(โปรแกรมนี้ส่วนใหญ่มักจะให้มากับ CD ของ Linux อยู่แล้ว)


ารจัดการกับ file ที่ download มา

คำสั่ง tar และ gzip

ส่วนใหญ่เวลาเรา download file สำหรับ Unix มักจะมีนามสกุลแปลกๆ เช่น apache_1.3.20.tar.gz หรือ openldap-2.1.10.tgz file พวกนี้เราสามารถขายโดยใช้คำสั่งดังนี้
#tar -xzvf apache_1.3.20.tar.gz
ในกรณีที่มีนามสกุลเป็น .tar เช่น apache_1.3.20.tar.gz ใช้คำสั่งเดิมแต่เอา option z (zip ) ออก
#tar -xvf apache_1.3.20.tar


คำสั่ง rpm
คำสั่ง rpm
ใช้ในการค้นหา (Query or Select)
ในส่วนของการค้นหานั้น โดยส่วนใหญ่จะใช้ตรวจสอบดูว่าเครื่องเรามีแพ็จเกจใดลงอยู่บ้าง เป็นเวอร์ชั่นอะไร มีไฟล์ใดบ้างที่เกี่ยวข้องกับแพ็จเกจนี้ หรืออาจจะตรวจสอบว่าไฟล์นี้อยู่ในแพ็คเกจใดก็เช่นกัน เพราะในบางครั้งเราไม่รู้ว่าไฟล์ที่ใช้ปรับแต่งโปรแกรมนี้อยู่ที่ไหน ก็สามารถหาได้ด้วยออปชั่นของการค้นหา
การตรวจสอบดูว่าเครื่องเรามีแพ็คเกจอะไรติดตั้งไว้แล้ว และมีเวอร์ชั่นอะไรบ้าง เราสามารถใช้ออปชั่น " -q " ควบคู่กับ " -a " เพื่อเรียกดูแพ็คเกจทั้งหมดได้ โดยเรียกคำสั่ง ดังนี้

# rpm -qa

ดังตัวอย่าง
#rpm -qa | grep apache

การตวรจสอบดูว่าแพ็คเกจที่เราสนใจนั้น มีไฟล์อะไรบ้าง แล้วแต่ละไฟล์เก็บไว้ที่ไหน เราสามารถใช้ออปชั่น " -q " ควบคู่กับ " -l " เพื่อดูองค์ประกอบไฟล์ของแพ็คเกจได้ โดยเรียกคำสั่ง ดังนี้

# rpm -ql < ชื่อแพ็คเกจ>

ดังตัวอย่าง
#rpm -ql apache

หากต้องการรู้ว่าไฟล์ที่เราสนใจอยู่นี้ อยู่ในแพ็คเกจไหน เราสามารถตรวจสอบได้ โดยเรียกออปชั่น " -q " ควบคู่กับ " -f " พร้อมทั้งระบุชื่อไฟล์นั้น โดยเรียกคำสั่งดังนี้

# rpm -qf < ชื่อไฟล์ >

เมื่อเราอยากทราบว่าโปรแกรมที่เราสนใจอยู่นั้น มีไฟล์ที่ใช้ปรับค่าโปรแกรมอยู่ที่ไหนบ้าง เราอาจนำตัวอย่างจากข้างบนมาประยุกต์ใช้โดยอาจใช้ออปชั้น " -qa " แล้ว grep ชื่อโปรแกรมดูว่าใช้แพ็คเกจอะไร หลังจากนั้นจึงค่อยนำชื่อแพ็คเกจนั้นมาเรียกออปชั่น "-qcl" เพื่อตรวจสอบดูว่าไฟล์ที่ใช้ปรับค่าโปรแกรมอีกที โดยเรียกคำสั่งดังนี้

# rpm -qcl < ชื่อแพ็คเกจ >

คำสั่ง rpm ใช้ในการติดตั้งและอัพเกรด (Installation and Uggrade)

โดยทั่วไปโปแแกรมบนลีนุกซ์
มักจะออกมาในรูปของแพ็คเกจเป็นส่วนใหญ่ ซึ่งง่ายต่อการติดตั้งและลบออก เนื่องจากเราไม่ต้องมาคอมไพล์โปรแกรมใหม่และไม่ต้องยุ่งยากในการทำสำเนาตัวโปรแกรมที่ได้จากการคอมไพล์ไปไว้ยังไดเร็กทอรีต่าง ๆ ด้วยตัวเอง ดังนั้นเราจึงควรมารู้จักวิธีการติดตั้งและอัพเกรดโปรแกรมด้วย rpm กัน

การติดตั้งโปรแกรมรวมถึงกรณีที่มีโปรแกรมนั้นติดตั้งอยู่ก่อนแล้ว เราจะทำอย่างไรและถ้าต้องการเห็นความก้าวหน้าของการติดตั้งด้วยแล้ว ต้องใช้ออปชั่นอะไรบ้าง

การติดตั้งแพ็คเกจ dump-0.4b27-1 ซึ่งเราใช้ออปชั่น " -I " ในการติดตั้งแต่พบว่ามีแพ็คเกจนั้นติดตั้งอยู่แล้ว ถ้าเรายืนยันที่จะติดตั้งให้ได้ เราสามารถใช้ออปชั่น "- -replecepkgs" เพิ่มเติมเข้าไป และถ้าต้องการเห็นความก้าวหน้าของการติดตั้ง ก็ลองใช้ออปชั่น " -h " เพิ่มดู โดยเรียกคำสั่งดังนี้

# rpm - i < ชื่อแพ็คเกจ >

ในตัวอย่าง ติดตั้งโดยลงทับของเดิมและแสดงความก้าวหน้าด้วย
# rpm - ih -replecepkgs < ชื่อแพ็คเกจ >

การอัพเกรดโปรแกรม ซึ่งใช้หลักการและออปชั่นเดียวกันกับการติดตั้ง ต่างกันเพียงออปชั่นในการอัพเกรดจะใช้ " -U " แทน " -I " เท่านั้น ในการอัพเกรดโดยทั้วไป อาจทำไปโดยการลบแพ็คเกจเดิมออกแล้วติดตั้งใหม่ก็ได้เช่นกัน

ในตัวอย่างเป็นการอัพเกรดแพ็คเกจ dump -0.4b27-1 ซึ่งมีการใช้ออปชั่น " - -percent " เป็นการแสดงความก้าวหน้าอีกแบบ จะแสดงออกมาเป็นเปอร์เซ็นต์ โดยเรียกคำสั่ง ดังนี้

# rpm -U < ชื่อแพ็คเกจ >

ในตัวอย่าง อัพเกรดโดยลงทับของเดิมและแสดงความก้าวหน้าแบบเปอร์เซ็นต์
# rpm -U -replacepkgs - -percent < ชื่อแพ็คเกจ >

คำสั่ง rpm ใช้ในการลบออก (UnInstall or Erase)
ในส่วนนี้ก็จะกล่าวถึงการลบโปรแกรมหรือแพ็คเกจที่มีการติดตั้งไว้แล้วให้ออกไปจากเครื่อง ไม่ว่าลบเพราะต้องการติดตั้งใหม่ หรือลบออกไปเพราะไม่อยากใช้แล้วก็ตาม

การลบโปรแกรมออกจากระบบ ซึ่งเราสามารถทดสอบการลบก่อนลบจริงได้โดยใช้ออปชั่น " - - test" เพิ่มเข้ามา โดยเรียกคำสั่งดังนี้

# rpm -e <ชื่อแพ็คเกจ>

ในตัวอย่าง เป็นการทดสอบลบโปรแกรมก่อนจะทำการลบจริง

# rpm -e - - test apache

เป็นการ uninstall โปรแกรม apache

คำสั่ง man

เป็นคำสั่ง ที่ใช้เหมือนกับคำสั่ง help ใน dos พิมพ์ man แล้วตามด้วยชื่อคำสั่งที่ต้องการศึกษารายละเอียดเช่น man ls
ก็จะแสดงคู่มือการใช้คำสั่ง ls option ที่สำคัญก็คือ k เมื่อเราพิมพ์ man -k sound โปรแกรม man จะไปค้นชื่อ คำสั่งที่มีความคำว่า
sound ทั้งหมดมาให้ k คือคำย่อของ keywork search และ man ย่อมาจาก manualคำสั่งพื้นฐานของ Linux
ซึ่งมีรูปแบบดังตัวอย่าง

man < ชื่อคำสั่ง หรือ โปรแกรม >

# man Is
LS(1)
NAME
Is - list directory contents
SYNOPSIS
Is [ OPTION ] [ FILE ]
DESCRIPTION
List information about the FILEs (the current directory by
defaulf ). Sort entries alphabetically if none of -cftuSUX
nor - - sort.



ไม่มีความคิดเห็น:

แสดงความคิดเห็น