หน้าแรก เขียนใบสมัครงาน ลงโฆษณางาน ค้นหาใบสมัครงาน คู่มือการใช้งาน Menu

สนใจลงโฆษณา โทร. 02-275-1900, 02-612-4900, 038-395000

space
   ค้นบ่อย : หางานบัญชี, หางานธุรการ, หางานจัดซื้อ, หางานผู้จัดการ, หางานขับรถ, หางานบุคคล, หางานคลังสินค้า, หางานครู, หางานวิศวกร, หางานเขียนแบบ, หางานคีย์ข้อมูล, หางานการตลาด, หางานโรงแรม, หางานสิ่งแวดล้อม, หางานคอมพิวเตอร์, หางาน Programmer, หางานประชาสัมพันธ์, หางานช่าง, หางานสถาปนิก
เรื่อง การใช้งานคำสั่ง unix เบื้องต้น
เขียนโดย กิติพงษ์ โคตา

Rated: vote
by 271 users

คุณคิดอย่างไรกับเรื่องนี้?

 




                                         การใช้งานคำสั่ง UNIX เบื้องต้น
http://wap.itnstep.net/index.wml                          http://itnstep.net/
กล่าวนำก่อนเข้าเรื่อง 
      

             ระบบปฏิบัติการ (Operating System) คือ กลุ่มของคำสั่งที่ร่วมกันทำงาน เพื่อควบคุมการทำงานของ Hardware และ software Applucation อื่นๆ ของคอมพิวเตอร์ เราอาจจะแบ่ง OS ตามลักษณะการใช้งานออกเป็น 2 จำพวกคือ

                1.Single-User เป็น OS ที่ในขณะใดขณะหนึ่งจะให้บริการแก้ผู้ใช้เพียงคนเดียว เป็นระบบปฏิบัติการขนาดเล็ก สะดวกในการควบคุมการทำงาน เช่น DOS Windows95/98 ฯลฯ

                2.Multi-User เป็น OS ที่ให้ผู้ใช้มากกว่าหนึ่งคนเข้าทำงานได้พร้อม ๆ กัน โดยการต่อออกเป็น terminal ย่อยๆ ใช้กับระบบขนาดใหญ่ เป็น OS ที่ไม่ยึดติดกับระบบเครื่องระบบใดระบบหนึ่ง เป็น OS ที่เป็น Multi-user และ Multi-tasking เช่น Unix , Novell , Linux , SunOS ฯลฯ

หน้าที่ของ OS ที่เป็น Multi User

I/O คือการนำเข้าและจัดเก็บข้อมูลลงบนอุปกรณ์ของคอมพิวเตอร์ เช่น การบันทึกลง disk หรือการแสดงผลทาง จอภาพหรือ พริ้นเตอร์

การจัดการข้อมูล คือการจัดเก็บข้อมูลเป็นไฟล์(files)หรือรวมกันเป็น directory

Command คือคำสั่งที่จะให้ผู้ใช้พิมพ์ให้ คอมพิวเตอร์ประมวลผล

Time Sharing การบริหารเวลาสำหรับการทำงานพร้อมกันหลายๆ งานหรือหลายๆ คน

โปรแกรมที่ช่วยในการพัฒนาโปรแกรม เช่น Complier ต่างที่มีอยู่บน OS แต่ละตัว เช่นใน linux ก็จะมีภาษาต่างๆเช่น C , C++ และอื่นๆอีกหลายภาษา

ระบบความปลอดภัยของข้อมูลของแต่ละ user ที่คนอื่นไม่สามารถเข้ามากระทำได้โดยมิได้รับอนุญาต

การติดต่อกันเป็นเครือข่ายเพื่อใช้ทรัพยากรร่วมกัน
 


คำสั่ง

คำสั่ง telnet
เป็นคำสั่งที่เปลี่ยน host ที่ใช้อยู่ไปยัง host อื่น (ใน Windows 95 ก็มี)
รูปแบบ $ telnet hostname
เช่น c:> telnet student.rit.ac.th เปลี่ยนไปใช้ host ชื่อ student.rit.ac.th
$ telnet 202.44.130.165 เปลี่ยนไปใช้ host ที่มี IP = 202.44.130.165
$ telnet 0 telnet เข้า host ที่ใช้อยู่นะขณะนั้น
เมื่อเข้าไปได้แล้วก็จะต้องใส่ login และ password และเข้าสู่ระบบยูนิกส์นั้นเอง

คำสั่ง ftp
ftp เป็นคำสั่งที่ใช้ถ่ายโอนไฟล์ข้อมูลจากที่หนึ่ง ไปยังอีกที่หนึ่ง โดยการติดต่อกับ host ที่เป็น ftp นั้นจะต้องมี user name และมี password ที่สร้างขึ้นไว้แล้ว แต่ก็มี ftp host ที่เป็น public อยู่ไม่น้อยเช่นกัน ดังนั้นจะมี user name ที่เป็น publicเช่นกัน คือ user ที่ชื่อว่า anonymous ส่วน password ของ user anonymous นี้จะใช้เป็น E-mail ของผู้ที่จะ connect เข้าไปและโปรแกรมส่วนใหญ่ก็จะอยู่ใน directory ชื่อ pub
รูปแบบ $ ftp hostname
เช่น c:windows> ftp wihok.itgo.com
$ ftp ftp.nectec.or.th
คำสั่ง ftp จะมีคำสั่งย่อยที่สำคัญๆ ได้แก่
ftp> help ใช้เมื่อต้องการดูคำสั่งที่มีอยู่ใในคำสั่ง ftp
ftp> open hostname ใช้เมื่อต้องการ connect ไปยัง host ที่ต้องการ
ftp> close ใช้เมื่อต้องการ disconnect ออกจาก host ที่ใช้งานอยู่
ftp> bye หรือ quit ใช้เมื่อต้องการออกจากคำสั่ง ftp
ftp> ls หรีอ dir ใช้แสดงชื่อไฟล์ที่มีอยู่ใน current directory ของ host นั้น
ftp> get ใช้โอนไฟล์ทีละไฟล์จาก host ปลายทางมายัง localhost หรือเครื่องของเรานั้นเอง
ftp> mget ใช้โอนไฟล์ทีละหลายๆไฟล์จาก host ปลายทางมายัง localhost
ftp> put ใช้โอนไฟล์ทีละไฟล์จาก localhost ไปเก็บยัง host ปลายทาง
ftp> mput ใช้โอนไฟล์ทีละหลายๆไฟล์จาก localhost ไปเก็บยัง host ปลายทาง
ftp> cd ใช้เปลี่ยน directory
ftp> delete และ mdelete ใช้ลบไฟล์

