Scroll to top
Tổng hợp lệnh Linux cơ bản cho người mới

Tổng hợp lệnh Linux cơ bản cho người mới

30/04/2026 14:28
45min read

Tổng hợp các lệnh Linux cơ bản thường dùng: quản lý file, thư mục, quyền, tiến trình, mạng, service, log, ổ đĩa, package và bảo mật.

Linux là hệ điều hành mạnh mẽ, ổn định và được dùng rất nhiều trong lập trình, quản trị server, DevOps, bảo mật, cloud, container và cả máy tính cá nhân. Muốn dùng Linux hiệu quả, bạn nên nắm được các lệnh Linux cơ bản trong Terminal.

Bài viết này tổng hợp hơn 150 câu lệnh Linux thông dụng nhất, có giải thích ngắn gọn và ví dụ dễ hiểu. Bạn có thể dùng bài này như một “cheat sheet” để tra cứu nhanh khi làm việc với Ubuntu, Debian, Linux Mint, Fedora, CentOS, RHEL, Arch Linux, Alpine Linux hoặc các bản phân phối Linux phổ biến khác.

Linux Terminal là gì?

Terminal là giao diện dòng lệnh cho phép bạn giao tiếp với hệ điều hành Linux bằng cách nhập lệnh. Thay vì bấm chuột trong giao diện đồ họa, bạn có thể dùng Terminal để tạo thư mục, sao chép file, cài phần mềm, kiểm tra mạng, xem log, quản lý service hoặc xử lý hàng nghìn file cùng lúc.

Terminal thường được gọi bằng nhiều tên khác như: Command line, Shell, Console, CLI, Bash terminal.

Trên Ubuntu và nhiều bản Linux desktop, bạn có thể mở Terminal bằng tổ hợp phím: Ctrl + Alt + T

Cấu trúc cơ bản của một lệnh Linux

Một câu lệnh Linux thường có dạng:

Copy
1
command [option] [argument]
Ví dụ:

Copy
1
ls -lah /var/log
Trong đó:

Thành phần Ý nghĩa
ls Tên lệnh
-lah Tùy chọn, còn gọi là option hoặc flag
/var/log Đối tượng cần xử lý, thường là file, thư mục, user, service hoặc địa chỉ mạng

Một ví dụ khác:

Copy
1
sudo apt update
Trong đó:

Thành phần Ý nghĩa
sudo Chạy lệnh với quyền quản trị
apt Trình quản lý gói trên Ubuntu/Debian
update Hành động cần thực hiện

Lưu ý quan trọng trước khi dùng lệnh Linux

Trước khi học các lệnh Linux cơ bản, bạn nên nhớ vài nguyên tắc sau:

  1. Linux phân biệt chữ hoa và chữ thường. File.txtfile.txt là hai tên khác nhau.
  2. Nhiều lệnh không hỏi lại khi xóa dữ liệu, đặc biệt là rm -rf.
  3. Lệnh bắt đầu bằng sudo có thể thay đổi hệ thống, cài phần mềm, xóa file hệ thống hoặc chỉnh service.
  4. Đường dẫn bắt đầu bằng / là đường dẫn tuyệt đối, ví dụ /home/user/file.txt.
  5. Dấu ~ thường đại diện cho thư mục home của user hiện tại.
  6. Nên dùng man ten_lenh để xem tài liệu chính thức của lệnh.
  7. Không copy lệnh lạ trên mạng rồi chạy bằng sudo nếu chưa hiểu tác dụng.

Lệnh làm quen với Terminal

Đây là nhóm lệnh Linux cơ bản nhất, dùng để xem thông tin user, hệ thống, môi trường shell và trợ giúp.

Lệnh Công dụng Ví dụ
pwd Hiển thị thư mục hiện tại pwd
whoami Xem user đang đăng nhập whoami
id Xem UID, GID và group của user id
hostname Xem tên máy hostname
uname Xem thông tin kernel/hệ thống uname -a
date Xem ngày giờ hệ thống date
cal Hiển thị lịch cal
uptime Xem thời gian hệ thống đã chạy uptime
clear Xóa màn hình Terminal clear
reset Reset lại màn hình Terminal khi bị lỗi hiển thị reset
history Xem lịch sử lệnh đã chạy history
echo In chuỗi hoặc biến ra màn hình echo $HOME
printf In dữ liệu theo định dạng printf "Xin chào\n"
env Xem biến môi trường env
printenv In biến môi trường cụ thể printenv PATH
export Tạo/xuất biến môi trường export APP_ENV=production
source Nạp file cấu hình shell source ~/.bashrc
alias Tạo lệnh tắt alias ll='ls -lah'
unalias Xóa alias unalias ll
type Xem một lệnh là built-in, alias hay file thực thi type cd
which Xem đường dẫn file thực thi which python3
whereis Tìm file binary, source, man page whereis nginx
command -v Kiểm tra lệnh có tồn tại không command -v git
man Mở tài liệu hướng dẫn của lệnh man ls
info Xem tài liệu GNU dạng info info coreutils
help Xem trợ giúp cho shell built-in help cd
whatis Mô tả ngắn về lệnh whatis tar
apropos Tìm lệnh theo từ khóa trong mô tả apropos password
exit Thoát khỏi shell hiện tại exit
logout Đăng xuất shell đăng nhập logout

