Hướng dẫn toàn diện sử dụng lệnh Linux
Trong bối cảnh công nghệ phát triển với tốc độ chóng mặt, một kỹ năng quan trọng nhất mà mỗi chuyên gia IT nên nắm vững chính là thành thạo các lệnh thực thi trên hệ điều hành Linux (Linux commands)
![]() |
Giới thiệu
Linux không chỉ là hệ điều hành mã nguồn mở phổ biến nhất trong giới lập trình, với thị phần lớn server trên toàn cầu và là nền tảng của top 500 siêu máy tính thế giới, mà còn là công cụ không thể thiếu cho DevOps, Cloud Computing, Data Science, và AI/ML. Những năm gần đây sự phát triển của các phiên bản mới như Ubuntu 25.10, GNOME 47, RHEL 10.., những phiên bản này đang trở thành tiêu chuẩn mới trong môi trường phát triển hiện đại, giúp tăng năng suất đáng kể khi làm việc với command line.
Bài viết này sẽ tổng hợp toàn diện cấu trúc và cách sử dụng các lệnh Linux từ cơ bản đến nâng cao, cho dù bạn là developer mới bắt đầu hay system administrator dày dạn kinh nghiệm, hướng dẫn này sẽ là cẩm nang giúp bạn làm chủ công nghệ quan trọng nhất trong thời đại số.
Một số lệnh thiết yếu cho quản trị hệ thống Linux
1. Điều hướng và quản lý thư mục
pwd - Hiển thị đường dẫn hiện tại
pwd [option]
# -L: Hiển thị đường dẫn logic
# -P: Hiển thị đường dẫn vật lý

