Linux Command

Linux  Command

at

ความหมาย

เป็นการสั่งให้เชลล์สคริปต์ ทำงานตามเวลาที่กำหนด

การจัดรูปคำสั่ง

at [ -csm ]time [date] [+increment]
at [ – l | – r ] [job-list]
atq

คำสั่ง at ทำหน้าที่แจ้งให้ระบบปฏิบัติการ unix ดำเนินการปฏิบัติตามคำสั่งที่ได้ระบุไว้ตามเวลาที่ผู้ใช้งานกำหนด และทุกครั้งที่มีการปฏิบัติงาน ตามคำสั่ง unix จะทำการส่งจดหมาย อีเล็กทรอนิกส์ ไปยังผู้กำหนดคำสั่ง เพื่อรายงานถึงผลการปฏิบัติงานและข้อความผิดผลาดที่อาจเกิดมีขึ้นในขณะดำเนินการ นอกจากนี้ยังมีคำสั่ง atq ซึ่งทำหน้าที่แจ้งรายการคำสั่ง ที่กำลังรอการดำเนินการอยู่ ทั้งนี้ผู้ใช้งานอาจใช้คำสั่ง at – l แทนก็ได้

ตัวแปรที่เกี่ยวข้อง

สำหรับโครงสร้างการจัดคำสั่งแบบแรก time หมายถึงเวลาภายในวันที่ผู้ใช้งานต้องการให้คำสั่ง at ทำงาน โดยปกติคำสั่ง at จะถือว่ารูปแบบของเวลาที่ผู้ใช้ ป้อนผ่าน คีย์บอร์ด จะเป็นรูปแบบชนิด 24 ชั่วโมง อย่างไรก็ตาม ผู้ใช้ก็สามารถที่จะปรับเปลี่ยนรูปแบบ ข้อมูลได้โดยใช้ข้อความเฉพาะ กำกับ เช่น am pm midight หรือ noon ซึ่งจะทำให้ at อ้างรูปแบบของเวลา เป็นชนิด 12 ชั่วโมง บางครั้ง อาจสามารถใช้คำว่า now ในตำแหน่งของ time แต่ทั้งนี้จะต้องระบุชื่อวันที่ ต้องการให้ดำเนินการ ในส่วนของตัวแปร date ร่วมลงไปด้วย เช่น at now sunday เป็นต้น

สำหรับตัวแปร date จะเป็นการระบุถึงวันที่ในสัปดาห์หรือวันที่ ในเดือนซึ่งผู้ใช้งาน ต้องการให้คำสั่ง at ทำงาน ถ้าไม่มีการระบุวัน at จะดำเนินการประมวลผล คำสั่งภายใน เวลาที่กำหนดไว้ของวันที่ป้อนคำสั่ง ในกรณีที่เวลาที่กำหนดไว้ได้ผ่านพ้นไปแล้ว at จะดำเนินการคำสั่งดังกล่าวในเวลาเดียวกันของวันถัดไป สำหรับการระบุวันภายในสัปดาห์ ผู้ใช้งานเพียงแต่ระบุตัวอักษร สามตัวแรกของชื่อวัน เช่น mon tue wed หรือ อาจจะระบุในลักษณะอ้างอิงเช่น today หรือ tomorrow เป็นต้น ในส่วนของตัวแปร increment ซึ่งผู้ใช้งานอาจะอ้างถึงหรือไม่ก็ได้นั้น จะเป็นตัวเลขที่ตามด้วยหน่วยของ ระยะเวลา ซึ่งได้แก่ minutes (นาที) hours (ชั่วโมง) weeks (สัปดาห์) months (เดือน) หรือ years (ปี) ซึ่งบางครั้ง ผู้ใช้งานอาจระบุ แทนตัวเลขด้วยข้อความพิเศษ ว่า next ตัวอย่างเช่น next month หรือ next year เป็นต้น

สำหรับตัวอย่างที่สอง job – list จะหมายถึง หมายเลขที่ใช้แทนรายการคำสั่ง ที่อยู่ในคิวคำสั่ง at ของผู้ใช้งาน

รายละเอียดของอาร์กิวเมนต์ ที่ได้มีการกำหนด ให้ใช้งานกับคำสั่ง at มีดังต่อไปนี้

– c หมายถึงให้ทำงานตามคำสั่งภายใต้เชลล์แบบซี ( C Shell )

– l list เป็นการแจ้งให้แสดงรายการของชุดคำสั่งที่กำหนดในคิวของคำสั่ง at ซึ่งผู้ใช้งานอาจจะเจาะจงระบุ เลขหมายของงาน หรือ job-list ลงไปเลยหากไม่มีการระบุ unix จะแสดงรายการทั้งหมดที่มีอยู่

– m mail หากมีการอ้างถึงตัวแปรนี้ unix จะทำการสร้างจดหมายอีเล็กทรอนิกส์ส่งไปยังผู้ป้อนคำสั่ง at เมื่อมีการดำเนินการตามคำสั่ง ซึ่งจดหมาย ดังกล่าวจะเป็น ข้อความแจ้งว่า unix ได้ดำเนินการตามคำสั่งแล้ว หรือหากมีปัญหาเกิดขึ้น unix ก็จะรายงานปัญหานั้นไว้ด้วย

– r remove เป็นการแจ้งยกเลิกรายการคำสั่งที่ได้สั่งเอาไว้ ผู้ใช้งานจะต้องทราบหมายเลขของงาน ที่ต้องการให้ลบออกจากรายการเพื่อระบุลงไปในคำสั่ง ในกรณี ที่ไม่สามารถ จำหมายเลขได้ ก็ต้องใช้คำสั่ง at – l เพื่อตรวจสอบหมายเลขของงาน

– s หมายถึงให้ทำงานตามคำสั่งภาใต้ เชลล์แบบ บอร์น ( Bourne Shell )

cal

ความหมาย

แสดงปฏิทินตามช่วงเวลาที่กำหนด

การจัดรูปคำสั่ง

cal [month] year
cat

ตัวแปรที่เกี่ยวข้อง

คำสั่ง cal เป็นคำสั่งที่ใช้แสดงปฏิทินตามช่วงเวลา ที่ผู้ใช้งานต้องการทราบ โดยสามารถระบุเดือนและปี ที่ต้องการผ่านตัวแปร month และ year ตามลำดับ โดยที่ ตัวแปร month จะรับค่าของเดือนที่อยู่ในย่านตัวเลขตั้งแต่ 1 ถึง 12 ซึ่งแทนตั้งแต่เดือน มกราคม ไปจนเดือน ธันวาคม ในกรณีที่ไม่มีการระบุเดือนและปี cal จะแสดงปฏิทินของเดือน และปีปัจจุบันที่ใช้งานอยู่

ตัวอย่าง

การแสดงปฏิทินของเดือน พฤศิกายน 1997

$ cal 11 1997

ข้อมูลจาก วารสาร internet ฉบับที่ 20 มกราคม-กุมภาพันธ์ 2541 หน้า 77

calendar

ความหมาย

แจ้งเตือนผู้ใช้งานถึงกำหนดการต่างๆ

การจัดรูปคำสั่ง

calendar

calendar เป็นอีกบริการหนึ่งของระบบปฏิบัติการ unix ใช้สำหรับการแจ้งเตือนผู้ใช้งานถึงกำหนดการต่างๆ ที่ได้มีการระบุไว้ก่อนหน้า โดยการแจ้งเตือนจะครอบคลุ่มถึงภารกิจ หรือกำหนดการที่จะเกิดขึ้นในวันเดียวกับที่ผู้ใช้งานทำการ login เข้าสู่ระบบ และอีกหนึ่งวันถัดไป ในกรณีที่มีการlogin เข้าสู่ระบบ ในวันสุดสัปดาห์ (วันเสาร์,วันอาทิตย์) unix จะแจ้งเตือน ถึงกำหนดการที่จะต้องทำให้วันทำงานถัดไป (วันจันทร์)

การเตรียมข้อมูลกำหนดการต่างๆ สำหรับใช้ในการเตือนความจำนั้น ผู้ใช้งาน จะต้องทำการสร้างไฟล์ ที่มีชื่อว่า calendar ขึ้นในไดเรคทอรีใช้งานของตน ทั้งนี้จะต้อง กำหนดสิทธิ ในการใช้งานไฟล์ให้เป็นแบบที่ทุกคน สามารถเปิดอ่านและแก้ไขได้ (rwxrwxrwx) การใส่ข้อมูลแต่ละกำหนดการลงในไฟล์ calendar จะเป็นไปในลักษณะ ของการเขียนบันทึก ความจำ ซึ่งผู้ใช้งาน อ่านเข้าใจได้ง่าย แต่ทั้งนี้จะต้องมีการระบุวัน และเดือน ที่ต้องการเตือนลงไปในส่วนใด ส่วนหนึ่ง ของแต่ละข้อความด้วย รูปแบบ ของการกำหนดวัน และเดือน จะเป็นลักษณะใดก็ได้ เช่น 7/20หรือ july 20 แต่จะต้องให้เดือน อยู่ก่อนหน้าวันที่ ซึ่งเมื่อการใช้คำสั่ง calendar ระบบปฏิบัติการ unix จะทำการ อ่านไฟล์ calendar และแสดงข้อความเฉพาะ บรรทัด ที่ตรงกับวันปัจจุบัน และวันทำงานถัดไป อีกหนึ่งวัน

ตัวแปรที่เกี่ยวข้อง

ไม่มี

ตัวอย่าง

ตัวอย่างแรกเป็นแนวทางในการเขียนข้อมูลลง ในไฟล์ calendar ซึ่งจะต้องอยู่ใน ไดเรคทอรี ใช้งานของ ผู้ใช้งานเอง กำหนดการทั้งสามบรรทัดจะถูกอ่านโดย โปรแกรม calendar และส่งไปยังผู้ใช้งานโดยอีเล็กทรอนิกส์ เมล์ เมื่อถึงเวลาที่ระบุไว้แต่ละบรรทัด และก่อนหน้าวันที่ระบุหนึ่งวัน

$ cat calendar
This line will be displayed on 7/20
jul 28 : remember to call suthep
on july30 five years ago..

ผู้ใช้งานสามารถที่จะทำการอ้างถึงไฟล์กำหนดการอื่นๆ ซึ่งถูกเก็บไว้ในไดเรคทอรี่อื่นๆ ได้ภายในไฟล์ calendar จากตัวอย่างต่อไปนี้ ผู้ใช้บริการชื่อ suthep จะได้รับ อีเล็กทรอนิกส์ เมล์ แจ้งกำหนดการที่เกี่ยวข้อง เมื่อถึงวันที่ตรงกัน หรือก่อนหน้าหนึ่งวัน กับที่ระบุไว้ใน ไฟล์ calendar และ/usr/pub/calendar และ /home/suthep/personal/birthdays โดยการอ้างถึงชื่อไฟล์อื่นๆ สามารถทำได้โดยการใช้ข้อความ #include นำหน้าชื่อไฟล์ที่ต้องการอ้างถึง

$ cat calendar
# include “/usr/pub/calendar”
# include “/home/suthep/personal/birthdays”
10/20:9am-project meeting, room101

ข้อมูลจาก วารสาร internet ฉบับ 21 มีนาคม 2541 หน้า 72

cat

ความหมาย

ใช้ในการเชื่อมต่อไฟล์จากไฟล์กลุ่มหนึ่งไปยัง อีกไฟล์หนึ่ง

การจัดรูปคำสั่ง

cat [ option ] [ file – list ]

คำสั่ง cat เป็นคำสั่งที่ใช้ในการเชื่อมต่อเนื้อหา ของไฟล์ข้อมูลเข้าด้วยกัน โดยจะถือว่าอินพุต คือชื่อไฟล์ ที่ผุ้ใช้งานพิมพ์ป้อนเข้าไปในส่วนของไฟล์ [ file – list ] ในกรณีที่ไม่มีการป้อน ชื่อไฟล์เข้าไปร่วมกันตัวคำสั่ง cat จะถือว่าไฟล์ต้นทางก็คือข้อความ ที่ผู้ใช้ป้อนผ่านทางเทอร์มินัลใช้งาน โดยหลังจากพิมพ์คำสั่ง cat พร้อมทั้ง กดปุ่ม [ENTER] แล้ว cat จะรอรับข้อความใดๆ ที่ผู้ใช้งานพิมพ์ผ่านเทอร์มินัล ของตน ทั้งนี้ สามารถหยุดการทำงาน ได้โดยการกดปุ่ม [ control – D ] สำหรับเอาต์พุตของ cat นั้น ถ้าไม่มีการระบุให้เป็นอย่างอื่น จะถือว่าเป็นการให้แสดงผล ผ่านทางอุปกรณ์ เทอร์มินัล

สำหรับ [file – list ] นั้นประกอบด้วยชื่อไฟล์ ซึ่งอาจเป็นไฟล์เดียว หรือหลายๆ ไฟล์ ซึ่งผู้ใช้ต้องการให้ cat แสดงรายละเอียดออกมา ในบางกรณี ที่ต้องการ ให้มีการแสดงข้อความ ซึ่งมาจากอุปกรณ์อินพุตมาตรฐาน (จากการป้อนข้อความผ่านอุปกรณ์ เทอร์มินัลของตน) ร่วมด้วยในกลุ่มไฟล์ ก็สามารถแทนได้โดยการใช้ เครื่องหมาย “-” ดังตัวอย่าง cat a-b หมายถึงการสั่งงานให้ unix ทำการแสดงข้อความจาก ไฟล์ ซึ่งมีชื่อว่า a จากนั้น เป็นการแสดงข้อความ ที่ได้จาก การป้อนผ่านคีย์บอร์ด แล้วปิดท้ายด้วยการแสดง ข้อความ จากไฟล์ชื่อ b

ตัวแปรที่เกี่ยวข้อง

– b blank เมื่อใช้ตัวแปรนี้ ร่วมกับ – n จะเป็นการกำหนดให้ cat ไม่แสดงเลขหมายบรรทัดของ บรรทัดที่ไม่มีข้อความใดๆ ปรากฏอยู่

– e end of line เป็นการกำหนดให้ใช้เครื่องหมาย “$” ปิดท้ายข้อความแต่ละบรรทัด เพื่อแสดงจุดสิ้นสุดของแต่ละบรรทัด

– n number ใช้กำหนดให้ cat ทำการแสดงตัวเลขบอกลำดับที่ของบรรทัดข้อความ โดยจะแสดงที่ตำแหน่ง ด้านซ้ายสุดของแต่ละบรรทัด

-s single space เป็นการกำหนดใช้ cat แสดงบรรทัดที่ไม่มีข้อความใดๆ ซึ่งมีอยู่หลายบรรทัด ต่อเนื่องกัน แทนด้วยบรรทัดว่างเพียงบรรทัดเดียว

-t tabs เป็นการแทนค่าข้อวความส่วนที่ เป็นช่องว่างซึ่งเกิดจากการใช้ปุ่ม “TAB” ด้วยอักขระ “^I ” จะต้องใช้ร่วมกับตัวแปร – v

-v visual เป็นการกำหนดให้ cat แสดงตัวอักษร ที่โดยปกติ ไม่สามารถพิมพ์ออกมาได้นอกเหนือจากเครื่องหมาย “TAB” , “NEWLINE” และ “FORMFEED” สามารถ ใช้ร่วมกับตัวแปร -t และ -e ได้

ตัวอย่าง

ในตัวอย่างแรกจะเป็นสั่งให้ใช้ unix แสดงข้อความภายในไฟล์ที่ชื่อว่า memo โดยการใช้คำสั่ง cat

$ cat memo
This is the content of the memo file.

ตัวอย่างทีสอง เป็นการเชื่อม ข้อความจากไฟล์ข้อความ 3 ไฟล์ เข้าด้วยกัน โดยให้เนื้อความของแต่ละ ไฟล์เรียงต่อกันตามลำดับ โดยไฟล์ต้นทางทั้ง 3 ไฟล์ มีชื่อว่า pagel letter และ memo และสำหรับไฟล์ปลายทางมีชื่อว่า all

$ cat pagle letter memo > all

ผู้ใช้งานระบบปฏิบัติการ unix สามารถที่จะทำการสร้าง ไฟล์ขอความขึ้นมาได้ โดยไม่จำเป็นต้องใช้อีดิตเตอร์ประเภท vi โดยการใช้ความสามารถของคำสั่ง cat เมื่อกำหนด ให้อินพุต เป็นอุปกรณ์เทอร์มินัล และ เอาต์พุต เป็นชื่อไฟล์ที่ต้องการจะสร้าง ดดยเมื่อป้อนคำสั่ง cat ในรูปแบบดังกล่าวไปแล้ว ก็สามารถทำการพิมพ์ข้อความ ที่ต้องการผ่านอุปกรณ์ เทอร์มินัล ไปจนกว่าจะจบ จากนั้นจึงกดปุ่ม [conrtol – D] เพื่อแสดงการสิ้นสุดไฟล์ และให้ cat ทำการเขียนไฟล์โดยอัตโนมัติ และกลับคืนมายัง เชลล์

$ cat > new_file
This is a sample of how to create file using cat utility.
It takes letters from the standard input wich was the
keyboard from your therminal,
rediredt what you typed to the standard output wich in
this case was your specific file name.
Th signal the end-of-file , just press the [CONTROL – D].

นอกจากนี้ยังสามารถใช้ความสามารถในการส่งผ่านข้อมูล ( ไปป์ : pipe ) โดยการใช้คุณสมบัติ ในการอ่านค่าไฟล์ ที่มาจากอุปกรณ์ อินพุตมาตรฐาน ในกรณีที่แทนชื่อไฟล์ ด้วยเครื่องหมาย “-” ตามที่ได้กล่าวมาข้างต้น ทั้งนี้ขอให้ลองดูตัวอย่างที่สาม

$ who | cat header – footer >output

เป็นการสั่งงานให้ระบบปฏิบัติการ unix ทำการสร้างไฟล์ที่มีชื่อว่า output อันมีเนี้อหาข้อความที่เกิดจากการเชื่อมต่อกันระหว่างไฟล์ต้นทาง 3 ไฟล์ ด้วยกัน เริ่มจาก ไฟล์ แรกซึ่ง เป็นไฟล์ข้อความมีชื่อว่า header และปิดท้ายด้วยไฟล์ข้อความที่มีชื่อว่า footer สำหรับไฟล์ที่สอง จะเป็นไฟล์ที่เกิดจากการส่ง ผ่านข้อมูล โดยการ ไปป์ (เครื่องหมาย “|” ) เอาต์พุต ที่ได้จากคำสั่ง who มาเป็นอินพุตที่สอง ของ cat ซึ่งแทนที่ด้วย เครื่องหมาย ” – ”

