ลีนุกซ์ (Linux)
Linux #
หน้าหลัก :: เกี่ยวกับลีนุกซ์ :: แนะนำหนังสือ :: แสดงเนื้อหาทั้งหมด ::
สนับสนุนให้ผู้เรียนรู้ มีความรู้เบื้องต้นเกี่ยวกับ LINUX System Administrator
บทเรียนที่แนะนำ Super User :: BusyBox :: ปัญหาที่พบในอดีต :: Linux SIS by ภัทระ เกียรติเสวี :: Linux Sim. by bellard ::
คลิ๊ปใช้ Term. Emu. ใน Tab10.1 :: บทเรียนการใช้คำสั่งพื้นฐาน :: Manual :: archive.org
สารบัญ
บทที่ 1 : คำสั่งพื้นฐานของลีนุกซ์ (android)
คำสั่ง id
คำสั่ง pwd
คำสั่ง ls
คำสั่ง ping
คำสั่ง netstat
คำสั่ง df
คำสั่ง du
คำสั่ง ps
คำสั่ง kill
คำสั่ง top
คำสั่ง date
คำสั่ง set (env)
คำสั่ง service
คำสั่ง mount, umount
คำสั่ง cd, mkdir, rmdir
คำสั่ง cp, rm, mv
คำสั่ง cat
คำสั่ง chmod
คำสั่ง chown
คำสั่ง grep

แม้ linux จะถูกริเริ่มโดย Linus Benedict Torvalds จาก University of Helsinki ที่พัฒนาในส่วนของ Linux Kernel แต่ปัจจุบันได้มีนักพัฒนาจากทั่วโลกเข้ามาร่วมเติมเต็มเขี้ยวเล็บ และยกระดับเป็นซอฟท์แวร์เชิงพาณิชย์ด้วยชื่อทางการค้าของตน แต่ก็มีอีกกลุ่มที่มุ่งมั่นพัฒนาสนับสนุนให้เป็น Open Source Operating System ที่เปิดให้ Download ไปติดตั้ง และใช้งานได้ฟรี รวมถึงการปรับปรุงเพิ่มประสิทธิภาพ และประยุกต์ใช้งานได้ โดยไม่หวังผลกำไร

ดังนั้น การใช้คำสั่งบน Bash Shell เพื่อสั่งงานระบบปฏิบัติการ จึงมีคำสั่งใหม่เพิ่มขึ้น คำสั่งเก่าหายไป หรือเปลี่ยนแปลงอยู่เสมอ ในหัวข้อนี้เป็นคำสั่งที่มักพบได้ใน Linux ทั่วไป โดยเฉพาะบน Android OS ที่เผยแพร่โดย Google ให้เป็นระบบปฏิบัติการสำหรับสมาร์ทโฟน (Smart Phone) มีส่วนแบ่งตลาดถึง 70% ใน Q4 ของปี 2013 ขณะที่ iOS มีส่วนแบ่ง 21.7% หากอุปกรณ์จะใช้คำสั่งบน Bash Shell หรือ Linux command line ก็เพียงแต่ Download Application เช่น Android Terminal Emulator

os/ebook
FundaOfUnix.pdf

บทที่ 2 : คำสั่งเกี่ยวกับระบบ
คำสั่ง man
คำสั่ง tail
คำสั่ง su sudo
คำสั่ง fsck
คำสั่ง lspci
คำสั่ง whereis
คำสั่ง find
คำสั่ง vi
คำสั่ง pico
คำสั่ง gzip
คำสั่ง tar
คำสั่ง last
คำสั่ง useradd
คำสั่ง userdel
คำสั่ง usermod
คำสั่ง chgrp
คำสั่ง crontab
คำสั่ง reboot, shutdown
ถ้าทำ root เครื่องสำเร็จ หมายถึง การทำให้อุปกรณ์ใช้คำสั่งข้ามข้อจำกัดที่ระบบปฏิบัติการออกแบบไว้ ก็จะสามารถติดตั้งโปรแกรมพิเศษได้ อาทิ busybox เป็นการเพิ่มคำสั่งให้เรียกใช้บน command line ได้อีกมาก
คำสั่งในหัวข้อนี้ มีให้ใช้ในอุปกรณ์ที่ root แล้ว และติดตั้ง busybox แต่ถ้าเป็นระบบปฏิบัติการอื่น อาทิ Fedora หรือ CentOS หรือ Debian หรือ Mint ก็จะใช้คำสั่งเหล่านี้ได้ ไม่จำเป็นต้องทำ root เหมือนบน Android
บทที่ 3 : คำสั่งเกี่ยวกับเครือข่าย
คำสั่ง nslookup
คำสั่ง telnet
คำสั่ง ifconfig
คำสั่ง route
คำสั่ง traceroute, tracert

