หน้าเว็บ

วันอาทิตย์ที่ 15 มิถุนายน พ.ศ. 2557

Linux Command Reference

สวัสดีครับทุกท่าน ทุกท่านได้ใช้ Linux Command Reference กันไม่มากก็น้อยครับ วันนี้ผมขอนำเสนอ Linux Command Reference สำหรับนำไปใช้งานจริงครับ คำสั่งพวกนี้เป็นพื้นฐานสำหรับการสั่งงานลินุกซ์ในโหมดที่ไม่ใช่กราฟิก

ข้อมูลระบบ

  • แสดงวันและเวลาปัจจุบัน: date
  • แสดงปฏิทินของเดือนนี้: cal
  • แสดงช่วงเวลาปัจจุบัน: uptime
  • แสดงที่อยู่ในสถานะออนไลน์: w
  • คุณเข้าสู่ระบบในฐานะ: whoami
  • แสดงข้อมูลเกี่ยวกับผู้ใช้: finger user
  • แสดงรายละเอียดของลินุกซ์เคอร์เนล: uname -a 
  • ข้อมูล CPU: cat /proc/cpuinfo
  • ข้อมูลหน่วยความจำข้อมูล: cat /proc/meminfo
  • แสดงการใช้งานดิสก์: df
  • ดูการใช้งานพื้นที่ของไดเรกทอรี: du
  • แสดงหน่วยความจำและหน่วยความจำสลับ: free

ค้นหา

  • ค้นหารูปแบบในแฟ้ม: grep pattern files
  • ค้นหาrecursively สำหรับรูปแบบใน dir: grep -r pattern dir 
  • ค้นหารูปแบบการแสดงผลของคำสั่ง: command | grep pattern 
  • เริ่มต้น ด้วยไดเรกทอรีราก ค้นหาแฟ้มชื่อแฟ้ม: find / -name filename 
  • เริ่มต้น ด้วยไดเรกทอรีราก ค้นหาแฟ้มประกอบด้วยชื่อแฟ้ม: find / -name ”*filename*”
  • ค้นหาแฟ้มที่ชื่อว่าชื่อที่ใช้ค้นหาตำแหน่งคำสั่ง นี้ถือว่า คุณได้สั่งใช้ updatedb แล้ว: locate filename
  • สร้างหรือปรับปรุงฐานข้อมูลของแฟ้มระบบแฟ้มทั้งหมดที่แนบอยู่กับไดเรกทอรีรากของลินุกซ์: updatedb
  • แสดงไดเรกทอรีย่อยที่ประกอบด้วยแฟ้มข้อความได้เรียกชื่อ: which filename
  • เริ่มต้น ด้วยไดเรกทอรีเรียก dir ดู และแสดงรายการแฟ้มทั้งหมดที่ประกอบด้วยข้อความที่จะค้นหา: grep ข้อความที่จะค้นหา /dir

สิทธิ์ของแฟ้ม(File Permissions)

ใช้สำหรับกำหนดสิทธ์ของแฟ้มสำหรับผู้ใช้ กลุ่มผู้ใช้ ว่าจะอ่าน เขียน ดำเนินการกับไฟล์ได้เท่าไรตามสิทธ์ที่ได้: chmod ***

