วันเสาร์ที่ 14 พฤษภาคม พ.ศ. 2554

คำสั่งพื้นฐานสำหรับ Linux

คำสั่งพื้นฐานสำหรับ Linux

  คำสั่งพื้นฐานสำหรับ Linux
เริ่มต้นใช้งานอะไร สิ่งจำเป็นอย่างแรกก็คงจะหนีไม่พ้นคำสั่งพื้นฐานในการใช้งานกันแหละ Linux เองก็เช่นกัน คำสั่งพื้นฐานที่จะแนะนำให้ๆ คุณๆ นี้เป็นคำสั่งเบื้องตนที่หลายๆ คนที่ใช้ Linux เอง ก็รู้อยู่แล้ว เอาเป็นว่าแนะนำคนที่จะหันมาลองใช้ OS ตัวนี้กันดู เปิดมาจะได้ไม่งงซะก่อนพาลจะไม่อยากใช้มัน และกล่าวหาว่ามันใช้งานยากดีแท้ เหอะๆ ว่ากันเลยนะ

cd [directory]
cd หรือ change director ใครคุ้นเคยกะ dos คงจะคุ้นเคยกะคำสั่งนี้
คำสั่งนี้เอาไว้ย้ายที่อยู่ของคุณไปยัง directory ที่คุณต้องการ เช่นหลังจาก log in เข้าสู่ระบบแล้ว (สมมุติอยู่ใน /home/user1 และกันนะ) และอยากจะย้ายที่อยู่ไปยัง directory อื่นทำได้โดยการใช้คำสั่งนี้แหละ อย่างเช่น cd /etc เพื่อ ไปยัง /etc หรือ cd .. เพื่อย้ายไปยัง directory ก่อนหน้า (ถ้าคุณอยู่ใน /home/user1 คุณจะย้ายออกมาอยู่ที่ /home)

mkdir [directory]
สำหรับสร้าง directory ขึ้นมาใหม่ อย่างเช่นต้องการสร้าง directory สำหรับเก็บเอกสารทำได้โดยการพิมพ์ mkdir Docs (สร้าง directory ชื่อ Docs ขึ้นมา) จะสร้าง directory ที่ไหนได้ หมายความว่าคุณต้องมีสิทธิ์ในการสร้างใน directory นั้นๆ ด้วยนะ
useradd -D เปลี่ยนค่า Default ของคำสั่ง

mdir [directory]
หลังจากสร้างแล้วไม่เป็นที่พอใจ ลบได้โดยใช้คำสั่งนี้ อย่างเช่น rmdir Docs (ลบ directory ชื่อ Docs) ปกติ rmdir จะลบได้เฉพาะ directory ที่ไม่มีอะไรอยู่ข้างใน ถ้าคุณต้องการลบ directory ที่มี file หรือ directory อื่นอยู่ในนั้นใช้คำสั่ง rm -r [directory]

rm [file]
rm ใช้สำหรับลบ file ถ้าต้องการลบ file ชื่อ readme.txt ใช้คำสั่งนี้ rm readme.txt ถ้าต้องการลบ directory ที่มีหรือไม่มี file อยู่ข้างในใช้ rm -r [file or directory] อาจจะสงสัยแล้วทำไมต้องมี rmdir คิดว่าเค้าเอาไว้ป้องกันความผิดพลาดหรือเผลอเลอของผู้ใช้ เท่านั้นเอง ว่าจริงๆ แล้วคุณต้องการลบ file หรือ directory กันแน่

pwd
แสดง path ปัจจุบันที่คุณอยู่

ls
แสดงรายชื่อ file ใน directory ถ้า ls -l จะแสดงแบบยาว หรือถ้าต้องการแสดง file ที่ซ่อนอยู่ (พวก file ที่ขึ้นต้นด้วย . ) ใช้คำสั่ง ls -a หรือ ls -la ก็ได้ตามชอบใจ จะว่าไปก็เหมือนกับ dir ใน dos นั่นแหละ ถ้าต้องการแสดงเฉพาะ file ที่มีนามสกุลเป็น .txt ก็ พิมพ์ ls *.txt

mv [file1] [file2]
ย้ายมันไปที่อื่น หรือเปลี่ยนชื่อมัน (มันที่ว่าคือ file หรือ directory นั่นเอง)

cp [file1] [file2]
copy มัน ถ้าต้องการ copy ทั้ง directory ใช้ cp -r [dir1] [dir2]

cat [file]
แสดงข้อมูลใน file ออกทางจอภาพ อยากรู้ว่าใน file นั้นมีข้อมูลอะไรอยู่ โดยไม่ต้องเปิด file ใช้คำสั่งนี้ อย่างเช่น cat /etc/passwd