Screen: JSLinux ที่เห็นก็คล้ายกับที่เราใช้ Terminal Emulator App
ที่พบใน Android ซึ่งใช้งานผ่าน Command Line ได้เหมือนกัน
ใช้คำสั่ง Whoami เพื่อให้รู้ตัวว่า "เราคือใคร" เหมือนชื่อหนังของเยอรมัน
บทที่ 4 : คำสั่งอื่น ๆ
คำสั่ง lynx
คำสั่ง emacs
คำสั่ง mkbootdisk
คำสั่ง rpm
คำสั่ง ntsysv
คำสั่ง chkconfig
คำสั่ง netcfg
คำสั่ง xinetd
คำสั่ง runlevel
คำสั่ง nmap
บทที่ 5 : Shell Script
5.1 สคริปท์บน Android การเลือกแบบ if
5.2 สคริปท์ การเลือกแบบ case
5.3 สคริปท์ ทำซ้ำแบบ while
5.4 สคริปท์ ทำซ้ำแบบ for
5.5 สคริปท์ ทำซ้ำแบบ until
5.6 สคริปท์ ฟังก์ชันที่สร้างเอง
บทที่ 6 : แนะนำเครื่องบริการ
6.1 slowaris.labs.pulltheplug.com (u:guest p:guest) 
6.2 academic.cmri.ac.th
6.71 se-ed.net (จดหมายแจ้งปรับปรุงระบบ)
6.72 thcity.com (เปลี่ยน Linux เป็น Windows)
บทที่ 7 : การใช้ application
7.1 วิธีใช้โปรแกรม FTP ส่งแฟ้มเข้าเครื่อง isinthai.com
7.2 การติดตั้งโปรแกรม .rpm ใน Redhat เพิ่มเติม
7.3 การติดตั้ง Secure Shell
บทที่ 8 : ระบบ file และ directory
8.1 การกำหนดค่าในแฟ้มต่าง ๆ
8.2 แฟ้มต่าง ๆ ที่ควรรู้จัก
8.98 การติดตั้ง Linux Redhat
8.99 การติดตั้ง Linux Redhat เมื่อแผ่น 2 ใช้ไม่ได้
บทเรียนการปรับจาก Redhat 9 เป็น Fedora core 4
  1. http://squirrelmail.org/download.php
    ใช้ #rpm -i squirrelmail-1.4.4-1.noarch.rpm
  2. imap ไม่พบใน core4 พบแต่ใน core1 สำหรับ core4 ใช้ dvecot-0.99.14 แทน และ setup เข้าไปเปิดบริการได้
  3. getsebool -a ใช้ดู SELinux Boolean ทั้งหมด
  4. ถ้าต้องการใช้บางโปรแกรม แต่ไม่พบใน setup ก็ต้องใช้ lynx download โปรแกรม
    #lynx ftp://ftp.nectec.or.th/pub/.3/Fedora/core/4/i386/os/Fedora/RPMS/vsftpd-2.0.3-1.i386.rpm
    #rpm -i vsftpd-2.0.3-1.i386.rpm
    #service vsftpd start
  5. พบปัญหาการเปิด ftp ใน xinetd และ vsftpd ชนกัน
    ต้องเข้าไปลบแฟ้ม vsftpd ใน /etc/xinetd.d
    เพื่อให้เหลือเฉพาะ vsftpd ใน /etc/init.d
    ถ้าชนกันจะพบคำว่า 500 OOPS: could not bind listening IPv4 socket จาก ftp ของ client
    ? มีเพื่อนชาวไทยโทรมาถาม แล้วผมก็ตอบอย่างที่เขียนไว้ด้านบนนี้
  6. แก้แฟ้ม /etc/vsftpd/vsftpd.conf
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
  7. คำสั่งตรวจสอบ server
    #rpm -qa|grep ftp
    #chkconfig --list
    #nmap -sT localhost
    #netstat -a|grep ftp
    #xinetd -d
  8. อ่านจาก http://www.itwizard.info/webboard/view.php?No=545
    ssl_disable = yes
    getsebool httpd_can_network_connect
    setsebool httpd_can_network_connect=1 (แต่ถ้า reboot ก็จะหาย)
    หรือ setsebool -P httpd_can_network_connect=1
    ถ้า set ค้าง ต้องเปิดแฟ้ม /etc/selinux/targeted/booleans.local มาแก้ไข
    ถ้า disable SELINUX จะพบปัญหาหลายอย่างน้อยลง เช่นปัญหาการเปิดบริการ DHCP ก็จะหาย
    โดยเปิดแฟ้ม /etc/selinux/config แล้วกำหนด SELINUX=disabled
  9. สำหรับ user ที่ต้องการใช้ ~user ให้กำหนด #chcon -R -t httpd_user_content_t public_html
  10. FC4 ใช้ dovecot แทน imap รายละเอียดใน 9.78