คำสั่ง ls
มีค่าเหมือนกับ คำสั่ง dir ของ dos
รูปแบบ $ ls [-option] [file]
option ที่สำคัญ

l แสดงแบบไฟล์ละบรรทัด แสดง permission , เจ้าของไฟล์ , ชนิด , ขนาด , เวลาที่สร้าง
a แสดงไฟล์ที่ซ่อนไว้ ( dir /ah)
p แสดงไฟล์โดยมี / ต่อท้าย directory
F แสดงไฟล์โดยมีสัญญลักษณ์ชนิดของไฟล์ต่อท้ายไฟล์คือ
/ = directory
* = execute file
@ = link file
ld แสดงเฉพาะ directory (dir /ad)
R แสดงไฟล์ที่อยู่ใน directory ด้วย (dir /s)

เช่น
$ ls
$ ls -la

คำสั่ง more
แสดงข้อมูลทีละหน้าจอ อาจใช้ร่วมกับเครื่องหมาย pipe line ( | ) หากต้องการดูหน้าถัดไปกด space ดูบรรทัดถัดไปกด Enter เช่น
$ ls -la | more
$ more filename

คำสั่ง cat
มีค่าเหมือนกับ คำสั่ง type ของ dos ใช้ดูข้อมูลในไฟล์ เช่น
$ cat filename

คำสั่ง clear
มีค่าเหมือนกับ คำสั่ง cls ของ dos ใช้ลบหน้าจอ terminal ให้ว่าง
$ clear

คำสั่ง date
ใช้แสดง วันที่ และ เวลา
$ date 17 May 1999

คำสั่ง cal
ใช้แสดง ปฏิทินของระบบ
รูปแบบ $ cal month year เช่น
$ cal 07 1999

คำสั่ง logname
คำสั่งแสดงชื่อผู้ใช้ขณะใช้งาน
$ logname

คำสั่ง id
ใช้แสดงชื่อและกลุ่มมของผู้ใช้งาน
$ id

คำสั่ง tty
แสดงหมายเลข terminal ที่ใช้งานอยู่
$ tty

คำสั่ง hostname
คำสั่งแสดงชื่อเครื่องที่ใช้อยู่
$ hostname

คำสั่ง uname
คำสั่งแสดง ชื่อและรุ่นของ OS ชื่อและรุ่นของ cpu ชื่อเครื่อง
$ uname -a

คำสั่ง history
คำสั่งที่ใช้ดูคำสั่งที่ใช้ไปแล้วก่อนหน้านี้
$ history
เวลาเรียกใช้ต้องมี ! แล้วตามด้วยหมายเลขคำสั่งที่ต้องการ

คำสั่ง echo และ banner
$ echo "Hello" ใช้แสดงข้อความ "Hello" ขนาดปกติ
$ banner "Hello" ใช้แสดงข้อความ "Hello" ขนาดใหญ่

คำสั่ง who , w และ finger
ใช้แสดงว่าใครใช้งานอยู่บ้างขณะนั้น
$ who
$ w
$ finger ดูผู้ใช้ที่ host เดียวกัน
$ finger @daidy.bu..ac.th ดูผู้ใช้โดยระบุ Host ที่จะดู
$ finger wihok ดูผู้ใช้โดยระบุคนที่จะดูลงไป
$ who am i แสดงชื่อผู้ใช้ เวลาที่เข้าใช้งาน และ หมายเลขเครื่อง
$ whoami เหมือนกับคำสั่ง logname

คำสั่ง pwd
แสดง directory ที่เราอยู่ปัจจุบัน
$ pwd

คำสั่ง mkdir
ใช้สร้าง directory เทียบเท่า MD ใน DOS
$ mkdir dir_name

คำสั่ง cp
ใช้ copy ไฟล์หนึ่ง ไปยังอกไฟล์หนึ่ง
รูปแบบ $ cp [-irfp] file_source file_target
option -i หากมีการทับข้อมูลเดิมจะรอถามก่อนที่จะทับ
option -r copy ไฟล์ทั้งหมดรวมทั้ง directory ด้วย
option -f ไม่แสดงข้อความความผิดพลาดออกหน้าจอ
option -p ยืนยันเวลาและความเป็นเจ้าของเดิม
$ cp file_test /tmp/file_test

คำสั่ง mv
ใช้ move หรือเปลี่ยนชื่อไฟล์
รูปแบบ $ mv [-if] file_source file_target
ความหมายของ option เช่นเดียวกับ cp
$ mv index.html main.html เปลี่ยนชื่อไฟล์ index.html เป็น main.html

คำสั่ง rm
ใช้ลบไฟล์หรือ directory โดยที่ยังมีข้อมูลภายในเทียบเท่า del และ deltree ของ dos
รูปแบบ $ rm [-irf] filename
$ rm -r dir_name ลบ dir_name โดยที่ dir_name เป็น directory ว่างหรือไม่ว่างก็ได้
$ rm -i * ลบทุกไฟล์โดยรอถามตอบ

คำสั่ง rmdir
ใช้ลบ directory ที่ว่าง เทียบเท่ากับ rd ของ Dos
$ rmdir dir_name