Lệnh quản lý thư mục và file

Nhóm này dùng để di chuyển trong hệ thống file, tạo thư mục, sao chép, đổi tên, xóa, tạo liên kết và xem thông tin file.

Lệnh điều hướng thư mục

Lệnh Công dụng Ví dụ
ls Liệt kê file và thư mục ls
ls -l Liệt kê chi tiết ls -l
ls -a Hiện cả file ẩn ls -a
ls -lah Hiện chi tiết, file ẩn, dung lượng dễ đọc ls -lah
cd Di chuyển thư mục cd /var/log
cd .. Lùi lên thư mục cha cd ..
cd ~ Về thư mục home cd ~
cd - Quay lại thư mục trước đó cd -
tree Hiển thị cây thư mục tree -L 2

Lưu ý: tree có thể chưa được cài sẵn. Trên Ubuntu/Debian, cài bằng sudo apt install tree.

Lệnh tạo và kiểm tra file/thư mục

Lệnh Công dụng Ví dụ
mkdir Tạo thư mục mkdir project
mkdir -p Tạo thư mục lồng nhau mkdir -p app/logs/2026
rmdir Xóa thư mục rỗng rmdir old_folder
touch Tạo file rỗng hoặc cập nhật thời gian sửa file touch index.html
stat Xem metadata của file stat index.html
file Xác định loại file file image.png
realpath Lấy đường dẫn tuyệt đối realpath ./index.html
readlink Xem đích của symbolic link readlink link_name
basename Lấy tên file từ đường dẫn basename /var/log/syslog
dirname Lấy thư mục cha từ đường dẫn dirname /var/log/syslog

Lệnh sao chép, di chuyển, đổi tên và xóa file

Lệnh Công dụng Ví dụ
cp Sao chép file cp a.txt b.txt
cp -r Sao chép thư mục cp -r source backup
cp -i Hỏi trước khi ghi đè cp -i a.txt b.txt
cp -v Hiển thị quá trình copy cp -v a.txt backup/
mv Di chuyển hoặc đổi tên file mv old.txt new.txt
mv file dir/ Di chuyển file vào thư mục mv report.pdf ~/Documents/
rm Xóa file rm old.txt
rm -i Hỏi trước khi xóa rm -i old.txt
rm -r Xóa thư mục và nội dung bên trong rm -r old_folder
rm -rf Xóa cưỡng bức, rất nguy hiểm rm -rf folder_name
ln Tạo hard link ln file.txt hardlink.txt
ln -s Tạo symbolic link ln -s /var/www/html site
install Copy file và set quyền trong một bước install -m 755 script.sh /usr/local/bin/
rename Đổi tên hàng loạt, tùy distro rename 's/.txt/.bak/' *.txt
shred Ghi đè nội dung file trước khi xóa shred -u secret.txt
truncate Cắt hoặc đặt kích thước file truncate -s 0 app.log
split Chia file lớn thành nhiều phần split -b 100M big.iso part_
csplit Chia file theo pattern csplit file.txt '/Chapter/' '{*}'
dd Copy dữ liệu cấp thấp, thường dùng tạo image dd if=/dev/sda of=disk.img bs=4M

Cảnh báo: dd, rm -rf, mkfs, fdisk, parted là các lệnh có thể làm mất dữ liệu. Hãy kiểm tra kỹ đường dẫn trước khi chạy.

Lệnh xem, sửa và xử lý nội dung file

Đây là nhóm lệnh rất quan trọng khi đọc log, chỉnh file cấu hình, lọc dữ liệu hoặc xử lý text.

Lệnh xem nội dung file