เรียบเรียงคำสั่ง ที่ใช้ทดสอบ LinuxSIS 5.0 (FC4)
  1. User: root Password: 123456
  2. ping www.thaiall.com
  3. ifconfig
  4. putty 192.168.1.3 Port 22 of SSH User:s01 Password:s01
  5. http://192.168.1.3 User: root Password: 123456
    + เว็บเมล, จัดการโฮมเพจ (Drupal), คลังรูปภาพ (Gallery2), บทเรียนออนไลน์ (Moodle), เปลี่ยนรหัสผ่าน
  6. pwd
  7. service --status-all
  8. top
  9. rpm -qa
  10. vi /etc/hosts เพิ่มคำว่า burin
  11. /etc/init.d/named restart
  12. ping burin
  13. cd /var/www/html/
  14. vi x.htm (for only root)
  15. http://192.168.1.3/x.htm
  16. cd /home/s01/public_html
  17. vi x.htm (for only root)
  18. cd /etc/httpd/conf and vi httpd.conf and Unmark #UserDir public_html
  19. /etc/init.d/httpd restart
  20. http://192.168.1.3/~s01/x.htm
  21. ftp 192.168.1.3 User:s01 Password:s01
  22. /etc/init.d/mysqld start (error)
  23. http://192.168.1.3/drupal/ (User: root Password: 123456 error)
  24. reboot
  25. เปิด firewall ด้วย setup และ enable ใน Firewall configuration
  26. เปิด Secure Shell ด้วย setup และ enable ใน System services
  27. tail -2000 /var/log/httpd/access_log | grep compose
  28. vi /etc/httpd/conf/httpd.conf
  29. ps -aux |grep nobody
  30. iptables -L แสดงนโยบายของ firewall ผ่านคำสั่งนี้
  31. iptables -A INPUT -p tcp -i eth0 --dport 25 -j REJECT (ปฏิเสธ port 25)
  32. host -t mx sanook.com
  33. iptables -L INPUT --line-numbers
  34. iptables -D INPUT 2
  35. vi /etc/dovecot.conf สำหรับเปิด protocols = imap imaps pop3 pop3s