คำสั่ง alias
ใช้ย่อคำสั่งให้สั้นลง
$ alias l = ls -l
$ alias c = clear

คำสั่ง unalias
ใช้ยกเลิก alias เช่น
$ unalias c

คำสั่ง type
ใช้ตรวจสอบว่าคำสั่งที่ใช้เก็บอยู่ที่ใดของระบบ
รูปแบบ $ type command
$ type clear

คำสั่ง find
ใช้ค้นหาไฟล์ที่ต้องการ เช่น
$ find /usr/bin -name "*sh" -print หาไฟล์ที่ลงท้ายด้วย sh จาก /usr/bin

คำสั่ง grep
ใช้คนหาข้อความที่ต้องการจากไฟล์
$ grep ข้อความ file

คำสั่ง man
man เป็นคำสั่งที่เป็นคู่มือการใช้คำสั่งแต่ละคำสั่งเช่น
$ man ls
$ man cp

คำสั่ง write
ใช้ส่งข้อความไปปรากฎที่หน้าจอของเครื่องที่ระบุในคำสั่งไม่สามารถใช้ข้าม host ได้
เช่น $ write s0460003

คำสั่ง mesg
$ mesg ดู status การรับการติดต่อของ terminal
$ mesg y เปิดให้ terminal สามารถรับการติดต่อได้
$ mesg n ปิดไม่ให้ terminal สามารถรับการติดต่อได้

คำสั่ง talk
ใช้ติดต่อสื่อสารแบบสองทาง เหมือนกับการคุยโดยผู้ส่ง ๆ ไปแล้วรอการตอบกลับจาก ผู้รับ สามารถหยุดการติดต่อโดย Ctrl + c สามารถใช้ข้าม host ได้
รูปแบบ $ talk username@hostname

คำสั่ง pine
ใช้อ่านและส่งจดหมายข้างในจะมี menu ให้ใช้
คำสั่ง tar

ใช้สำหรับ รวมไฟล์ย่อยให้เป็นไฟล์ Packet คล้ายๆกับการ zip หลายๆไฟล์ให้เป็นไฟล์เดียวแต่ขนาดไฟล์ไม่ได้ลดลงอย่างการ zip โดยไฟล์ output ที่ได้จะตั้งชื่อเป็น filename.tar หรือการแตกไฟล์ packet จาก filename.tar ให้เป็นไฟล์ย่อยมักจะใช้คู่กับ gzip หรือ compress เพื่อทำการลดขนาด packet ให้เล็กลง

รูปแบบการใช้