more [file]
แสดงทีละบรรทัด ถ้า file มันยาวมากเกินหน้าจอ ใช้ cat อาจจะไม่สะดวก เพราะอาจจะมองไม่ทัน ก็ใช้ more แทน เลื่อนดูข้อมูลหน้าถัดไปโดยการเคาะ space bar

less [file]
เหมือน more คงเขียนขึ้นมาเพื่อเพิ่มความสามารถของ more เอง เพราะ more มันดูได้แต่หน้าถัดไป แต่ less สามารถเลื่อนกลับไปดูข้อมูลก่อนหน้าได้ โดย space bar เป็นการเลื่อนดูหน้าถัดไป และ b เป็นการเลื่อนดูหน้าก่อนหน้า ถ้าต้องการเลื่อนไปทีละครึ่งหน้า ใช้ d ถ้าเลื่อนกลับครึ่งหน้าก็ใช้ u รายละเอียดเพิ่มเติมดูได้จากคำสั่ง less --help

คำสั่งพื้นฐานสำหรับ Linux (ตอน 2)
การใช้งานLinux จะ มีคำสั่งที่เป็นพื้นฐานที่สำคัญที่ต้องรู้และเป็นคำสั่งที่เพิ่มเติมเข้ามาอีกจากตอนที่ 1 เป็นการแนะนำคนที่จะหันมาลองใช้ OS ตัวนี้กันดู ขอให้ทำความเข้าใจ และอดทนกันหน่อยนะ

คำสั่งเกี่ยวกับ File
cd [directory]
ย่อมาจาก change directory เป็นคำสั่งเดียวกันกับ dos แต่ ที่ต่างกันนิดหนึ่งคือ ใน dos การเขียนชื่อ directory จะเป็น test แต่ถ้าใน unix จะเป็น /test ถ้าต้องการไป directory test ก็พิมพ์ cd test หรือถ้าพิมพ์ cd เฉยๆ แล้วเคาะ Enter จะเป็นการเปลี่ยน directory ไปที่ home directory ของผู้ใช้ สำหรับ directory ใน unix นั้นไม่เหมือนใน dos unix ไม่มี disk lable เช่น c: หรือ d: directory ที่อยู่บน สุดของ unix เรียกว่า root directory เขียนสั้นๆว่า / โครงสร้าง directory จะประกอบด้วย /bin, /usr/bin เก็บ คำสั่งใช้งานทั่วไป /sbin, /usr/sbin ใช้เก็บคำสั่ง ของ admin ทั้ง /bin, /usr/bin/, /sbin, /usr/sbin มักใช้เก็บโปรแกรมที่มาพร้อมกับ CD และติดตั้งลงในเครื่องตอนลง Linux (อีกนิดหนึ่ง bin หมายถึง directory นั้นเก็บ binary file สำหรับ sbin หมายถึง directory นั้นเก็บ sytem binary คือเป็นคำสั่งสำหรับผู้ดูแลระบบเท่านั้น) /etc ไว้เก็บ configuration ต่างๆของระบบ /var ใช้เก็บข้อมูลของโปรแกรม รวมทั้ง log ของระบบ สำหรับโปรแกรมที่เรา compile และติดตั้งเองมักจะอยู่ใน directory ชื่อ /usr/local และท้ายสุด คือ home directory /home ใช้เก็บข้อมูลของผู้ใช้ในระบบ เช่นถ้าสร้าง ผู้ใช้ชื่อ joy ระบบก็จะสร้าง directory ชื่อ /home/joy ให้โดยอัตโนมัติ