ไฟล์

  • รายการไดเรกทอรี:  ls
  • แสดงรายการแฟ้มในไดเรกทอรีปัจจุบัน: ls -l
  • แสดงรายการแฟ้มทั้งหมดในไดเรกทอรีปัจจุบันในรูปแบบยาวและแสดงในคอลัมน์: ls -laC
  • รายการแฟ้มในไดเรกทอรีปัจจุบัน และระบุชนิดของแฟ้ม: ls -F
  • รูปแบบรายการกับแฟ้มที่ซ่อนไว้: ls -al

  • เปลี่ยนเข้าไปในไดเรกทอรี: cd ชื่อไดเรกทอรี
  • เปลี่ยนสู่ home: cd
  • สร้างไดเรกทอรี dir: mkdir dir
  • ดูไดเรกทอรีปัจจุบัน: pwd
  • เอาชื่อเรียกแฟ้มหรือไดเรกทอรี: rm name
  • ลบไดเรกทอรี dir: rm -r dir
  • ลบไฟล์: rm -f file
  • ลบทั้งแฟ้มและไดเรกทอรีย่อยที่อยู่ในไดเรกทอรี dir: rm -rf dir

  • ทำสำเนา file1 ไป file2: cp file1 file2
  • สำเนา dir1 ไป dir2 และสร้าง dir2 ถ้าไม่มีอยู่: cp -r dir1 dir2
  • ทำสำเนา file ไป /home/dirnamecp: file /home/dirname

  • ย้ายแฟ้มตามที่กำหนดไปไดเรกทอรี /home/dirname: mv file /home/dirname
  • เปลี่ยนชื่อ หรือย้าย file1 ไป file2 ถ้า file2 เป็นไดเรกทอรีที่มีอยู่ ย้ายไดเรกทอรี file1 ใน file2: mv file1 file2
  • สร้างลิงค์ไปยังไฟล์: ln -s file link
  • สร้าง หรือปรับปรุงแฟ้ม: touch file
  • ดูเนื้อหาของไฟล์text: cat file


  • แสดงไฟล์เรียกว่าไฟล์หนึ่งหน้าในแต่ละครั้ง ไปหน้าใหม่โดยใช้สเปซบาร์: more file
  • แสดงส่วนต้นของไฟล์ 10 บรรทัดแรก: head ไฟล์
  • แสดงส่วนท้ายของไฟล์: tail file

การบีบอัด

  • สร้าง tar ที่ชื่อ file.tar ที่ประกอบด้วยแฟ้มที่กำหนด: tar cf file.tar แฟ้มที่กำหนด
  • แยกแฟ้มจาก file.tar : tar xf file.tar

  • สร้าง tar ที่มีการบีบอัด Gzip: tar czf file.tar.gz แฟ้มที่กำหนด
  • แยกไฟล์ tar ที่ใช้ Gzip: tar xzf file.tar.gz

  • สร้าง tar ที่มีการบีบอัด Bzip2: tar cjf file.tar.bz2
  • แยกไฟล์ tar ที่ใช้ Bzip2: tar xjf file.tar.bz2

  • บีบอัดไฟล์ และเปลี่ยนชื่อไปเป็น file.gz: gzip file
  • file.gz คลายแฟ้มออกไป: gzip -d file.gz

การพิมพ์

  • เริ่มการพิมพ์ daemon: /etc/rc.d/init.d/lpd start
  • หยุดการพิมพ์ daemon: /etc/rc.d/init.d/lpd stop
  • แสดงสถานะการพิมพ์ daemon: /etc/rc.d/init.d/lpd status
  • แสดงงานในคิวการพิมพ์: lpq
  • เอางานออกจากคิว: lprm
  • พิมพ์ไฟล์: lpr
  • เครื่องมือควบคุมเครื่องพิมพ์: lpc
  • พิมพ์หน้าด้วยตนเองที่เรียกว่าหัวเรื่องเป็นข้อความล้วน: man subject | lpr
  • พิมพ์หน้าด้วยตนเองที่เรียกว่าหัวเรื่องเป็นผลลัพธ์ Postscript: man -t subject | lpr
  • อินเทอร์เฟซตั้งค่าเครื่องพิมพ์Start X: printtool

เครือข่าย

  • รายการที่อยู่ IP สำหรับอุปกรณ์ทั้งหมดบนเครื่อง: ifconfig
  • Ping โฮมและแสดงผลลัพธ์: ping host 
  • รับข้อมูล whois โดเมน: whois domain
  • รับข้อมูล DNS โดเมน: dig domain
  • กลับค้นหาโฮสต์: dig -x host
  • ดาวน์โหลดไฟล์: wget file
  • ทำการหยุดดาวน์โหลด: wget -c file

SSH

  • เชื่อมต่อไปยังโฮม: ssh user@host
  • เชื่อมต่อไปยังโฮมทาง port ที่กำหนด: ssh -p port user@host
  • เพิ่มหมายเลขของโฮสต์สำหรับผู้ใช้ให้เป็น: ssh-copy-id user@hostkeyed

การจัดการผู้ใช้

  • เพิ่มชื่อผู้ใช้งาน: adduser accountname
  • ให้ accountname รหัสผ่านใหม่: passwd accountname
  • เข้าสู่ระบบในฐานะ superuser จากล็อกอินปัจจุบัน: su
  • ออกจากsuperuser จากล็อกอินปัจจุบัน: exit

