แชมป์
ทัตเทพ แชมป์ มุกดาลอย

ระบบปฏิบัติการ Unix และคำสั่งพื้นฐาน


ระบบปฏิบัติการ Unix และคำสั่งพื้นฐาน ทีควรทราบ *

Unix ความรู้เบื้องต้น พร้อม คำสั่งพื้นฐาน Basic Command Line

ตอนนี้กำลังง่วนเกี่ยวกับกับ Linux Ubuntu พร้อมทั้งทำบล๊อกของตัวเองไปด้วย จะได้เก็บไว้อ้างอิง ขณะที่กำลังปรับแต่ง(ศึกษา)ลินุกส์ตัวโปรดอยู่นี้ ก็ต้องใช้ระบบการจัดการไฟล์ต่าง ๆ ใน Linux จำพวก การเคลื่อนย้ายไฟล์(Copy), การเปิดไฟล์เพื่อคอนฟิกค่า โน้น นี้ นั้นพอสมควร เลยขัดไม่ได้ที่จำเป็นต้องพึ่งพา เทอมินอล(Terminal) และใช้บรรทัดคำสั่ง(Command Line)บ้าง ข้อสังเกตุอย่างหนึ่งซึ่งเพิ่งเปลี่ยนมาใช้ Linux ได้ไม่นานก็คือ หาทางหลีกเลี่ยงการใช้ บรรทัดคำสั่ง (Command Line)ยากจริง ๆ ถึงแม้ว่าตัวลินุกส์เองจะเตรียมพื้นฐานของ User Interface มาเพียงพอต่อความจำเป็นใช้งานแล้วก็ตาม เนื่องจากติดขัดบางอย่างในเรื่องไฟล์ซิสเต็มของลินุกส์นั่นเอง เลยต้องหาคำสั่งพื้นฐานมาเพื่อใช้ในการอ้างอิง โดยบทความข้างล่างนี้เป็นบางตอนจากที่มาตามลิงค์นี้นะครับ ซึ่งผมก็คิดว่าน่าจะเพียงพอกับความต้องการใช้ในปัจจุบันของเรา ๆ ท่าน ๆ พอสมควร นอกจากนีั้ในก็ยังมี Basic Command Line สำหรับผูเริ่มต้น(ภาษาอังกฤษ)สำหรับอ้างอิงด้วย


Unix File System
ประเภทของไฟล์
* Regular File(-) เป็นไฟล์ปกติที่สร้างจาก Editor หรือสำเนามาจากไฟล์อื่น โดย
* Directory (d) เป็นไฟล์ที่เก็บไฟล์ต่าง ๆ หรือ directory
ใช้สัญลักษณ์ / แทน root directory
* Character device file (c) เป็นไฟล์ชนิดพิเศษ เรียกว่า
* Block device file (b)
* UNIX domain sockets (s) อยู่ใน BSD Unix
* Name pipes (p) ของ AT&T
* Symbolic link (l)

การตั้งชื่อไฟล์หรือ directory
* จะใช้ตัวอักษรใดในการตั้งชื่อก็ได้ ยกเว้นตัวอักษรต่อไปนี้ & * ( ) ; ‘ “ , < > /
* ตั้งชื่อได้ยาวไม่จำกัด
* ตัวอักษรตัวเล็กหรือตัวใหญ่ถือว่าแตกต่างกัน
* ในเชลล์จะรับคำสั่งรวม Argument หรือชื่อที่สั่งให้ทำงานได้ไม่เกิน 225 ตัว

การอ้างถึงชื่อแฟ้มข้อมูลหรือ directory
* ระหว่างชื่อแฟ้มข้อมูลกับ directory หรือระหว่าง directory กับ directory ใช้เครื่องหมาย “/” เป็นตัวคั่น
* Absolute Path Name เป็นการอ้างชื่อเต็มของแฟ้มหรือ directory เช่น /unix, /usr/home/seree, /etc/passwd
* Relative Path Name เป็นการอ้างชื่อแฟ้มหรือ directory โดยมีการสัมพันธ์กับตำแหน่งปัจจุบัน

. (current directory)

.. (parent directory)

./office (relative from current directory)

../office (relative from parent directory)

Home directory
* Home directory เป็น directory บ้านของผู้ใช้
* ผู้ใช้ชื่อ seree
home directory คือ /usr2/home/seree

คำสั่งทั่วไปของยูนิกซ์
* clear ลบจอภาพ
* date แสดงวันที่
* logname แสดงชื่อผู้ใช้
* hostname แสดงชื่อ Host
* cal แสดงปฏิทินเดือนปัจจุบันของเครื่อง
* cal 1997 แสดงปฏิทินคศ. 1997
* cal 10 1997 แสดงปฏิทิน เดือนตุลาคม คศ. 1997

คำสั่งทั่วไปของยูนิกซ์
* banner HELLO แสดงข้อความตัวใหญ่
* echo I Love You แสดงข้อความบนจอภาพ
* whoami แสดงชื่อผู้ใช้งานขณะนั้น
* who am i แสดงชื่อผู้ใช้งาน เวลาที่เข้าสู่ระบบ หมายเล เครื่อง
* pwd แสดงชื่อ directory ที่ใช้งานขณะนั้น