Lệnh Công dụng Ví dụ
cat In toàn bộ nội dung file cat config.txt
tac In nội dung file từ dưới lên tac log.txt
more Xem file từng trang more long.txt
less Xem file linh hoạt hơn more less /var/log/syslog
head Xem phần đầu file head file.txt
head -n 20 Xem 20 dòng đầu head -n 20 file.txt
tail Xem phần cuối file tail file.txt
tail -n 50 Xem 50 dòng cuối tail -n 50 app.log
tail -f Theo dõi log theo thời gian thực tail -f /var/log/nginx/access.log
nl In file kèm số dòng nl file.txt
wc Đếm dòng, từ, ký tự wc -l file.txt
od Xem file ở dạng octal/hex od -c file.bin
hexdump Xem dữ liệu dạng hex hexdump -C file.bin
xxd Tạo/xem hexdump xxd file.bin
strings Lọc chuỗi đọc được trong file binary strings program

Lệnh chỉnh sửa file

Lệnh Công dụng Ví dụ
nano Trình soạn thảo dễ dùng cho người mới nano notes.txt
vi Trình soạn thảo phổ biến trên Unix/Linux vi config.txt
vim Bản mở rộng mạnh hơn của vi vim app.conf
ed Trình soạn thảo dòng cổ điển ed file.txt

Mẹo nhanh với nano:

  • Lưu file: Ctrl + O
  • Thoát: Ctrl + X
  • Tìm kiếm: Ctrl + W

Mẹo nhanh với vim:

  • Vào chế độ nhập: nhấn i
  • Lưu và thoát: gõ :wq
  • Thoát không lưu: gõ :q!

Lệnh xử lý văn bản