กระบวนการจัดการ

  • แสดงกระบวนการที่กำลังทำงาน: ps
  • แสดงการประมวลผลที่กำลังทำงานทั้งหมด: top
  • ฆ่ากระบวนการรหัส pid : kill pid
  • ฆ่ากระบวนการทั้งหมดที่เป็นกระบวนการ: killall proc
  • รายการหยุด หรือพื้นหลังงาน กลับไปสู่ตำแหน่งเดิมหยุดในพื้นหลัง: bg
  • นำงานล่าสุดไปเบื้องหน้า: fg
  • นำ job n ไปเบื้องหน้า: fg n

ติดตั้งโปรแกรมจากโค้ด

./configure
make
make install
dpkg -i pkg.deb – ติดตั้งโดยใช้ DEB package (Debian / Ubuntu / Linux Mint)
rpm -Uvh pkg.rpm – ติดตั้งโดยใช้ RPM package (Red Hat / Fedora)

หยุด & เริ่มต้น

  • ปิดเครื่องคอมพิวเตอร์: shutdown -h now
  • หยุดการกระบวนการทั้งหมด - เดียวกับข้างบน: halt
  • ปิดเครื่องคอมพิวเตอร์ใน 5 นาที แล้วรีบูตเครื่องใหม่: shutdown -r 5
  • ปิดเครื่องคอมพิวเตอร์ตอนนี้แล้วรีบูตเครื่องใหม่: shutdown -r now
  • รีบูตเครื่องใหม่: reboot
  • เริ่มต้นการทำงานแบบกราฟิกโดยใช้ X: startx 

เพิ่มเติม


  • ตรวจสอบว่าพอร์ตระยะไกลเปิด ด้วยbash: echo >/dev/tcp/8.8.8.8/53 && echo "open"
  • ระงับกระบวนการ: Ctrl + z 
  • ย้ายกระบวนการทำงานเบื้องหน้า: fg
  • สร้างสุ่มหมายเลข hex โดยที่ n คือหมายเลขของอักขระ:openssl rand -hex n
  • ดำเนินงานคำสั่งจากไฟล์ในเชลล์ปัจจุบัน: source /home/user/file.name
  • Substring สำหรับอักขระ 5 ตัวแรก: ${variable:0:5}
  • SSH debug mode: ssh -vvv ชื่อผู้ใช้@ที่อยู่ip
  • SSH พร้อม pem key: ssh ชื่อผู้ใช้@ที่อยู่ip -i key.pem
  • เรียกดูไดเรกทอรีแสดงรายการไดเรกทอรีภายในเครื่องด้วย wget:  wget -r --no-parent --reject "index.html*" http://ชื่อโฮม/ -P /home/user/dirs
  • สร้างหลายไดเรกทอรี: mkdir -p /home/user/{1,2,3}
  • รายการการประมวลผล tree กับโปรแกรมลูก: ps axwef
  • ทดสอบความเร็วการเขียนของดิสก์: dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img
  • ทดสอบความเร็วการอ่านของดิสก์: hdparm -Tt /dev/sda
  • สร้าง md5 hash จากข้อความ: echo -n "text" | md5sum
  • เช็คหลักเกณฑ์ของ xml: xmllint --noout file.xml
  • แตกไฟล์บีบอัด tar.gz ในไดเรกทอรีใหม่: tar zxvf package.tar.gz -C ชื่อไดเรกทอรีใหม่
  • รับค่า HTTP headers ด้วย curl: curl -I http://www.example.com
  • ปรับเปลี่ยน timestamp ของบางแฟ้มหรือไดเรกทอรี (YYMMDDhhmm): touch -t 0712250000 file
  • โหลดไฟล์จาก ftp โดยใช้ wget: wget -m ftp://ชื่อผู้ใช้:รหัสผ่าน@ชื่อโฮม
  • สร้างรหัสผ่านแบบสุ่ม (ความยาวตัวอักขระ 16 ตัวในกรณีนี้): LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;
  • สร้างไฟล์สำเนาสำรองของแฟ้ม: cp some_file_name{,.bkp}
  • คลายไดเรกทอรี: unzip package_name.zip -d dir_name
  • ปรับปรุงเวลาจากเซิร์ฟเวอร์ Ubuntu NTP: ntpdate ntp.ubuntu.com
  • netstat แสดงพอร์ต tcp4 ทั้งหมด: netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'
  • รายชื่อผู้ใช้ทั้งหมด: getent passwd
ขอบคุณครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น