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