คำสั่งนี้ใช้ในการแสดงรายชื่อไฟล์และไดเรกเทอรี่ ย่อยที่มีอยู่

รูปแบบ : ls [option] [filename]

option

-a แสดงรายชื่อไฟล์และไดเรกเทอรี่ย่อยที่มี อยู่ทั้งหมดรวมถึงไฟล์ที่ขึ้นต้นด้วย “.”ที่ซ่อนไว้ ซึ่งปกติจะไม่แสดง ให้เห็น

-b แสดงตัวอักษรที่ไม่สามารถแสดงผล ได้แบบปกติ

-c แสดงผลแบบหลายคอลัมน์

-d แสดงแค่ชื่อไดเรกเทอรี่โดยไม่แสดงชื่อ ไฟล์ที่อยู่ข้างใน

-f บังคับให้มีเครื่องหมาย “/” อยู่หลังชื่อไดเรกเทอรี่ และเครื่องหมาย “*” อยู่หลังชื่อไฟล์ที่รันได้

-l แสดงผลแบบยาว

ตัวอย่าง

% ls

% ls -l

% ls -la

% ls -f

คำสั่ง cd (Change directory)

* เป็นคำสั่งที่ย้าย ไปยัง directory อื่นที่ต้องการ
* รูปแบบ cd directory_name
* ตัวอย่าง

cd /usr2/home/seree

cd ../seree

cd

cd ..

คำสั่ง cp

* เป็นคำสั่งสำเนาไฟล์ข้อมูลไฟล์เดียวหรือหลายไฟล์ เหมือนกับคำสั่ง COPY ที่ใช้กันอยู่บน DOS

รูปแบบ cp [option] [source_filename] dest_filename

-i จะมีการแจ้งเตือนและทำการถามเมื่อชื่อไฟล์ ปลายทางนั้นมีอยู่แล้ว

-p บังคับให้ทำการคัดลอกคุณสมบัติทุกอย่างจาก ไฟล์ต้นฉบับ

-r ถ้าหากว่าไฟล์ที่ต้องการนั้นเป็นไดเรกเทอรี่ ทาง เลือกนี้จะทำการคัดลอกทุก ๆ ไฟล์ในไดเรกเทอรี ไปยังที่ ๆ ต้องการ

ตัวอย่าง

1. สำเนาไฟล์

% cp letter letter.sav

2. สำเนาไฟล์ที่มีส่วนขยายเป็น c ไปไว้ใน directory ชื่อ archives

% cp *.c archives

3. สำเนาไฟล์ชื่อ memoจาก directory ชื่อ /home/seree ไปยัง directory ปัจจุบัน

% cp /home/seree/memo .

4.สำเนาไฟล์ชื่อ memo และ letter ไปยัง directory ชื่อ /home/jenny

% cp memo letter /home/jenney

คำสั่ง mkdir

* ใช้สำหรับสร้าง directory
* รูปแบบ

mkdir directory_name directory_name …

* ตัวอย่าง

% mkdir tutor

คำสั่ง rmdir

* ใช้สำหรับลบ directory โดย directory ที่จะจะลบต้องเป็น directory ว่าง ถ้ามีแฟ้มอยู่จะต้องลบแฟ้มออกก่อน
* รูปแบบ

rmdir directory_name directory_name …

* ตัวอย่าง

% rmdir xyz

คำสั่ง rm

* ใช้สำหรับลบแฟ้มข้อมูล สามารถดำเนินการพร้อมกันได้หลายแฟ้ม

รูปแบบ :

rm [-i] filename [filename] ...

ตัวอย่าง

% rm data.txt

% rm -i report.txtt

คำสั่ง mv

* ใช้สำหรับย้ายแฟ้มข้อมูล สามารถดำเนินการพร้อมกันได้หลายแฟ้ม

รูปแบบ :

mv filename filename

mv filename [filename…] directory

ตัวอย่าง

% mv data.txt demo.txt

% mv report.txt units

คำสั่ง w

คำสั่ง“w”ใช้ในการตรวจสอบว่าในขณะนี้มีใครกำลังทำ อะไร อยู่ในระบบเดียวกันกับเราบ้าง

รูปแบบ : w[ทางเลือก] [user-account]

ตัวอย่าง :

bucc% w

10:30 am up 6 days, 16:45, 3 users, load average 1.30 1.31 2.00

User tty login@ idle JCPU PCPU what

u3510011 pts/11 6:22am 1 7:35 26 w

คำสั่ง who

* เป็นคำสั่งที่ใช้แสดงรายชื่อของผู้ใช้ ทีกำลังใช้งานอยู่ในขณะนั้น
* รูปแบบ

who [am I]

* ตัวอย่าง

% who

jenny tty01 Jul 25 11:01

alex tty11 Jul 25 18:11

คำสั่ง finger

คำสั่ง “finger” ใช้ในการตรวจดูว่า มีใครกำลังใช้งาน อยู่ ในระบบที่เราต้องการตรวจสอบ

