Linux03

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 3-12-2555

ดูแลโดย WIBOON


Linux 03: การใช้งานลินุกซ์เบื้องต้น


รายละเอียด


เรียนรู้โครงสร้างแฟ้มแบบลินุกซ์

  1. ลินุกซ์ใช้โครงสร้างระบบจัดการแฟ้มเรียกว่า filesystem มีโครงสร้างเริ่มต้นจาก / อ่านว่า root
  2. ลินุกซ์สร้างแฟ้มแทนอุปกรณ์ hardware แต่ละตัวไว้อยู่ภายใต้ directory ชื่อ /dev
  3. ลินุกซ์ไม่ใช้ drive C:, D:, E: .... แทน partition ของ hard disk แบบ MS WINDOWS
  4. hard disk ลูกแรก ถูกมองเห็นเป็น /dev/sda, ลูกที่สองเป็น /dev/sdb เป็นลำดับไปเรื่อยๆ
  5. partition แรกของ hard disk ลูกแรกคือ /dev/sda1, partition สองของ hard disk ลูกแรกคือ /dev/sda2 เป็นลำดับไปเรื่อยๆ


เรียนรู้ผังโครงสร้างแฟ้ม

  1. ผังโครงสร้างการจัดการแฟ้มข้อมูลลำดับชั้นแรกหรือยอดสุดคือ / เรียกว่า root
  2. /bin เก็บแฟ้มโปรแกรมคำสั่งต่างๆที่สามารถเรียกใช้แบบ text ผ่าน terminal ได้
  3. /boot เก็บแฟ้มที่จำเป็นต่อการเริ่มต้นบูตของระบบคือ kernel, RAM disk image และที่เกี่ยวกับ boot loader
  4. /dev เก็บแฟ้มเพื่อใช้เป็นจุดเชื่อมต่อกับอุปกรณ์ต่างๆ
  5. /etc เก็บแฟ้มข้อมูลปรับแต่งระบบ
  6. /home เก็บแฟ้มของ user ต่างๆในระบบ
  7. /lib เก็บแฟ้ม libraries และ kernel modules
  8. /media เป็นตำแหน่งสำหรับการ mount อุปกรณ์ที่ต่อพ่วง เช่น hard disk, floppies, CDs, DVDs เป็นต้น
  9. /mnt เป็นตำแหน่งสำหรับการ mount อีกแห่ง สำหรับการเชื่อมต่อ เช่น network filesystems
  10. /opt เก็บแฟ้มโปรแกรมต่างๆที่ผู้ใช้จัดทำขึ้นเอง ไม่ได้ถูกดูแลจัดการด้วย package manager
  11. /proc เป็นพื้นที่จำลองสงวนไว้สำหรับ kernel ติดต่อกับ process
  12. /root เป็นพื้นที่หรือรังของ root ซึ่งจะไม่ได้อยู่ที่ /home
  13. /sbin เก็บแฟ้มโปรแกรมคำสั่งต่างๆที่อนุญาตให้เฉพาะสิทธิ์ root จึงจะใช้งานได้
  14. /srv เป็นพื้นที่สำหรับเก็บข้อมูลในการบริการเช่น FTP
  15. /sys เป็นพื้นที่จำลองสงวนไว้สำหรับให้ kernel ติดต่อกับ system
  16. /tmp เป็นพื้นที่เก็บแฟ้มชั่วคราว
  17. /usr แฟ้มโปรแกรมคำสั่งหรือโปรแกรมประยุกต์ การใช้งานส่วนใหญ่แล้วจะเก็บไว้ที่ /usr นี้
  18. /var เก็บแฟ้มข้อมูลที่มีการเปลี่ยนแปลงบ่อย เช่น log ต่างๆ ตัวอย่างคือ /var/log
  19. /var/www เป็นพื้นที่บริการ http server


