คำสั่งเกี่ยวกับ Admin
คำสั่ง df (Disk Free) ดูเนื้อที่ฟรีของดิสก์ เมื่อเราต้องดูและจัดการเกี่ยวกับดิสก์ (Disk) ในระบบ สามารถใช้คำสั่ง df (Disk Free) เพื่อตรวจสอบจำนวนเนื้อที่ว่างที่ยังเหลืออยู่บนดิสก์ได้ และสามารถกระทำได้ทุก ๆ ครั้งที่เราต้องการ ดังตัวอย่าง
ซึ่งจะรายงานสถานการใช้ดิสก์ปัจจุบันที่เรามีอยู่ออกมาให้ด้วย ซึ่งการใช้งานคำสั่ง df ธรรมดานั้น เราอาจจะเข้าใจความหมายของตัวเลขต่าง ๆ ได้ลำบาก แต่เราสามารถใช้คำสั่ง df-h เพื่อดูอีกลักษณะหนึ่ง ซึ่งเป็นแบบที่เข้าใจได้ง่ายขึ้น สังเกตว่าระบบจะรายการตัวเลขต่าง ๆ ออกมาได้เข้าใจง่าย และบอกเป็นเปอร์เซ็นต์ของการใช้งานดิสก์ออกมาด้วย หากจำนวนเปอร์เซ็นต์ถึงหนึ่งร้อยเมื่อไร หมายความว่าดิสก์ในพื้นที่นั้นเต็มแล้ว และควรจะมีการจัดการดิสก์ใหม่ หากปล่อยไว้จะทำให้ระบบไม่สามารถทำงานต่อไปได้
คำสั่ง du (disk usage) ดูเนื้อที่ดิสก์ที่มีการใช้งาน เราสามารถใช้คำสั่ง du ดูว่ามีการใช้เนื้อที่ file ในแต่ละ directory เป็นจำนวนเท่าไร ดังตัวอย่าง จากตัวอย่างเป็นการขอดูการใช้งานพื้นที่ของกดิสก์ในส่วนของ /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 เป็นการยกเลิกการ mount floppy disk
คำสั่ง adduser การเพิ่ม User account เมื่อต้องการที่จะเพิ่มรายชื่อผู้ใช้ (user account) ให้กับผู้ใช้ใหม่ สามารถกระทำได้โดยการ ใช้คำสั่ง 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 เป็นตัวอย่างการลบรายชื่อผู้ใช้ (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 ยังมี option หลายอย่างดังนี้ รหัส | ชื่อ | ความหมาย | 1 | HUP (hang up) | ทำการยุติโปรเซสนั้นและให้ restart โปรเซสนั้นใหม่ | 2 | INT | ทำการขัดจังหวะโปรเซสนั้น | 3 | QUIT | ออกจากการทำงานของโปรเซสนั้น | 6 | ABRT | ยกเลิกการทำงานของโปรเซสนั้น | 9 | KILL | การฆ่าแบบ Non-ignorable | 14 | ALRM | มีการแจ้งเตือนของโปรเซสนั้น | 15 | TERM | ทำการยุติโปรเซสนั้นโดยสิ้นเชิง |
จากค่าของรหัสและชื่อนั้น สามารถที่จะนำมาประยุกต์ให้กับคำสั่ง 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 " เพื่อเรียกดูแพ็คเกจทั้งหมดได้ โดยเรียกคำสั่ง ดังนี้ ดังตัวอย่าง
การตวรจสอบดูว่าแพ็คเกจที่เราสนใจนั้น มีไฟล์อะไรบ้าง แล้วแต่ละไฟล์เก็บไว้ที่ไหน เราสามารถใช้ออปชั่น " -q " ควบคู่กับ " -l " เพื่อดูองค์ประกอบไฟล์ของแพ็คเกจได้ โดยเรียกคำสั่ง ดังนี้
ดังตัวอย่าง
หากต้องการรู้ว่าไฟล์ที่เราสนใจอยู่นี้ อยู่ในแพ็คเกจไหน เราสามารถตรวจสอบได้ โดยเรียกออปชั่น " -q " ควบคู่กับ " -f " พร้อมทั้งระบุชื่อไฟล์นั้น โดยเรียกคำสั่งดังนี้
เมื่อเราอยากทราบว่าโปรแกรมที่เราสนใจอยู่นั้น มีไฟล์ที่ใช้ปรับค่าโปรแกรมอยู่ที่ไหนบ้าง เราอาจนำตัวอย่างจากข้างบนมาประยุกต์ใช้โดยอาจใช้ออปชั้น " -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 -replacepkgs - -percent < ชื่อแพ็คเกจ > |
คำสั่ง rpm ใช้ในการลบออก (UnInstall or Erase) ในส่วนนี้ก็จะกล่าวถึงการลบโปรแกรมหรือแพ็คเกจที่มีการติดตั้งไว้แล้วให้ออกไปจากเครื่อง ไม่ว่าลบเพราะต้องการติดตั้งใหม่ หรือลบออกไปเพราะไม่อยากใช้แล้วก็ตาม
การลบโปรแกรมออกจากระบบ ซึ่งเราสามารถทดสอบการลบก่อนลบจริงได้โดยใช้ออปชั่น " - - test" เพิ่มเข้ามา โดยเรียกคำสั่งดังนี้ ในตัวอย่าง เป็นการทดสอบลบโปรแกรมก่อนจะทำการลบจริง เป็นการ 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. |
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น