ข้อมูลจาก วารสาร internet ฉบับ 21 มีนาคม 2541 หน้า 72

chgrp

ความหมาย

ใช้กำหนดกลุ่มผู้ใช้งานให้กับไฟล์หรือไดเรคทอรีในระบบไฟล์ของ unix

การจัดรูปคำสั่ง

chgrp [option] group file-list

โดยปกติจะใช้คำสั่ง chgrp ในการกำหนดสิทธิในการใช้งานไฟล์หรือไดเรคทอรีในระบบไฟล์ของ unix ให้กับกลุ่มผู้ใช้ที่ต้องการ โดยที่ group จะเป็นชื่อของกลุ่ม ผู้ใช้งาน ซึ่งวได้รับการกำหนด ไว้ภายในระบบก่อนหน้านี้แล้วในไฟล์ /etc/group ส่วน file – list เป็นรายชื่อของไฟล์หรือไดเรคทอรี ที่ต้องการกำหนดสิทธิ ในการใช้งานให้กับกลุ่ม ผู้ใช้งานในกลุ่ม group

การเปลี่ยนแปลงชื่อของกลุ่มผู้ใช้งานเพื่อให้มีสิทธิในการใช้งานไฟล์ หรือไดเรคทอรี จะสามารถทำได้โดยผู้ใช้งาน ที่เป็นเจ้าของไฟล์เอง หรือโดย ซุปเปอร์ ยูสเซอร์ (super – user ) ซึ่งเป็นผู้มีระดับความสำคัญสูงสุดในระบบปฏิบัติการ unix ในกรณีที่ เป็นเจ้าของไฟล์ การเปลี่ยนแปลงกลุ่มผู้ใช้งาน ให้กับไฟล์ที่ตนเป็นเจ้าของ นั้นจะสามารถ ทำได้ก็ต่อเมื่อ เจ้าของไฟล์เป็นสมาชิกคนหนึ่ง ของกลุ่มผู้ใช้งานที่ต้องการจะกำหนดสิทธิในการใช้งานไฟล์ ไปให้

ตัวแปรที่เกี่ยวข้อง

– f force ใช้บังคับไม่ให้คำสั่ง chgrp แสดงข้อความผิดผลาด (ในกรณีที่มี) ให้ปรากฏบนหน้าจอภาพ

– R recursive ใช้ในกรณีที่ผู้ใช้งานต้องการกำหนดสิทธิ ในการใช้งานให้กับไดเรคทอรี โดยจะช่วยทำให้ไฟล์ทั้งหมด ที่อยู่ภายในไดเรคทอรี นั้นได้รับการ เปลี่ยนแปลง ชื่อกลุ่มผู้ใช้งานไฟล์ ตามลำดับ ชั้นของการจัดระบบไดเรคทอรี ย่อยโดยอัตโนมัติ

ตัวอย่าง

ตัวอย่างที่แสดงเป็นการใช้คำสั่ง chgrp ในการกำหนดให้ไฟล์ที่ชื่อว่า manuals ตกอยู่ภายใต้สิทธิการใช้งานของกลุ่มผู้ใช้งานที่ชื่อว่า pubs แต่การที่กลุ่มผู้ใช้งานจะมีสิทธิ ในการเข้าถึงไฟล์ใดในระดับใดได้บ้างนั้น ก็จะขึ้นอยู่กับการกำหนดระดับสิทธิการใช้งานไฟล์ให้กับ กลุ่มผู้ใช้งาน pubs ซึ่งจะเป็นเรื่องของการใช้คำสั่ง chmod

$ chgrp pubs manuals

ข้อมูลจาก วารสาร internet ฉบับ 23 พฤษภาคม 2541 หน้า 103

comm

ความหมาย

ใช้เปรียบเทียบไฟล์ข้อความที่ได้รับการจัดเรียงลำดับมาแล้ว

การจัดรูปคำสั่ง

comm [options] file1 file2

ในกรณีที่ต้องการเปรียบเทียบความแตกต่าง ระหว่างไฟล์ข้อความสองไฟล์ ซึ่งเนื้อหาภายในเป็นการจัดเรียงลำดับข้อความ หรือตัวเลข เป็นรายบรรทัด ระบบปฏิบัติการ unix ได้มีการจัดเตรียมคำสั่ง comm ไว้สำหรับช่วยงานดังกล่าว ทั้งนี้จำเป็นต้องเข้าใจก่อนว่า ไฟล์ที่จะนำมาเปรียบเทียบกันนั้น ต้องได้รับการจัดเรียง ลำดับเนื้อหาภายในไว้ก่อนแล้ว มิฉะนั้นคำสั่ง comm อาจจะทำงานไม่ถูกต้อง ตามที่ต้องการ ผลลัพท์ที่ได้จากการใช้คำสั่ง ดังกล่าว จะเป็นการแสดงข้อความ โดยแบ่งออกเป็น 3 คอลัมน์ คอลัมน์ที่หนึ่ง จะเป็นการแสดง บรรทัดข้อความที่พบเฉพาะไฟล์ file1 คอลัมน์ที่ สอง แสดงบรรทัดข้อความเฉพาะ ที่พบไฟล์ file2 เท่านั้น ส่วนคอลัมน์ที่ สาม แสดงบรรทัดข้อความที่พบ ทั้ง ในไฟล์ file1 และ file2

ตัวแปรที่เกี่ยวข้อง

– 1 comm จะไม่แสดงข้อความในคอลัมน์ที่หนึ่ง (ไม่แสดงข้อความที่พบในไฟล์ file 1)
– 2 comm จะไม่แสดงข้อความในคอลัมน์ที่สอง (ไม่แสดงข้อความที่พบในไฟล์ file 2)
– 3 comm จะไม่แสดงข้อความในคอลัมน์ที่สาม (ไม่แสดงข้อความที่พบในไฟล์ file 3)

ตัวอย่าง

ตัวอย่างต่อไปนี้เป็นการเปรียบเทียบข้อความภายในไฟล์ 2 ไฟล์ คือไฟล์ c และ d ซึ่งอยู่ในไดเรคทอรี ใช้งานเดียวกัน โดยเนื้อหาภายในไฟล์ c และ d เป็นดังนี้

ไฟล์ c ไฟล์ d
bbbbb aaaaa
ccccc ddddd
ddddd eeeee
eeeee ggggg
fffff hhhhh

ตัวอย่างแรกจะเป็นการใช้คำสั่ง comm โดยไม่มีตัวแปรหรือ ออปชั่นใดๆ ตามมา จึงเป็นการแสดงคอัมน์ครบทั้ง 3 คอลัมน์ คอลัมน์แรก เป็นบรรทัดข้อความ ที่พบเฉพาะ ในไฟล์ c คอลัมน์ที่สองแสดงบรรทัดข้อความที่พบในไฟล์ d และคอลัมน์ที่ สาม แสดง บรรทัดที่ข้อความปรากฏอยู่ในทั้งสองไฟล์

$ comm c d
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh

ตัวอย่างสุดท้าย เป็นการใช้คำสั่ง comm โดยบังคับมิให้แสดงข้อความในคอลัมน์ที่หนึ่ง และสอง โดยให้แสดงเฉพาะในคอลัมน์ที่ สาม ซึ่งเป็นข้อความที่ ปรากฏอยู่ทั้งใน ไฟล์ c และ d

comm – 1 2 c d
ddddd
eeeee

ข้อมูลจาก วารสาร internet ฉบับ 23 พฤษภาคม 2541 หน้า 103

crontab

ความหมาย

ใช้ในการกำหนดเวลาในการสั่งปฏิบัติคำสั่งตามกำหนด

การจัดรูปคำสั่ง

crontab [filename] หรือ
crontab [options] [user-name]
คำสั่ง crontab เป็นยูทิลิตี้ที่ใช้ในหารกำหนดและแสดงรายการของชุดคำสั่งต่าง ๆ ที่ผู้ใช้งานได้กำหนดให้ ทำงานตามอัตโนมัติตามเวลา ที่ได้กำหนดรายการ ชุดคำสั่งต่าง ๆ ที่ได้รับการกำหนดทั้งหมด นี้ได้รับการเก็บไว้ในไฟล์ข้อความ ( Text file ) ที่ชื่อว่า crontab ทั้งนีระบบปฏิบัติการ UNIX จะกำหนดให้มีคำสั่ง ที่ชื่อว่า cron สำหรับใช้ในการ อ่านค่าต่าง ๆ ที่ได้เก็บไว้ในไฟล์ crontab เพื่อนำไปปฏิบัติการ ตามคำสั่งเมื่อถึงเวลาที่กำหนด

สำหรับรูปแบบการ ใช้งานในแบบแรก ตัวแปร filename จะแทนถึงไฟล์ข้อความที่ผู้ใช้งาน ทำการเขียนข้อความ กำหนด การทำงานของชุดคำสั่ง ตามรูปแบบ ที่จะให้ระบบปฏิบัติการ ดำเนินการตาม เวลาที่กำหนด ในกรณีที่ผู้ใช้งานมิได้ ใส่ชื่อไฟล์ตามหลังคำสั่ง crontab ระบบปฏิบัติการจะรอรับ รายการคำสั่ง โดยตรงจาก การพิมพ์ป้อน โดยตรงจากผู้ใช้งาน ผ่านทางคีย์บอร์ด ซึ่งผู้ใช้งานจะยุติการป้อนข้อความได้โดยการกดปุ่ม CTRT- D สำหรับตัวแปร user – name ในรูปแบบที่สอง จะใช้ในกรณีที่ผู้ใช้งาน ซึ่งมีระดับความสำคัญสูงสุด ( superuser ) ทำการกำหนดสิทธิ์ในการ เข้าใช้งานไฟล์ crontab ให้เป็นของผู้ใช้งาน รายอื่น ทั้งนี้ผู้ใช้งานแต่ละ รายจะมีไฟล์ crontab เป็นของตัวเอง

ตัวแปรที่เกี่ยวข้อง

-e edit ใช้ในการกำหนด เรียกโปรแกรม เท็กซ์อิดิตเตอร์สำหรับ อ่านข้อความที่เขียนไว้ในไฟล์ crontab ซึ่งใช้ในกรณีที่ผู้ใช้งาน ต้องการเพิ่มเติมหรือลด บรรทัดชุด คำสั่งต่างๆ

-l list ใช้ในการแสดงเนื้อที่หาภายในไฟล์ crontabของผู้ใช้รายนั้นๆ

-r remove ใช้ในการยกเลิกและลบไฟล์ crontab

สำหรับรูปแบบ การจัดบรรทัดแสดง คำสั่งภายในไฟล์ crontab ในแต่ละบรรทัดนั้น จะเริ่มจากการกำหนด วันและเวลาที่ต้องการ ให้ระบบปฏิบัติการ UNIX ปฏิบัติตามคำสั่ง โดยรูปแบบของการจัดข้อความจะเป็น { นาที ชั่วโมง วันที่ เดือน และวัน ในสัปดาห์ } สำหรับเลขที่ซึ่ง ใช้ในการแทนวัน ในสัปดาห์จะเริ่มจาก 0 ในวันอาทิตย์จน ถึง 6 ในวันเสาร์ ในกรณีที่กำหนดแทนค่า ฟิลด์ใดฟิลด์หนึ่งด้วย เครื่องหมายดอกจัน ( * ) ระบบปฏิบัติการ UNIX จะถือว่าเป็นการ ให้ปฏิบัติคำสั่งในทุกๆ ช่วงเวลาที่เป็น ไปได้ เช่น กำหนดค่า ( * ) ในตำแหน่งเดือนและวัน ของสัปดาห์จะหมายถึง ให้ทำงานตาม คำสั่งดังกล่าว ตามวันเวลาที่กำหนดทุกเดือน

ผู้บริหารระบบจะเป็น ผู้ทำหน้าที่กำหนดว่า จะให้ผู้ใช้งานรายใดมี สิทธิ์ในการใช้ยูลิติ้ crontab ซึ่งโดยปกติผู้ใช้งาน แต่ละคนจะไม่ได้รับสิทธิ์ใน การใช้คำสั่ง crontab จนกว่าจะได้รับอนุญาต จากผู้บริหารระบบ ทั้งนี้จะมีไฟล์ที่ชื่อว่า cron.allow ซึ่งในการกำหนดรายชื่อ ของผู้ใช้งานซึ่งได้รับการ ยินยอมจากผู้บริหาร ระบบในการใช้คำสั่ง crontab และไฟล์ cron.deny ในการกำหนดรายชื่อของผู้ใช้งานที่ไม่อนุญาตให้คำสั่ง crontab ที้งนี้ไฟล์ทั้งสองจะถูกเก็บอยู่ในไดเรคเทอรี /ver/spool/cron ในกรณีที่ต้องการให้ผู้ใช้ งานทุกคน สามารถใช้คำสั่ง crontab ได้ ก็เพียงแต่สร้างไฟล์ชื่อcron.deny ซึ่งไม่มีข้อความ ใดๆอยู่โดยไม่จำเป็นต้อง สร้างไฟล์ cron.allow แต่อย่างใด ก็นับว่าเป็นการเพียงพอ

ตัวอย่าง

สำหรับตัวอย่างแรก ผู้ใช้งานสูงสุด ( superuser ) กำหนดให้ระบบปฏิบัติการ UNIX ดำเนินการลบไฟล์ชื่อ core ทุกๆ เช้าวันเสาร์ (วันที่ 6 ของสัปดาห์) เวลา 2.05 น.

# 52 * * 6/user/bin/find/ -namecore -execrm {} ;

ผู้ใช้งานสามารถ ทำการเพิ่มคำสั่งลงในไฟล์ crontab ทั้งนี้โดยการเรียกใช้คำสั่ง crontab -e สำหรับการแก้ไขข้อความในกรณี ของระบบปฏิบัติการ UNIX ซึ้งไม่สนับสนุนอกร์กิวเมนต์ -e ผู้ใช้งานมีอีกทางเลือกหนึ่งใน การเพิ่มคำสั่งโดยการสร้างไฟล์ข้อความ ซึ่งบรรจุรายการคำสั่งที่รับ การกำหนดในไฟล์ crontab ทั้งนี้โดย การใช้คำสั่ง crontab -l จากนั้นจึงทำการแก้ไขเพิ่มเติม คำสั่งลงในไฟล์นั้น เมื่อเสร็จสิ้นแล้ว ก็ใช้คำสั่ง crontab ในการอ่านค่าไฟล์ที่ได้รับการ เพิ่มเติมข้อความนั้น ทั้งนี้เป็นไป ตามตัวอย่างต่อไปนี้

# crontab – l > newcron <————สร้างไฟล์ชื่อ newcron ที่มีรายการคำสั่งทั้งหมดอยู่
# cat newcron
52 * 6 user/bin/find/ -namecore -execrm { } ;
# ver newcron <—————–ทำการเพิ่มเติมคำสั่งลงในไฟล์ newcron
# crontab newcron <———–อ่านรายการคำสั่งในไฟล์ crontab ซึ่งถูกแก้ไปแล้ว
# crontab – l <———————ลองตรวจสอบรายการคำสั่งในไฟล์ crontab
52 * 6 /user/bin/find/ -namecore -execrm { } ;
175 * * * /user/etc/pwck

จากตัวอย่างข้างต้น ผู้ใช้งานสูงสุดได้เพิ่มการกำหนดให้ปฏิบัติคำสั่ง pwck ลงในไฟล์ crontab ของตนโดยกำหนดให้ทำงานทุก ๆ วัน เวลา 5.17 น.

ข้อมูลจาก วารสาร internet ฉบับ 24 มิถุนายน 2541 หน้า 97

Date

ความหมาย
แสดงหรือกำหนดค่าวันและเวลาในปัจจุบัน

การจัดรูปคำสั่ง

date [option] [+ format] หรือ
date [option] newdate

คำสั่ง date เป็นคำสั่งที่ใช้สำหรับการ แสดงค่าวันและเวลาในปัจจุบัน ทั้งนี้ในกรณี ของผู้ใช้งานสูงสุดยัง สามารถใช้คำสั่งดังกล่าวในการ กำหนดค่าวันและ เวลาให้เป็นไปตาม ที่ต้องการอีกด้วย โดยในกรณีดังกล่าว จะกำหนดวันเวลาใหม่ให้อยู่ใน รูปแบบตามที่กำหนด( ตามตำแหน่ง newdate )ทั้งนี้รูปแบบ ของ newdate

[yy [nn [dd] ] ] hhmm [ . ss]

ค่า yy จะให้แทนค่าตัวเลข สองหลักสุดท้ายของปี ค.ศ. ที่ต้องการกำหนด สำหรับ nn เป็นการแทนหมายเลข ของเดือน ( 1 ถึง 12 ) และ dd ใช้ในการระบุวันที่ ( 01 ถึง 31 ) สำหรับ hh จะใช้กำหนดเวลาในหน่วยชั่วโมง ซึ่งอยู่ในรูปแบบ 24 ชั่วโมง ( 00 ถึง 23 ) และ mm ใช้ในการระบุเวลาใน หน่วยนาที ( 00 ถึง 59 ) ทั้งนี้ผู้ใช้งานสามารถ ทำการระบุเวลาละเอียดลง ไปถึงหน่วยวินาทีก็ได้ ในกรณีที่มีการระบ ุเฉพาะเวลา ระบบปฏิบัติการ UNIX จะถือว่าวันที่ใช้ยังคงเป็นไป ตามเดิมก่อนการเปลี่ยนแปลง
นอกจากนี้ยังสามารถกำหนด วันเวลาใหม่ตามรูปแบบที่หนึ่ง โดยใช้ตัวแปร + format ซึ่งผู้ใช้งานจะต้อง ทำการพิมพ์ข้อมูลแสดง วันเวลาให้เป็นไปตาม ตารางที่ 1 โดยจะต้องเริ่ม ด้วยเครื่องหมาย ” + ” ตามหลังคำหลัง คำสั่ง date ขอให้ดูตัวอย่างที่สอง สำหรับการจัดรูปแบบ ของ + format

ตัวแปรที่เกี่ยวข้อง

-u universal ใช้ในการแสดงหรือกำหนดวันและเวลาโดยให้เป็นไปตามมาตรฐานเวลา Greenwich Mean Time ( GMT )

ตัวอย่าง

ตัวอย่างแรกเป็นการกำหนดวันเวลาใหม่จากเดิมไปเป็นเวลา 15.36 น. ของวันที่ 12 กรกฎาคม ปี ค.ศ. 1994

# date 07121536
Tue Jul 12 15:36 PDT 1994

สำหรับตัวอย่างที่สองจะเป็นการแสดงวันเวลาโดยการจัดรูปแบบตามตัวแปร format
$ date ‘+5h%d, 19%y ‘
Jul 12, 1994