Lệnh Công dụng Ví dụ
grep Tìm chuỗi trong file hoặc output grep "error" app.log
grep -i Tìm không phân biệt hoa thường grep -i "error" app.log
grep -r Tìm đệ quy trong thư mục grep -r "DB_HOST" .
grep -n Hiện số dòng khớp grep -n "root" /etc/passwd
sed Sửa/lọc text theo dòng sed 's/old/new/g' file.txt
awk Xử lý text theo cột/trường awk '{print $1}' access.log
sort Sắp xếp dòng sort names.txt
sort -n Sắp xếp theo số sort -n numbers.txt
uniq Loại dòng trùng liên tiếp `sort file.txt
cut Cắt cột/ký tự cut -d: -f1 /etc/passwd
paste Ghép dòng từ nhiều file paste a.txt b.txt
tr Thay đổi hoặc xóa ký tự `echo abc
expand Đổi tab thành khoảng trắng expand file.txt
unexpand Đổi khoảng trắng thành tab unexpand file.txt
column Canh cột cho dễ đọc column -t data.tsv
fold Gói dòng theo độ rộng fold -w 80 file.txt
fmt Định dạng lại đoạn văn bản fmt notes.txt
tee Ghi output ra file và vẫn hiển thị màn hình `echo ok
diff So sánh hai file diff old.txt new.txt
cmp So sánh byte giữa hai file cmp a.bin b.bin
comm So sánh hai file đã sort comm a.txt b.txt

Lệnh tìm kiếm file, thư mục và nội dung

Lệnh Công dụng Ví dụ
find Tìm file/thư mục theo điều kiện find . -name "*.log"
find -type f Tìm file thường find . -type f
find -type d Tìm thư mục find . -type d
find -mtime Tìm theo thời gian sửa find . -mtime -7
find -size Tìm theo kích thước find . -size +100M
find -exec Chạy lệnh trên kết quả tìm được find . -name "*.tmp" -exec rm {} \;
locate Tìm nhanh bằng database locate nginx.conf
updatedb Cập nhật database cho locate sudo updatedb
xargs Chuyển output thành argument cho lệnh khác `find . -name *.log
fzf Tìm kiếm tương tác trong Terminal `find . -type f
rg Tìm nội dung nhanh bằng ripgrep rg "TODO"
ag Tìm nội dung bằng The Silver Searcher ag "function"

Lưu ý: fzf, rg, ag thường cần cài thêm.

Lệnh phân quyền và sở hữu file

Linux quản lý file bằng quyền đọc, ghi, thực thi cho owner, group và others. Nhóm lệnh này rất quan trọng khi quản trị server.

Lệnh Công dụng Ví dụ
chmod Đổi quyền file/thư mục chmod 755 script.sh
chmod +x Thêm quyền thực thi chmod +x deploy.sh
chmod -R Đổi quyền đệ quy chmod -R 755 public/
chown Đổi chủ sở hữu sudo chown user:user file.txt
chown -R Đổi owner đệ quy sudo chown -R www-data:www-data /var/www/html
chgrp Đổi group sở hữu chgrp developers app.log
umask Xem/đặt quyền mặc định khi tạo file umask
getfacl Xem ACL của file getfacl file.txt
setfacl Gán ACL chi tiết setfacl -m u:john:rwx file.txt
lsattr Xem thuộc tính mở rộng lsattr file.txt
chattr Đổi thuộc tính mở rộng sudo chattr +i file.txt
sudo Chạy lệnh với quyền admin sudo systemctl restart nginx
su Chuyển user su - root
passwd Đổi mật khẩu passwd
groups Xem group của user groups username
newgrp Chuyển group hiện tại newgrp docker

Ví dụ quyền phổ biến:

Quyền Ý nghĩa thường gặp
644 File thường: owner đọc/ghi, người khác chỉ đọc
755 Script/thư mục: owner đọc/ghi/chạy, người khác đọc/chạy
700 Chỉ owner có toàn quyền
600 File riêng tư, chỉ owner đọc/ghi

Lệnh quản lý tiến trình

Tiến trình là chương trình đang chạy. Khi server chậm, app treo hoặc cần dừng service, bạn sẽ dùng nhóm lệnh này.

Lệnh Công dụng Ví dụ
ps Xem tiến trình hiện tại ps
ps aux Xem tất cả tiến trình chi tiết ps aux
top Xem tiến trình theo thời gian thực top
htop Giao diện tiến trình dễ dùng hơn top htop
pgrep Tìm PID theo tên tiến trình pgrep nginx
pidof Lấy PID của chương trình pidof sshd
kill Gửi signal tới tiến trình kill 1234
kill -9 Ép dừng tiến trình kill -9 1234
pkill Dừng tiến trình theo tên pkill nginx
killall Dừng tất cả tiến trình theo tên killall firefox
nice Chạy lệnh với độ ưu tiên CPU nice -n 10 command
renice Đổi độ ưu tiên tiến trình đang chạy renice -n 5 -p 1234
jobs Xem job trong shell hiện tại jobs
bg Đưa job chạy nền bg %1
fg Đưa job về foreground fg %1
nohup Chạy lệnh không bị dừng khi thoát shell nohup python3 app.py &
disown Tách job khỏi shell disown %1
sleep Tạm dừng một khoảng thời gian sleep 5
watch Lặp lại lệnh theo chu kỳ watch -n 2 free -h
timeout Giới hạn thời gian chạy lệnh timeout 10s ping google.com
time Đo thời gian chạy lệnh time ls -R /usr

Lệnh kiểm tra ổ đĩa, RAM và hệ thống file

Nhóm lệnh này thường dùng khi server hết dung lượng, RAM cao, mount ổ đĩa, kiểm tra phân vùng hoặc xử lý lỗi filesystem.

Lệnh Công dụng Ví dụ
df Xem dung lượng filesystem df -h
du Xem dung lượng file/thư mục du -sh *
free Xem RAM và swap free -h
lsblk Xem block device, ổ đĩa, phân vùng lsblk
blkid Xem UUID và loại filesystem sudo blkid
findmnt Xem các mount point findmnt
mount Mount thiết bị/thư mục sudo mount /dev/sdb1 /mnt
umount Unmount thiết bị/thư mục sudo umount /mnt
fdisk Quản lý bảng phân vùng sudo fdisk -l
parted Quản lý phân vùng nâng cao sudo parted -l
mkfs Tạo filesystem mới sudo mkfs.ext4 /dev/sdb1
fsck Kiểm tra/sửa filesystem sudo fsck /dev/sdb1
sync Ghi dữ liệu cache xuống đĩa sync
swapon Bật swap sudo swapon /swapfile
swapoff Tắt swap sudo swapoff /swapfile
lsof Xem file đang được tiến trình mở lsof /var/log/app.log
fuser Xem tiến trình đang dùng file/port fuser -v /mnt

Mẹo tìm thư mục chiếm dung lượng lớn:

Copy
1
du -sh * | sort -h
Lệnh nén và giải nén file

Trên Linux, tar, gzip, xz, zip là các công cụ rất hay gặp khi backup, deploy hoặc tải source code.

Lệnh Công dụng Ví dụ
tar Đóng gói file/thư mục tar -cf backup.tar folder/
tar -x Giải nén file tar tar -xf backup.tar
tar -czf Tạo file .tar.gz tar -czf backup.tar.gz folder/
tar -xzf Giải nén .tar.gz tar -xzf backup.tar.gz
tar -cJf Tạo file .tar.xz tar -cJf backup.tar.xz folder/
gzip Nén file bằng gzip gzip file.txt
gunzip Giải nén gzip gunzip file.txt.gz
zcat Xem file gzip không cần giải nén zcat app.log.gz
bzip2 Nén bằng bzip2 bzip2 file.txt
bunzip2 Giải nén bzip2 bunzip2 file.txt.bz2
bzcat Xem file bzip2 bzcat file.txt.bz2
xz Nén bằng xz xz file.txt
unxz Giải nén xz unxz file.txt.xz
xzcat Xem file xz xzcat file.txt.xz
zip Nén file/thư mục dạng zip zip -r site.zip site/
unzip Giải nén zip unzip site.zip
7z Nén/giải nén nhiều định dạng 7z x archive.7z

Lệnh mạng trong Linux

Nhóm lệnh mạng giúp bạn kiểm tra IP, route, DNS, port, kết nối server, tải file và copy dữ liệu qua mạng.

Kiểm tra IP, route và kết nối

Lệnh Công dụng Ví dụ
ip addr Xem địa chỉ IP ip addr
ip a Viết tắt của ip addr ip a
ip link Xem network interface ip link
ip route Xem bảng định tuyến ip route
ip neigh Xem ARP/neighbor table ip neigh
ping Kiểm tra host có phản hồi không ping 8.8.8.8
tracepath Truy vết đường đi gói tin tracepath google.com
traceroute Truy vết route, thường cần cài thêm traceroute google.com
ss Xem socket, port, kết nối ss -tulpen
netstat Lệnh cũ để xem kết nối mạng netstat -tulpen
nmcli Quản lý NetworkManager bằng CLI nmcli device status
hostnamectl Xem/đổi hostname hostnamectl

Gợi ý: Trên Linux hiện đại, nên ưu tiên ip thay cho ifconfigss thay cho netstat.

DNS và kiểm tra domain

Lệnh Công dụng Ví dụ
dig Truy vấn DNS chi tiết dig example.com
nslookup Truy vấn DNS đơn giản nslookup example.com
host Xem thông tin DNS ngắn gọn host example.com
whois Xem thông tin đăng ký domain/IP whois example.com

Tải file, gọi API và kết nối remote

Lệnh Công dụng Ví dụ
curl Gọi URL/API, tải dữ liệu curl https://example.com
curl -I Xem HTTP header curl -I https://example.com
wget Tải file từ Internet wget https://example.com/file.zip
ssh Đăng nhập server từ xa ssh user@server_ip
scp Copy file qua SSH scp file.txt user@server:/tmp/
sftp Truyền file qua SFTP sftp user@server
rsync Đồng bộ file/thư mục rsync -av folder/ user@server:/backup/
nc Netcat, kiểm tra port/gửi dữ liệu TCP/UDP nc -vz example.com 443
telnet Kiểm tra kết nối TCP kiểu cũ telnet example.com 80
nmap Quét port và dịch vụ mạng nmap example.com

Lưu ý: Chỉ dùng nmap trên hệ thống bạn sở hữu hoặc được phép kiểm tra.

Lệnh service, systemd và log

Nhiều bản phân phối Linux hiện đại dùng systemd để quản lý service. Với server, bạn sẽ thường dùng systemctljournalctl.

Lệnh Công dụng Ví dụ
systemctl status Xem trạng thái service systemctl status nginx
systemctl start Khởi động service sudo systemctl start nginx
systemctl stop Dừng service sudo systemctl stop nginx
systemctl restart Khởi động lại service sudo systemctl restart nginx
systemctl reload Reload cấu hình nếu service hỗ trợ sudo systemctl reload nginx
systemctl enable Cho service tự chạy khi boot sudo systemctl enable nginx
systemctl disable Tắt tự chạy khi boot sudo systemctl disable nginx
systemctl list-units Liệt kê unit đang hoạt động systemctl list-units
systemctl --failed Xem unit bị lỗi systemctl --failed
service Quản lý service kiểu cũ/SysV sudo service nginx restart
journalctl Xem log systemd journal journalctl
journalctl -u Xem log của service journalctl -u nginx
journalctl -f Theo dõi log realtime journalctl -f
journalctl -b Xem log từ lần boot hiện tại journalctl -b
dmesg Xem log kernel dmesg
systemd-analyze Phân tích thời gian boot systemd-analyze blame
crontab Lên lịch chạy lệnh định kỳ crontab -e
at Lên lịch chạy một lần `echo date
batch Chạy job khi tải hệ thống thấp batch
shutdown Tắt máy/hẹn giờ tắt sudo shutdown -h now
reboot Khởi động lại sudo reboot
poweroff Tắt máy sudo poweroff