$ tar -option output input
-option ประกอบด้วย -cvf , -tvf , -xvf แสดงดังด้านล่าง
output คือ ไฟล์.tar หรืออาจจะเป็น device เช่น tape ก็ได้
input คือ ไฟล์หรือกลุ่มไฟล์หรือ directory หรือรวมกันทั้งหมดที่กล่าวมา
$ tar -cvf Output_file.tar /home/myhome/*
Option -cvf ใช้สำหรับการรวมไฟล์ย่อยไปสู่ไฟล์ .tar จากตัวอย่าง รวมไฟล์ทุกไฟล์ที่อยู่ใน /home/myhome/ เข้าสู่ไฟล์ชื่อ Output_file.tar
$ tar -tvf filename.tar
Option -tvf ใช้แตกไฟล์ .tar เป็นไฟล์ย่อยๆแบบ preview คือแสดงให้ดูไม่ได้แตกจริงอาจใช้คู่กับ คำสั่งอื่น เพื่อให้ได้ประโยชน์ตามต้องการ เช่น tar -tvf filename.tar |more
$ tar -xvf filename.tar
Option -xvf ใช้แตกไฟล์ .tar เป็นไฟล์ย่อยๆ โดยจะแตกลง ณ current directory

คำสั่ง gzip

ใช้ zip หรือ Unzip ไฟล์ packet โดยมากแล้วจะเป็น .tar เช่น
$ gzip filename.tar ผลที่ได้จะได้ไฟล์ซึ่งมีการ zip แล้วชื่อ filename.tar.gz
$ gzip -d filename.tar.gz ใช้ unzip ไฟล์ผลที่ได้จะเป็น filename.tar

คำสั่ง Compress และ Uncompress

หลังจากการ compress แล้วจะได้เป็นชื่อไฟล์เดิมแต่ต่อท้ายด้วย .Z การใช้งานเหมือนกับ gzip และ gzip -d เช่น
$ compress -v file.tar จะได้ไฟล์ชื่อ file.tar.Z โดย Option -v จะเป็นการ verify การ compress
$ uncompress -v file.tar.Z
 



Operating System Component
               

                1.Kernel คือหัวใจของระบบจะควบคุมการทำงานภายในทั้งหมดของระบบคอมพิวเตอร์ เช่น การเตรียมทรัพยากรต่างๆของระบบ การจัดเก็บข้อมูล การบริหารหน่วยความจำ การควมคุมอุปกรณ์ต่างๆที่ต่ออยู่ ตัว kernel จะขึ้นกับ ชนิดของเครื่องดังนั้นเราต้องใช้ kernel คนละตัวกันหากใช้เครื่องคนละตระกูลกัน

                2.File System (FS) คือโครงสร้างการจัดเก็บข้อมูลในฮาร็ดดิสก์ เพื่อให้ OS สามารถอ่านเขียน ใช้ไฟล์ที่ต้องการได้อย่างมีประสิทธิภาพ โดยที่ OS แต่ละตัวจะมี FS ที่แตกต่างกัน เช่น

Operating System File System
DOS/Windows95 FAT12,FAT16
Windows98/95-osr FAT12,FAT16,FAT32
Windows NT NTFS,FAT16,HPFS
OS/2 FAT12,FAT16,HPFS
Linux EXT2,VFAT,HPFS,NTFS,etc.

SunOS UFS
ฯลฯ ฯลฯ

หมายเหตุ เนื่องจาก Linux ใช้ File System แบบ Ext2 (Extended Files System 2) จึงทำให้ Linux สามารถมองเห็นดิสก์ก้อนที่ใหญ่มากมีขนาดถึง 4 เทราไบต์(Tbytes) หรือขนาด 4000 Gbytes นั้นละ

                3.Shell เป็น command Interpreter เป็นตัวกลางติดต่อระหว่าง user กับ kernel คอยรับคำสั่งที่จะพิมพ์เข้าไปแล้วแปลคำสั่งนั้นต่อไป นอกจากนี้แล้วยังสามารถที่จะนำเอาคำสั่งต่างๆ มาเขียนเป็นโปรแกรมเรียกว่า Shell Script และ shell ยังสามารถกำหนดทิศทาง Input / Output ได้ด้วย การเปลี่ยนทิศทางจะมีเครื่องหมายที่จำเป็นคือ
> การเปลี่ยนทิศทางของ output
< การเปลี่ยนทิศทางของ input
>> การเปลี่ยนทิศทางของ output ไปต่อท้ายไฟล์

การทำงานผ่าน shell มี 2 ลักษณะคือ

Synchronous execution เป็นการทำงานตามลำดับของคำสั่งทีละคำสั่งจนเสร็จแล้วจึงจะขึ้น prompt เพื่อป้อนคำสั่งต่อไป เรียกว่าการทำงานแแบบฉากหน้า ( foreground mode) เช่น

$ ls -l (เป็นการ list ดูไฟล์แบบยาวใน directory ปัจจุบัน)

Asynchronous execution จะทำงานตามคำสั่งโดยที่งานเก่าจะเสร็จแล้วหรือยังไม่เสร็จก็ตามแต่ shell จะกำหนด prompt และสร้าง shell ใหม่ขึ้นมาเพื่อรองรับงานใหม่ต่อไป เรียกว่าการทำงานแบบฉากหลัง (background mode) การทำงานแบบนี้ทำได้โดยเติมเครื่องหมาย ampersand (&) ไว้ที่ท้ายคำสั่งนั้นเช่น

$ netscape & (เรียกโปรแกรม netscape แล้วขึ้น prompt โดยไม่ต้องรอให้ออกจาก netscape ก่อน)

Shell ที่นิยมใช้

Bourne Shell (sh) เป็น starndard shell ที่มีใใน unix ทุกตัวสามารถย้าย shell script ไปยัง unix ระบบอื่นได้โครงสร้างเป็นแบบ Algol สามารถใช้งาน Procedure ได้ จะมี default prompt เป็น "$"

C Shell (csh) มีโครงสร้างคล้ายภาษา C ทำงานได้ดีกว่า bourne shell มีไฟล์ที่เก็บคำสั่งที่ใช้ไปแล้ว ทำงานกับ shell script ของ bourne shell ไม่ได้ default prompt เป็น "%"

Korn Shell (ksh) ทำงานได้ดีกว่า sh และ csh แต่ไม่ได้มีใน unix ทุกตัว ksh มีขนาดใหญ่กว่า shell อื่น ๆ เขียน shell script ได้ง่ายขึ้นและรัดกุม เป็น Standard IEEE PDSIX 1003.2 default prompt เป็น "$"

Bourne Again Shell (bash) เป็นการพัฒนา sh ให้สามารถมีแฟ้มคำสั่งที่ใช้ไปแล้ว และเพิ่มขีดความสามารถเพิ่มขึ้นอีกหลายอย่าง (default of Linux) default prompt เป็น "$"

ฯลฯ

                4.Utilities คำสั่งต่างที่ทำงานได้บน ระบบงาน unix จึงทำให้ kernel มีขนาดเล็ก เพราะจะมีเฉพาะหน้าที่สำคัญเท่านั้น

ประเภทของไฟล์ใน Unix
ไฟล์ในระบบยูนิกซ์นั้นจะขึ้นอยู่กับผู้สร้างยูนิกซ์แต่ละตัวซึ่งมีทั้งแตกต่างและเหมือนกัน และการตั้งชื่อไฟล์ในระบบยูนิกซ์ส่วนใหญ่จะสามารถตั้งชื่อได้ยาวถึง 255 ตัวอักษรโดยที่ตัวอักษรตัวเล็ก และตัวอักษรตัวใหญ่นั้นมีความแตกต่างกัน สามารถใช้ตัวเลขหรือขีดเส้นใต้ร่วมด้วยก็ได้ แต่ไม่ควรใช้เครื่องหมายเหล่านี้มาตั้งชื่อ เช่น ^ " ' , - ? ] () ~ ! $ @ # <> $ / และหากไฟล์ใดที่ตั้งชื่อขึ้นต้นด้วยจุด "." จะทำให้ไฟล์นั้นเป็น hidden file คือไฟล์ที่ถูกซ่อนไว้ จะไม่สามารถมองเห็นได้โดยใช้คำสั่งทั่วไปจะต้องมี option เพิ่มเติม

Regular files คือไฟล็ทั่วไปที่สร้างขึ้นได้ด้วย Text Editor หรืออาจจะสำเนามาจากไฟล์อื่น หรืออาจจะเป็นโปรแกรมใช้งานต่างๆก็ได้

Directory files คือไฟล์ที่เก็บไฟล์ทั่วไปหรือจะเก็บไฟล์ที่เป็น Directory ด้วยกัน ที่เรียกว่า Sub Directory ก็ได้ โดยที่ Directory บนสุด (root) ของ ยูนิกซ์จะแทนด้วย " / "

Special files เป็นไฟล์พิเศษจะมีอยู่สองแบบคือ Character device file และ Block device file ทั้งสองแบบจะเป็นไฟล์ device driverโดยส่วนใหญ่จะเก็บไว้ที่ /dev แต่ไฟล์ทั้งสองจะแตกต่างกัน ที่การรับส่งข้อมูล นั่นคือ Character device file จะรับส่งข้อมูลที่ละตัวอักษร แต่ Block device file จะรับส่งข้อมูลเป็นบล็อก

Unix demain seckets ใน BSD Unix หรือ Name pipes ใน AT&T Unix

Symbolic Link files หรือไฟล์เชื่อมต่อ การเชื่อมต่อของไฟล์มี 2 ลักษณะคือ

                1. Hard Link การเชื่อมต่อแบบนี้จะใช้ I-node เดียวกับไฟล็ต้นฉบับ เหมือนกับมีการสร้างไฟล์ใหม่ แต่ใช้ค่า I-node เดิม และ I-node จะมีตัวนับจำนวนไฟล์ที่เชื่อมต่อด้วย หากแก้ไขไฟล์ใดไฟล์หนึ่งจะมีผลกระทบส่งถึงกัน เพราะข้อมูลเก็บที่เดียวกัน แต่ข้อมูลต้องอยู่ที่ partition เดียวกัน ทำให้ประหยัดเนื้อที่ สามารถอ้างถึงข้อมูลได้จากหลายๆที่

                2. Symbolic Link การเชื่อมต่อแบบนี้จะสร้าง I-node ของตัวเองขึ้นมาใหม่ เหมือนกับ shutcut ของ windows 95 โดยที่หากเปลี่ยนแปลงต้นฉบับจะมีผลกับ link file แต่หากลบ link file จะไม่มีผลใดๆต่อไฟล์ต้นฉบับ สามารถใช่ได้ทั้งที่อยู่ partition เดียวกัน หรือต่าง partition กันก็ได้

เราสามารถที่จะแยกประเภทของไฟล์ต่างได้โดยใช้คำสั่ง ls -l แล้วจะแสดงสัญลักษณ์ โดยจะแสดงดังนี้

Type Sysbol Create Remove
Text file - cp , mv ,etc rm
Directory p mkdir rm -r , rmdir
Character device v mknod rm
Block device b mknod rm
Unix domain socket s socket rm
Name pipes p mknod rm
link file l ln -s rm

โครงสร้างไฟล์ไดเรคเทอรีของระบบยูนิกซ์ส่วนใหญ่จะเป็นแบบ Filesystem Hierarchy Standard (FHS) โดยการจัดลำดับชั้นจะเป็นแบบต้นไม้หัวกลับ โดยเริ่มจากชั้นแรกที่เป็น ราก หรือ root เขียนแทนด้วย / ไฟล์แต่ละไฟล์อาจจะสร้างขึ้นมาเองหรือเป็นโปรแกรมก็ได้ ไฟล์ลักษณะนี้จะเป็นไฟล์ไดเรคเทอรี การจัดไฟล์ระบบนี้จะทำให้การจัดไฟล์เป็นระบบ ง่ายต่อการดูแลรักษา โดยจะมีโครงสร้างหลักเป็นดังนี้

/ เป็นไดเรคเทอรี root ที่เก็บไฟล์ kernel ของระบบ

/bin เป็นไดเรคเทอรีที่ใช้เก็บคำสั่งทั่วไปของระบบ

/dev เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เกี่ยวกับอุปกรณ์ต่างๆ

/etc เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของเครื่อง

/etc/X11 เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของ x windows

/etc/skel เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็นไฟล์ต้นฉบับที่จะถูกสำเนาไปยัง home user

/lib เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ไลบรารี สำหรับให้โปรแกรมต่างๆเรียกใช้

/sbin เป็นไดเรคเทอรีที่ใช้เก็บไฟล์คำสั่งของผู้ดูแลระบบ

/usr เป็นไดเรคเทอรีที่ใช้เก็บไฟล์โปรแกรมของผู้ใช้ทั่วไป

/var เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ข้อมูลทั่วไปของระบบ

ประเภทของไฟล์ใน Unix
ไฟล์ในระบบยูนิกซ์นั้นจะขึ้นอยู่กับผู้สร้างยูนิกซ์แต่ละตัวซึ่งมีทั้งแตกต่างและเหมือนกัน และการตั้งชื่อไฟล์ในระบบยูนิกซ์ส่วนใหญ่จะสามารถตั้งชื่อได้ยาวถึง 255 ตัวอักษรโดยที่ตัวอักษรตัวเล็ก และตัวอักษรตัวใหญ่นั้นมีความแตกต่างกัน สามารถใช้ตัวเลขหรือขีดเส้นใต้ร่วมด้วยก็ได้ แต่ไม่ควรใช้เครื่องหมายเหล่านี้มาตั้งชื่อ เช่น ^ " ' , - ? ] () ~ ! $ @ # <> $ / และหากไฟล์ใดที่ตั้งชื่อขึ้นต้นด้วยจุด "." จะทำให้ไฟล์นั้นเป็น hidden file คือไฟล์ที่ถูกซ่อนไว้ จะไม่สามารถมองเห็นได้โดยใช้คำสั่งทั่วไปจะต้องมี option เพิ่มเติม

Regular files คือไฟล็ทั่วไปที่สร้างขึ้นได้ด้วย Text Editor หรืออาจจะสำเนามาจากไฟล์อื่น หรืออาจจะเป็นโปรแกรมใช้งานต่างๆก็ได้

Directory files คือไฟล์ที่เก็บไฟล์ทั่วไปหรือจะเก็บไฟล์ที่เป็น Directory ด้วยกัน ที่เรียกว่า Sub Directory ก็ได้ โดยที่ Directory บนสุด (root) ของ ยูนิกซ์จะแทนด้วย " / "

Special files เป็นไฟล์พิเศษจะมีอยู่สองแบบคือ Character device file และ Block device file ทั้งสองแบบจะเป็นไฟล์ device driverโดยส่วนใหญ่จะเก็บไว้ที่ /dev แต่ไฟล์ทั้งสองจะแตกต่างกัน ที่การรับส่งข้อมูล นั่นคือ Character device file จะรับส่งข้อมูลที่ละตัวอักษร แต่ Block device file จะรับส่งข้อมูลเป็นบล็อก

Unix demain seckets ใน BSD Unix หรือ Name pipes ใน AT&T Unix

Symbolic Link files หรือไฟล์เชื่อมต่อ การเชื่อมต่อของไฟล์มี 2 ลักษณะคือ

                1. Hard Link การเชื่อมต่อแบบนี้จะใช้ I-node เดียวกับไฟล็ต้นฉบับ เหมือนกับมีการสร้างไฟล์ใหม่ แต่ใช้ค่า I-node เดิม และ I-node จะมีตัวนับจำนวนไฟล์ที่เชื่อมต่อด้วย หากแก้ไขไฟล์ใดไฟล์หนึ่งจะมีผลกระทบส่งถึงกัน เพราะข้อมูลเก็บที่เดียวกัน แต่ข้อมูลต้องอยู่ที่ partition เดียวกัน ทำให้ประหยัดเนื้อที่ สามารถอ้างถึงข้อมูลได้จากหลายๆที่

                2. Symbolic Link การเชื่อมต่อแบบนี้จะสร้าง I-node ของตัวเองขึ้นมาใหม่ เหมือนกับ shutcut ของ windows 95 โดยที่หากเปลี่ยนแปลงต้นฉบับจะมีผลกับ link file แต่หากลบ link file จะไม่มีผลใดๆต่อไฟล์ต้นฉบับ สามารถใช่ได้ทั้งที่อยู่ partition เดียวกัน หรือต่าง partition กันก็ได้

เราสามารถที่จะแยกประเภทของไฟล์ต่างได้โดยใช้คำสั่ง ls -l แล้วจะแสดงสัญลักษณ์ โดยจะแสดงดังนี้

Type Sysbol Create Remove
Text file - cp , mv ,etc rm
Directory p mkdir rm -r , rmdir
Character device v mknod rm
Block device b mknod rm
Unix domain socket s socket rm
Name pipes p mknod rm
link file l ln -s rm

โครงสร้างไฟล์ไดเรคเทอรีของระบบยูนิกซ์ส่วนใหญ่จะเป็นแบบ Filesystem Hierarchy Standard (FHS) โดยการจัดลำดับชั้นจะเป็นแบบต้นไม้หัวกลับ โดยเริ่มจากชั้นแรกที่เป็น ราก หรือ root เขียนแทนด้วย / ไฟล์แต่ละไฟล์อาจจะสร้างขึ้นมาเองหรือเป็นโปรแกรมก็ได้ ไฟล์ลักษณะนี้จะเป็นไฟล์ไดเรคเทอรี การจัดไฟล์ระบบนี้จะทำให้การจัดไฟล์เป็นระบบ ง่ายต่อการดูแลรักษา โดยจะมีโครงสร้างหลักเป็นดังนี้

/ เป็นไดเรคเทอรี root ที่เก็บไฟล์ kernel ของระบบ

/bin เป็นไดเรคเทอรีที่ใช้เก็บคำสั่งทั่วไปของระบบ

/dev เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เกี่ยวกับอุปกรณ์ต่างๆ

/etc เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของเครื่อง

/etc/X11 เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็น config files ของ x windows

/etc/skel เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ที่เป็นไฟล์ต้นฉบับที่จะถูกสำเนาไปยัง home user

/lib เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ไลบรารี สำหรับให้โปรแกรมต่างๆเรียกใช้

/sbin เป็นไดเรคเทอรีที่ใช้เก็บไฟล์คำสั่งของผู้ดูแลระบบ

/usr เป็นไดเรคเทอรีที่ใช้เก็บไฟล์โปรแกรมของผู้ใช้ทั่วไป

/var เป็นไดเรคเทอรีที่ใช้เก็บไฟล์ข้อมูลทั่วไปของระบบ

PERMISSION
ยูนิกซ์เป็นระบบ OS ที่ใช้ไฟล์ต่างๆ ร่วมกันหากทุกคน มีสิทธิที่จะกระทำต่อทุกไฟล์เท่ากัน ย่อมจะทำให้เกิดความวุ่นวาย ดังนั้นในระบบยูนิกซ์จึงมี user id และ group id ประจำ user แต่ละคน จึงทำให้ที่ home directory ของแต่ละ user จะเป็นที่ ที่ user แต่ละคนมีสิทธิมากที่สุด เมื่อ user สร้างไฟล์ขึ้นมาก็จะทำให้ มีชื่อของผู้สร้างติดอยู่ด้วย การจำกัดสิทธิการเข้าถึงไฟล์ออกเป็น 3 กลุ่มคือ

Owner เจ้าของไฟล์หรือผู้ที่สร้างไฟล์
Group ผู้ใช้กลุ่มเดียวกับผู้ใช้ไฟล์ คือ ผู้ใช้ที่มี gid เดียวกับเจ้าของไฟล์
Other คนอื่นๆหรือใครก็ได้
 



สิทธิในไฟล์จะประกอบไปด้วย

Read Permission สิทธิในการอ่าน แทนด้วย r
Write Permission สิทธิในการเขียน แทนด้วย w
Execute Permission สิทธิในการ Run แทนด้วย x

user สามารถที่จะดู Permission ของไฟล์และชนิดของไฟล์ได้โดยคำสั่ง
$ ls -la
-rwxr--r-- 1 wihok Special 5223 May 12 10:10 .profile
-rwxr--r-- 1 wihok Special 2022 May 12 10:13 .kshrc
drwx------ 2 wihok Special 1024 May 12 10:34 mail
-rw-r--r-- 1 wihok Special 11211 May 12 11:01 test
จากตัวอย่างจะเห็นว่า มีทั้งหมด 7 filed ดังนี้

Field
ความหมาย

1 File Type และ Permission
2 จำนวน link
3 เจ้าของ (owner)
4 กลุ่ม (group)
5 ขนาดของไฟล์ (byte)
6 วัน-เวลาที่ update
7 ชื่อไฟล์

มาดูกันที่ field ที่ 1 ที่เป็น Permission โดย

อักษรตัวที่ 1 แสดงชนิดของไฟล์
อักษรตัวที่ 2-4 แสดง Owner
อักษรตัวที่ 5-7 แสดง Group
อักษรตัวที่ 8-10 แสดง Other

เช่นจากตัวอย่าง ไฟล์ .kshrc มี permission เป็น -rwxr--r-- หมายความว่า Owner สามารถที่จะ อ่าน เขียน และ Run ได้ แต่ user กลุ่มเดียวกับ owner และ other อ่านได้เพียงอย่างเดียว สังเกตุได้ว่าหากไม่มี permission จะแสดงด้วย


--------------------------------------------------------------------------------

คำสั่งเปลี่ยน Permission
การเปลี่ยน permission ของไฟล์กระทำได้โดยผู้ที่เป็น Admin ของระบบ หรือเจ้าของไฟล์นั้น โดยมีคำสสั่งคือ

                1.คำสั่ง chmod ใช่เปลียน permission ของไฟล์มีวิธีการเปลี่ยนได้ 2 วิธี คือ

Absolute Permission

รูปแบบ $ chmod ตัวเลข filename
โดยสามารถหาตัวเลขที่มาใส่ได้จากการแทนค่าน้ำหนักของแต่ละบิทลงไปคือ
บิท r แทนน้ำหนักด้วย 4
บิท w แทนน้ำหนักด้วย 2
บิท x แทนน้ำหนักด้วย 1
บิท - แทนน้ำหนักด้วย 0

โดยหากต้องการให้ permission ใดก็แทนค่าของบิทนั้นลงไปแล้วนำเลขน้ำหนักของแต่ละบิทมารวมกัน (คิดทีละส่วนโดยแยกเป็น owner , group และ other) เช่น
จะกำหนดสิทธิไฟล์ test ให owner สามารถอ่าน เขียน และ Run ได้ group สามารถอ่านและ run ได้ ส่วน other สามารถ run ได้เพียงอย่างเดียวคิดได้ดังนี้

Permission rwx r-x --x
Number 7 5 1
ใช้คำสั่ง : $ chmod 751 test

Relative Permission

ผู้ใช้ไฟล์ เครื่องหมาย สิทธิ
u (เจ้าของไฟล์) + เพิ่มสิทธิ r (อ่าน)
g (กลุ่มเดียวกับเจ้าของไฟล์)
- ลดสิทธิ w (เขียน)
o (คนทั่วไปใครก็ได้)
= กำหนดสิทธิ x (Run)
a (ทุกคนทุกกลุ่มที่กล่าวมา)

เช่นจะเปลี่ยน permission ของไฟล์ .kshrc จาก rwxr--r-- เป็น rwxrw-r--
$ chmod g+w .kshrc
หรือจะเปลี่ยน permission ของไฟล์ .profile จาก rwxr--r-- เป็น rwxrw-rw-
$ chmod go+w .profile

                2.คำสั่ง chown ใช้เปลี่ยนผู้เป็นเจ้าของไฟล์ เช่น

$ chown newuser test คือเปลี่ยน field ที่ 3 จากการใช้คำสั่ง ls -la จากเจ้าของเดิมคือ wihok เป็น newuser

                3.คำสั่ง chgrp ใช้เปลี่ยนกลุ่มผู้เป็นเจ้าของไฟล์ เช่น

$ chgrp newgroup test คือเปลี่ยน field ที่ 4 จากการใช้คำสั่ง ls -la จากเจ้าของเดิมคือ Special เป็น newgroup
Text Editor
Text Editor ที่ใช้ในระบบยูนิกซ์ที่เห็นบ่อยคือ โปรแกรม pico และโปรแกรม vi แต่ pico ไม่ได้มมีอยู่ใใน unix ทุกตัว การใช้งานง่าย ไม่ต้องจำคำสั่งต่างเพราะมีอธิบายอยู่แล้วที่ด้านล่างหน้าจอภาพ สามารถพิมพ์ text ได้เลย แต่ text editor ที่ชื่อ vi จะเป็น text editor ที่มีอยู่ในทุกยูนิกซ์ การใช้งานค่อนข้างยาก ดังนั้นผู้เขียนจะแนะนำเฉพาะการใช้ vi เท่านั้น

การเรียกใช้งาน text editor
$ pico filename หรือ $ pico
$vi filename หรือ $ vi

การใช้งาน vi
vi เป็น text editor ที่มีบนยูนิกซ์ จะแบ่งการทำงานออกเป็น 3 mode คือ

Command Mode เป็นการทำงานของการเคลื่อนย้าย cursor ( editor ตัวอื่นจะใช้คีย์ลูกศร ,Home ,End ,insert , delete แต่ใน vi คีย์เหล่านี้จะไม่มีผล )

Edit Mode เป็นการทำงานของการแก้ไขข้อความ

Last Line Mode เป็นการ save , open , quit , ค้นหา , ฯลฯ

การเปลี่ยน mode ใน vi จะใช้ปุ่ม Esc ยกเว้นเปลี่ยนไปสู่ Last line Mode จะต้องกด Esc แล้วกด Shift + : จะปรากฎ : ที่บรรทัดล่างสุด

Command Mode
การทำงานใน mode นี้จะเป็นการเคลื่อนย้ายเคอเซอร์ไปยังตำแหน่งที่ต้องการ แต่หากย้ายไปตำแหน่งที่ไม่มีข้อมูล มันจะส่งเสียงเตือน ตัวอักษรที่ใช้ใน mode นี้ที่สำคัญได้แก่

h เลื่อน cursor ไปทางซ้ายทีละตัวอักษร
j เลื่อน cursor ลง 1 บรรทัด
k เลื่อน cursor ขึ้น 1 บรรทัด
l เลื่อน cursor ไปทางฃวาทีละตัวอักษร
w เลื่อน cursor ไปทางฃวาทีละคำ
b เลื่อน cursor ไปทางซ้ายทีละคำ
$ เลื่อน cursor ไปท้ายบรรทัด
0 เลื่อน cursor ไปต้นบรรทัด
nG ไปยังบรรทัดที่ n หากไม่ใส่ n จะไปบรรทัดสุดท้าย
Ctrl+f เลื่อน cursor ลง 1 หน้าจอ
Ctrl+b เลื่อน cursor ขึ้น 1 หน้าจอ
Ctrl+L Refresh หน้าจอ
[[ ไปยังต้นไฟล์
]] ไปยังท้ายไฟล์
ััyy Copy ข้อความทั้งบรรทัด
ัyw Copy ข้อความทั้งคำ
ัyG Copy ถึงท้ายไฟล์
y$ Copy ถึงท้ายบรรทัด
p Paste หลัง cursor
P Paste หน้า cursor
cw พิมพ์ทับทีละ word
c$ พิมพ์ทับจนถึงท้ายบรรทัด
cG พิมพ์ทับจนถึงท้ายไฟล์
r พิมพ์ทับทีละ 1 ตัว
R พิมพ์ทับจนกว่าจะกด Esc
u Undo การกระทำครั้งล่าสุด
x ลบตรง cursor
X ลบหน้า cursor
dw ลบคำ
dd ลบบรรทัด
d$ ลบจาก cursor จนท้ายบรรทัด
d0 ลบจาก cursor จนต้นบรรทัด
dG ลบจาก cursor จนท้ายไฟล์

Edit Mode
ตัวอักษรที่ใช้ใน mode นี้ที่สำคัญได้แก่

a เพิ่มข้อมูลต่อจาก cursor
A เพิ่มข้อมูลต่อจากท้ายบรรทัด
i เพิ่มข้อมูลหน้า cursor
I เพิ่มข้อมูลที่ต้นบรรทัด
o แทรกบรรทัดด้านล่าง cursor
O แทรกบรรทัดด้านบน cursor

Last Line Mode
การใช้งาน mode นี้ก็กด Esc แล้วกด : ก็จะปรากด : ที่ท้ายบรรทัด และสามารถที่จะป้อนคำสั่งต่อไปนี้ได้

:q! quit
:w! save
:wq! save and quit
:w! filename save as filename
:e! filename open filename
:/string ค้นหาข้อความที่ต้องการ
:help ดูคำสั่งต่างๆ
:set nu แสดงหมายเลขบรรทัด
:set nonu ไม่แสดงหมายเลขบรรทัด

 




ความคิดเห็นของคุณกับบทความนี้ ...

 

user_icon

Knowledge Center
knowledge center
knowledge

star

ชนะใจเจ้านาย ได้ไม่ยาก
 
เรื่องน่ารู้ตามหมวดหมู่
• การแพทย์
• ความรู้ทั่วไป
• เรื่องของผู้หญิง
• กีฬา
• ข่าวและสื่อ

และอื่น ๆ อีกมาก

  ค้นหาเรื่องที่คุณสนใจ
ระบุ keyword
 
True vision

TV Icon

TV Interview

หลากเรื่องราวทางธุรกิจ แง่มุมของผู้บริหาร จากบริษัทชั้นนำต่างๆ

dot
HR Corner
สัมภาษณ์คัดเลือกผู้สมัครงานอย่างไร? ให้ตรงสเป็ค
https://www.jobpub.com/new_images/play.gif
 
The Seeds of Innovation นวัตกรรมใหม่แห่งการพัฒนาบุคลากร
https://www.jobpub.com/new_images/play.gif
 
การสร้างความแตกต่าง ให้เหนือคู่แข่ง
คุณมกร พฤฒิโฆสิต
https://www.jobpub.com/new_images/play.gif
dot

https://www.jobpub.com/new_images/playall_b.gif

 

หางานบ่อย : วุฒิปวส.จ.ตราด เจ้าหน้าที่ประจำมหาวิทยาลัย รังสิต พลา ซ่า วิ่ง นักวิชาการสาธารณสุข สมทรปราการ พนักงานขายตั๋วรถทัว เซ็นทรัลปิ่นเกล้า วุฒิม.6 เขตบางหว้า,วงเวียนใหญ่ สปา คลินิคความงาม ช่างเทคนิค นิคมลำพูน 2554 เกี่ยวกับผู้หญิง ม3แถวโชคชัย4 ผู้ดูแลเด็ก susco ภาคพื้น tussana เดนโซ่ pool guard ลาดพร้าววุฒิ ปวส. รถบรรทุกร่วมงาน vmware ข่าวรับสมัครงานภูเก็ต 2556 23000 บาท กรมราชฑัณ พิษณุโลก กลางคืนพาสทาม ลบางกะปิ เสรฟ pretty mc / วิศวกร tpm กรุงเทพ ม.3 . ชลบุรี 7-11กระทุ่มแบน เคเบิ้ล ชลบุรี ป.ตรีทุกสาขา ฉะเชิงเทรา ตำกว่า ม.3 สมัครงานบัญชีภาคใต้ พนักงานขายในเพชรบุรี สมัครเรียนบริบาลลาดพร้าง101 โรงพยาบาลมหาลัยบูรพา ร.ป.ภ. ประจำหมู่บ้าน ย่านพระปีระแดง ผู้จัดการแผนกเทคโนโลยี คนขับกระบะ yuerteto ศรีสมาน สุวรรณภูมิ2554 งานแต่งเงิน พนัก พยาบาลประจำ จบ ม.6เขตพระราม 2 งานสำรวจเส้นทางจราจร