ตัวอักษรย่อ

ความหมาย

a

ตัวย่อแทนวันในสัปดาห์ ( Sun ถึง Sat )

d

วันที่ (01 ถึง 31)

D

การจัดรูปแบบวันเป็น mm/dd/yy

h

ตัวย่อแทนเดือน ( Jan ถึง Dec )

H

ชั่วโมง ( 00 ถึง 23 )

j

วันภายในปี ( 001 ถึง 366 )

m

เดือน ( 01 ถึง 12 )

M

นาที ( 00 ถึง 59 )

r

การจัดรูปแบบเวลาให้เป็น แบบ A.M. / P.M.

y

ตัวเลขสองหลักสุดท้ายของปี ค.ศ.

S

วินาที ( 00 ถึง 59 )

T

การจัดรูปแบบเวลาเป็น HH:MM:SS

w

วันในสัปดาห์ ( 0 ถึง 7 )

n

เครื่องหมายขึ้นบรรทัดใหม่

t

เครื่องหมาย TAB

ตางรางที่ 1

ข้อมูลจาก วารสาร internet ฉบับ 24 มิถุนายน 2541 หน้า 97

df

ความหมาย

แสดงเนื้อที่ของหน่วยบันทึกข้อมูลที่เหลืออยู่

การจัดรูปคำสั่ง

df [options] [filesystem-list]

คำสั่ง df หรือ disk free เป็นยูทิลิตี้ที่ใช้ในการรายงาน เนื้อที่ว่างที่เหลืออยู่ของ หน่วยบันทึกต่าง ๆ ที่ถูกจัดสรรให้ ใช้งานโดยระบบปฏิบัติการ UNIX เมื่อมีการเรียก ใช้คำสั่ง df โดยไม่มีการระบุค่า อาร์กิวเมนต์ใด ๆ ตามท้ายจะเป็นการกำหนด ให้ระบบปฏิบัติการ UNIX รายงานเนื้อที่ว่าง ของอุปกรณ์แต่ละชนิด ที่เชื่อมต่ออยู่กับระบบ ปฏิบัติการ UNIX เอง สำหรับตัวแปร filesystem-list จะเป็นตัวแปรเสริมที่ใช้ ในการกำหนดพาธเฉพาะ ของอุปกรณ์ที่ผู้ใช้งาน ต้องการตรวจสอบ พื้นที่ว่าง ( อย่าลืมว่าระบบปฏิบัติการ UNIX มองเห็น อุปกรณ์ทุกตัวอยู่ใน รูปของโครงสร้างไฟล์ )

ตัวแปรที่เกี่ยวข้อง

-i inode บังคับให้ df แสดงจำนวนของ inode ที่ถูกใช้งานและที่ยังเหลืออยู่

-t type บังคับให้ df รายงานข้อมูลของระบบไฟล์เฉพาะที่กำหนด เช่น nfs เป็นต้น

ตัวอย่าง

$ df
Filesystem kbytes used avail capacity Moutedon
/dev/sd6a 14983 4963 8522 37 % /
/dev/sd6d 139823 102348 23493 81 % /usr
$ df
Filesystem kbytes used avail capacity Moutedon
goodman:/home 845086 613857 146991 81 % /goodman/home
human:/home 273754 217385 28994 88 % /human/home

ตัวอย่างแรกเป็นการแสดง ข้อมูลเนื้อที่ใช้งาน ของระบบไฟล์ 2 ชุด ซึ่งติดตั้งอยู่บนเครื่อง คอมพิวเตอร์เดียวกัน สำหรับตัวอย่างที่สอง เป็นการแสดงเนื้อที่ของ ระบบไฟล์ซึ่งต่อเชื่อมต่อจาก เครื่องคอมพิวเตอร์ชื่อ goodman และ human กับเครื่องคอมพิวเตอร์ที่ ผู้ใช้งานกำลังทำงาน อยู่โดยใช้การเชื่อมต่อ แบบ nfs ( network file system ) โดยไดเรคทอรี / home จากเครื่อง goodman และ human เชื่อมโยงอยู่กับ ไดเรคทอรี / foodman/ home และ / human /home ของเครื่องคอมพิวเตอร์ ที่ใช้งานอยู่ตามลำดับ

ข้อมูลจาก วารสาร internet ฉบับ 24 มิถุนายน 2541 หน้า 97

find

ความหมาย

find เป็นคำสั่งที่ใช้ในการตรวจสอบ ค้นหาตำแหน่งของไฟล์หรือไดเรคเทอรีซึ่ง ผู้ใช้งานไม่ทราบว่ามีการเก็บไว้ ณ ตำแหน่งไดในระบบโครงสร้าง ไฟล์ของระบบปฏิบัติการ unix คำสั่งดังกล่าวมีข้อจำกัด อยู่ที่สามารถค้นหาไฟล์หรือ ไดเรคเทอรีได้เฉพาะภายในเครื่อง คอมพิวเตอร์เครื่องใดเครื่องหนึ่ง ที่ผู้ใช้งานทำการ log-in หรือสามารถค้นหา ไฟล์ในกรณีของ ระบบเครือข่ายคอมพิวเตอร์ที่มีการทำ Network File System (NFS) หากต้องการค้นหาไฟล์ในเครื่อง คอมพิวเตอร์เครื่องอื่นด้วยคำสั่ง find ผู้ใช้งานจะต้องทำการ log-in หรือ remote log-in (ในกรณีของเครื่องที่ต่ออยู่ในระบบเครือข่าย) ไปยังเครื่องคอมพิวเตอร์ที่ต้อง การสืบค้นนั้นแล้วจึงใช้คำสั่ง find อย่างไรก็ตาม ก็ต้องนับว่าคำสั่งดังกล่าว มีขีดความสามารถในการสนับสนุน การสืบค้นข้อมูลที่ดีมาก โดยเฉพาะในเรื่องของตัวแปรสนับสนุนที่มีเป็นจำนวนมาก ดังจะได้กล่าวต่อไป

การจัดรูปคำสั่ง

find directory-list expression

จากรูปแบบการจัดชุดคำสั่ง จะเห็นว่าประกอบด้วยอาร์กิวเมนต์ 2 ชุด โดย directory-list จะเป็นการระบุชื่อของ ไดเรคเทอรีต้นทางที่ต้องการให้คำสั่ง find ทำการสืบค้นไฟล์ โดยคำสั่ง find จะทำการหาไฟล์จากทุก ไดเรคเทอรีย่อยที่มีอยู่ทั้งหมดภายใต้ ไดเรคเทอรีเริ่มต้นที่ทำการระบุนี้ สำหรับอาร์กิวเมนต์ expression จะใช้สำหรับ ระบุเงื่อนไงต่างๆ ที่ใช้ประกอบ การค้นหาไฟล์ซึ่งหนึ่งไนเงื่อนไขเหล่านี้ก็คือ การระบุชื่อไฟล์หรือส่วนใด ส่วนหนึ่งของชื่อไฟล์ที่ต้องการค้นหา คำสั่ง find จะทำการทดสอบไฟล์แต่ละไฟล์ที่พบภายใต้ directory-list เพื่อค้นหาไฟล์ที่มีคุณสมบัติตรงกับ เงื่อนไขที่ระบุในส่วนของ expression

อนึ่ง ในส่วนของทั้ง อาร์กิวเมนต์ directory-list และ expression ผู้ใช้งานสามารถทำการกำหนด ค่าตัวแปรได้มากกว่าหนึ่งตัว ทั้งนี้จะใช้เครื่องหมาย เว้นช่องว่าง (space) ในการแยกตัวแปรทั้งหมด ในแต่ละอาร์กิวเมนต์ออกจากกัน ซึ่งเครื่องหมาย space จะมีความหมายทางตรรก หมายถึง ANDซึ่งการค้นหาไฟล์ จะกระทำโดยให้ สอดคล้องกับทุกเงื่อนไข ในแต่ละอาร์กิวเมนต์ ในกรณีที่ต้องการให้การตีความ เงื่อนไขเป็นไปแบบ OR ก็จะต้องใช้เครื่องหมายคั่นระหว่างตัวแปร ในแต่ละอาร์กิวเมนต์เป็น -o (ตัวอักษรโอ) แทนที่จะเป็นเครื่องหมาย space ในบางกรณีที่ผู้ใช้งาน กำหนดเงื่อนไขในการค้นหา ว่าให้เป็นตรงข้ามกับที่ได้ระบุ ไว้ในแต่ละอาร์กิวเมนต์ก็ทำได ้เพียงเพิ่มเครื่องหมาย ! นำหน้าตัวแปรในอาร์กิวเมนต์เท่านั้น สำหรับตัวแปร เงื่อนไขต่างๆ ที่สามารถใช้อ้างได้ในส่วนของ อาร์กิวเมนต์สามารถตรวจสอบได้จากข้อมูลต่อไปนี้
เงื่อนไขบางประการที่ควรทราบ สำหรับการกำหนดเงื่อนไข ในการค้นหามากกว่าหนึ่งเงื่อนไขก็คือ สำหรับกรณีเงื่อนไขที่ผูกพันกัน ด้วยตรรก AND เช่น เงื่อนไข X และ Y ในคำสั่ง find directory X Y คำสั่ง find จะเปรียบเทียบคุณสมบัติของแต่ละ ไฟล์ภายในไดเรคเทอรีที่ระบุให้ค้นหา เทียบกับเงื่อนไข X และ Y หากพบว่าไฟล์ ที่กำลังตรวจสอบอยู่ มีความสอดคล้องกับเงื่อนไข X จึงจะตรวจเทียบกับเงื่อนไข Y หากไม่ตรงกับเงื่อนไข X แต่แรก คำสั่ง Y ก็จะทำการตรวจสอบ ไฟล์อื่น ทันทีโดย ไม่สนใจเงื่อนไข Y และสำหรับเงื่อนไข ที่ผูกพันกันด้วยตรรก OR เช่นเงื่อนไขR และ S ในคำสั่ง find directory R -o S คำสั่ง find จะถือว่าไฟล์ที่กำลังตรวจสอบ อยู่เป็นไฟล์ที่ต้องการค้นหาหากมีคุณสมบัติ สอดคล้องกับเงื่อนไข R แต่แรก ในกรณีที่เงื่อนไข R ไม่สอดคล้องจึงจะทำการทดสอบกับเงื่อนไข S ต่อไป ผู้ใช้งานจึงควร จดจำกลไกในการทดสอบของ คำสั่งดังกล่าวไว้ด้วย

ตารางที่ 1 ชื่อและรายละเอียดของประเภทไฟล์ชนิดต่างๆ

ประเภทไฟล์

ความหมาย

b

ไฟล์พิเศษชนิดที่เป็นบล็อค

c

ไฟล์ที่บรรจุอักขระพิเศษ

d

ไดเรคเทอรี

f

ไฟล์ทั่วไป

p

ไฟโฟ (FIFO – First In First Out)

l (แอล)

ซิมโบลิคลิงค์ (SymbolicLink)

s

ซ็อกเก็ต (Socket)

ตัวแปรที่เกี่ยวข้อง

-name filename
ตัวแปร -name ตามด้วยชื่อไฟล์หรือบางส่วนของชื่อไฟล์ ใช้ในการสร้างเงื่อนไขให้คำสั่ง find ค้นหาไฟล์ที่มีชื่อตรงกับ filename การระบุชื่อไฟล์เพียงบางส่วนจะใช้การผสมเครื่องหมาย wildcard เช่น fil* .txt เป็นต้น

-type filename
การระบุตัวแปร -type จะเป็นการกำหนดให้คำสั่ง find เลือกค้นหาเฉพาะไฟล์ที่มีรูปแบบโครงสร้างตรงกันกับที่ได้ระบุเท่านั้น สำหรับชื่อและรายละเอียดของประเภทไฟล์ (filetype) ต่างๆ ได้แสดงไว้ในตารางที่ 1

-links+-n
ใช้ในกรณีที่ต้องการกำหนดให้คำสั่ง find เลือกค้นหาเฉพาะไฟล์ที่มีลิงค์เชื่อมโยงอยู่เป็นจำนวนเท่ากับค่า n โดย n เป็นค่าจำนวนเต็ม หากระบุค่าเป็น +n จะหมายถึงการค้นหาไฟล์ที่มีลิงค์เชื่อมโยงมากกว่า n ลิงค์ และ -n หมายถึงไฟล์ที่มีลิงค์เชื่อมโยงจำนวนน้อยกว่า -n ลิงค์

-user name
ใช้ระบุเพื่อให้เลือกค้นหาเฉพาะไฟล์ที่เป็นของผู้ใช้งานชื่อ name โดย name เป็นชื่อของผู้ใช้งาน เช่น pairoj, jenny, root เป็นต้น ซึ่งสามารถอ้างถึงชื่อผู้ใช้งานได้ทั้งใช้ชื่อที่เป็นตัวอักษรหรือเป็นเลขที่ประจำตัวผู้ใช้งาน (uid)

-group name
ใช้ระบุเพื่อให้เลือกค้นหาเฉพาะไฟล์ที่เป็นของกลุ่มผู้ใช้งานที่มีชื่อกลุ่มว่า name ผู้ใช้งานสามารถอ้างถึงชื่อกลุ่มได้ทั้งใช้ชื่อที่เป็นตัวอักษรหรือเป็นเลขที่ประจำกลุ่ม (gid) ก็ได้

-size+-n[c]
ระบุขีดจำกัดขนาดที่เล็กที่สุดหรือใหญ่สุดสำหรับให้คำสั่ง find ใช้เป็นเงื่อนไขในการค้นหา โดย n เป็นค่าแสดงขนาดที่ใช้เป็นขอบเขตในการค้นหา มีหน่วยเป็นบล็อก การใช้เครื่องหมาย + หรือ – ก็เพื่อแจ้งว่าให้ใช้ค่าขนาดเป็นขีดจำกัดสูงสุดหรือต่ำสุด เช่นเดียวกับในกรณีของตัวแปร -links

-atime+-n
ใช้เพื่อกำหนดให้คำสั่ง find ค้นหาไฟล์ที่ถูกใช้งานครั้งล่าสุดนับจากปัจจุบันเป็นจำนวนนับ n วัน ตัวอย่างเช่น หากปัจจุบันเป็นวันที่ 29 เมษายน 2541 การระบุตัวแปร -atime +5 จะหมายถึงการค้นหาไฟล์ที่ถูกใช้งานหลังจากวันที่ 24 เมษายน 2541 จนถึงปัจจุบัน และ -atime -5 หมายถึงการให้ค้นหาไฟล์ที่ถูกใช้งานก่อนหน้าวันที่ 24 เมษายน 2541

-mtime+-n
ระบุให้ค้นหาไฟล์ที่ได้รับการแก้ไขครั้งล่าสุดนับจากวันที่ใช้คำสั่ง find นี้เป็นจำนวน +-n วัน

-newer filename
ใช้กำหนดให้คำสั่ง find ค้นหาเฉพาะไฟล์ที่ได้รับการแก้ไขครั้งล่าสุดหลังจากวันเวลาที่มีการแก้ไขครั้งล่าสุดของไฟล์ที่ระบุอยู่ข้างหลังตัวแปร filename

-print
เป็นการกำหนดให้คำสั่ง find แสดงรายชื่อซึ่งระบุตำแหน่งไดเรคเทอรีแบบสมบูรณ์ของทุกๆไฟล์ ซึ่งสอดคล้องกับเงื่อนไขในอาร์กิวเมนต์ expression ซึ่งกำหนดสำหรับการค้นหา

-ls
เป็นการกำหนดให้คำสั่ง find แสดงรายชื่อของไฟล์ที่สอดคล้องกับเงื่อนไขของการค้นหาเช่นเดียวกับในกรณีของตัวแปร -print แต่สำหรับกรณีนี้จะแสดงข้อมูลที่มีความละเอียดของไฟล์มากกว่าในกรณีของตัวแปร -print

-exec command ;
โดยทั่วไปมักใช้ประกอบเป็นเงื่อนไขท้ายสุดของการค้นหา โดยหากปรากฎว่าเงื่อนไขต้นๆ ในการค้นหาได้ส่งรายชื่อไฟล์ที่สอดคล้องเพื่อมาเปรียบเทียบกับเงื่อนไขดังกล่าว เงื่อนไขดังกล่าวจะทำการเรียกใช้งานคำสั่งที่ระบุใน command และจะถือว่าได้ทำตามเงื่อนไขดังกล่าว หากคำสั่งcommand ได้รับการดำเนินการเรียบร้อย กล่าวเช่นนี้คงจะไม่ชัดเจนนัก ขอยกตัวอย่างเช่น หากมีการใช้คำสั่งว่า find .-name ‘active*’ -exec echo ‘found’ จะหมายความว่าหากคำสั่ง find ค้นพบไฟล์ที่มีชื่อขึ้นต้นว่า active จะทำให้มีการแสดงคำว่า found ขึ้นมาบนหน้าจอ นอกจากนี้ยังสามารถประยุกต์เงื่อนไข exec สามารถดำเนินการจัดการกับไฟล์ที่คำสั่ง find กำลังทดสอบคุณสมบัติได้ด้วยการใช้เครื่องหมาย {} ตามหลัง คำสั่ง command ขอให้ดูตัวอย่างที่สี่เพื่อเพิ่มความเข้าใจ

-ok command ;
เงื่อนไขดังกล่าวมีรูปแบบการใช้งานเช่นเดียวกับเงื่อนไข -exec ต่างกันเพียงว่าเงื่อนไขนี้จะแจ้งการทำงานของคำสั่ง command ให้ปรากฎบนจอภาพ นอกจากนี้ผู้ใช้ยังจะต้องทำการยืนยันให้คำสั่ง command ทำงานโดยการพิมพ์ y ทุกครั้งสำหรับแต่ละคำสั่ง

finger

ความหมาย

ใช้แสดงข้อมูลของผู้ใช้งานซึ่งเข้าใช้งานระบบปฏิบัติการ unix ทั้งในกรณีของเครื่องคอมพิวเตอร์อสระและในกรณีของเครือข่ายคอมพิวเตอร์

การจัดรูปคำสั่ง

finger [options] [user-list]