คำสั่งแรกๆที่ใช้งาน

  1. คำสั่งดูว่าระบบได้ mount อุปกรณ์ใดบ้าง ไปที่ directory ใดบ้าง ดูขนาดพื้นที่การใช้งานของ file system ด้วยคำสั่ง
    df -h
  2. คำสั่งดูข้อมูลของ hard disk
    sudo fdisk -l
    หมายเหตุ 1:
    - ลินุกซ์มี user ที่มีสิทธิ์ระดับสูงสุดเรียกว่า root เทียบเท่ากับ Administrator บน MS WINDOWS
    - ลองคำสั่ง fdisk -l จะไม่ได้คำตอบอะไรออกมาเลย เนื่องจากคำสั่ง fdisk ต้องใช้สิทธิ์ระดับ root
    - บนลินุกซ์สามารถใช้คำสั่งด้วยสิทธิ์ระดับ root ด้วยการป้อนคำว่า sudo นำหน้าคำสั่งที่ต้องการ
    หมายเหตุ 2:
    - ลินุกซ์ใช้ filesystem ที่ format เป็นแบบ ext2, ext3 และ ext4
    - ext3 ก็คือ ext2 แต่เพิ่มความสามารถให้ scandisk ซ่อมปรับปรุงตัวเองได้โดยอัตโนมัติตามความจำเป็น
    - ext4 ก็คือ ext3 แต่เห็นความจุ hard disk ได้เกิน 2 TB ส่วน ext3 เห็นความจุ hard disk ได้ไม่เกิน 2 TB
  3. คำสั่งดูข้อมูล hardware ต่างๆ
    sudo lshw
    หรือต้องการดูแบบใช้ปุ่มลูกศรเลื่อนขึ้นลงดูส่วนอื่นๆที่เลยหน้าจอได้
    sudo lshw | less
  4. คำสั่งดูข้อมูล lan card
    ifconfig eth0
  5. คำสั่งดูข้อมูล gateway
    route -n
  6. คำสั่งดูข้อมูล dns server
    cat /etc/resolv.conf
  7. คำสั่งดูข้อมูลการต่อ ethernet
    sudo mii-tool eth0
  8. คำสั่งดูว่าเซิร์ฟเวอร์ของเราเปิด port ใดบ้างเพื่อให้บริการ
    netstat -lntu
    หรือ
    sudo netstat -lnptu
  9. โปรแกรม nano ใช้แก้ไขแฟ้มข้อมูล หรือ สร้างแฟ้มใหม่ก็ได้ เช่น
    สร้างแฟ้มใหม่ชื่อ test
    nano test
    บันทึกด้วยการกดแป้น Ctrl และ X เพื่อออก, จากนั้นกดแป้น Y เพื่อยืนยันว่าจะบันทึก และ ตั้งชื่อแฟ้ม แล้วกดแป้น Enter
  10. กรณีแก้ไขข้อมูลแฟ้มของระบบต้องเติม sudo นำหน้าด้วย เช่น แก้ไขชื่อเครื่อง
    sudo nano /etc/hostname
    และ
    sudo nano /etc/hosts
  11. คำสั่งดูว่ามีแฟ้มอะไรบ้าง แสดงวันที่และเวลาที่สร้างแฟ้มด้วย
    ls -l /
    ls -l /home/mama
    ls -l /var/log
    ls -l /tmp
  12. ดูขนาดพื้นที่การใช้งานของ directory ต่างๆใช้คำสั่งประมาณว่า
    sudo du -sh /var/*

ดูข้อมูลเกี่ยวกับ log

  1. เกี่ยวกับ system log
    ดูด้วยคำสั่งที่เลื่อนขึ้นลงได้ หยุดด้วยกดแป้น Q
    less /var/log/syslog
    ดูด้วยคำสั่งแสดงเฉพาะส่วนท้าย
    tail /var/log/syslog
    ดูว่ามี log เพิ่มเติมอะไรบ้าง ณ เวลาล่าสุด ไปเรื่อยๆ หยุดด้วยกดแป้น Ctrl + C
    tail -f /var/log/syslog
    กดแป้น Ctrl+C

  2. ดู kernel log
    less หรือ tail หรือ tail -f ตามด้วย /var/log/kern.log
  3. ดู user authentication log
    less หรือ tail หรือ tail -f ตามด้วย /var/log/auth.log


(option) การใช้คำสั่งเกี่ยวกับ USB disk กรณีที่เซิร์ฟเวอร์ไม่ติดตั้ง Graphic User Interface

  1. ต้อง mount partition ไปยัง directory ปลายทางก่อน ระบบจึงจะใช้งาน partition นั้นได้ เช่น เมื่อเสียบ usb disk ระบบจะเตือนว่ามีอุปกรณ์เพิ่มคือ /dev/sdb
  2. คำสั่งดูว่าระบบได้ mount อุปกรณ์ใดบ้าง ไปที่ directory ใดบ้าง
    df -h
  3. คำสั่งดูข้อมูลของ hard disk ว่าหลังจากเสียบ USB disk แล้วจะมี partition เพิ่มขึ้น
    sudo fdisk -l
  4. คำสั่ง mount partition ชื่อ /dev/sdb1 ไปยัง directory คือ /mnt/usbdisk ทำดังนี้
    sudo mkdir -p /mnt/usbdisk
    sudo mount /dev/sdb1 /mnt/usbdisk

  5. คำสั่งดูว่าระบบได้ mount USB disk แล้ว
    df -h
  6. คำสั่งดูว่ามีแฟ้มอะไรบ้าง แสดงวันที่และเวลาที่สร้างแฟ้มด้วย
  7. ls -l /mnt/usbdisk
  8. คำสั่ง unmount partition ชื่อ /mnt/usbdisk ทำดังนี้
    sudo umount /mnt/usbdisk