mv [ชื่อ file ต้นทาง] [ชื่อ file ปลายทาง]
ตรงกับคำสั่ง ren หรือ rename ใน dos แต่ทำงานได้มากกว่า mv ย่อมาจาก move ตัวอย่างการใช้งาน mv test test2 จะเป็นการเปลี่ยนชื่อ file จาก test ไปเป็น test2 หรือ mv /test /test2 จะเป็นการเปลี่ยนชื่อ directory จาก test ไปเป็น test2 และ mv /test /temp/ โดยที่ temp เป็น directory ที่มีอยู่แล้วจะเท่ากับเป็นการย้าย /test ไปเป็น directory ย่อยของ /temp (/temp/test

ls
คำสั่งนี้ใช้แสดงรายชื่อ file ใน directory (หรือ Folder ) ตรงกับคำสั่ง Dos ที่ชื่อ Dir มี option บางทีก็เรียกว่า argument ที่สำคัญได้แก่ -l ให้แสดงรายละเอียดของ file, -a แสดง file ทั้งหมดรวมทั้ง hidden file ซึ่งจริงๆ แล้วก็คือ file ที่มีชื่อขึ้นต้นด้วย . เช่น .profile
ตัวอย่างเช่น ls -l man* หรือ ls -l -a man * หรือ ls -la man* การใช้ wildcard เช่น * ส่วนใหญ่ก็คล้ายกับ windows หรือ dos แต่ที่เด็ดกว่านั้นคือ เราสามารถใช้ wildcard กับ Directory ด้วยเช่น ls /usr/local/apach*/ht* ก็สามารถแสดง file ที่เก็บใน directory/usr/local/apache/htdocs แต่ถ้าใน /usr/local/apache มี directory /htdocs กับ httpd แล้วละก็ เฉพาะ file ใน htdocs จะถูกแสดงเท่านั้นคำสั่งนี้เป็นคำย่อของ List

rm [file]
คำสั่ง ลบ file เหมือนคำสั่ง del ใน dos สามารถใช้ wildcard ได้เช่นเดียวกับ ls และมี option เดียวที่คือ -r ซึ่งเมื่อใช้คำสั่ง rm -r /usr/src/temp หมายความว่า ให้ลบ file และ directory ย่อยทั้งหมดที่อยู่ภายใน directory /usr/src/temp rm ย่อมาจาก remove

pwd
กรณีที่เรา เปลี่ยน directory ไปมาจนสับสนจำไม่ได้ว่าตอนนี้ตัวเองอยู่ใน directory ใด ให้ใช้คำสั่ง pwd เพื่อดูว่าเราอยู่ใน directory ใด pwd ย่อมาจาก pop หรือ print working directory

chmod
คล้ายกับคำสั่ง Attrib ของ Dos เป็นการเปลี่ยน mode การใช้งานของ file คือปกติ file ใน unix จะมี mode การใช้งาน และสิทธิในการใช้งานอยู่กับ file
โดยเราสามารถเรียกดู mode การใช้งานได้จากคำสั่ง ls -l ตัวอย่างเช่น#ls -l /etc/host.conf
# -rwxr--r-- root.daemon host.conf ..
ตรง -rwxr--r-- เป็นตัวที่บอกสิทธิการใช้ file โดยสังเกตว่า -[rwx][r--][r--] นั้นประกอบด้วยตัวอักษร 10 ตัว 1 ตัวแรกบอกว่า เป็น file หรือ directory ถ้าเป็น file ใช้สัญลักณ์ - ถ้าเป็น directory จะถูกแทนด้วย D ดังนั้น /etc/host.conf จึงเป็น file สัญลักษณ์ 3 ตัวถัดมาจะเป็นการบอกว่า เจ้าของมีสิทธิในการใช้ file อย่างไร rwx ตัวแรกใน 3 ตัวนี้แทนสิทธิในการอ่านดู file ใช้สัญลักษ์ r แทน อ่านได้ และ - แทนไม่มีสิทธิอ่าน ตัวที่ 2 ระบุว่ามีสิทธิการเขียนหรือแก้ไข file หรือไม่ w แปลว่า แก้ไขได้ - แปลว่าแก้ไขไม่ได้ และตัวสุดท้ายแทนว่าสามารถรันคำสั่งนี้ได้หรือไม่ (run หรือ execute) x แปลว่า execute หรือ run คำสั่ง /etc/host.conf ได้และ - แทนไม่ได้
สัญลักษณ์ 3 ตัวถัดมาแทนสิทธิของผู้ที่อยู่ในกลุ่มเดียวกันกับเจ้าของ file การอ่านค่าก็เหมือนที่อธิบายไปแล้ว
สัญลักษณ์ 3 ตัวสุดท้ายแทนสิทธิการใช้ file ของคนทั่วไป ที่ไม่ได้อยู่ในกลุ่ม
ตัวอย่างที่เห็นบอกว่า /etc/host.conf สามารถอ่านเขียนและ run ได้โดยเจ้าของ และคนในกลุ่มเดียวกันกับเจ้าของและคนอื่นสามารถอ่านได้ ไม่สามารถแก้ไข หรือ run คำสั่งได้

mkdir [ ชื่อ directory]
คำสั่งนี้เข้าใจง่ายเป็นคำสั่งสร้าง directory ซึ่งตรงกับคำสั่ง md ของ dos

rmdir [ชื่อ directory]
คำสั่งนี้เข้าใจง่ายเป็นคำสั่งลบ directory ซึ่งตรงกับคำสั่ง rd ของ dos

cat [file]
แสดงข้อมูลใน file ออกทางจอภาพ อยากรู้ว่าใน file นั้นมีข้อมูลอะไรอยู่ โดยไม่ต้องเปิด file ใช้คำสั่งนี้ อย่างเช่น cat /etc/passwd หากต้องการจะออกจากคำสั่ง cat ให้กดปุ่ม Ctrl-d ซึ่งจะหมายถึง การส่งสัญลักษณ์ end-of-file (EOF) ไปให้กับคำสั่ง z

vi
ใช้ในการแก้ไข file โปรแกรมนี้ใช้งานยาก และคงต้องไปอ่านคู่มือเอาเอง แต่หลักๆ ก็คือ ปกติเมื่อจะใช้งานให้ พิมพ์ vi ตามด้วยชื่อ file เช่น vi test เป็นต้น ปกติเมื่อเรียกโปรแกรมเสร็จแล้วเราจะยังไม่สามารถป้อนข้อมูลหรือพิมพ์ได้ เราเรียกสถานะการณ์นี้เรียกว่า command mode เราต้องกดปุ่ม i (ตัวอักษร i) เพื่อจะเข้าสู่ Edit mode ซึ่งเราจะสามารถพิมพ์ตัวอักษรได้ และเมื่อพิมพ์จนสาแก่ใจแล้ว ก็ให้กดปุ่ม esc เพื่อกับเข้าสู่ command mode และ พิมพ์ : (semicolon) ตามด้วย w เพื่อ บันทึกข้อมูล (:w) หรือ :wq เพื่อบันทึกข้อมูลและออกจากโปรแกรม หรือ :q! เพื่อออกจากโปรแกรมโดยไม่บันทึกข้อมูล vi ย่อมาจาก visual editor

cp [file source] [file destination]
เป็นคำสั่ง copy ของ dos นั้นเอง แต่มี option หนึ่งที่ใช้ประจำคือ -R ซึ่งจะทำให้โปรแกรม cp ทำงานได้เหมือน Xcopy ตัวอย่างการใช้งานเช่น cp test1 test2 เป็นการ copy เนื้อหาของ file test1 ไปใส่ใน file test2 หรือ สมมติว่าใน directory /usr ประกอบด้วย directory ย่อยคือ temp local src เมื่อเราออกคำสั่ง cp -R /usr /var จะเท่ากับ copy เนื้อหาใน direcotry ทั้งหมดไปเก็บไว้ใน directory var รวมทั้ง copy directory ย่อย temp local src และเนื้อหาของมันไปเก็บไว้ใน directory /var เป็นต้น cp ย่อมาจาก copy

chown
คำสั่งเปลี่ยนเจ้าของ file ตัวอย่าง เมื่อเราออกคำสั่ง ls -l /etc/host.conf
# -rwxr--r-- root.daemon host.conf ..
ตรงที่เขียนว่า root.daemon เป็นการบอกให้รู้ว่า file มีเจ้าของคือ root ซึ่งอยู่ใน group daemon
ถ้าเราจะเปลี่ยนเจ้าของเราก็พิมพ์ chown admin.adm /etc/host.conf ก็จะเป็นการเปลี่ยนเจ้าของ file จาก root กลุ่ม daemon เป็น admin จากกลุ่ม adm
option ที่สำคัญของ chmod ที่ใช้บ่อยก็คือ -R ซึ่งจะเป็นการเปลี่ยนเจ้าของ file ทั้ง directory รวมถึง subdirectory ของมัน เช่น
#chown -R postfix.mail /etc/postfix

less
เป็นคำสั่งในการดูเนื้อหาใน file ซึ่งสามารถใช้ cursor เลื่อนขึ้น ลง เพื่อดูเนื้อหาใน file ได้ การใช้ พิมพ์ less ตามด้วย filename

more
เป็นคำสั่งที่ใช้ แสดงเนื้อหาใน file ต่างกับ less ตรงที่เลื่อนลงได้ เลื่อนขึ้นไม่ได้ การใช้งาน พิมพ์ more แล้วตามด้วยชื่อ file แต่ส่วนใหญ่ที่ผมใช้มักจะใช้คู่กับ คำสั่ง ls คือ เวลา file ใน directory มีมากกว่า 1 หน้าเราสามารถให้มันหลุดทีละหน้าได้
(เหมือนใช้คำสั่ง dir /w ) โดยใช้ คำสั่งเช่น
#ls /usr/bin | more


ขอขอบคุณ พี่บอม www.siamcafe.net

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

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