ls - Liệt kê file và thư mục
ls [options]
# -R: Liệt kê đệ quy tất cả thư mục con
# -a: Hiển thị file ẩn
# -lh: Định dạng kích thước dễ đọc (MB/GB)
cd - Thay đổi thư mục
cd [path]
cd ~ # Về thư mục home
cd .. # Lên một cấp
cd - # Về thư mục trước đó
mkdir - Tạo thư mục mới
mkdir [options] directory_name
# -p: Tạo thư mục lồng nhau
# -m: Thiết lập quyền truy cập
# -v: In thông báo cho các thư mục đã được tạo
![]() |
rm - Xóa thư mục
rm ten_thu_muc # Xóa thư mục có tên ten_thu_muc
# -r hoặc -R: Xóa đệ quy (recursive) - xóa cả thư mục con và file bên trong
# -f: Force - bỏ qua xác nhận, xóa ngay cả khi file được bảo vệ
# -i: Interactive - hỏi trước khi xóa từng file
# -v: Verbose - hiển thị chi tiết quá trình xóa
![]() |
rmdir - Xóa thư mục trống
rmdir ten_thu_muc # Xóa thư mục trống ten_thu_muc
2. Quản lý tệp
cp - Sao chép file/thư mục
cp source destination
cp -R source_dir dest_dir # Sao chép đệ quy
scp - Lệnh sao chép file qua SSH, giữa 2 máy tính, máy chủ
VD: scp -P 22 x.txt [email protected]:/usr/local/conf/
![]() |
# -P 22: Chỉ định cổng SSH (port 22 là cổng mặc định, có thể thay đổi nếu server dùng cổng khác)
x.txt: File nguồn cần sao chép (ở máy hiện tại)
root: Tên người dùng trên máy đích
192.168.1.5: Địa chỉ IP của máy đích
:/usr/local/conf/: Thư mục đích trên máy remote (file sẽ được copy vào đây)
Kết quả: Lệnh này sẽ sao chép file x.txt từ máy hiện tại sang máy có IP 192.168.1.5, đặt vào thư mục /usr/local/conf/ với quyền user root.
Lưu ý:
Bạn sẽ được yêu cầu nhập mật khẩu của user root trên máy đích
Cần chú ý phân biệt -P (chữ hoa) cho SCP với -p (chữ thường) cho SSH
Đảm bảo thư mục đích đã tồn tại, nếu không sẽ báo lỗi
Ví dụ ngược lại (copy từ remote về local):
bashscp -P 22 [email protected]:/usr/local/conf/x.txt ./
mv - Di chuyển/đổi tên
mv old_name new_name # Đổi tên
mv file /new/location # Di chuyển
rm - Xóa file
rm [options] filename
# -i: Xác nhận trước khi xóa
# -f: Xóa không cần xác nhận
# -r: Xóa đệ quy
* Lưu ý quan trọng: Lệnh rm xóa vĩnh viễn, không thể khôi phục.
touch - Tạo file trống
touch filename.txt
3. Xem và chỉnh sửa nội dung tệp
cat - Hiển thị nội dung file
cat filename.txt
cat file1 file2 > combined.txt # Gộp file
nano/vi/vim - Trình soạn thảo văn bản
nano filename # Đơn giản, thân thiện
vi filename # Mạnh mẽ, chuyên nghiệp
tail và head - Xem đầu/cuối file
tail -n 50 file.txt # 50 dòng cuối
tail -f log.txt # Theo dõi real-time
head -n 20 file.txt # 20 dòng đầu
![]() |
4. Tìm kiếm và lọc dữ liệu
grep - Tìm kiếm pattern
grep "keyword" filename
grep -r "pattern" directory # Tìm đệ quy
grep -i "case" file # Không phân biệt hoa thường
find - Tìm file theo tiêu chí
find /path -name "*.txt"
find . -type f -mtime -7 # File sửa trong 7 ngày
awk - Xử lý text
awk '{print $1,$3}' cronfile.txt
awk -F':' '{sum+=$2} END {print sum}' cronfile.txt
![]() |
sed - Thay thế text
sử dụng sed để tìm kiếm và thay thế, xóa các tập tin mà không cần dùng đến trình soạn thảo văn bản.
sed 's/old/new/g' file.txt
sed -i 's/error/fixed/g' log.txt # Sửa trực tiếp file
Ví dụ lệnh trên sẽ thực hiện thay đổi các từ old trong tệp file.txt thành new.
5. Nén và giải nén
tar - Lưu trữ file
tar -cvf tmcron.tar directory/
# Nén:
# c (create): Tạo một file archive mới
# v (verbose): Hiển thị chi tiết quá trình xử lý (liệt kê các file đang được nén)
# f (file): Chỉ định tên file archive đầu ra
![]() |
tar -xvf archive.tar.gz # Giải nén
# -x: Extract - giải nén
![]() |
zip/unzip - Định dạng ZIP
zip -r backup.zip folder/
unzip backup.zip -d destination/
6. Quản lý hệ thống
top/htop - Giám sát tài nguyên
top # Giám sát cơ bản
htop # Giao diện tương tác đẹp hơn
ps - Xem tiến trình
ps aux # Tất cả tiến trình
ps -u username # Tiến trình của user cụ thể
kill - Dừng tiến trình
kill PID
kill -9 PID # Buộc dừng
killall process_name
df & du - Kiểm tra dung lượng
df -h # Dung lượng ổ đĩa
du -sh directory/ # Kích thước thư mục
![]() |
7. Quản lý người dùng và quyền
chmod - Thay đổi quyền file
chmod 755 script.sh
chmod u+x file # Thêm quyền thực thi
chown - Thay đổi chủ sở hữu
chown user:group file
chown -R user directory/
sudo - khởi chạy dịch vụ với quyền Quyền root
VD: sudo systemctl status clamav-freshclam.service
và sudo systemctl start clamav-freshclam.service
![]() |
Trong đó: systemctl là công cụ quản lý services trên Linux (systemd). Dùng để khởi động, dừng, khởi động lại và kiểm tra trạng thái các dịch vụ hệ thống. Lệnh này thay thế các công cụ cũ như service và init, cung cấp quản lý dịch vụ thống nhất và mạnh mẽ hơn cho system administrator
8. Mạng và kết nối
ping - Kiểm tra kết nối
ping google.com
ping -c 4 8.8.8.8 # Gửi 4 gói tin
ssh - Kết nối từ xa
ssh user@hostname
ssh -p 2222 user@host # Port tùy chỉnh
wget/curl - Tải file từ web
wget https://example.com/file.zip
curl -O https://example.com/file.tar.gz
netstat - Thông tin mạng
netstat -tuln # Port đang mở
![]() |
netstat -r # Bảng định tuyến
ip - Quản lý mạng
ip addr show # Xem địa chỉ IP
ip route # Xem routing table
ip link set eth0 up # Bật interface
9. Công cụ bên thứ 3 mới hiện đại
Ngoài các lệnh có sẵn, Linux cho phép tích hợp các công cụ thế hệ mới bên thứ 3 để nâng cao năng suất:
Để sử dụng các công cụ bên thứ 3 ta có thể download các công cụ này và cài đặt trên hệ thống:
bat - Thay thế cat với syntax highlighting
Sử dụng lệnh wget để download sau đó cài đặt
# Tải file .rpm
wget https://github.com/sharkdp/bat/releases/download/v0.24.0/bat-0.24.0-1.x86_64.rpm
# Cài đặt
sudo rpm -i bat-0.24.0-1.x86_64.rpm
#Ví dụ
![]() |
eza - Thay thế ls hiện đại hơn
eza -la # Hiển thị đẹp với icon
eza --tree # Xem cây thư mục
ripgrep (rg) - Tìm kiếm siêu nhanh
rg "pattern" directory/
rg -i "keyword" # Không phân biệt hoa thường
mtr - Traceroute + ping kết hợp
mtr google.com # Giám sát routing real-time
10. Quản lý gói
apt/apt-get (Debian/Ubuntu)
sudo apt update # Cập nhật danh sách package
sudo apt upgrade # Nâng cấp package
sudo apt install package # Cài đặt
sudo apt autoremove # Xóa package không dùng
dnf (RHEL/Fedora/Rocky Linux)
sudo dnf update
sudo dnf install package
sudo dnf search keyword
Mẹo và thủ thuật nâng cao
- Tự động hoàn thành: Nhấn Tab để tự động điền lệnh
- Xem lịch sử: history hoặc Ctrl+R để tìm lệnh cũ
- Kết hợp lệnh: Dùng && hoặc ; để chạy nhiều lệnh
- Chuyển hướng output:
- command > file.txt - Ghi đè
- command >> file.txt - Thêm vào cuối
- Pipe: command1 | command2 - Chuyển output của lệnh này sang lệnh khác
- Alias: Tạo shortcut cho lệnh dài
alias ll='ls -lah'alias update='sudo apt update && sudo apt upgrade'
Tóm lại
Từ những lệnh cơ bản như ls, cd, mkdir đến các công cụ nâng cao như awk, sed, và rsync - Linux vẫn là nền tảng không thể thiếu cho mọi chuyên gia IT. Sự xuất hiện của thế hệ công cụ mới như bat, eza, ripgrep - không thay thế hoàn toàn, hãy bổ sung và nâng cao trải nghiệm làm việc với terminal.
Xuân Anh