แนะนำเว็บไซต์ (Website Guides)
  1. http://www.dd-wrt.com/wiki/index.php/Iptables_command
  2. http://www.linux.com/learn/tutorials/311278-stop-spam-on-your-postfix-server-with-spamassassin
  3. http://linux.about.com/library/cmd/blcmdl_1a.htm รวมคำอธิบายคำสั่ง Linux Command
  4. http://www.tldp.org/LDP/intro-linux/html/ Introduction to linux
  5. http://linux.thai.net (Thai Linux Working Group หรือ LTN) มีเรื่องน่าอ่านเยอะ
  6. http://www.thaiall.com/webserver การติดตั้ง webserver ด้วยหลาย ๆ โปรแกรม และหลายบริการ
  7. http://www.windowsnetworking.com/articles_tutorials/Windows_POP3_Service.html (ติดตั้ง pop3 ใน win2003)
  8. ฐาปกรวัจน์ นิ่มนวล tapakornwat@yahoo.com ให้ CD Fedora.com มา 4 แผ่น ผมจึงได้ทดสอบ
  9. http://www.thaifuture.50megs.com/Li_SUcomm.html (นำไปเผยแพร่ต่อ)
    บริการที่น่าสนใจ
  10. http://wq.apnic.net/apnic-bin/whois.pl?searchtext=161.202.192.248 (ตัวอย่างบริการของ apnic whois)
  11. http://www.maxmind.com/app/lookup (ดูชื่อประเทศ จากหมายเลข IP)
    งานเตรียมสอน Linux OS
  12. + สอน putty และ filezilla เพื่อ upload index.html เข้า web directory
  13. + Squid 2 จำกัด MAX_URL ที่ 4096 แต่ Squid 3 เป็น 8192
จำลองสภาวะแวดล้อม Linux : Text mode ให้ทำงานบน Browser
ถ้าต้องการใช้งาน linux command แบบจำลอง (simulator)
มีให้บริการที่ bellard.org ผ่าน browser
มี url คือ http://bellard.org/jslinux/
ตัวอย่างการทดสอบ tcc และ shell script
1. เมื่อเข้าไปแล้ว ดูรายการแฟ้มด้วยคำสั่ง ls -al
2. เปิด 2 windows ในเครื่องเดียวกันได้ จะพบว่าการทำงานแยก Shell กัน
3. สร้างแฟ้มได้ เช่น ls > x
4. สั่งแปล hello.c ได้ hello ที่ประมวลผลได้ด้วย tcc -o hello hello.c
5. สั่งประมวลผลด้วย ./hello พบคำว่า hello world
6. สร้าง shell script ด้วย echo ls > y
7. เพิ่มคำสั่ง ใหม่ใน y ด้วย echo ifconfig -a >> y
8. ถ้าทำให้ y เป็น shell script ก็ใช้ chmod 744 x ได้
9. สั่งประมวลผลด้วย ./y
เครื่องมือตรวจสอบประสิทธิภาพของ Linux
ระบบปฏิบัติการ Linux ประกอบด้วยหลายส่วนแบ่งเป็นชั้นในสุด ถึงชั้นนอกสุด คำสั่งที่ใช้ดูการทำงานของแต่ละส่วนก็แตกต่างกันไป แผนภาพนี้ถูกพูดในงาน LinuxCon Europe 2014 โดย Brendan Gregg โดยแยกอธิบายเป็นส่วน และตัวอย่างผลการใช้เครื่องมือแต่ละชิ้น (ดูคลิ๊ปแล้ว เหมือนนั่งอยู่ในที่ประชุม 50 นาที)
+ https://www.youtube.com/watch?v=SN7Z0eCn0VY
วัตถุประสงค์ของเว็บไซต์ 1. เพื่อรวบรวมประสบการณ์ของผู้เกี่ยวข้องกับการใช้งานระบบปฏิบัติการลีนุกซ์ แล้วแบ่งปัน
2. เพื่อเป็นแหล่งอ้างอิงสำหรับนักศึกษา เพื่อนของผม และผู้สนใจ
3. เพื่อรับข้อซักถาม ข้อเสนอแนะ และข้อคิดเห็น แล้วนำมาปรับปรุง
เอกสารอ้างอิง
[1] สถิตย์ เรียนพิศ, "ติดตั้งและบริหารระบบ Web Hosting ด้วย ispCP Omega", บริษัทไอดีซี พรีเมียร์ จำกัด., นนททบุรี, 2553.
[2] ภัทระ เกียรติเสวี, "สร้างอินเทอร์เน็ตเซิร์ฟเวอร์ด้วยลีนุกซ์", บริษัท ซีเอ็ดยูเคชั่น จำกัด, กรุงเทพฯ, 2542.
เริ่มเรียบเรียงข้อมูล 4 ตุลาคม 2543 (มาตรฐาน xhtml และ css)

http://goo.gl/72BPC