Ví dụ xem log Nginx bằng systemd:

Copy
1
journalctl -u nginx --since "1 hour ago"
Lệnh quản lý user và group

Nhóm lệnh này dùng khi tạo tài khoản, phân quyền user, thêm user vào group hoặc kiểm tra ai đang đăng nhập.

Lệnh Công dụng Ví dụ
who Xem user đang đăng nhập who
w Xem user đang đăng nhập và lệnh họ đang chạy w
users Liệt kê user đang đăng nhập users
last Xem lịch sử đăng nhập last
lastlog Xem lần đăng nhập gần nhất của user lastlog
useradd Tạo user mới sudo useradd -m john
adduser Tạo user kiểu thân thiện hơn trên Debian/Ubuntu sudo adduser john
usermod Chỉnh thông tin user sudo usermod -aG docker john
userdel Xóa user sudo userdel john
groupadd Tạo group sudo groupadd developers
groupmod Sửa group sudo groupmod -n dev developers
groupdel Xóa group sudo groupdel dev
chage Quản lý hạn mật khẩu sudo chage -l john
passwd Đặt/đổi mật khẩu user sudo passwd john

Ví dụ thêm user vào group sudo:

Copy
1
sudo usermod -aG sudo john
Lệnh cài đặt, cập nhật và gỡ phần mềm