คำสั่ง finger ซึ่งไม่มีการระบุออปชันใดๆ จะแสดงรายระเอียดเกี่ยว กับชื่อที่ใช้ในการ log-in ชื่อจริงของผู้ใช้งาน ชื่ออุปกรณืเทอร์มินอล ที่ใช้งาน เวลาที่ log-in เข้าใช้งาน รวมถึงข้อมูลอื่นๆ ผู้ใช้งานสามารถรูปแบบ การแสดงข้อมูลโดยการเลือกใช้ออปชันตาม ความเหมาะสม นอกจากนี้ยังสามารถใช้คำสั่ง finger กับกรณีของทั้งเครื่อง คอมพิวเตอร์อิสระ และเครือข่ายคอมพิวเตอร์ ซึ่งผู้ใช้งาน สามารถตรวจสอบ รายละเอียดของผู้ใช้งาน บนเครื่อง คอมพิวเตอร์อื่นที่เชื่อมต่อ อยู่ด้วยกันผ่านทางเครือข่าย คอมพิวเตอร์

ตัวแปรที่เกี่ยวข้อง

-l long เป็นตัวแปรที่ใช้กำหนดให้คำสั่ง finger แสดงข้อมูลโดยละเอียดของผู้ใช้งานทุกรายการที่ทำการ log-in เข้ามาในระบบปฏิบัติการ
-m match ใช้ร่วมกับการระบุชื่อของผู้ใช้งานที่ต้องการตามหลังตัวแปรดังกล่าว โดยผลที่ได้จากคำสั่ง finger จะเป็นการแสดงข้อมูลเฉพาะของผู้ใช้งานที่มีชื่อ log-in ตรงตามที่ได้ระบุไว้ตามหลังตัวแปร -m เท่านั้น
-q quick ใช้ระบุเพื่อให้คำสั่ง finger แสดงเฉพาะข้อมูลในส่วนของชื่อ log-in ชื่ออุปกรณืเทอร์มินอลที่ใช้งาน และเวลาที่ผู้ใช้งานแต่ละรายเริ่มทำการ log-in เท่านั้น
-s short เป็นตัวแปรที่ใช้เพื่อให้คำส่ง finger แสดงข้อมูลสรุปสั้นๆของผู้ใช้งานแต่ละราย

หากมิได้ระบุรายชื่อของผู้ใช้งานในส่วนของ user-list คำสั่ง finger จะรายงานเฉพาะข้อมูลสั้นๆ ของผู้ใช้งานทุกๆ รายที่ยังใช้งานอยู่ในระบบ ในกรณีที่มีการใช้คำสั่ง finger โดยตามด้วยการระบุชื่อ log-in ของผู้ใช้งานก็จะแสดงข้อมูลแบบละเอียดของผู้ใช้งานแต่ละรายที่ได้ระบุชื่อไว้ และหากในส่วนของชื่อ log-in มีการระบุชื่อ โดเมนประกอบอยู่ด้วยโดยใช้เครื่องหมาย @ เช่น pairoj@jumpoo, vincent@hk_palm เป็นต้น คำสั่ง finger จะถือว่าชื่อที่ตามหลังเครื่องหมาย @ เป็นชื่อ ของเครื่อง คอมพิวเตอร์เครื่องอื่นที่ต่อร่วมอยู่กับเครื่องที่ใช้งาน ปัจจุบันโดยผ่านทางระบบเครือข่าย ซึ่งอาจจะเป็นเพียงเครือข่าย LAN เฉพาะองค์กร หรือแม้กระทั่งการต่อ ผ่านทางอินเตอร์เน็ต

ตัวอย่าง
ตัวอย่างแรกเป็น การแสดงข้อมูลของผู้ใช้งานทุกราย ที่ทำการ log-in เข้ามาใช้งานเครื่อง คอมพิวเตอร์ซึ่งผู้เขียนใช้งานอยู่ โดยการป้อนคำสั่ง finger โดยที่ไมีมีตัวแปรใดๆ ตาม จากตัวอย่าง จะเห็นว่าในบรรทัดข้อมูลแสดง รายละเอียดของผู้เขียนเอง ที่ชื่อของเทอร์มินอล จะมีเครื่องหมาย * อยู่ อันเป็นการแสดงว่า ผู้เขียนได้ทำการกำหนดสถานะ ของตนเองว่าจะไม่รับข้อความใดๆ ที่ถูกส่งมาจากผู้ใช้งาน รายอื่นๆ ซึ่งการกำหนดว่าจะรับ หรือไม่รับข่าวสารนั้นสามารถ ทำได้โดยใช้คำสั่ง mesg ซึ่งจะได้กล่าวถึง ในหมวดของชุด คำสั่งที่ขึ้นต้นด้วยอักษร m

$finger
Login Name TTY Idle When Where
pairoj Pairoj Waiwanijchakij *p0 1 Wed10:45 jumpoo
jenny Jenifer Bean 02 19:55 Tue18:02 Lab4
alex Alex Albert 05 Wed06:00 Lab2
piti Piti Rukthai 08 Wed09:00 jumpoo
ตัวอย่างที่สองเป็นการใช้คำสั่ง finger ร่วมกับตัวแปร -q ซึ่งเป็นการแสดงข้อมูลอย่างสั้น ในกรณีที่ต้องการแสดงเฉพาะข้อมูลของผู้ใช้งานที่ใช้ชื่อ log-in ว่า jenny

$finger-g jenny
Login TTY When
jenny 02 Tue18:02

สองตัวอย่างสุดท้ายเป็นการใช้คำสั่ง finger ในการแสดงข้อมูล ของผู้ใช้งานซึ่งทำการ log-in อยู่กับเครื่อง คอมพิวเตอร์อื่นซึ่งเชื่อมต่อ อยู่ด้วยกันภายในระบบเครือข่าย โดยตัวอย่างที่สามต้องการดูรายการที่ผู้ที่ log-in ในเครื่องชื่อ mambo และตัวอย่างที่สีแสดงข้อมูลอย่างละเอียดเฉพาะตัวผู้ทำการlog-in ที่มีชื่อว่า pornthep ในเครื่อง mambo

$finger @mambo
[mambo]
Login Name TTY Idle When Where
pornthep Pornthep Jew 09 28 Wed10:01 Room2
nuttida Nuttida Jung 02 Wed7:45 iwv.com
$finger pornthep@mambo
[mambo]
Login name : pornthep Inreallife : Pornthep Jew
Directory: /export/home/pornthep Shell:/bin/csh
OnsinceApr 29 10:01:49 on tty09
28minutes Idle Time
Plan:

ข้อมูลจาก วารสาร internet ฉบับ 25 กรกฏาคม 2541 หน้า 91

ftp
เนื่องจาก unix เป็นระบบปฏิบัติการที่ได้รับการออกแบบ ให้รองรับการทำงานในรูปของ การเชื่อมต่อเครื่องคอมพิวเตอร์ เป็นระบบเครือข่าย กิจกรรมชนิดหนึ่ง ซึ่งเกิดขึ้นเสมอสำหรับ ผู้ใช้งานระบบเครือข่ายคอมพิวเตอร์ก็คือ การติดต่อรับส่งไฟล์ ข้อมูลจากเครื่องคอมพิวเตอร์เครื่องหนึ่ง ไปยังอีกเครื่องหนึ่ง ระบบปฏิบัติการ unix ได้รวมชุดคำสั่ง ที่เกี่ยวข้องกับการโอนย้ายไฟล์ ไว้หลายคำสั่งด้วยกัน คำสั่งหนึ่งซึ่งได้รับความนิยมมาก ก็คือ คำสั่ง ftp ซึ่งเป็นคำย่อมาจากคำว่า File Transfer Protocol ซึ่งเป็นโปรโตคอล ในการสื่อสารข้อมูลชนิดหนึ่ง ที่เป็นพื้นฐานในการรับส่งไฟล์ ข้อมูลข้ามเครือข่ายคอมพิวเตอร์

การจัดรูปคำสั่ง
ftp [option] remote – computer

เนื่องจากในการเริ่มต้นติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ โดยใช้คำสั่ง ftp นั้น ผู้ใช้งานจำเป็นต้องทำการระบุถึงเครื่องคอมพิวเตอร์ปลายทาง ที่ต้องการติดต่อด้วย ทั้งนี้ในส่วนของ remote – computer นั้นอาจะเป็นการ ระบุโดยใช้เลขหมาย IP หรือชื่อเครื่องคอมพิวเตอร์ ซึ่งได้รับการกำหนดขึ้นตามหลักของ DNS (Domain Name System) ข้อสำคัญที่สุดซึ่งควารรับทราบไว้ก็คือ ผู้ที่ประสงค์จะใช้คำสั่ง ftp ติดต่อกับเครื่องคอมพิวเตอร์ปลายทางนั้น จำเป็นต้องมี login account ของตนเอง หรือมิฉะนั้น ก็ต้องทราบ login account สักหนึ่ง account บนเครื่องคอมพิวเตอร์ ปลายทาง เพื่อสำหรับการขอ login มิฉะนั้น ระบบปฏิบัติการ unix บนเครื่องคอมพิวเตอร์ปลายทางนั้น จะไม่ยอมรับการติดต่ออย่างเด็ดขาด

ตัวแปรที่เกี่ยวข้อง

คำสั่ง ftp กำหนดตัวแปรสำหรับใช้เป็น ออปชั่นเพียงตัวเดียว ดังนี้

– n (no login) หากไม่ใส่ตัวแปรนี้ คำสั่ง ftp จะทำการ login เข้าสู่เครื่องคอมพิวเตอร์ปลายทาง โดยอ้างใช้ชื่อ login account เดียวกันกับ ที่ผู้ใช้งานใช้อยู่ บนเครื่องต้นทา

แม้จะมีตัวแปรสำหรับ อ้างถึงเพียงตัวเดียว แต่ ftp ก็เป็นโปรแกรมใช้งาน ที่ให้ความสะดวกต่อผู้ใช้งานในการกำหนดคำสั่งใช้งาน ย่อยต่างๆ สำหรับปรับแต่ง เงื่อนไขในการติดต่อสื่อสาร และโอนย้ายไฟล์ข้อมูล ระหว่างเครื่องคอมพิวเตอร์ โดยเมื่อใช้คำสั่ง ftp ติดต่อไปยังเครื่องคอมพิวเตอร์ปลายทางแล้ว ในขณะที่โปรแกรม ftp ยังทำงานอยู่ ผู้ใช้งานสามารถเลือกใช้ คำสั่ง ควบคุมต่างๆ เพื่อควบคุมการทำงาน ให้เป็นไปตามความต้องการของตน อย่างเหมาะสม อนึ่งในขณะที่ยังอยู่ในโปรแกรม ftp นั้น ผู้ใช้งานจะสามารถสังเกตุ ได้จากเครื่องหมาย พรอมต์ ftp > ซึ่งจะปรากฏอยู่บนหน้าจอตลอดเวลา สำหรับ คำสั่งควบคุมต่างๆ นั้น มีรายละเอียดดังนี้

! ใช้ในการเปลี่ยนโหมดการทำงานชั่วคราว ซึ่งจะทำให้ผู้ใชงานกลับไปยัง เชลระบบปฏิบัติการ unix ชั่วคราว และเมื่อต้องการกลับคืนสู่โปรแกรม ftp อีกครั้ง ก็เพียงแต่กดปุ่ม Control ร่วมกับปุ่ม D

binary ผู้ใช้งานจะต้องพิมพ์คำสั่งนี้ในกรณีที่ต้องการ ทำการโอนย้ายไฟล์ที่มิใช่ ไฟล์ข้อความ (text file หรือ ASCII ไฟล์) ซึ่งจะเป็นการแจ้ง ให้โปรแกรม ftp ปรับใช้ โปรโตคอลในการโอนย้ายไฟล์ให้เหมาะสมกับประเภทของไฟล์

cd directory ใช้ในการสั่งเปลี่ยนตำแหน่งไดเรคทอรี ใช้งานปัจจุบัน บนเครื่องคอมพิวเตอร์ ปลายทาง

close แจ้งให้โปรแกรม ftp ทำการยกเลิกการติดต่อสื่อสาร กับเครื่องคอมพิวเตอร์ ปลายทาง อย่างไรก็ตาม หลังจากใช้คำสั่งนี้ ผู้ใช้งานก็ยังคงอยู่ในโปรแกรม ftp หากต้องการเชื่อมต่อกับเครื่องคอมพิวเตอร์อื่น ก็เพียงแต่ใช้คำสั่ง open

dir directory ใช้ในการแสดงรายการไฟล์ ข้อมูลที่มีอยู่ในไดเรคทอรี ใช้งานปัจจุบัน บนเครื่องคอมพิวเตอร์ปลายทาง

get remote-file [local-file] เป็นคำสั่งแจ้งให้โปรแกรม ftp ทำการส่งไฟล์จากเครื่องคอมพิวเตอร์ปลาย่าง มายังเครื่องคอมพิวเตอร์ที่ผู้ใช้งาน ใช้งานอยู่ ตำแหน่งเก็บไฟล์ข้อมูลที่ได้รับบนเครื่อคอมพิวเตอร์ ต้นทางจะเป็นไดเรคทอรี ที่ใช้งานอยู่ในปัจจุบัน ในกรณีที่ต้องการเก็บไฟล์ บนเครื่องคอมพิวเตอร์ต้นทางเป็นชื่ออื่น ก็จะต้องระบุชื่อไฟล์ ที่ต้องการนั้น ตั้งขึ้นใหม่ในตำแหน่ง local – file คำสั่งนี้ ใช้ในการโอนย้ายได้ครั้งละไฟล์เท่านั้น

help ใช้ในการแสดงรายการคำสั่ง ต่างๆ ซึ่งมีอยู่ในโปรแกรม ftp

mget remote-file-list มีความสามารถในการโอนย้ายไฟล์จากเครื่องคอมพิวเตอร์ปลาย่างได้ครั้งละหลายๆ ไฟล์ ทั้งนี้ผู้ใช้ สามารถใช้ร่วมกับ เครื่องหมาย wildcard ได้ ตัวอย่างเช่น mger *.txt ก็คือ การขอโอนย้ายไฟล์ทุกไฟล์ ที่มีนามสกุลลงท้ายด้วย txt จากคอมพิวเตอร์ปลายทาง

mput local-file-list เป็นคำสั่งตรงข้ามกับ mget ซึ่งจะทำการส่งไฟล์จากเครื่องคอมพิวเตอร์ ต้นทาง ไปยังเครื่องคอมพิวเตอร์ปลายทาง ได้ครั้งละหลายๆ ไฟล์

open ปกติเมื่อเริ่มใช้คำสั่ง ftp โดยระบุชื่อเครื่องคอมพิวเตอร์ปลายทาง โปรแกรม ftp จะทำการเชื่อมต่อ การสื่อสารไปยังเครื่องคอมพิวเตอร์ที่อ้างถึง นั้นทันที แต่ในกรณีที่ผู้ใช้งานสั่งยุติการเชื่อมต่อ โดยใช้คำสั่ง close และต้องการสร้างการเชื่อมต่อไปยังเครื่องคอมพิวเตอร์อื่น ก็สามารถทำได้ โดยใช้คำสั่ง open ตามด้วยเลขหมาย ip หรือชื่อของเครื่องคอมพิวเตอร์ ที่ต้องการติดต่อไปด้วย

put local-file [remote-flie] เป็นการสั่งให้โปรแกรม ftp ส่งไฟล์จากเครื่องคอมพิวเตอร์ต้นทาง ไปยังเครื่องคอมพิวเตอร์ปลายทางที่เชื่อมต่ออยู่ด้วย ครั้งละไฟล์ ผู้ใช้งานสามารถเลือกไดเรคทอรี หรือตั้งชื่อไฟล์ที่จะทำการส่งไปยังเครื่องคอมพิวเตอร์ปลายทาง ได้ โดยการระบุถึงในส่วนของremote-file ดังเช่นเดียวกับในกรณีของคำสั่ง get

quit เป็นการยกเลิกการทำงานของคำสั่ง ftp เพื่อกลับคืนมายังเชลของ ระบบปฏิบัติการ unix

ในการใช้งานคำสั่ง ftp เพื่อการติดต่อสื่อสารไปยังเครื่องคอมพิวเตอร์ต่างๆ ในระบบเครือข่าย ผุ้ใช้งานพึงตะหนักว่า ในบรรดาเครื่องคอมพิวเตอร์เหล่านั้น ย่อมมีทั้งเครื่องที่ติดตั้งระบบปฏิบัติการ unix และทั้งที่ไม่ใช่ ซึ่งอาจจะเป็นระบบ ปฏิบัติการ ดอส วินโดวส์ หรือวินโดวส์เอ็นที แต่เนื่องจากโปรโตคอล ftp ซึ่งถือกำเนิดขึ้นมาจาก ระบบปฏิบัติการ unix ได้กลายไปเป็นมาตรฐานที่ยอมรับ กันทั่วไปในปัจจุบัน จึงนับได้ว่าเป็นเรื่องดี ที่ผู้ใช้งานไม่จำเป็นจะต้องกังวล ถึงประเภทของระบบปฏิบัติการ ที่ใช้งานอยู่บนเครื่องคอมพิวเตอร์ปลายทาง แต่อย่างใด

ตัวอย่าง

ขอยกตัวอย่างประกอบการอธิบายโดยแสดงขั้นตอนการใช้คำสั่ง ftp เพื่อทำการโอนย้ายจากเครื่องคอมพิวเตอร์ปลายทางชื่อ nontri ตามด้วยการส่ง ไฟล์ชุดหนึ่ง ไปยังเครื่องคอมพิวเตอร์ปลายทาง

$ ftp nontri
ftp> dir
ftp> get schedulememo/schedule_jul98
ftp> !
$ ls
CONTROL-D
ftp> cd cprogs
ftp> mput *.c
ftp> quit
221 Goodbye

เริ่มจากใช้คำสั่ง ftp ทำการ login ไปยังเครื่องคอมพิวเตอร์ปลายทางจากนั้นใช้คำสั่ง dir เพื่อแสดงรายชื่อไฟล์ที่มีอยู่ใน ไดเรคทอรีปัจจุบัน สมมุติว่า ผู้ใช้งานพบไฟล์ที่ต้องการแล้ว ขึ้นตอนที่ทำต่อไปก็คือ การใช้คำสั่ง get เพื่อโอนย้ายไฟล์ ดังกล่าวมายังเครื่องคอมพิวเตอร์ของตน ในที่นี้ ต้องการย้ายไฟล์ชื่อ schedule มายังไดเรคทอรีย่อย memo บนเครื่องคอมพิวเตอร์ต้นทาง และเปลี่ยนชื่อไฟล์เป็น schedule_jul98 ไปพร้อมๆ กัน เนื่องจากไฟล์ดังกล่าว เป็นไฟล์ข้อความ จึงไม่จำเป็นต้องพิมพ์คำสั่ง binary ก่อนแต่อย่างใด หลังจากนั้น ผู้ใช้งานมีความต้องการกลับออกไปยังระบบปฏิบัติการ unix ชั่วคราว ก็จะใช้คำสั่ง ! และเมื่อต้องการกลับเข้าสู่โปรแกรม ftp อีกครั้ง ก็จะทำการพิมพ์ CTRL-D (กดปุ่ม Control พร้อมกับกดปุ่ม D) ขั้นตอนต่อไป เป็นการเปลี่ยนตำแหน่ง ไดเรคทอรีใช้งานปัจจุบันไปเป็น cprogs โดยใช้คำสั่ง cd แล้วจึงทำการโอนย้ายไฟล์จากเครื่องคอมพิวเตอร์ที่ใช้งานอยู่ในเครื่อง nontri ในครั้งนี้ ต้องการส่งทุกไฟล์ ที่มีนามสุกลลงท้ายเป้น .c จึงต้องใช้คำสั่ง mput เมื่อเสร็จสิ้นภาระกิจและต้องการ ยุติการใช้งานโปรแกรม ftp ก็เพียงแต่พิมพ์ quit

