feature-image-unix-101-for-beginner
feature-image-unix-101-for-beginner

จริงๆการใช้คําสั่ง Unix มันเป็นอะไรที่ Developer/QA หรือ สายนี้ต้องใช้ให้เป็นมากๆเลย เพราะไม่ว่าเราจะทํา Application อะไรก็ตาม Server ส่วนใหญ่ก็จะเป็น Unix อยู่แล้ว (นอกจากแกเล่นใช้ MS Server น่ะ ช้าไปนิดแต่ก็…อืมๆ)

เพราะฉะนั้นเรามาเรียนรู้คําสั่งพื้นฐานของ Unix และ Permission กันดีกว่า

Unix Cheat Sheet

CommandDescriptionExample
cd คําสั่งเปลี่ยน directory (จริงๆตรงตัวมาก เพราะมันย่อมาจาก change directory) cd DIRECTORY
cp copies of files and directory cp [OPTION] SOURCE DEST
ls Lists the contents of a directory ls [OPTION] FILE โดยปกติจะใช้ option พวก -l เพื่อแสดงถึงรายละเอียดของ directory นั้นๆซึ่งอาจจะมีพวก permission และอื่นๆ
mkdir Make directory mkdir [OPTION] DIRECTORY
chmod change permissions of files/ directories ใช้ chmod [OPTION] permissions filename
cat ย่อมาจาก catenate ใช้แสดงข้อมูลที่อยู่ในไฟล์ cat [OPTION] [FILE…]
grep ย่อมาจาก global regular expression print ตัวนี้ตัวเด็ดเลยเวลาทํางานบน unix เพราะมันสามารถใช้ search process และ text files หรืออื่นๆได้ทั้งหมด grep [OPTIONS] PATTERN [FILE…]
rm ตรงๆเลย remove rm [OPTION] FILE
history อันนี้ไว้โชว์คําสั่งที่เราเคยใช้ไป ว่ามีอะไรที่เราใช้ไปแล้วบ้าง history
ps โชว์ process ที่กําลังทํางานอยู่ ps [OPTIONS]
kill ใช้ในการส่ง signal ไปที่ process ต่างๆ ส่วนมากก็ไว้ใช้จัดการ process ที่ค้าง หรือไม่ใช้งานแล้วนั่นแหละ kill [-s] [-l] %pid ตัว s ย่อมากจาก signal และ l มาจาก list ของตัวที่ต้องการจะ kill
| หรือ pipe มีหน้าที่ในการส่งต่อข้อมูลของ output ใน command แรกไป command ที่สองเพื่อใช้จัดการต่อ ps -ax | grep Finder เป็นต้น
>> หรือ append มีหน้าที่ในการ เอา Output ของ command แรกไปลง disk ps -ax >> processes.txt ตัวนี้ก็คือเอา Process list ทั้งหมดไปลงในไฟล์ชื่อ Processes.txt นั่นเอง
duเพื่อใช้ estimate file size ที่ใช้ du -sh <<directory>>

ตัวที่มันจะมีรายละเอียดเพิ่มเติมหน่อยคือเรื่องของ Permission นอกนั้นเราสามารถไปหา options เล่นเวลาใช้งานจริงได้เองอยู่ละ

Permission

เวลาเปลี่ยน chmod มันจะไปเกี่ยวกับ 3 กลุ่มคือ

  1. User
  2. Group
  3. Other

โดยตัวอย่างทั่วไปเวลาเราเห็น permission คือ

drwxrwxrwx

เป็นต้น

ต้องลองมองออกมาเป็นกลุ่มๆแบบนี้ d | rwx | rwx | rwx ซึ่งจะแบ่งได้เป็น

  1. เจ้าตัว d เนี่ยหมายถึงเป็น directory หรือไม่
  2. กลุ่มที่สองคือส่วนของ Permission ของ Owner
  3. Permission ของ Group ที่  other user อยู่ในกลุ่มนั้น
  4. และกลุ่มสุดท้ายคือ Other กลุ่มอื่นๆที่ไม่ได้อยู่กรุ๊ปแล้วต้องการจะ Interact กับ file/directory นั้นๆ

จริงๆเวลาเราเปลี่ยน Permission ของไฟล์นั้นๆ เราสามารถทําได้โดยการกําหนดแบบด้านล่างนี้

chmod u=rwx,g=rx,o=r myfile

ซึ่งจะเห็นว่ามันยุ่งยากทีเดียว ถ้าให้ง่ายเราจะใช้เป็นตัวเลขรวมของกลุ่มนั้นๆจะทําให้สะดวกและเร็วกว่าเยอะ เช่น

chmod 777 myfile
# แปลว่าทุกกลุ่มทุกคนสามารถยุ่งกับไฟล์นี้ได้หมด

แล้วตัวเลขที่จะใส่มาจากไหน? ง่ายมากผลรวมของ permission นั้นๆ โดยรวมจากด้านล่างนี้

  • Read = 4
  • Write = 2
  • Execute = 1

เพระาฉะนั้นถ้าบอกว่า 7 คือหมายถึง Read (4) + Write (2) + Execute (1) = 7 นั่นเอง และแปล่วาทุกคนสามารถใช้งานได้

Summary

สรุปโดยรวมพวกนี้เป็นคําสั่งที่น่ารู้และเข้าใจไว้ เวลาไปใช้งานพวก unix จะได้ไม่งง เป็นพื้นฐานที่เราใช้กันบ่อยๆเลย

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.