Mỗi bản phân phối Linux dùng package manager khác nhau. Ubuntu/Debian dùng apt, Fedora/RHEL dùng dnf hoặc yum, Arch dùng pacman, Alpine dùng apk.

Ubuntu, Debian, Linux Mint: apt, apt-get, dpkg

Lệnh Công dụng Ví dụ
apt update Cập nhật danh sách package sudo apt update
apt upgrade Nâng cấp package đã cài sudo apt upgrade
apt full-upgrade Nâng cấp có thể thay đổi dependency mạnh hơn sudo apt full-upgrade
apt install Cài package sudo apt install nginx
apt remove Gỡ package, giữ file cấu hình sudo apt remove nginx
apt purge Gỡ package và file cấu hình hệ thống sudo apt purge nginx
apt autoremove Gỡ package không còn cần thiết sudo apt autoremove
apt search Tìm package apt search nginx
apt show Xem thông tin package apt show nginx
apt list --installed Liệt kê package đã cài apt list --installed
apt-get Công cụ APT truyền thống sudo apt-get update
dpkg -i Cài file .deb sudo dpkg -i package.deb
dpkg -l Liệt kê package đã cài dpkg -l
dpkg -r Gỡ package bằng dpkg sudo dpkg -r package_name

Fedora, RHEL, CentOS: dnf, yum, rpm

Lệnh Công dụng Ví dụ
dnf check-update Kiểm tra cập nhật sudo dnf check-update
dnf update Cập nhật package sudo dnf update
dnf install Cài package sudo dnf install nginx
dnf remove Gỡ package sudo dnf remove nginx
dnf search Tìm package dnf search nginx
dnf info Xem thông tin package dnf info nginx
yum Trình quản lý package cũ hơn, vẫn gặp trên hệ RHEL/CentOS sudo yum install nginx
rpm -qa Liệt kê package RPM đã cài rpm -qa
rpm -ivh Cài package .rpm sudo rpm -ivh package.rpm
rpm -e Gỡ package RPM sudo rpm -e package_name

Arch Linux: pacman

Lệnh Công dụng Ví dụ
pacman -Syu Đồng bộ repo và nâng cấp hệ thống sudo pacman -Syu
pacman -S Cài package sudo pacman -S nginx
pacman -R Gỡ package sudo pacman -R nginx
pacman -Rs Gỡ package và dependency không cần nữa sudo pacman -Rs nginx
pacman -Ss Tìm package pacman -Ss nginx
pacman -Qi Xem thông tin package đã cài pacman -Qi nginx
pacman -Q Liệt kê package đã cài pacman -Q

Alpine Linux: apk

Lệnh Công dụng Ví dụ
apk update Cập nhật index package sudo apk update
apk upgrade Nâng cấp package sudo apk upgrade
apk add Cài package sudo apk add nginx
apk del Gỡ package sudo apk del nginx
apk search Tìm package apk search nginx
apk info Xem package đã cài/thông tin package apk info

Package universal: snap và flatpak

