สวัสดีครับทุกท่าน ทุกท่านได้ใช้ Linux Command Reference กันไม่มากก็น้อยครับ วันนี้ผมขอนำเสนอ Linux Command Reference สำหรับนำไปใช้งานจริงครับ คำสั่งพวกนี้เป็นพื้นฐานสำหรับการสั่งงานลินุกซ์ในโหมดที่ไม่ใช่กราฟิก
make
make install
dpkg -i pkg.deb – ติดตั้งโดยใช้ DEB package (Debian / Ubuntu / Linux Mint)
rpm -Uvh pkg.rpm – ติดตั้งโดยใช้ RPM package (Red Hat / Fedora)
ข้อมูลระบบ
- แสดงวันและเวลาปัจจุบัน: 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
ติดตั้งโปรแกรมจากโค้ด
./configuremake
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
ความคิดเห็น
แสดงความคิดเห็น