ข้อมูลจาก วารสาร internet ฉบับ 27 กันยายน 2541 หน้า 62

lpr

บ่อยครั้งที่ผู้ใช้งานระบบปฏิบัติการ UNIX มีความต้องการที่จะสั่งพิมพ์ไฟล์ข้อมูลออกทางเครื่องพิมพ์ซึ่งเชื่อมต่ออยู่กับเครื่องคอมพิวเตอร์หลัก ในการนี้ได้รับการ จัดเตรียมชุดคำสั่งที่เกี่ยวข้องกับ การจัดการด้านการพิมพ์ อันได้แก่ ชุดคำสั่งในตระกูล lp ขึ่น ดดยแบ่งออกได้เป็นคำสั่ง lpr ซึ่งใช้ในการส่งไฟล์ซึ่ง อาจเป็นเพียง ไฟล์เดียวหรือ หลาย ๆ ไฟล์ ผ่านไปยังเครื่องพิมพ์ ไฟล์เหล่านี้จะถูกนำไปเก็บเรียง ลำดับก่อนหลังในคิวข้อมูล (Queue) เพื่อเรียงส่งไปยัง เครื่องพิมพ์อีกต่อ หนึ่ง การตรวจสอบ ลำดับที่ของข้อมูลในคิวสามารถกระทำได้โดยการใช้คำสั่ง lpq และในกรณีที่ผู้ใช้งานต้องการยกเลิกไฟล์ที่ถูกส่งไปอยู่ในคิวก็สามารถทำได้โดยการใช้คำสั่ง lprm ดังนั้นผู้เขียน จึงขอรวมกล่าวถึงคำสั่ง ทั้งสามไปพร้อม ๆ กันเลย

การจัดรูปคำสั่ง

lpr (options) (file-list)
lpq (-Pprinter) (job-number) (user)
lprm (-Pprinter) (job-number)

สำหรับคำสั่ง lpr ผู้ใช้งานจะทำการระบชื่อไฟล์ที่ต้องการส่งไปเข้าคิวเพื่อรอพิมพ์ผ่านทางอาร์กิวเมนต์ file-list โดยอาจระบุชื่อไฟล์เพียงชื่อเดียวหรือหลาย ๆ ไฟล์ไปพร้อมกันก็ได้ สำหรับอาร์กิวเมนต์ job-number ในกรณีของคำสั่ง lpq และ lprm จะเป็นการอ้างถึงเลขหมายงาน (job identification) ของไฟล์ที่ผู้ใช้งานส่งผ่านไปเข้าคิวและ ได้รับการจัดสรรกลับมาผ่านทางคำสั่ง lpr สำหรับอากิวเมนต์ user จะใช้แทน login name ของผู้ใช้งานรายนั้น ๆ

ตัวแปรที่เกี่ยวข้อง

-h header ใช้กำหนดให้คำสั่ง lpr ข้ามการพิมพ์ส่วนหัว (header) ซึ่งถูกสร้างขึ้นร่วมกับผลการ พิมพ์ปกติ หากไม่ทำการกำหนดไว้ก็จะทำให้คำสั่ง lpr พิมพ์ส่วนหัวซึ่งเป็นรายละเอียดเกี่ยวกับ login name ของผู้สั่งพิมพ์ ชื่อไฟล์ที่ถูกพิมพ์ ชื่อของระบบ รวมถึงวันที่และเวลาที่สั่งพิมพ์

-m mail report กำหนดให้คำสั่ง lpr เรียกใช้คำสั่ง mail เพื่อทำการส่งจดหมายอิเล็กทรอนิกส์แจ้ง กลับมายัง login name ของผู้สั่งพิมพ์เมื่อกระบวนการพิมพ์ไฟล์นั้น ๆ เสร็จสิ้นลง

-p print แจ้งให้คำสั่ง lpr เรียกใช้คำสั่ง pr เพื่อกำหนดจัดการ ลำดับหน้าของงานที่ถูกสั่งพิมพ์ สำหรับรายละเอียดของคำสั่ง pr จะได้กล่าวถึงในลำดับต่อไป

-Pprinter ตัวแปรดังกล่าวใช้ในการระบุชื่อของ เครื่องพิมพ์ที่ผู้ใช้งาน ต้องการให้คำสั่ง lpr ส่งงาน ออกไปพิมพ์ใช้ในกรณี ที่มีการเชื่อมต่อ เครื่องพิมพ์มากกว่า หนึ่งเครื่องเข้ากับ เครื่องคอมพิวเตอร์หลัก หากไม่มีการเรียกใช้ตัวแปรนี้จะทำให้คำสั่ง lpr ส่งงานไปยัง เครื่องพิมพ์ที่ถูกกำหนดไว้ โดยปริยาย (default priner)

-r remove ผู้ใช้งานจะใช้ตัวแปรนี้เมื่อ ต้องการให้คำสั่ง lpr ลบไฟล์ที่สั่งพิมพ์ทิ้ง ไปเมื่อทราบว่าไฟล์ ดังกล่าวนั้นได้ถูกส่งไปยัง คิวเพื่อรอการพิมพ์เป็นที่เรียบร้อยแล้ว หากใช้ตัวแปร – r ร่วมกับ – s ก็จะทำให้คำสั่ง lpr ลบไฟล์ทิ้งเมื่อไฟล์ดังกล่าว ถูกพิมพ์ออกมา เป็นที่เรียบร้อยแล้ว

-wx width ใช้ร่วมกับตัวแปร – p เพื่อกำหนดความกว้างต่อหน้าของผลการพิมพ์ โดยแทนค่า x ด้วย เลขจำนวนเต็ม

-# x ใช้ระบุจำนวนชุดที่ต้องการพิมพ์ ผู้ใช้งานระบุจำนวนชุดในตำแหน่งของค่า x

ตัวอย่าง

ตัวอย่างแรกเป็นการใช้คำสั่ง lpr ร่วมกับตัวแปร – p เพื่อจัดหน้าก่อน การพิมพ์สำหรับไฟล์ mx5.txt ซึ่งจถูกพิมพ์ผ่านทางเครื่องพิมพ์ซึ่งได้รับการกำหนดโดยปริยาย

$ lpr – p mx5.tx

ในตัวอย่างที่สองผู้ใช้งานสั่งพิมพ์ไฟล์ชื่อ letter โดยกำหนดใช้ตัวแปร – m ซึ่งจะทำให้คำสั่ง lpr ทำการส่งจดหมาย อิเล็กทรอนิกส์ยืนยันไปยัง ผู้ใช้งานเมื่อการพิมพ์เสร็จ สิ้นลงแล้ว

$ ls – m letter

ตัวอย่างต่อไปเป็นการใช้คำสั่ง lpq เพื่อแสดงรายการไฟล์ซึ่ง ยังคงอยู่ในคิวการพิมพ์ สิ่งที่แสดงออกมาได้แก่ลำดับก่อนหลัง ของการพิมพ์ ชื่อของผู้สั่งพิมพ์เลขหมาย งาน ชื่อของไฟล์ และขนาดของไฟล์แต่ละไฟล์ จากตัวอย่างจะเห็นได้ว่าคิว ของงานซึ่งส่งไปยังเครื่องพิมพ์ชื่อ benjarong มีงานที่ยังคงค้าง อยู่ในคิวเป็นจำนวน 3 ไฟล์ด้วยกัน โดยที่ไฟล์แรกมี สถานะเป็น active ซึ่งหมายถึงกำลังถูกพิมพ์อยู่

$ lpq
benjarong is ready and printing

Rank Owner Job Files Total Size
active pairoj 189 mx5.txt 154000 bytes
1st wallaya 190 letter 29000 by tes
2nd bundhit 191 wkly_rpt 17893 butes

หากผู้ใช้งานมีความประสงค์จะดูคิว ในการพิมพ์สำหรับ เครื่องพิมพ์เครื่องอื่น ก็สามารถทำได้โดยการ ใช้คำสั่ง lpq ร่วมกับตัวแปร – P พร้อมทั้งระบุชื่อ เครื่องพิมพ์ที่ ต้องการ ตัวอย่างเช่น lpq – Paroon ซึ่งจะแสดงรายการภาย ในคิวสำหรับเครื่องพิมพ์ที่มีชื่อว่า aroon

ตัวอย่างที่สี่เป็นการสั่งยกเลิกงาน ที่อยู่ในคิวการพิมพ์โดยใช้คำสั่ง lprm ในกรณีของผู้ใช้งานทั่ว ไปจะสามารถใช้คำสั่งดังกล่าว ในการลบงานได้เฉพาะ ที่ตนเองเป็นผู้สั่งไว้เท่านั้น การสั่งลบงานที่ไม่ต้องการ นั้นทำได้โดยใช้คำสั่ง lprm ตามด้วยเลขหมายงานซึ่ง สามารถตรวจสอบได้จากการใช้คำสั่ง lpq ในตัวอย่างนี้ผู้ใช้งานชื่อ bundhit ต้องการ ยกเลิกงานพิมพ์ของ ตนเองซึงเมื่อตรวจสอบ โดยใช้คำสั่ง lpq แล้วพบว่า มีเลขหมายงานเป็น 191

$ lprm191

และสำหรับการลบงาน ที่อยู่ในคิวสำหรับเครื่องพิมพ์เครื่องอื่น ก็สามารถทำได้โดยการใช้ตัวแปร -P ตามด้วยชื่อของเครื่องพิมพ์ที่ต้องการ เช่นเดียวกับในกรณีของคำสั่ง lpq ที่ได้กล่าวมาแล้ว

ข้อมูลจาก วารสาร internet ฉบับ 28 ตุลาคม 2541 หน้า 68

mesg

เนื่องจากระบบปฏิบัติการ UNIX ได้รับการออกแบบมาใช้สนับสนุนการทำงานแบบหลายผู้ใช้งาน (Multiuser) โดยไม่จำกัดรูปแบบในการเชื่อมต่อ ซึ่งอาจเป็นได้ ทั้งการติดต่อระหว่างผู้ใช้งานซึ่งใช้งาน อยู่กับเครื่องคอมพิวเตอร์หลักเครื่องเดียวกัน ผ่านทางเทอร์มินัลต่างเครื่องกัน หรืออาจเป็นการติดต่อสื่อสาร ข้ามเครื่อง คอมพิวเตอร์กันโดยผ่านทางระบบเครือข่าย ซึ่งอาจเป็นระบบ LAN หรือใหญ่ถึงขั้นผ่านทางอินเทอร์เน็ต บรรดาโปรแกรมใช้งานที่นิยมใช้กัน ในระบบปฏิบัติการ UNIX สำหรับผู้ใช้งาน ได้พิมพ์ข้อความเพื่อพูดคุยกันโดยตรง ก็คือคำสั่ง write และ คำสั่ง talkอย่างไรก็ตาม ในบางครั้งผู้ใช้งานอาจ ไม่ประสงค์จะรับข้อความ ทั้งนี้อาจเพราะ กำลังยุ่งอยู่กับการทำงานผ่านทางหน้าจอ เทอร์มินัลของตนอยู่ในกรณีนี้ ระบบปฏิบัติการ UNIX ก็ได้จัดเตรียมคำสั่ง mesg ไว้สำหรับให้ผู้ใช้งานเลือกว่า จะยอมรับข้อความ ผ่านทาง session การทำงานของตนในปัจจุบันหรือไม่

การจัดรูปแบบคำสั่ง

mesg [y|n]

เนื่องจากคำสั่งนี้เป็นคำสั่งง่าย ๆ ไม่มีตัวแปรพิเศษใด ๆ เป็นออปชั่นสำหรับเลือกใช้งาน ผู้ใช้งานเพียงแต่พิมพ์คำสั่ง mesg แล้วตามด้วย y ในกรณีที่อนุญาต ให้มีการรับข้อความได้ หรือ n ในกรณีที่ไม่ต้องการรับข้อความ หากพิมพ์คำสั่ง mesg โดยไม่มีพารามิเตอร์ใด ๆ ต่อท้ายก็จะเป็นการถาม ระบบปฏิบัติการ UNIX ถึงสถานะการตั้งค่า ที่เป็นอยู่ในปัจจุบัน อนึ่งสำหรับระบบปฏิบัติการ UNIX โดยทั่วไปเมื่อผู้ใช้งานได้ทำการ login ผ่านเข้ามาสู่ระบบปฏิบัติการแล้ว โดยปกติค่า mesg ของตนจะได้รับการกำหนดเป็น y โดยอัตโนมัติ

ตัวอย่าง
ตัวอย่างแรกแสดงการใช้คำสั่ง mesg เพื่อปฏิเสธการรับข้อความจากผู้ใช้งานอื่นๆ

$mesg n

ตัวอย่างที่สองซึ่งเป็นตัวอย่างสุดท้าย เป็นการตรวจสอบสถานะการตั้งค่า ของการยอมรับข้อความโดยการใช้คำสั่ง mesg ซึ่งไม่มีตัวแปรใด ๆ ต่อท้าย เนื่องจากในตัวอย่างแรก ได้มีการกำหนดไม่รับข้อความ ไว้ก่อนดังนั้นผลที่ได้รับจากการตรวจสอบ จึงแสดงออกมาว่าผู้ใช้งานไม่ข้อรับความ
$mesg
is n

ข้อมูลจาก วารสาร internet ฉบับ 28 ตุลาคม 2541 หน้า 68

nohup

บ่อยครั้งบ่อยครั้งที่พบว่า ผู้ใช้งานระบบปฏิบัติการ UNIX ทำการ login เข้าสู่เครื่องคอมพิวเตอร์เพื่อ สั่งการทำงานอย่าง ใดอย่างหนึ่ง โดยมีจุดประสงค์ ให้การปฏิบัติงาน นั้นยังคงดำเนินต่อเนื่อง ต่อไปแม้ว่าตนจะได้ทำการ logout ออกจากเครื่องคอมพิวเตอร์แล้วก็ตาม ผู้ที่ทราบการทำงาน ของระบบปฏิบัติการ UNIX จะทราบดีว่างาน แต่ละอย่างที่ผู้ใช้งาน นั้นทำการสั่งการ จะถูกเรียกว่าโปรเซส และจะได้การกำหนด หมายเลข PID (Process Identification ) โปรเซสต่าง ๆ ที่ผู้ใช้งานสั่งการ นั้นอาจเป็น โปรเซสที่มีอายูสั้น เพียงช่วงระยะเวลา 1-2 วินาที หรือเป็นโปรเซสที่กินเวลา ในการทำงานนานมาก ๆ อย่างไรก็ตาม ทุก ๆ โปรเซสต่างก็ถือว่าเป็น ลูกหลานของโปรเซส login ของผู้ใช้รายนั้น เมื่อใดก็ตามที่ผู้ใช้งาน ได้ทำการ logout ออกจากระบบ ปฏิบัติการ บรรดาโปรเซสลูกต่างๆ ก็จะถูกกำหนดให้สิ้นสุด การทำงานลงทันที อย่างไรก็ตาม เพื่อเป็นการอำนวย ความสะดวกต่อผู้ใช้งาน ในกรณีที่ต้องการให้คำสั่ง หรือโปรเซสของตนยังคงทำงาน ต่อไปแม้จะให้คำสั่งหรือโปรเซสของตน ยังคงทำงานต่อไป แม้จะได้ทำการ logout ออกไปแล้ว จึงได้มีการกำหนดคำสั่ง nohup ขึ้นเพื่อการนี้โดยเฉพาะ

การจัดรูปคำสั่ง

nohup command – line

รูปแบบการจัด ใช้งานคำสั่ง เป็นไปอย่างง่าย ๆ โดยคำสั่ง nohup จะทำหน้าที่เรียกใช้งาน คำสั่งที่ตามท้าย พร้อมทั้ง กำหนดให้คำสั่งดังกล่าวยังคง ทำงานต่อไป แม้ว่าผู้สั่งใช้งาน จะได้ทำการ logout ออกจากระบบ UNIX แล้วก็ตาม คำสั่งนี้จะได้รับการ รวมเข้าเป็นหนึ่งในบรรดา คำสั่งภายในของเชลแบบซี ( C Shell )

ตัวอย่าง

เนื่องจากเป็นคำสั่ง ที่มีรูปแบบการใช้งานง่าย ๆ จึงมีตัวอย่างอธิบาย เพียงตัวเดียว โดยเป็นการกำหนด ให้ระบบปฏิบัติการ UNIX ทำการเรียกใช้คำสั่ง find แล้วปล่อยให้ทำงาน แบบหลังฉาก ( Background task) โดยไม่สนใจว่าผู้ใช้งาน จะทำการ logout ออกไปหรือไม่

$ nohup find/-namecore-print>corefiles.out&1279

ข้อมูลจาก วารสาร internet ฉบับ 29 พฤศจิกายน 2541 หน้า 76

ps

ดัวได้กล่าวไว้ว่างานต่าง ๆ ที่เกิดขึ้นในระบบปฏิบัติการ UNIX จะถูกเรียกว่าโปรเซส ( process) ซึ่งผู้ใช้งานแต่ละรายรวมไปถึงตัวของ ระบบปฏิบัติการเอง ต่างก็มีความจำเป็นจะต้อง ตรวจสอบรายชื่อ โปรเซสลูกหลานของตน เพื่อวัตถุประสงค์ต่าง ๆ กัน ระบบปฏิบัติการ UNIX ก็ได้มีการกำหนดคำสั่ง ps ขึ้นเพื่อเอื้อประโยชน์ต่อ ผู้ใช้งานทั่วไปและผู้ออกแบบโปรแกรม

การจัดรูปคำสั่ง

ps [options]

เมื่อผู้ใช้งานได้พิมพ์คำสั่ง ps จะทำให้ระบบปฏิบัติการ UNIX ทำงานรายงานรายละเอียด ของโปรเซสต่าง ๆ ที่เป็นของผู้ใช้งานซึ่ง กำลังทำงานอยู่ในช่วงเวลานั้น การใช้คำสั่ง ps โดยไม่ตามด้วยตัวแปรประกอบใด ๆ จะมีการรายงานรายละเอียดของโปเซสโดยแบ่งแยกออกเป็นคอลัมน์จำนวน5 คอลัมน์ โดยมีความหมายดังแสดงในตารางที่ 2

ตารางที่ 2

ชื่อหัวข้อ ความหมาย
PID process ID หมายเลขประจำโปรเซส
TT terminal แสดงหมายเลขประจำเครื่องหรือ เทอร์มินัล ที่เป็นผู้ทำให้เกิดโปรเซสนี้ขึ้น
STAT state ใช้ตัวอักษรซึ่งมีอยู่ทั้งสิ้น 4 ตัว สำหรับชี้แสดงถึงสถานะของโปรเซส ในปัจจุบันที่พบเห็นอยู่บ่อยๆ ก็ได้แก่ S(หยุดการทำงานไปไม่ถึง 20 วินาที) I (ไอ) (หยุดการทำงานไปมากกว่า 20วินาที) และ R (ยังทำงานอยู่)
TIME แสดงเวลานับตั้งแต่โปรเซสดังกล่าวได้รับการสร้างขึ้น มีหน่วยเป็น นาที : วินาที
COMMAND แสดงชื่อของคำสั่งซึ่งทำให้เกิดโปรเซสนี้ขึ้น

ตัวแปรที่เกี่ยวข้อง

-a all ใช้ในกรณีที่ต้องการให้มีการแสดง รายละเอียดทั้งหมดของโปรเซสต่าง ๆ ที่ได้รับการสร้างขึ้นผ่าน ทางเทอร์มินัลใช้งานปัจจุบัน

-l long ใช้ในการกำหนดแสดง รายละเอียดสถานะต่าง ๆ ของโปรเซสซึ่งประกอบไปด้วยข้อมูลจำนวนทั้งสิ้น 14 รายการต่อหนึ่งโปรเซส รายละเอียด และการอธิบายความหมาย ของข้อมูลแต่ละชุดมีแสดงอยู่ในตารางที่ 3

-u user ใช้กำหนดให้คำสั่ง ps ทำการแสดง รายละเอียดของผู้ใช้งานเพิ่มขึ้น โดยจะมีการแสดง ผลเพิ่มขึ้นอีกหนึ่งคอลัมน์โดยรายงานชื่อ login ของผู้ใช้งาน ที่ทำให้เกิด โปรเซสขึ้น

-w [w] wide เมื่อใช้ตัวแปรดังกล่าว จะเป็นการแจ้งให้คำสั่ง ps ทราบว่าผู้ใช้งานต้องการ ให้มีการรายงานผลเป็น แบบบรรทัด 132 ตัวอักษร แทนที่จะเป็น 80 ตัวอักษร ตามมาตรฐานปกติ โดยทั่วไปผลที่ได้ก็คือคำสั่ง ps จะยืดความยาวของชื่อ ของคำสั่งภายใต้ คอลัมน์ COMMAND ให้เหมาะสมกับเนื้อที่การแสดงผล แทนที่จะเป็นเพียงชื่อ ในกรณีปกติ และหากใช้คำสั่ง ps ร่วมกับตัวแปร -ww ก็จะทำให้มีการแสดงชื่อคำสั่ง แบบเต็มรูปแบบ (รวมไดเรคทอรีที่เกี่ยวข้อง) โดยไม่สนใจว่าความกว้าง ของหน้าจอหรือ วินโดว์ที่ทำการ แสดงผลเป็นเท่าใด

-x ใช้ตัวแปรนี้รวมกับคำสั่ง ps เพื่อให้รวมแสดงข้อมูล ของโปรเซสอื่น ๆ ซึ่งไม่มีการควบคุม จากเทอร์นินัลใด ๆ เช่นโปรเซส daemon ต่าง ๆ ที่เกิดขึ้นเองโดย ระบบปฏิบัติการหรือจากการ สั่งใช้งาน รวมถึงโปรเซส getty ซึ่งรอดักการ login ของผู้ใช้งาน ข้อควรจำใน การใช้งานคำสั่ง ps ก็คือ เนื่องจากตัวคำสั่ง ดังกล่าว ไม่สามารถรับรู้ถึง การแยกตัวแปรโดยเครื่องหมาย SPACE ได้ การพิมพ์ ตัวแปรจึงจำเป็นต้องทำให้ติดกัน โดยตามหลังเครื่องหมาย – ตัวอย่างเช่น ps-au จะถือเป็นคำสั่งที่ถูกต้อง ส่วน ps -a -u จะไม่ถือเป็นคำสั่งที่ ระบบปฏิบัติการ UNIX นำไปปฏิบัติได้

ตารางที่ 3

ชื่อหัวข้อ ความหมาย
F flagsแสดงรายละเอียดของแฟล็กที่เกี่ยวข้องกับโปรเซสแต่ละชุด
UID user ID แสดงหมายเลข user ID (UID) ชึ่งเป็นเจ้าของโปรเซสนั้น ๆ
PD process ID หมายเลขประจำโปรเซส process ID(PID) ของโปรเซสนั้น ๆ
PPID parent PID แสดงหมายเลข PID ของโปรเซสที่เป็นผู้ให้กำเนิดโปรเซสนั้น ๆ
CP central processor utilization ระบบปฏิบัติการUNIX จะใช้หมายเลขนี้ในการสร้าง หมายกำหนดการสำหรับ ดำเนินการสั่งการโปรเซสนั้น
RPI priorty แจ้งถึงระดับความสำคัญของโปรเซส ยิ่งค่านี้มีค่ามากเท่าใด ก็แสดงว่าโปรเซสดังกล่าว มีระดับความ สำคัญยิ่งน้อยเท่านั้น
NI nice เป็นตัวเลข ที่ถูกสร้างขึ้น โดยคำสั่ง nice ร่วมกับตัวระบบปฏิบัติการUNIX ใช้สำหรับการคำนวณ หาระดับความสำคัญของโปรเซส
SZ size รายงานถึงขนาดของส่วนประกอบหลักของโปรเซส มีหน่วยเป็นบล็อค
RSS resident set size แจ้งถึงขนาดขอหน่วยความจำหลักที่ถูกกันไว้ใช้งานให้กับโปรเซสดังกล่าว
WCHAN wail channel จะไม่มีการรายงาน ข้อความใด ๆ ในช่องนี้ สำหรับโปรเซสที่กำลัง ทำงานอยู่ใน กรณีของ โปรเซส ที่หยุดพักการ ทำงานชั่วคราว(sleep) หรือโปรเซสที่หยุดรอ(waiting)ช่องดังกล่าวจะแสดงถึง ชื่อของเหตุการณ์(event) ที่โปรเซสนั้นๆ กำลังรอคอยอยู่
STAT state ใช้ตัวอักษรซึ่งมีอยู่ทั้งสิ้น4ตัว สำหรับชี้แสดงถึงสถานะ ของโปรเซสในปัจจุบันที่พบ เห็นปรากฎอยู่บ่อย ๆ ก็ได้แก่ S ( หยุดการทำงานไปไม่ถึง 20 วินาที ) I (หยุดการทำงานไปมากกว่า 20 วินาที) และ R ( ยังทำงานอยู่ )
TT terminal แสดงหมายเลขประจำเครื่องหรือเทอร์มินัลที่เป็นผู้ทำให้เกิดโปรเซสนี้ขึ้น
TIME แสดงเวลานับตั้วแต่โปรเซสดังกล่าวได้รับการสร้างขึ้น มีหน่วยเป็น นาที:วินาที
COMMAND แสดงชื่อของคำสั่งซึ่งทำให้เกดโปรเซสนี้ขึ้น

ตัวอย่าง

ตัวอย่างเป็นการแสดงผลลัพธ์ที่ ได้จากการใช้คำสั่ง ps โดยไม่อ้างถึงตัวแปรใด ๆ ซึ่งจะเป็นการแสดง ข้อมูลเกี่ยวกับโปรเซสต่างๆ ซึ่งเป็นของตัวผู้ใช้งานรายนี้เอง จะเห็นว่า โปรเซสแรกก็คือ ตัวเซลที่ใช้งานอยู่ (sh) สำหรับโปรเซสตัวที่สองก็คือ โปรเซสการทำงานของตัว ps เอง

$ps
PID TT STAT TIME COMMAND
11059 11 S 0:08 -sh (sh)
11162 11 R 0:03 ps

ถ้าต้องการทรารายละเอียด เพิ่มเติมของโปรเซสที่เกิดขึ้นก็สามารถใช้คำสั่ง ps ร่วมกับตัวแปร -l ซึ่งจะให้ผลัวตัวอย่างที่สอง

$ps-l
F UID PID PPID CP PRI NI SZ WCHAN STAT TT TIME COMMAND
10249011 108 24059 1 0 15 0 108 S 11 0:07 -sh (sh)
10000002 108 24260 78 0 30 0 248 R 11 0:00 ps -l

ตัวอย่างที่เหลือ จะแสดงให้เห็นแนวทาง ในการนำคำสั่ง ps มาใช้ในการตรวจสอบหมายเลข PID ของโปรเซส ที่ถูกทิ้งให้ทำงาน แบบหลังฉากและ วิธิหยูดการทำงานของ โปรเซสดังกล่าว โดยใช้คำสั่ง kill อนึ่ง โดยทั่วไปสำหรับการสั่ง โปรเซสไห้ทำงานแบบหลังฉาก ผู้ใช้งานจะได้รับแจ้ง หมายเลข PID ของโปรเซส นั้นผ่านทางหน้าจอหลัง จากมีการพิมพ์คำสั่งลงไป จึงอาจไม่จำเป็นต้องใช้คำสั่ง ps ยกเว้นว่าจะจำ หมายเลข PID ไม่ได้ สำหรับในตัวอย่างที่สาม จะแสดงการสร้างโปรเซส ให้มีการทำงานแบบ หลักฉาก ทั้งนี้โดยใช้เครื่องหมาย & ปิดท้ายคำสั่ง จะเห็นว่าเมื่อทำการ ป้อนคำสั่งลงไป เชลจะทำการแจ้ง หมายเลข PID กลับมาให้ทราบทันที

$ fing / -namereport * -print >memo.out&
11478

สมมติว่าโปรแกรมดังกล่าว ใช้เวลาในการทำงานหลังฉาก นาน และผู้ใช้งานต้องการจะ หยุดการทำงาน กลางคัน ในกรณีที่จำหมายเลข PID ของโปรเซสดังกล่าว ไม่ได้ก็สามารถ ใช้คำสั่ง ps ในการตรวจสอบดังนี้

$ ps
PID TT STAT TIME COMMAND
11059 11 S 0:08 -sh
11478 11 R 0:07
find/-namereport*-print
11481 11 R 0:03 ps

เมื่อทราบหมายเลข PID แล้ว และต้องการยุติการทำงานของโปรเซสดังกล่างลงก็สามารถใช้คำสั่ง kill ตามด้วยหมายเลข PID ที่ทราบดังนี้

$ kill 11478

ข้อมูลจาก วารสาร internet ฉบับ 29 พฤศจิกายน 2541 หน้า 76

rcp
เชื่อว่าผู้ที่ใช้ระบบปฏิบัติการ unix หรือผู้สนใจทุกท่าน คงพอจะทราบว่า คำสั่ง ที่ใข้งานการทำสำเนาไฟล์ข้อมูลนั้นคือ คำสั่ง cp ซึ่งจะใช้ในกรณีของการทำสำเนาไฟล์ ภายในเครื่องคอมพิวเตอร์เดียวกัน เมื่อพัฒนาการของ การเชื่อมต่อเครื่องคอมพิวเตอร์ เป็นระบบเครือข่ายเกิดขึ้น จึงมีความต้องการทำ สำเนาไฟล์ข้อมูลจากคอมพิวเตอร์ เครื่องหนึ่ง ไปยังอีกเครื่องหนึ่ง โดยผ่าน ทางระบบเครือข่าย ด้วยเหตุนี้ จึงทำให้เกิดคำสั่ง rcp ขึ้นในระบบปฏิบัติการ unix เพื่อรองรับความต้องการใช้งานดังกล่าว

การจัดรูปคำสั่ง

rcp[option] source-file destination-file
rcp[option] source-file destination-directory

คำสั่ง rcp จะทำการทำ สำเนา (copy) ไฟล์ ที่ผู้ใช้งานได้ระบุชื่อไว้จากคอมพิวเตอร์ เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ซึ่งเชื่อมต่อกันผ่านทาง เครือข่าย คอมพิวเตอร์ สามารถแบ่งรูปแบบการทำงานออกได้เป็น 2 โหมด การทำงาน คือ การทำสำเนาไฟล์ จากชื่อไฟล์หนึ่ง ไปยังอีกชื่อไฟล์หนึ่ง หรือสำเนาไฟล์ไปยัง ไดเรคทอรีอื่น อาร์กิวเมนต์ source-file จะใช้ในการระบุ พาธ(path) ของไฟล์ต้นทางที่ต้องการทำสำเนา ในกรณีต้องการระบุชื่อ เครื่องคอมพิวเตอร์ ต้นทางก็จะทำการจัดรูปแบบ การอ้างอิงเป็นชื่อเครื่อง ต้นทาง:พาธ และสำหรับ อาร์กิวเมนต์ destination-file ก็จะเป็นการอ้างพาธ ปลายทาง ในกรณี ที่พาธปลายทางอยู่ในเครื่องคอมพิวเตอร์เครื่องอื่น ก็จะใช้รูปแบบการอ้างอิงเป็น ชื่อเครื่องปลายทาง: พาธ

ในกรณี ที่ต้องการทำสำเนาไฟล์ต้นทางจำนวนหลายๆ ไฟล์พร้อมกัน ผู้ใช้งานก็สามารถ อ้างถึงชื่อไฟล์ เหล่านั้นโดยพิมพ์ชื่อไฟล์เรียงกันไปตามลำดับ และหากต้องการทำสำเนาทั้งไดเรคทอรี ก็สามารถทำได้ โดยการเพิ่มตัวแปร -r นำหน้าชื่อไดเรคทอรีต้นทาง ในกรณีนี้ ผู้ใช้งานก็จำเป็นจะต้องระบุชื่อไดเรคทอรี ปลายทางไว้ด้วย ซึ่งอาจจะเป็นชื่อเดียวกันหรือต่างชื่อก็แล้วแต่ต้องการ

ตัวแปรที่เกี่ยวข้อง

– p preserve จะทำให้คำสั่ง rcp กำหนดค่าวันและเวลาที่ทำการสร้างสำเนาไฟล์ ในพาธปลายทางตรงกับ ค่าที่ระบุไว้ในไฟล์ต้นทาง หากไม่ระบุตัวแปรนี้ ไว้จะพบว่า ค่าวันและเวลาของไฟล์ในพาธปลายทางจะตรงกันวันเวลา ที่ได้ทำการสำเนาไว้
-r recursive ใช้ในกรณที่ต้องการทำสำเนาไดเรคทอรีไปยังพาธปลายทาง (ซึ่งก็จะเป็นไดเรคทอรีเช่นเดียวกัน) ในกรณีที่ภายในไดเรคทอรีต้นทาง มีไดเรคทอรีย่อยๆ อยู่อีก
คำสั่ง rcp ก็จะทำการสำเนาโครงสร้างและไฟล์ต่างๆ ที่อยู่ภายในไดเรคทอรีย่อย เหล่านั้นไปยังไดเรคทอรี ปลายทางให้ข้อควรจำสำหรับการใช้งาน คำสั่ง rcp ก็คือ ผู้ใช้งานจะต้องมี login account ของตนบนเครื่องคอมพิวเตอร์ ที่ต้องการจะอ่านหรือเขียนสำเนาไฟล์ ในกรณีที่มีการระบุชื่อเครื่องคอมพิวเตอร์ ที่ต้องการติดต่อในไฟล์ /etc/host.equiv ของเครื่องผู้ใช้งานแล้ว เมื่อทำการใช้คำสั่ง rcp อ้างถึงเครื่องคอมพิวเตอร์ นั้น ผู้ใช้งานก็จะไม่ถูกถามถึง password อีกแต่อย่างใด

ตัวอย่าง
ตัวอย่างแรกเป็นการสั่งทำ สำเนาไฟล์ทุกไฟล์ที่มีส่วนขยายเป็น “.txt” จากไดเรคทอรีใช้งานปัจจุบัน ของเครื่องคอมพิวเตอร์ที่ผู้ใช้งานทำงานอยู่ ไปยังไดเรคทอรีย่อยชื่อ archives บนเครื่องคอมพิวเตอร์ อีกเครื่องหนึ่งที่มีชื่อว่า nontri2 โปรดสังเกตุว่า เนื่องจากผู้ใช้งานไม่ได้ระบุพาธ เต็มของไดเรคทอรี ปลายทางในกรณีนี้ คำสั่ง rcp จะเข้าใจไปโดยปริยายว่า archives เป็นไดเรคทอรีย่อย หนึ่งในไดเรคทอรี ใช้งานของผู้ใช้งาน ภายในเครื่องคอมพิวเตอร์ nontri2 ซึ่งบรรดาไฟล์ทั้งหมด ที่ถูกทำสำเนาจะยังคงชื่อไว้ เป็นเช่นเดิม กับไฟล์ต้นฉบับ

$ rcp *.txt nontri2 : archives

ตัวอย่างถัดไปเป็นการสั่งทำสำเนาไฟล์ชื่อ works ซึ่งอยู่ภายใต้พาธ /home/pairoj ของเครื่องคอมพิวเตอร์ nontri4 มายังเครื่องคอมพิวเตอร์ของผู้ใช้งาน โดยไฟล์ที่ได้รับการสำเนา จะถูกเก็บไว้ภายใต้ไดเรคทอรี ใช้งานปัจจุบันของเครื่องคอมพิวเตอร์ ซึ่ง ผู้ใช้งานกำลังใช้งานอยู่

$ cp nontri4 : /home/pairoj/works

ตัวอย่างที่สามเป็นการสำเนาไฟล์ 2 ไฟล์ ที่มีชื่อว่า memo.new และ report จากเครื่องคอมพิวเตอร์ต้นทาง ไปยังเครื่องคอมพิวเตอร์ nontri4 ภายใต้ไดเรคทอรีใช้งานของ wallaya
$ rcp memo.new report nontri4 : /home/wallaya

ตัวอย่างสุดท้ายเป็นการทำสำเนาไฟล์ ทุกไฟล์ที่อยู่ภายใต้ไดเรคทอรี reports บนเครื่องคอมพิวเตอร์ nontri4 มาเก็บไว้ในไดเรคทอรี /my_report บนเครื่องคอมพิวเตอร์ของผู้ออกคำสั่ง ให้สังเกตุ การโหวต (quote) โดยใช้เครื่องหมาย ‘ ‘ ล้อมรอบการอ้างชื่อเครื่องคอมพิวเตอร์และพาธต้นทาง ในกรณีของการอ้างชื่อไฟล์ โดยใช้เครื่องหมาย ‘*’
$ rcp -p ‘nontri4: reports /*’ /my_report

ข้อมูลจาก วารสาร internet ฉบับ 32 กุมภาพันธ์ 2542 หน้า 66

rlogin
สำหรับกรณีของการใช้งานภายในระบบเครือข่ายคอมพิวเตอร์ บ่อยครั้งที่ผู้ใช้งานมีความต้องการ ทำ remote login session ไปยังเครื่องคอมพิวเตอร์อีกเครื่องหนึ่ง เช่นอาจต้องการเข้าไปตรวจสอบโครงสร้าง ไฟล์ หรือเปิดอ่านไฟล์ข้อมูลเสมือนหนึ่งนั่งทำงานอยู่หน้าจอเครื่องคอมพิวเตอร์ ที่อยู่ห่างออกไป นั้น ระบบปฏิบัติการ unix ได้เตรียมคำสั่ง rlogin สำหรับการทำงานในลักษณะนี้ ขึ้น โดยมีรูปแบบากรใช้คำสั่ง ง่ายๆ อนึ่งผู้ใช้สามารถ เลือกได้ว่าจะใช้คำสั่ง rlogin หรือ telnet ซึ่งจะได้กล่าวถึง ในบทความตอนต่อไป โดยทั้งสองคำสั่ง จะให้ผลในการทำงานไม่แตกต่างกันนัก

การจัดรูปคำสั่ง

rlogin [ option ] remote-computer

คำสั่ง rlogin จะทำการสร้างเซสชั่น (session) ของการ login จากเครื่องคอมพิวเตอร์ที่ตนใช้งานอยู่ไปยังเครื่องคอมพิวเตอร์ปลาย่างที่ระบุชื่อไว้ในอาร์กิวเมนต์ remote-computer โดยผ่านการเชื่อมต่อ ทางเครือข่ายคอมพิวเตอร์ โดยปกติแล้ว การ login เข้าสู่เครื่องคอมพิวเตอร์ปลายทางจะใช้ login account เดียวกันกับที่ใช้บน เครื่องคอมพิวเตอร์ต้นทาง เช่น ใช้ login account ชื่อ pairoj บนเครื่องคอมพิวเตอร์ต้นทาง เมื่อใช้คำสั่ง rlogin ไปยังเครื่องคอมพิวเตอร์ปลายทางแล้ว login account ที่ส่งไปยังเครื่องปลายทาง ก็ยังคงเป็น pairoj ด้วย ในกรณีที่ไม่ login account นั้นถูกสร้างอยู่บนเครื่องคอมพิวเตอร์ ปลายทาง เครื่องปลายทางจะทำการถาม login account ให้ผู้ใช้งานป้อนเข้าไปใหม่ ซึ่งเมื่อถึงขั้นนี้ ก็ต้องใช้ account อื่น ที่ทราบว่ามีการสร้างอยู่บนเครื่องคอมพิวเตอร์ปลายทาง แทน

ตัวแปรที่เกี่ยวข้อง
– l user-name ใช้ในกรณีที่ผู้ใช้งานต้องการ rlogin ไปยังเครื่องปลายทางโดยใช้ login account อื่นแทนที่จะเป็น ของตนเอง รายละเอียดขอให้ศึกษาจากตัวอย่างประกอบ

ตัวอย่าง
สมมุติให้ผู้เขียนมี login account ชื่อ pairoj อยู่บนเครื่องคอมพิวเตอร์ nontri3 และยังมีชื่อ wpairoj บนเครื่อง nontri4 ในกรณีที่ผู้เขียนใช้คำสั่ง rlogin จากเครื่องคอมพิวเตอร์ nontri3 ไปยังเครื่องคอมพิวเตอร์ nontri4 ก็ย่อมเป็นที่แน่นอนว่าผู้เขียนจะต้อง ถูกถามชื่อ login account ใหม่อย่างแน่นอน เพื่อเป็นการตัดปัญหา จึงใช้คำสั่ง rlogin ร่วมกับตัวแปร -l โดยระบุชื่อ login account ที่ต้องการใช้โดยตรง ดังแสดงในตัวอย่าง

$whoami
pairoj tty05 Oct28 20:00
$rlogin – l wpairoj nontri4
password

ข้อมูลจาก วารสาร internet ฉบับ 32 กุมภาพันธ์ 2542 หน้า 66

ruptime
ในการใช้งานเครื่องคอมพิวเตอร์บนเครือข่ายคอมพิวเตอร์ ไม่ว่าจะเป็นเครือข่ายขนาดเล็กหรือใหญ่ ก็ตาม บางครั้งผู้ใช้งานอาจต้องการทราบว่าบนเครือข่ายที่ตนกำลังใช้งานอยู่นี้มีเครื่องคอมพิวเตอร์อื่นๆ เชื่อมต่ออยู่ แต่ละเครื่องมีชื่อเรียกขายว่าอะไร และมีจำนวนผู้ใช้งานที่ยังคงทำการ loginอยู่เครื่องละเท่าใด สำหรับระบบปฏิบัติการ unix ก็ได้ออกแบคำสั่ง ruptime ขึ้นเพื่อใช้ในการรายงานข้อมูลดังกล่าว

การจัดรูปคำสั่ง

ruptime[opion]

โดยปกติคำสั่ง ruptime จะนับจำนวนผู้ใช้งานบนเครื่องคอมพิวเตอร์อื่นๆ แต่ละเครื่องโดยเลือกเฉพาะผู้ที่ทำการ login เข้ามาและมีภาวะการใช้งานอยู่ภายในช่วงหนึ่งชั่วโมงที่ผ่านมา นั่นหมายความว่าจะ ไม่นับรวมถึงผู้ใช้งาน ที่ทำการ login เข้าสู่เครื่องคอมพิวเตอร์แล้ว แต่ไม่มีการใช้งานใดผ่านมา ทางเทอร์มินัล ใช้งานเลยภายในช่วงชั่วโมงที่ผ่านมา หากต้องการให้นับรวมผู้ใช้งานกลุ่มดังกล่าวด้วย ก็จะต้องใช้คำสั่ง นี้ ร่วมกับตัวแปร -a

ตัวแปรที่เกี่ยวข้อง

-a all ใช้เพื่อกำหนดให้คำสั่ง ruptime ทำการนับจำนวนผู้ใช้งานทั้งหมดที่กำลังทำการ login อยู่ในปัจจุบัน โดยนับรวมไปถึงผู้ใช้งานซึ่งทำการ login เข้ามาแต่ไม่ได้ทำการป้อน คำสั่งใดๆ มามากกว่า หนึ่งชั่วโมง

ตัวอย่าง
ลองดูผลที่ได้จาการใช้คำสั่ง ruptime -a ซึ่งจะแสดงชื่อของเครื่องคอมพิวเตอร์ทั้งหมดที่เชื่อมต่ออยู่ กับเครือข่าย และจำนวนผู้ใช้งานทั้งหมดที่ทำการ login รวมถึงข้อมูลต่างๆ ดังนี้

$ ruptime -a
nontri1 up 39+10:32, 3 users, load0.12, 0.00,0.03
nontri3 up 14+18:11, 2 users, load1.32, 1.93,1.16
nontri4 up 19+22:52, 7 users, load0.55,1.12,0.96
nontri5 down 1+15:27,

จากข้อมูลแสดงออกมาสามารถอธิบายความหมายได้ดังนี้ คอลัมน์ที่ หนึ่ง เป็นชื่อเครื่องคอมพิวเตอร์ ที่เชื่อมต่ออยู่กับเครือข่าย คอลัมน์ที่สอง เป็นสถานะการทำงานของแต่ละเครื่องโดย up หมายถึงเครื่องที่ยังทำงานอยู่ และ down หมายถึงเครื่องที่หยุดทำงาน คอลัมน์ที่สาม เป็นการบอกเวลานับจาก เครื่องเริ่มทำงานหรือเครื่องหยุดทำงาน (แล้วแต่ว่าสถานะการทำงานจะเป็นอย่างไร) โดยแสดงค่าเป็นจำนวนวัน + ชั่วโมง : นาที คอลัมน์ที่สี่ จะแสดงจำนวนผู้ใช้งานที่ยังคง login อยู่กับเครื่องคอมพิวเตอร์ แต่ละเครื่อง ในตัวอย่างนี้ ใช้คำสั่ง ruptime ร่วมกับ ตัวแปร -a จึงเป็นการนับรวมผู้ใช้งานที่ทำการ login ค้างไว้แต่มิได้ติดต่อผ่านทางเทอร์มินัล มาเป็นเวลามากกว่า หนึ่งชั่วโมงไว้ด้วย คอลัมน์สุดท้าย เป็นกลุ่มตัวเลข3 ชุด ซึ่งแสดงค่าโหลดโดยเฉลี่ยของ คอมพิวเตอร์ แต่ละเครื่องที่เวลา 5 นาที 10 นาที และ 15 นาที ที่ผ่านมา เรียงจากซ้ายไปขวา

ข้อมูลจาก วารสาร internet ฉบับ 32 กุมภาพันธ์ 2542 หน้า 66

rwho
ในกรณีของผู้ใช้งานระบบปฏิบัติการ unix ซึ่งร่วมกันใช้งานเครื่องคอมพิวเตอร์เดียวกัน การที่จะตรวจสอบว่ามีผู้ใช้งานรายใดทำการ login อยู่บ้างนั้น สามารถกระทำได้โดยใช้คำสั่ง who แต่เมื่อพูดถึงการใช้งานภายในระบบเครือข่าย ที่ผู้ใช้งานจำนวนมากต่างเชื่อมต่อเข้ากับเครื่องคอมพิวเตอร์ ต่างเครื่องกัน เมื่อต้องการตรวจสอบว่ามีผู้ใช้งานรายใด เชื่อมต่ออยู่กับ เครือข่ายบ้าง ก็จำเป็นต้องใช้คำสั่ง rwho ซึ่งจะแสดงผลในลักษณะเดียวกัน

การจัดรูปคำสั่ง

rwho [option]

เราสามารถพิมพ์คำสั่ง rwho โดดๆ เพื่อให้ระบบปฏิบัติการ unix ทำการแสดงรายชื่อของผู้ใช้งานที่ login เข้าสู่ระบบเครือข่าย ซึ่งข้อมูลของผุ้ใช้งาน แต่ละรายที่ถูกนำขึ้นแสดง จะประกอบด้วยชื่อ login ของผู้ใช้งาน หมายเลขอุปกรณ์เทอร์มินัล เวลาที่ login เข้ามา และช่างระยะเวลาโดยรวมตั้งแต่ผู้ใช้งานกดคีย์บอร์ด เพื่อส่งข้อมูลเป็นครั้งสุดท้าย โดยปกติเมื่อใช้คำสั่ง rwho โดยไม่ตามด้วยตัวแปรใดๆ การแสดผลจะครอบคลุม เฉพาะผู้ใช้งานที่มิได้ป้อนข้อมูลเข้ามาในช่วงเวลาไม่เกิน 1 ชั่วโมง หากต้องการให้แสดง รายชื่อของผู้ใช้งานทั้งหมด ที่ยังมิได้ทำการ logout โดยรวมถึงผู้ใช้งานที่มิได้ป้อนข้อมูล มาเป็นเวลามากกว่า 1 ชั่วโมง ก็ต้องเพิ่มตัวแปร -a เข้าไปด้วย

ตัวแปรที่เกี่ยวข้อง
-a all ใช้เพื่อกำหนดให้คำสั่ง rwho ทำการแสดงข้อมูลของผู้ใช้งานทั้งหมดที่กำลังทำการ login อยู่ในปัจจุบัน โดยรวมถึงผู้ใช้งานซึ่งทำการ login เข้ามาแต่มิได้ทำการป้อนคำสั่ง ใดๆ มามากกว่าหนึ่งชั่วโมง

ตัวอย่าง

เป็นการแสดงการใช้งานคำสั่ง rwho ร่วมกับตัวแปร -a ซึ่งข้อมูลในคอลัมน์ที่ หนึ่ง ของแต่ละบรรทัดจะเป็นชื่อ login ของผู้ใช้งานแต่ละราย คอลัมน์ที่สอง แสดงชื่อของอุปกรณ์เทอร์มินัลที่ใช้งานอยู่ คอลัมน์ที่ สาม เป็นวันและเวลาที่ผู้ใช้งานทำการ login เข้ามายังระบบ คอลัมน์สุดท้าย จะแสดงระยะเวลาที่ผู้ใช้งานมิได้ทำการข้อนข้อมูลเข้ามานับตั้งแต่มีการกดปุ่มคีย์บอร์ด ครั้งสุดท้าย หากคอลัมน์ดังกล่าว ว่างเปล่าก็แสดงว่ายังมีการติดต่อสื่อสารกับระบบปฏิบัติการอยู่ในปัจจุบัน

$ rwho -a
pairoj nontri1 : tty01 dec16 20:15
thisun nontri5 : tty01 dec16 19:51 1:05
wllaya gem:tty06 dec16 20:01 :06

ข้อมูลจาก วารสาร internet ฉบับ 32 กุมภาพันธ์ 2542 หน้า 66

spell
ในกรณีของไฟล์ข้อความ(text file ) เช่นจดหมายหรือรายงาน ซึ่งโดยทั่วไปต้องการการตรวจสอบ ความถูกต้องของตัวสะกด ระบบปฏิบัติการ unix มีคำสั่ง spell ซึ่งจะทำการตรวจสอบตรวจสะกดของคำศัพท์ต่างๆ โดยเที่ยวจากไฟล์ ปทานุกรม (dictionary) ซึ่งถูกสร้างไว้เป็นมาตรฐานอยู่แล้ว ผุ้ใช้งานสามารถเพิ่มความสามารถของการตรวจตัวสะกดในกรณีของไฟล์ข้อความที่มีคำศัพท์ เฉพาะต่างๆ ได้

การจัดรูปคำสั่ง

spell [option] [+local-file][file-list]

การทำงานของคำสั่ง spell เริ่มจากการตรวจสอบคำต่างๆ ที่ปรากฏอยู่ในไฟล์ข้อความซึ่ง ผู้ใช้ป้อนชื่อเข้าไปในส่วนของ file-list ผู้ใช้งานสามารถป้อนชื่อไฟล์ ที่ต้องการตรวจสอบ ได้พร้อมๆ กัน มากกว่า 1 ไฟล์ โดยพิมพ์ชื่อไฟล์เรียงต่อกัน คั่นด้วยเครื่องหมาย SPACE คำสั่ง spell จะทำการเปรียบเทียบคำ ที่ปรากฏอยู่ในไฟล์ข้อความกับไฟล์ ปทานุกรมที่ถูกสร้างไว้เป็นมาตรฐาน แล้วว่ามีอยู่หรือไม่ ในกรณีที่ไม่พบคำใดปรากฏในไฟล์ปทานุกรมก็จะแสดง คำดังกล่าวให้ปรากฏขึ้นบนหน้าจอ ในกรณีของไฟล์ข้อความ ซึ่งมีคำสั่งทางเทคนิคเฉพาะทาง (Technical term) อยู่เป็นจำนวนมาก ผู้ใช้งานสามารถสร้างไฟล์ข้อความ ซึ่งเขียนคำศัพท์เหล่านั้น เรียงต่อกันบรรทัดละคำ เพื่อแทรกเข้าไปในชุดคำสั่ง โดยนำหน้าชื่อไฟล์นี้ (local-file) ด้วยเครื่องหมาย”+” ในกรณีที่คำสั่ง spell ไม่พบศัพท์เฉพาะ ดังกล่าวก็จะตรวจสอบจาก local-file แทน

ตัวแปรที่เกี่ยวข้อง

-v ใช้เพื่อกำหนดให้คำสั่ง spell แสดงรายการคำศัพท์ทั้งหมด ที่ไม่พบในไฟล์ปทานุกรม แต่คาดว่าน่าจะเป็นรากศัพท์เดียวกัน ขอให้ดูตัวอย่างประกอบ
-b British ใช้เพื่อกำหนดให้คำสั่ง spell เพิ่มความสามารถในการรับรู้การสะกดคำแบบอังกฤษแท้

ตัวอย่าง

ตัวอย่างของการใช้คำสั่ง spell จะเริ่มด้วยการแสดงไฟล์ข้อความที่ต้องการตรวจสอบ เริ่มจากการใช้คำสั่ง spell โดดๆ ซึ่งจะแสดงคำศัพท์ที่พบว่ามีการ สะกดผิดเรียงตามลำดับ ตัวอักษร จากนั้นจึงใช้คำสั่ง spell ตามด้วยตัวแปร -v เพื่อเพิ่ม การแสดงรายการคำศัพท์ ที่คาดว่ารากศัพท์น่าจะปรากฏอยู่ในไฟล์ ปทานุกรม

$ cat test_document
Here’s a sample document thai is tobe
User with th spell utilitey
It obviously needs proofing quitebadly.

$spell test_document
sample
th
tobe
utilitey

$ spell -v test_document
sample
th
tobe
utilitey
+ly badly
+’s Here’s
+s heeds
+ly obviously
+ing proofing
+d used

ข้อมูลจาก วารสาร internet ฉบับ 32 กุมภาพันธ์ 2542 หน้า 66

tar
ในการจัดการข้อมูลที่มีความสำคัญมากๆ เช่นระบบฐานข้อมูลลูกค้า ฐานข้อมูลสินค้า หรือข้อมูลจากการทดลองต่างๆ ซึ่งกระทำและจัดเก็บอยู่บนเครื่อง เวิร์กสเตชั่น หรือ มินิคอมพิวเตอร์ ซึ่งทำงานด้วยระบบปฏิบัติการ unix จำเป็นที่จะต้องมีการสำรองข้อมูลลงบนอุปกรณ์บันทึกข้อมูลภายนอกอยู่เสมอ เพื่อมิให้ข้อมูลเกิดการสูญหาย อันเนื่องมาจาก อุบัติเหตุที่อาจเกิดขึ้นกับ เครื่องคอมพิวเตอร์ ระบบปฏิบัติการ unix ทุกระบบมีการจัดเตรียมคำสั่ง tar (tape archive) ขึ้นสำหรับใช้ในการบันทึกข้อมูล จากเครื่องคอมพิวเตอร์ ไปยังเทปบันทึกข้อมูล หรือใช้ในการถ่ายข้อมูลจากเทปบันทึกกลับคืนไปบน ฮาร์ดดิสก์ ของเครื่องคอมพิวเตอร์ ในกรณีที่ต้องการกู้ข้อมูลกลับคืน (restoration)

การจัดรูปคำสั่ง

tar key [options] [file-list]

ผู้ใช้งานสามารถกำหนดตัวแปร key และ/หรือ options ร่วมกับการระบุจุดหมายปลายทาง ของการเขียนหรืออ่านไฟล์ที่ได้รับการบันทึกสำรองไว้ สำหรับรายละเอียด การใช้งานต่างๆ ขอให้ศึกษาดูจากตัวอย่างประกอบ การใช้งาน

ตัวแปรที่เกี่ยวข้อง

เนื่องจากในคำสั่งนี้ มีตัวแปรที่ผู้ใช้งานจะต้องเกี่ยวข้องด้วยเป็นจำนวน 2 ชุด คือตัวแปรชุด key และตัวแปรชุด options ทั้งนี้ผู้ใช้งานพึงทราบว่า การใช้งานคำสั่งดังกล่าว จะต้องระบุถึงตัวแปรชุด key ประกอบด้วยเสมอ สำหรับตัวแปรชุด options นั้นจะระบุหรือไม่ ขึ้นอยู่กับเงื่อนไขในการสั่งการของผู้ใช้งาน
ตัวแปร key

c create ใช้สั่งให้คำสั่ง tar ทำการลบข้อมูลเดิม ที่ได้เคยมีการเขียนไว้บนเทปบันทึกข้อมูล ระบุใช้ตัวแปรนี้ จะทำให้คำสั่ง tar ทำการอ้างถึงตัวแปร r ไปด้วยปริยาย

r write เป็นการสั่งให้คำสั่ง tar ทำการเขียนข้อมูลทั้งหมดที่ระบุในรายการ file-list จากด้านปลายสุด ของเทปบันทึกข้อมูล

t table of contents ใช้เพื่อให้คำสั่ง tar ทำการแสดงรายชื่อของไฟล์ทั้งหมด ที่ปรากฏอยู่ในรายการ file-list

u update ใช้ในกรณีที่ต้องการให้คำสั่ง tar ทำการตรวจสอบไฟล์ที่มีการบันทึกอยู่บนเทปบันทึกข้อมูลก่อนเพื่อ เปรียบเทียบกับรายการไฟล์ ที่ต้องการบันทึกลงในเทป หากพบว่าไฟล์ที่ต้องการบันทึก ยังไม่เคยมีการ จัดเก็บบนเทปมาก่อน หรือไฟล์ที่ต้องการ ได้รับการเปลี่ยนแปลงแก้ไข ซึ่งทำให้ขนาดหรือวันที่ของไฟล์ใหม่ ไม่ตรงกับ ของไฟล์เดียวกัน ที่ได้รับการบันทึก ลงเทปมาก่อนแล้ว คำสั่ง tar จึงจะทำการเขียนไฟล์เหล่านี้ลงบนเทป บันทึกข้อมูล การระบุใช้ตัวแปร u จะทำให้การทำงานของคำสั่ง tar ช้ากว่าโดยทั่วไป

x extract ใช้แจ้งให้คำสั่ง tar ทำการอ่านข้อมูลที่ระบุในตัวแปร file-list ซึ่งได้รับการเขียนลงบน เทปบันทึกข้อมูล หากผู้ใช้งานระบุตัวแปรนี้โดยไม่อ้างถึง file-list ใดๆ ก็จะหมาย ความว่า ให้คำสั่ง tar ทำการ อ้านไฟล์ทั้งหมด ที่ถูกเขียนเก็บไว้บนเทปบันทึกข้อมูล คำสั่ง tar จะรักษาคุณสมบัติต่างๆ ของแต่ละไฟล์ที่อ่านได้ ไม่ว่าจะเป็นชื่อ เจ้าของไฟล์ เวลาที่ได้รับการแก้ไข ครั้งล่าสุด สิทธิในการใช้งานไฟล์

ตัวแปร options

ผู้ใช้งานสามารถระบุตัวแปรในกลุ่ม options ตามหลังตัวแปรกลุ่ม key ได้โดยไม่ต้องมีเครื่องหมาย “-” นำหน้าเหมือนดังเช่นคำสั่งอื่นๆ ในระบบปฏิบัติการ unix

0-8 ผู้ใช้งานระบุตัวเลขตั้งแต่ 0-8 เพื่ออ้างถึงเลขที่ ของเครื่องบันทึกเทป ในกรณีที่มีการติดตั้งหลายเครื่อง โดยปกติเครื่องบันทึกเทปเครื่องแรก (รวมถึงกรณีมีเพียงเครื่องเดียว) จะได้รับการอ้างถึงด้วยหมายเลข 8

b block เมื่อระบุตัวแปรนี้ คำสั่ง tar จะถือว่าอาร์กิวเมนต์ที่อยู่ถัดไปจากตัวแปร b คือค่า blocking factor หากผู้ใช้งานมิได้ระบุตัวแปรดังกล่าว ค่าโดยปริยาย( default) จะเป็น 20 ข้อควรจำคือ ห้ามกำหนด ตัวแปรดังกล่าว ในกรณีที่ต้องการปรับ (update) ข้อมูลในเทปบันทึกข้อมูล

c ระบุตัวแปรดังกล่าวเพื่อให้คำสั่ง tar ทำการอ้างถึงชื่อไดเรคทอรีที่พิมพ์ตามหลังตัวแปร c เป็นไดเรคทอรีใช้งาน ปัจจุบัน ตัวแปรดังกล่าวให้ประโยชน์มากในกรณีที่ต้อง ทำการสำรองข้อมูลจากหลายๆ ไดเรคทอรี ด้วยการใช้คำสั่ง tar เพียงครั้งเดียว ตัวอย่างเช่น $ tar c -C /usr2/pairoj -C /usr/local ก็คือการระบุไดเรคทอรีต้นทางที่จะทำการสำรองข้อมูลเป็น /usr2/pairoj และ /usr/local ตามลำดับ

f file ระบุตัวแปรนี้ เพื่อระบุให้คำสั่ง tar ทำการอ่านหรือเขียนจากชื่ออาร์กิวเมนต์ ที่อยู่ตามหลังตัวแปร f แทนที่จะเป็นเครื่องบันทึกเทป ซึ่งได้รับการติดตั้งตามมาตรฐาน

h เป็นการระบุให้คำสั่ง tar ทำการบันทึกข้อมูล โดยการรักษาลิงก์เชื่อมโยงต่างๆ ที่มีต่อไฟล์ หรือไดเรคทอรีที่ถูกทำสำเนา

l links ใช้เพื่อให้คำสั่ง tar แสดงข้อความในกรณีที่ไม่สามารถดำเนินการรักษาลิงก์เชื่อมโยง ให้กับไฟล์ที่ ได้รับการสั่งให้ทำสำเนา

m modification time ใช้ในกรณีของการถ่ายข้อมูลจากเทปบันทึกกลับมายังเครื่องคอมพิวเตอร์ โดยเมื่อระบุตัวแปรดังกล่าวจะทำให้วันและเวลา ของไฟล์ที่ถูกสร้างขึ้นมาใหม่ เป็นไปตามวันเวลาจริง ที่ดำเนินการใช้คำสั่ง tar แทนที่จะเป็นวันเวลาเดิมที่ถูกบันทึกอยู่ในเทปบันทึกข้อมูล

v verbose ใช้เพื่อให้คำสั่ง tar ทำการแสดงรายชื่อ แต่ละไฟล์ที่ถูกเขียนหรืออ่าน หากใช้ตัวแปรดังกล่าว ร่วมกับตัวแปร t ก็จะเป็นการกำหนดให้คำสั่ง tar แสดงรายละเอียดเพิ่มเติม ของแต่ละไฟล์

w wait ใช้เพื่อกำหนดให้คำสั่ง tar หยุดถามยืนยัน ในการเขียนหรืออ่านไฟล์ ในเทปบันทึกข้อมูล แต่ละไฟล์ผู้ใช้งาน ตอบยืนยัน ด้วยการพิมพ์ y การระบุคำตอบเป็นอย่างอื่น จะเท่ากับเป็นการปฏิเสธซึ่ง ทำให้คำสั่ง tar โดดข้าม การดำเนินการไป

ตัวอย่าง
ตัวอย่างแรก เป็นการสำรองไฟล์ข้อมูลรวมทั้งไดเรคทอรีย่อยทั้งหมดที่ปรากฏภายใต้ไดเรคทอรี /home/pairoj ไปยังเทปบันทึกข้อมูล โดยใช้คำสั่ง tar ผู้เขียนระบุตัวแปร v เพื่อสั่งให้คำสั่ง tar ทำการแสดงรายชื่อไฟล์ทั้งหมดที่ถูกเขียนลงบนเทป คำสั่ง tar จะทำการลบ ข้อมูลเก่าทั้งหมดที่ปรากฏอยู่ก่อนหน้านี้

$ tar cp /home/pairoj
a /home/pairoj/letter 5 blocks
a /home/pairoj/memo 11 blocks
a /home/pairoj/mntes 27 blocks

สำหรับ ตัวอย่างที่สอง ยังคงเป็นการสำรองไฟล์ข้อมูลจากไดเรคทอรีเดิม ที่ได้กล่าวถึง เพียงแต่ว่าในบ้างครั้งนี้ มีการระบุชื่อเครื่องบันทึกเทป ไปเป็นชื่อ /dev/rmt1 พร้อมทั้งกำหนด blocking facktor เป็น 10 จะเห็นว่าผู้เขียน มิได้ระบุตัวแปร v จึงไม่มีการแสดงรายชื่อไฟล์ ที่ถูกเขียน และขอให้สังเกต ว่าผู้เขียน ปิดท้ายคำสั่ง ด้วยเครื่องหมาย & ซึ่งหมายถึงเป็นการสั่งให้คำสั่งดังกล่าวทำงานอยู่ หลังฉาก (backgruond process)

$ tar cbf 10 /dev/rmt1 /homepairoj &
3452
$ blocking facktor = 10

ตัวอย่างต่อไป เป็นการใช้คำสั่ง tar เพื่อแสดงรายการของไฟล์ข้อมูลที่ได้รับการบันทึกลงบนเทป บันทึกข้อมูลชื่อ /dev/rmt1

$ tar tvf /dev/rmt1
Tar: blocksize=10
rw-rw-rw- 201/0 4720 jan 22 10:19 1999 /home/pairoj/letter
rw-rw-rw- 201/0 10420 jan 22 10:19 1999 /home/pairoj/memo
rw-rw-rw- 201/0 27471 jan 22 10:19 1999 /home/pairoj/notes

ข้อมูลจาก วารสาร internet ฉบับ 33 มีนาคม 2542 หน้า 93

telnet
ในการทำงานกับระบบเครื่อข่ายคอมพิวเตอร์ มีบ่อยครั้งที่ผู้ใช้งานต้องการทำ remote login ไปยังเครื่องคอมพิวเตอร์เครื่องอื่นๆ ซึ่งเชื่อมต่ออยู่ด้วยกัน ผู้เขียนได้เคยกล่าว ถึงคำสั่ง rlogin ซึ่งสามารถ ตอบสนองความต้องการของผู้ใช้งาน ระบบปฏิบัติการ unix ตามที่ได้ เคยกล่าวไปแล้ว ในตอนนี้ จะขอกล่าวถึง อีกคำสั่งหนึ่ง ซึ่งได้รับความนิยม ใช้งานมาก นั่นก็คือคำสั่ง telnet

การจัดรูปคำสั่ง

telnet remote-computer

คำสั่ง telnet ทำงานโดยอยู่บนพื้นฐาน การรองรับของโปรโตคอลมาตรฐานที่มีชื่อว่า telnet protocol เพื่อการเชื่อมต่อจากคอมพิวเตอร์ ต้นทาง ไปยังเครื่องคอมพิวเตอร์ ปลายทาง โดยผ่านทางระบบเครือข่าย ไม่ว่าจะเป็นระบบWAN หรือระบบ LAN สำหรับตัวแปร remote-computer จะใช้ในการระบุ ชื่อ หรือเลขหมาย IP ของเครื่องคอมพิวเตอร์ ที่ต้องการติดต่อด้วย อนึ่ง ในการใช้งานคำสั่ง telnet ไปยังเครื่องคอมพิวเตอร์ปลายทางนั้น ผู้ใช้งานควรจะมี หรือทราบ login account ซึ่งตนสามารถใช้งาน ได้บนเครี่องคอมพิวเตอร์ ปลายทางด้วย มิฉะนั้น ก็จะไม่สามารถทำการ login ผ่านเข้าไปใช้งานได้

การใช้คำสั่ง telnet โดยมิได้ระบุชื่อ หรือเลขหมาย IP ของเครื่องคอมพิวเตอร์ ปลายทาง จะทำให้โปรแกรม telnet เข้าสู่โหมดการทำงาน แบบ commend ซึ่งผู้ใช้งานสามารถระบุคำสั่งควบคุมต่างๆ ได้ แม้ในขณะที่กำลังเชื่อมต่ออยู่กับ เครื่องคอมพิวเตอร์ปลายทางอยู่ (เรียกว่าโหมดการทำงานแบบ interactive) ผู้ใช้งานก็สามารถทำการสลับโหมดการทำงานมาเป็นแบบ command ได้ โดยการพิมพ์ เครื่องหมาย escape ซึ่งก็คือการกดปุ่ม control และ ] พร้อมๆกัน และเมื่อต้องการกลับสู่ โหมดการเชื่อมต่อ ก็ทำได้โดยเพียงกดปุ่ม return หนึ่งครั้ง ผู้เขียนจะขอกล่าวถึงคำสั่งย่อย ซึ่งผู้ใช้งานจะต้องเกี่ยวข้องด้วย เมื่ออยู่ในโหมด การทำงานแบบ interactive (สังเกตุจากเครื่องหมายพรอมต์ telnet>) ดังนี้

? help ใช้แสดงรายการคำสั่งย่อยทั้งหมด ในโปรแกรม telnet เมื่ออยู่ในโหมดการทำงานแบบ command

close ใช้ยุติการเชื่อมต่อกับเครื่องคอมพิวเตอร์ ปลายทาง ในกรณี ที่การเชื่อมต่อนั้นเกิดขึ้นโดยผู้ใช้งานระบุชื่อ เครื่องคอมพิวเตอร์ปลายทาง ร่วมกัยคำสั่ง telnet ตั้งแต่ตอนแรก เช่น telnet spider.iwv.com การใช้คำสั่งclose จะส่งผลให้โปรแกรม telnet ยุติการทำงาน และกลับเข้าสู่เชลล์ ทันที แต่หากการเชื่อมต่อนั้นเกิดขึ้นโดยผู้ใช้งานสั่งคำสั่ง open ขึ้นภายหลังจากที่เข้ามาอยู่ในโหมด การทำงาน แบบ command แล้ว การใช้คำสั่ง close ในภายหลัง ก็จะส่งผลเพียงให้กลับมาอยู่ในโหมดการทำงานแบบ command เท่านั้น

open remote-computer ในกรณีที่มิได้ระบุชื่อเครื่องคอมพิวเตอร์ ปลายทางร่วมกับคำสั่ง telnet ตั้งแต่แรก หรือระบุร่วมกันแล้ว แต่การเชื่อมต่อเกิดล้มเหลวขึ้น และต้องการเชื่อมต่อใหม่ ผู้ใช้งานก็สามารถ ใช้คำสั่งย่อย open ตามด้วยชื่อหรือเลขหมาย IP ของเครื่องคอมพิวเตอร์ ปลายทาง เพื่อสร้างการเชื่อมต่อขึ้นใหม่ได้

quit คำสั่งเพื่อออกจาการทำงานของโปรแกรม telnet

z ในกรณีที่ผู้ใช้งานใช้เชลล์แบบ c และกำลังอยู่ในโปรแกรม telnet ผู้ใช้งานสามารถหยุดการทำงาน ชั่วคราวเพื่อกลับมายังระบบเชลล์ของตน ได้โดยการพิมพ์ z ในขณะที่อยู่ในโหมดการทำงานแบบ command เมื่อต้องการกลับเข้ามาสู่โปรแกรม telnet อีกครั้ง ก็เพียงแต่พิมพ์ fg ที่ระบบเชลล์เท่านั้น

ตัวอย่าง

สำหรับตัวอย่างที่จะยกนำมาเสนอนี้ เป็นการใช้คำสั่ง telnet จากเครื่องคอมพิวเตอร์ ต้นทางชื่อ nontri ไปยังเครื่องคอมพิวเตอร์ชื่อ spider หลังจากใช้งานไประยะหนึ่ง ผู้ใช้งานต้องการสลับโหมดการทำงานไปเป็นแบบ command และใช้คำสั่งย่อย z กลับออกไปสู่ระบบปฏิบัติการเพื่อดำเนินภาระกิจบางอย่าง หลังจากเสร็จงานแล้ว จึงพิมพ์คำสั่ง fg ที่ระบบเชลล์ เพื่อกลับคืนสู่โปรแกรม telnet และกลับไปยังเครื่องคอมพิวเตอร์ปลายทาง เพื่อทำงานต่อไป จนกระทั่งเสร็จงานแล้ว จึงพิมพ์คำสั่ง logout ที่เครื่องคอมพิวเตอร์ปลายทาง เพื่อยุติการทำงานของโปรแกรม telnet กลับออกสู่ระบบปฏิบัติการ อนึ่ง ผู้ใช้งานอาจพิมพ์เครื่องหมาย ESCAPE เพื่อกลับมายังโหมดการทำงานแบบ command ก่อน แล้วจึงพิมพ์คำสั่ง quit ก็ได้ ซึ่งจะให้ผลเช่นเดียวกัน

nontri% telnet spider
Trying 192.6.1.112
Connected to spider.
Escape character is ‘^]’
SunOS UNIX (spider)
login: pairoj <——-login account ที่มีอยู่บนเครื่องคอมพิวเตอร์ปลายทาง
Password:
Last ligin : Friday Jan 21 22:07:00 from nontri

spider%
. <————————————–ผู้ใช้งานทำงานตามต้องการบนเครื่องคอมพิวเตอร์ปลายทาง
spider% CONTROL -] <——กดปุ่ม control และ ] พร้อมกัน
telnet> z <————————–โหมดการทำงาน command
nontri% <—————————ออกไปยังระบบเชลล์ของเครื่องต้นทาง
.
nontri% fg <————————กลับสู่โหมดการทำงานแบบ interactive
bravo% logout
connection closed by foreign host
nontri%

Leave a comment