Lệnh Công dụng Ví dụ
snap install Cài app dạng Snap sudo snap install code --classic
snap list Liệt kê snap đã cài snap list
snap remove Gỡ snap sudo snap remove package_name
flatpak install Cài app dạng Flatpak flatpak install flathub org.gimp.GIMP
flatpak list Liệt kê Flatpak đã cài flatpak list
flatpak uninstall Gỡ Flatpak flatpak uninstall app_id

Lệnh bảo mật Linux nên biết

Các lệnh bảo mật giúp bạn quản lý quyền admin, firewall, SSH key, chứng chỉ, checksum và cơ chế bảo vệ hệ thống.

Lệnh Công dụng Ví dụ
sudo Chạy lệnh với quyền quản trị sudo apt update
visudo Sửa file sudoers an toàn sudo visudo
ufw Firewall đơn giản trên Ubuntu sudo ufw status
ufw allow Mở port sudo ufw allow 22/tcp
ufw enable Bật firewall sudo ufw enable
firewall-cmd Quản lý firewalld trên Fedora/RHEL sudo firewall-cmd --list-all
iptables Quản lý rule firewall kiểu cũ sudo iptables -L
nft Quản lý nftables sudo nft list ruleset
ssh-keygen Tạo SSH key ssh-keygen -t ed25519
ssh-copy-id Copy SSH public key lên server ssh-copy-id user@server
gpg Mã hóa, ký và kiểm tra chữ ký gpg --verify file.sig file
openssl Làm việc với TLS, certificate, hash openssl version
sha256sum Tạo/kiểm tra SHA-256 checksum sha256sum file.iso
md5sum Tạo/kiểm tra MD5 checksum md5sum file.iso
sestatus Xem trạng thái SELinux sestatus
getenforce Xem chế độ SELinux getenforce
aa-status Xem trạng thái AppArmor sudo aa-status
fail2ban-client Quản lý Fail2ban sudo fail2ban-client status

Mẹo bảo mật cơ bản:

  • Không bật đăng nhập SSH bằng root nếu không cần.
  • Nên dùng SSH key thay vì mật khẩu.
  • Luôn kiểm tra firewall trước khi public server.
  • Không cấp quyền 777 bừa bãi.
  • Không chạy script lạ bằng curl ... | sh nếu chưa kiểm tra nội dung.

Toán tử, pipe và chuyển hướng trong Linux

Ngoài lệnh riêng lẻ, bạn cần biết cách nối lệnh để làm việc hiệu quả hơn.

Ký hiệu Công dụng Ví dụ
` ` Pipe: chuyển output lệnh trước sang input lệnh sau
> Ghi output ra file, ghi đè file cũ echo hello > file.txt
>> Ghi thêm output vào cuối file echo hello >> file.txt
< Lấy input từ file sort < names.txt
2> Chuyển stderr ra file command 2> error.log
&> Chuyển stdout và stderr ra file command &> output.log
&& Chạy lệnh sau nếu lệnh trước thành công mkdir app && cd app
` `
; Chạy nhiều lệnh liên tiếp date; uptime; whoami
& Chạy lệnh nền sleep 60 &
* Wildcard khớp nhiều ký tự rm *.tmp
? Wildcard khớp một ký tự ls file?.txt
{} Brace expansion mkdir -p app/{logs,tmp,cache}
$() Command substitution echo "Today is $(date)"
~ Thư mục home cd ~
. Thư mục hiện tại find . -name "*.txt"
.. Thư mục cha cd ..

Ví dụ lọc 10 tiến trình dùng nhiều RAM nhất:

Copy
1
ps aux --sort=-%mem | head
Ví dụ tìm log lỗi và lưu ra file:

Copy
1
grep -i "error" app.log > errors.txt
Ví dụ thực tế khi dùng lệnh Linux

Tạo project mới và file README**

Copy
1
2
3
4
5
    mkdir -p ~/projects/demo
    cd ~/projects/demo
    touch README.md
    echo "# Demo Project" > README.md
    cat README.md
Tìm file log lớn hơn 100MB

Copy
1
find /var/log -type f -size +100M
Xem dung lượng từng thư mục trong thư mục hiện tại

Copy
1
du -sh * | sort -h
Nén thư mục website thành file tar.gz

Copy
1
tar -czf website-backup.tar.gz /var/www/html
Giải nén file tar.gz

Copy
1
tar -xzf website-backup.tar.gz
Theo dõi log Nginx realtime

Copy
1
tail -f /var/log/nginx/access.log
Hoặc nếu dùng systemd:

Copy
1
journalctl -u nginx -f
Kiểm tra port 80 và 443 có đang listen không