รูปแบบ : finger [user-account] [@hostname...]

ตัวอย่าง :

1. ใช้ในการตรวจดูผู้ใช้ในระบบ

% finger

Login Name TTY Idle When Where

u3420245 Nongluck Chutratane pts/18 Mon 08.24 CS2.au.ac.th

u3710855 Suhaalaj Barua pts/39 1 Mon 09:23 CS1.au.ac.th

% finger @nontri.ku.ac.th

[nontri.ku.ac.jp]

User RealName What Idle TTYHost Console Location

dahlan dehlan Phan pine 0:53 co wine hn HIRQakl Nishin -csh 1:13 p3 fizz (cxsf:0.0)

kazuo KazuoSatou pino 0:33 p1 fizz (:0.0)

mleno Tsutomu Mleno pine 0:29 p4 beer allbu:s.o)

คำสั่ง pwd

ใช้ในการตรวจดูตำแหน่งไดเรกเทอรี่ปัจจุบัน

รูปแบบ : pwd

ตัวอย่าง

% pwd

คำสั่ง cat

* เป็นคำสั่งใช้แสดง content ของไฟล์ ทั้งหมดโดยไม่มีการหยุดให้ดู
* รูปแบบ

cat [options] [file-list]

ตัวอย่าง

% cat list.txt

% cat -n list.txt

คำสั่ง more

* เป็นคำสั่งใช้แสดง content ของไฟล์ ทั้งหมดทีละจอภาพ ถ้าต้องการแสดงหน้าถัดไปทีละหน้าจอภาพ ต้องกด แป้น space bar ถ้าต้องการแสดงผลครั้งละบรรทัดต้องกดแป้น enter
* รูปแบบ

more filename [filename …]

ตัวอย่าง

% more list.txt

Permission

* สิทธิการใช้งานไฟล์หรือ directory ในระบบยูนิกซ์ มีดังนี้

- Read Permission สิทธิในการอ่าน แทนด้วยอักษร r

- Write Permission สิทธิในการเขียนอ่าน แทนด้วยอักษร w

- Execute Permission สิทธิในการ run แทนด้วยอักษร x

* ผู้ใช้สามารถดู Permission ของไฟล์หรือ directory ได้โดยการใช้คำสั่ง ls -l

สรุปการเปรียบเทียบคำสั่งบนระบบปฏิบัติการ DOS และ Unix

ความหมายของคำสั่ง บน DOS บน Unix

ลบแฟ้มข้อมูล del rm

เปลี่ยนชื่อแฟ้มข้อมูล ren mv

แสดงรายชื่อแฟ้มข้อมูล dir Is

เปลี่ยน directory cd cd

สร้าง directory md mkdir

คัดลอกแฟ้มข้อมูล copy cp

เปลี่ยนรหัสผ่าน - passwd


คำสั่งที่ใช้ในการติดต่อสื่อสาร

คำสั่ง write ใช้ในการเขียนข้อความส่งไปยังคนที่ต้องการ ที่อยู่ในHost

เดียวกันคำสั่ง นี้ไม่สามารถส่งข้อความไปยัง ผู้ใช้ที่อยู่ในระบบ อื่นๆ ได้

รูปแบบ

write [destination-user]

ตัวอย่าง

% write u3615022

Hello khun toy? How are you going?

กด Ctrl - d

คำสั่ง wall(write all)

* เป็นคำสั่งที่ส่งข้อความไปแสดงบนหน้าจอภาพของผู้ใช้ทุกคนที่กำลัง login อยู่ ใช้งานได้บน host เดียวกัน
* รูปแบบ

wall

คำสั่ง mail

* เป็นคำสั่งใช้สำหรับส่งจดหมายอีเล็กทรอนิก
* รูปแบบ

mailx username@hostname

* ตัวอย่าง

% mailx seree@bucc.buu.ac.th

subject : <---------พิมพ์หัวเรื่อง พิมพ์รายละเอียดของจดหมาย พิมพ์ . (จุด) คำสั่ง talk * เป็นคำสั่งที่ใช้ในการติดต่อสื่อสารกับผู้ที่ login อยู่ สามารถใช้บน host เดียวกันหรือต่าง host กันได้ * รูปแบบ talk username@hostname ผู้ส่ง : talk username@hostname usernameคือชื่อผู้รับที่กำลัง login hostname คือชื่อเครื่องที่ผู้รับใช้งาน ผู้รับ : talk username@hostname ผู้รับจะต้องตอบผู้ส่งเมื่อมี messageปรากฏบนหน้าจอ ถ้าต้องการติดต่อสื่อสาร usernameคือชื่อผู้ส่ง hostname คือชื่อเครื่องที่ผู้ส่งใช้งาน * ถ้าต้องการเลิกการติดต่อสื่อสารให้กด ctrl - c
คำสำคัญ (Tags): #เพื่อการศึกษา
หมายเลขบันทึก: 327382เขียนเมื่อ 13 มกราคม 2010 11:34 น. ()แก้ไขเมื่อ 14 พฤษภาคม 2012 22:11 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ขอแนะนำ ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี