ลีนุกซ์กับคอมมานด์ไลน์นั้นเป็นของคู่กัน เป็นอินเทอร์เฟซการใช้งานหลักที่เป็นเหตุผลสำคัญทำให้นักพัฒนาหันมาใช้ลีนุกซ์ ซึ่งนั่นหมายความว่าการจำและเลือกใช้คำสั่งบนคอมมานด์ไลน์อย่างคล่องแคล่ว ย่อมส่งผลโดยตรงต่อความเร็วในการทำงาน และแม้คำสั่งบนลีนุกซ์จะมีมากมายถ้ารวมถึงคำสั่งที่มากับโปรแกรมเสริมต่างๆ ที่เราจำเป็นต้องใช้งาน แต่คำสั่งหลักที่ใช้งานบ่อยในทุกๆ วันนั้นสามารถแยกเป็นหมวดหมู่ให้จำได้ง่ายดังต่อไปนี้
• กลุ่มคำสั่งเพื่อจัดการบัญชีผู้ใช้
เป็นคำสั่งที่ช่วยให้ผู้ใช้ลีนุกซ์โดยเฉพาะมือใหม่คุ้นเคยกับการจัดการบัญชีผู้ใช้ของตนเอง เช่น pwdใช้แสดงตำแหน่งไดเรกทอรี่ปัจจุบันที่ทำงานอยู่, whoamiใช้แสดงชื่อผู้ใช้ (ที่มีประโยชน์มากเวลาใช้คำสั่ง suเปลี่ยนผู้ใช้ไปเรื่อยๆ จนจำไม่ได้), ls แสดงลิสต์ของไฟล์, env แสดงการตั้งค่าสำหรับผู้ใช้, echo ใช้แสดงค่าตัวแปร, history แสดงประวัติคำสั่งที่เคยใช้, passwd ใช้เปลี่ยนรหัสผ่าน เป็นต้น
Command | Function | Example |
---|---|---|
pwd | Displays your current location in the file system | pwd |
whoami | Displays your username – most useful if you switch users with su and need to be reminded what account you’re using currently | whoami |
ls | Provides a file listing. With -a, it also displays files with names starting with a period (e.g., .bashrc). With -l, it also displays file permissions, sizes and last updated date/time. | ls ls -a ls -l |
env | Displays your user environment settings (e.g., search path, history size, home directory, etc.) | env |
echo | Repeats the text you provide or displays the value of some variable | echo hello echo $PATH |
history | Lists previously issued commands | history history | tail -5 |
passwd | Changes your password. Note that complexity requirements may be enforced. | passwd history | tail -5 |
• คำสั่งที่ใช้ตรวจสอบไฟล์
เช่น แสดงเนื้อหาภายใน หรือคุณสมบัติของไฟล์นั้นๆ เช่น cat แสดงเนื้อหาภายในไฟล์ออกมาในรูปข้อความ, more แสดงเนื้อหาแบบตัดขึ้นมาทีละหน้า, less แสดงเนื้อหาแบบที่ใช้ปุ่มลูกศรขึ้นลงเพื่อดูข้อมูลตำแหน่งที่ต้องการได้, file ใช้แสดงประเภทของไฟล์ เป็นต้น
Command | Function | Example |
---|---|---|
cat | Displays the entire contents of a text file. | cat .bashrc |
more | Displays the contents of a text file one screenful at a time. Hit the spacebar to move to each additional chunk. | more .bash_history |
less | Displays the contents of a text file one screenful at a time, but in a manner that allows you to back up using the up arrow key. | less .bash_history |
file | Identifies files by type (e.g., ASCII text, executable, image, directory) | file myfile file ~/.bashrc file /bin/echo |
• คำสั่งสำหรับใช้จัดการไฟล์
อย่างการเปลี่ยนคุณสมบัติของไฟล์ การเปลี่ยนชื่อ, ย้าย, และลบไฟล์ เช่น chmodสำหรับเปลี่ยนการอนุญาตจัดการไฟล์ เช่น ใครสามารถอ่าน เขียน หรือรันโค้ดได้, chownไว้เปลี่ยนชื่อผู้ใช้ที่เป็นเจ้าของไฟล์, cp สำหรับคัดลอกไฟล์, mv เป็นคำสั่งย้ายหรือแก้ไขชื่อไฟล์, rm สำหรับลบไฟล์หรือไดเรกทอรี ฯลฯ
Command | Function | Example |
---|---|---|
chmod | Changes file permissions (who can read it, whether it can be executed, etc.) | chmod a+x myscript chmod 755 myscript |
chown | Changes file owner | sudo chown jdoe myfile |
cp | Makes a copy of a file. | cp origfile copyfile |
mv | Moves or renames a file – or does both | mv oldname newname mv file /new/location mv file /newloc/newname |
rm | Deletes a file or group of files | rm file rm *.jpg rm -r directory |
• คำสั่งสำหรับสร้างและแก้ไขเนื้อหาไฟล์
ลีนุกซ์มีคำสั่งสำหรับสร้างไฟล์และไดเรกทอรีมากมาย ซึ่งมักอยู่ในรูปทูลแก้ไขข้อความหลายแบบ ที่แต่ละทูลก็มีแฟนคลับชื่นชอบและนิยมใช้แตกต่างกันไป บางตัวจำเป็นต้องเริ่มต้นเรียนรู้ไปสักพักจนกว่าจะเคยชิน แต่บางทูลก็ถูกออกแบบมาให้ง่ายต่อการใช้งานแม้แต่กับผู้เริ่มต้นด้วย
Command | Function | Example |
---|---|---|
nano | An easy-to-use text editor that requires you to move around in the file using your arrow keys and provides control sequences to locate text, save your changes, etc. | nano myfile |
vi | A more sophisticated editor that allows you to enter commands to find and change text, make global changes, etc. | vi myfile |
ex | A text editor designed for programmers and has both a line-oriented and visual mode | ex myfile |
touch | Creates a file if it doesn’t exist or updates its timestamp if it does | touch newfile touch updatedfile |
> | Creates files by directing output to them. A single > creates a file while >> appends to an existing file. | cal > calendar ps > myprocs date >> date.log |
mkdir | Creates a directory | mkdir mydir mkdir ~/mydir mkdir /tmp/backup |
• คำสั่งเพื่อย้ายตำแหน่งไดเรกทอรีที่ทำงานอยู่
เป็นคำสั่งพื้นฐานสำหรับเปลี่ยนย้ายตำแหน่งตัวเองไปในที่ต่างๆ บนระบบไฟล์ ได้แก่ cd, cd.., และ cd ที่ตามด้วยชื่อไดเรกทอรีหรือตำแหน่งที่ต้องการย้ายไปหา เหมือนกับคำสั่งสมัยที่ใช้ Dos
Command | Function | Example |
---|---|---|
cd | With no arguments, takes you to your home directory. The same thing would happen if you typed cd $HOME or cd ~ | cd |
cd .. | Moves up (toward /) one directory from your current location | cd .. |
cd <location> | Takes you to the specified location. If the location begins with a /, it is taken to be relative to the root directory; otherwise it is taken as being relative to your current location. The ~ character represents your home directory. | cd /tmp cd Documents cd ~/Documents |
– คำสั่งเพื่อเรียนรู้และอ่านคำอธิบายการใช้คำสั่งอื่นๆ
ถ้าถึงตาจนและสงสัยว่ามีคำสั่งไหนบ้างที่นำมาใช้ในสถานการณ์ที่ต้องการ และใช้อย่างไร โดยไม่สามารถหรือขี้เกียจค้นกูเกิ้ลแล้ว ลีนุกซ์ก็มีชุดคำสั่งสำหรับใบ้หรือเปิดให้เรียนรู้เกี่ยวกับคำสั่งอื่นๆ บนระบบได้ด้วย
Command | Function | Example |
---|---|---|
man | Displays the manual (help) page for a specified command and (with -k) provides a list of commands related to a specified keyword | man cd man -k account |
which | Displays the location of the executable that represents the particular command | which cd |
apropos | Lists commands associated with a particular topic or keyword | apropos user apropos account |
• กลุ่มคำสั่งที่ใช้ค้นหาไฟล์
เช่น find และ locate
Command | Function | Example |
---|---|---|
find | Locates files based on criteria provided (file name, type, owner, permissions, size, etc.). Unless provided with a location from which to start the search, find only looks in the current directory. | find . -name myfile find /tmp -type d |
locate | Locates files using the contents of the /var/lib/mlocate/mlocate.db which is updated by the updatedb command usually run through cron. No starting location is required. | locate somefile locate “*.html” -n 20 |
• คำสั่งสำหรับรันโปรเซส
หรือแสดงโปรเซสที่กำลังรันอยู่ทั้งบนผู้ใช้ปัจจุบัน และของผู้ใช้ทุกคนบนระบบ เช่น ps, ps -ef, pstree
Command | Function | Example |
---|---|---|
ps | Shows processes that you are running in your current login session | ps |
ps -ef | Shows all processes that are currently running on the system | ps -ef ps -ef | more |
pstree | Shows running processes in a hierarchical (tree-like) display that demonstrates the relationships between processes (-h highlights current process) | pstree pstree username pstree -h |
• คำสั่งในการสั่งเริ่ม, หยุด
คำสั่งในการสั่งเริ่ม, หยุด, หรือแสดงรายการของเซอร์วิสได้แก่ systemctlและ service
Command | Function | Example |
---|---|---|
systemctl | The systemctl command can start, stop, restart and reload services. Privileged access is required. | sudo systemctl stop apache2.service sudo systemctl restart apache2.service sudo systemctl reload apache2.service |
service | Lists services and indicates whether they are running | service –status-all |
• คำสั่งในการหยุดโปรเซสกระทันหัน
คำสั่งในการหยุดโปรเซสกระทันหัน หรือการ Kill โปรเซส อารมณ์เดียวกับตอนกด End Task ใน Task Manager บนวินโดวส์ ตัวอย่างเช่นคำสั่ง kill, killall, pkill
Command | Function | Example |
---|---|---|
kill | Terminates a running process provided you have the authority to do so | kill 8765 sudo kill 1234 kill -9 3456 |
killall | Terminates all processes with the provided name | killall badproc |
pkill | Terminates a process based on its name | pkill myproc |
• คำสั่งเพื่อแสดงข้อมูลของโอเอสที่ใช้งานอยู่
คำสั่งเพื่อแสดงข้อมูลของโอเอสที่ใช้งานอยู่ ได้แก่ uname, lsb_release(สำหรับดิสโทรพวก Debian), และ hostnamectl
Command | Function | Example |
---|---|---|
uname | Displays information on OS release in a single line of text | uname -a uname -r |
lsb_release | On Debian-based systems, this command displays information on the OS release including its codename and distributor ID | lsb_release -a |
hostnamectl | Displays information on the system including hostname, chassis type, OS, kernel and architecture | hostnamectl |
• คำสั่งแสดงสเปกหรือประสิทธิภาพของระบบ
คำสั่งแสดงสเปกหรือประสิทธิภาพของระบบ เช่น top, atop, free, df
Command | Function | Example |
---|---|---|
top | Shows running processes along with resource utilization and system performance data. Can show processes for one selected user or all users. Processes can be ordered by various criteria (CPU usage by default) | top top jdoe |
atop | Similar to top command but more oriented toward system performance than individual processes | atop |
free | Shows memory and swap usage – total, used and free | free |
df | Display file system disk space usage | df df -h |
• คำสั่งจัดการผู้ใช้และกลุ่มผู้ใช้ทั้งการสร้างและลบข้อมูลผู้ใช้
คำสั่งจัดการผู้ใช้และกลุ่มผู้ใช้ทั้งการสร้างและลบข้อมูลผู้ใช้ ได้แก่ useradd, userdel, groupadd, groupdel
Command | Function | Example |
---|---|---|
useradd | Adds a new user account to the system. A username is mandatory. Other fields (user description, shell, initial password, etc.) can be specified. Home directory will default to /home/username. | useradd -c “John Doe” jdoe useradd -c “Jane Doe” -g admin -s /bin/bash jbdoe |
userdel | Removes a user account from the system. The -f option runs a more forceful removal, deleting the home and other user files even if the user is still logged in. | userdel jbdoe userdel -f jbdoe |
groupadd | Adds a new user group to the system, updating the /etc/group. | groupadd developers |
groupdel | Removes a user group from the system | groupdel developers |
• คำสั่งตรวจสอบการเชื่อมต่อบนเครือข่าย
คำสั่งตรวจสอบการเชื่อมต่อบนเครือข่ายโดยเฉพาะการตรวจสอบอินเทอร์เฟซและการเชื่อมต่อต่างๆ เช่น คำสั่ง ip, ss, pings.
Command | Function | Example |
---|---|---|
ip | Displays information on network interfaces | ip a |
ss | Displays information on sockets. The -s option provides summary stats. The -l option shows listening sockets. The -4 or -6 options restrict output to IPv4 or IPv6 connections. | ss -s ss -l ss -4 state listening |
ping | Check connectivity to another system | ping remhost ping 192.168.0.11 |
• คำสั่งจัดการด้านความปลอดภัย
คำสั่งจัดการด้านความปลอดภัย โดยเฉพาะการใช้เพื่อยกระดับสิทธิ์ผู้ใช้ หรือป้อนคำสั่งในฐานะผู้ใช้ระดับแอดมิน ได้แก่ คำสั่ง visudo, sudo, su, who, last, ufw, firewall-cmd, iptables
Command | Function | Example |
---|---|---|
visudo | The visudo command allows you to configure privileges that will allow select individuals to run certain commands with superuser authority. The command does this by making changes to the /etc/sudoers file. | visudo |
sudo | The sudo command is used by privileged users (as defined in the /etc/sudoers file to run commands as root. | sudo useradd jdoe |
su | Switches to another account. This requires that you know the user’s password or can use sudo and provide your own password. Using the – means that you also pick up the user’s environment settings. | su (switch to root) su – jdoe sudo su – jdoe |
who | Shows who is logged into the system | who |
last | Lists last logins for specified user using records from the /var/log/wtmp file. | last jdoe |
ufw | Manages the firewall on Debian-based systems. | sudo ufw status sudo ufs allow ssh ufw show |
firewall-cmd | Manages the firewall (firewalld) on RHEL and related systems. | firewall-cmd –list-services firewall-cmd –get-zones |
iptables | Displays firewall rules. | sudo iptables -vL -t security |
• คำสั่งสร้างและรันโปรเซสแบบกำหนดเวลา
คำสั่งสร้างและรันโปรเซสแบบกำหนดเวลา หรือการรัน Scheduled Task ได้แก่ คำสั่ง crontab และ anacron
Command | Function | Example |
---|---|---|
crontab | Sets up and manages scheduled processes. With the -l option, cron jobs are listed. With the -e option, cron jobs can be set up to run at selected intervals. | crontab -l crontab -l -u username crontab -e |
anacron | Allows you to run scheduled jobs on a daily basis only. If the system is powered off when a job is supposed to run, it will run when the system boots. | sudo vi /etc/anacrontab |
• คำสั่งอัพเดท ติดตั้ง และแสดงรายการแอพพลิเคชั่น
คำสั่งอัพเดท ติดตั้ง และแสดงรายการแอพพลิเคชั่น สำหรับติดตั้งและอัพเดทโปรแกรมต่างๆ โดยเฉพาะ โดยค่าย Debian จะใช้คำสั่งตระกูล apt (apt update, apt upgrade, apt list, apt install) แต่ดิสโทรตระกูล RPM จะใช้คำสั่งตระกูล yum (yum update, yum list, yum install)
Command | Function | Example |
---|---|---|
apt update | On Debian-based systems, updates the list of available packages and their versions, but does not install or upgrade any packages | sudo apt update |
apt upgrade | On Debian-based systems, installs newer versions of installed packages | sudo apt upgrade |
apt list | Lists all packages installed on Debian-based system. With –upgradable option, it shows only those packages for which upgrades are available. | apt list apt list –installed apt list –upgradable |
apt install | On Debian-based systems, installs requested package | sudo apt install apache2 |
yum update | On RPM-cased systems, updates all or specified packages | sudo yum update yum update mysql |
yum list | On RPM-based systems, lists package | sudo yum update mysql |
yum install | On RPM-based systems, installs requested package | sudo yum -y install firefox |
yum list | On RPM-based systems, lists known and installed packages | sudo yum list sudo yum list –installed |
• คำสั่งปิดระบบ
คำสั่งปิดระบบ ได้แก่ shutdown, halt, poweroff
Command | Function | Example |
---|---|---|
shutdown | Shuts down the system at the requested time. The -H option halts the system while the -P powers it down as well. | sudo shutdown -H now shutdown -H +15 shutdown -P +5 |
halt | Shuts down the system at the requested time. | sudo halt sudo halt -p sudo halt –reboot |
poweroff | Powers down the system at the requested time. | sudo shutdown -H now sudo shutdown -H +15 sudo shutdown -P +5 |