Copy
1
ss -tulpen | grep -E ':80|:443'
Restart service Nginx

Copy
1
sudo systemctl restart nginx
Cập nhật server Ubuntu

Copy
1
2
    sudo apt update
    sudo apt upgrade
Cài Git trên các distro phổ biến

  • Ubuntu/Debian: sudo apt install git
  • Fedora/RHEL: sudo dnf install git
  • Arch Linux: sudo pacman -S git
  • Alpine Linux: sudo apk add git

Copy file từ máy local lên server

Copy
1
scp backup.tar.gz user@server_ip:/home/user/
Đồng bộ thư mục lên server bằng rsync

Copy
1
rsync -av --progress ./site/ user@server_ip:/var/www/html/
Cấp quyền chạy cho script

Copy
1
2
    chmod +x deploy.sh
    ./deploy.sh
Tìm và xóa file .tmp

Copy
1
find . -name "*.tmp" -type f -delete
Xem 20 dòng log lỗi gần nhất

Copy
1
grep -i "error" app.log | tail -n 20
FAQ về lệnh Linux cơ bản

Lệnh Linux có phân biệt chữ hoa chữ thường không?

Có. Linux phân biệt chữ hoa và chữ thường. Ví dụ File.txt, file.txtFILE.txt là ba tên file khác nhau.

Người mới nên học lệnh Linux nào trước?

Bạn nên bắt đầu với pwd, ls, cd, mkdir, touch, cp, mv, rm, cat, less, grep, find, chmod, sudo, ps, top, df, du, free, ip, ping, sshsystemctl.

sudo là gì?

sudo cho phép chạy lệnh với quyền quản trị. Đây là lệnh mạnh, nên chỉ dùng khi bạn hiểu lệnh phía sau sẽ làm gì.

Khác nhau giữa apt updateapt upgrade là gì?

apt update cập nhật danh sách package từ repository. apt upgrade nâng cấp các package đã cài lên phiên bản mới hơn dựa trên danh sách vừa cập nhật.

Khác nhau giữa cpmv là gì?

cp dùng để sao chép file hoặc thư mục. mv dùng để di chuyển hoặc đổi tên file/thư mục.

Khác nhau giữa findlocate là gì?

find tìm trực tiếp trong filesystem theo điều kiện nên linh hoạt nhưng có thể chậm. locate tìm bằng database đã tạo trước nên nhanh, nhưng kết quả có thể chưa cập nhật nếu database cũ.

ssnetstat khác nhau thế nào?

ss là công cụ hiện đại để xem socket và kết nối mạng. netstat là công cụ cũ thuộc bộ net-tools, vẫn gặp trên nhiều hệ thống nhưng thường được thay thế bằng ss.

chmod 755 nghĩa là gì?

chmod 755 nghĩa là owner có quyền đọc, ghi, thực thi; group và others có quyền đọc, thực thi. Quyền này thường dùng cho thư mục hoặc script cần chạy.

Có nên dùng chmod 777 không?

Không nên dùng bừa bãi. chmod 777 cho mọi người quyền đọc, ghi và thực thi, có thể gây rủi ro bảo mật. Chỉ dùng khi bạn hiểu rõ lý do.

Lệnh rm -rf có nguy hiểm không?

Có. rm -rf xóa file/thư mục đệ quy và không hỏi lại. Nếu chạy sai đường dẫn, bạn có thể mất dữ liệu nghiêm trọng.

Kết luận

Nắm vững các lệnh Linux cơ bản giúp bạn thao tác nhanh hơn, quản trị server tốt hơn và hiểu sâu hơn cách hệ điều hành Linux hoạt động. Với người mới, hãy bắt đầu từ nhóm lệnh điều hướng, quản lý file, xem log, tìm kiếm và phân quyền. Khi đã quen, bạn có thể học tiếp các lệnh về tiến trình, mạng, service, package manager và bảo mật.

Cách học hiệu quả nhất là mở Terminal và thực hành mỗi ngày. Bạn không cần học thuộc tất cả lệnh ngay lập tức, nhưng nên biết lệnh nào dùng để làm gì và biết cách tra cứu bằng man, help, whatis hoặc apropos.

Bình luận

Author
hoclaptrinh.io author
Tác giả:Yuto Yasunaga

Mình là một full stack developer, tốt nghiệp và làm việc tại Nhật Bản. Trang web này là nơi mình tổng hợp, đúc kết và lưu trữ lại những kiến thức trong quá trình học và làm việc liên quan đến IT.
Hy vọng những bài viết ở website này sẽ có ích cho bạn.