Các lệnh quản lý file Linux là thứ bạn phải nắm trước tiên khi vừa SSH vào một VPS mới. Không biết gõ gì để tạo file, copy, phân quyền hay tìm file thì mọi thao tác sau đó đều bế tắc. Bài này hướng dẫn thực hành từ A đến Z, có lệnh chạy được ngay trên Ubuntu, Debian và CentOS, kèm cách xử lý những lỗi thường gặp. Nếu chưa có server để thực hành, bạn có thể tham khảo InterData để thuê VPS Linux có quyền root.
NỘI DUNG BÀI VIẾT
- Vì sao nên nắm các lệnh quản lý file Linux?
- Bảng tóm tắt các lệnh quản lý file Linux phổ biến
- Nhóm lệnh điều hướng: pwd, ls, cd, mkdir
- Nhóm lệnh tạo, copy, di chuyển, xóa file
- Nhóm lệnh xem nội dung và tìm kiếm file
- Lệnh phân quyền file Linux: chmod, chown
- Use-case: quản lý file trên VPS Linux thực tế
- Bảo mật nâng cao sau khi cấu hình xong
- Xử lý lỗi thường gặp khi dùng lệnh quản lý file
Vì sao nên nắm các lệnh quản lý file Linux?
Linux tổ chức dữ liệu theo cây thư mục bắt đầu từ / (root). Mọi file, thư mục, thiết bị đều là một node trong cây này, khác hoàn toàn với ổ đĩa C:, D: trên Windows. Hiểu cấu trúc hệ điều hành Linux giúp bạn đoán đúng file nằm ở đâu thay vì mò mẫm.
Khi làm việc qua SSH, bạn không có giao diện kéo thả. Mọi thao tác đều bằng dòng lệnh. Nắm chắc các lệnh cơ bản giúp bạn thao tác nhanh hơn, tự động hóa được bằng script, và xử lý sự cố mà không phải chờ hỗ trợ. Đây cũng là nền tảng để học tiếp các lệnh Linux cơ bản và thông dụng khác như quản lý tiến trình, network hay user.
Ba khái niệm bạn sẽ gặp liên tục: đường dẫn tuyệt đối (bắt đầu bằng /), đường dẫn tương đối (tính từ thư mục hiện tại), và quyền file (ai được đọc, ghi, thực thi). Nắm ba thứ này là đủ để không bị “permission denied” giữa chừng.
Bảng tóm tắt các lệnh quản lý file Linux phổ biến
Bảng dưới đây gom các lệnh bạn sẽ dùng hàng ngày. Cột ví dụ là câu lệnh chạy được thật, không phải cú pháp trừu tượng. Bạn có thể bookmark phần này để tra nhanh khi thao tác trên terminal.
| Lệnh | Chức năng | Ví dụ |
|---|---|---|
pwd |
In đường dẫn thư mục hiện tại | pwd |
ls |
Liệt kê file, thư mục | ls -la /var/www |
cd |
Di chuyển giữa các thư mục | cd /etc/nginx |
mkdir |
Tạo thư mục mới | mkdir -p /opt/app/logs |
touch |
Tạo file rỗng hoặc cập nhật timestamp | touch index.php |
cp |
Sao chép file, thư mục | cp -r src/ backup/ |
mv |
Di chuyển hoặc đổi tên | mv a.log b.log |
rm |
Xóa file, thư mục | rm -rf /tmp/cache |
cat |
Xem toàn bộ nội dung file | cat /etc/hostname |
less |
Xem file dài theo trang | less /var/log/syslog |
find |
Tìm file theo tên hoặc kích thước | find / -name "*.log" |
grep |
Tìm chuỗi trong file | grep -r "error" /var/log/ |
chmod |
Đổi quyền file | chmod 755 script.sh |
chown |
Đổi chủ sở hữu | chown www-data:www-data app/ |

Nhóm lệnh điều hướng: pwd, ls, cd, mkdir
Bốn lệnh này là điểm xuất phát của mọi thao tác. Bạn cần biết mình đang ở đâu, có gì trong thư mục, và tạo thư mục mới trước khi đặt file vào. Thực hành theo đúng thứ tự dưới đây.
1/ Kiểm tra vị trí hiện tại. Gõ pwd. Kết quả thường là /root nếu đăng nhập bằng root, hoặc /home/username nếu dùng user thường.
2/ Liệt kê file. Lệnh ls -la hiển thị cả file ẩn (bắt đầu bằng dấu chấm) kèm quyền và chủ sở hữu.
ls -la /var/www/html
3/ Di chuyển vào thư mục. Dùng đường dẫn tuyệt đối hoặc tương đối.
cd /etc/nginx
cd .. # lên một cấp
cd ~ # về home
cd - # quay lại thư mục trước đó
4/ Tạo thư mục lồng nhau. Thêm -p để tạo cả cây thư mục cha nếu chưa có.
mkdir -p /opt/myapp/logs/2025
Mẹo nhỏ: nhấn phím Tab để tự động hoàn thành tên file hoặc thư mục. Gõ sai chính tả là nguyên nhân phổ biến nhất gây lỗi “No such file or directory”.
Nhóm lệnh tạo, copy, di chuyển, xóa file
Đây là nhóm bạn dùng nhiều nhất. Điểm dễ nhầm là cp và mv nhìn qua giống nhau nhưng bản chất khác hẳn. cp giữ nguyên file gốc, còn mv di chuyển hoặc đổi tên, file gốc không còn nữa.
touch: tạo file rỗng nhanh
touch index.html
touch file1.txt file2.txt file3.txt
Nếu cần tạo file có nội dung, dùng echo hoặc trình soạn thảo như nano. Bạn có thể xem thêm nhiều cách tạo file trên Linux bằng terminal khác như printf, cat > hay redirect.
cp: sao chép file và thư mục
cp config.php config.php.bak # backup đơn giản
cp -r /var/www/html /backup/html # copy cả thư mục
cp -p script.sh /usr/local/bin/ # giữ nguyên quyền và timestamp
Luôn thêm -r khi copy thư mục, nếu không sẽ báo lỗi “omitting directory”. Cờ -p hữu ích khi copy file cấu hình hoặc script cần giữ nguyên quyền thực thi.
mv: di chuyển hoặc đổi tên
mv oldname.txt newname.txt # đổi tên
mv app/ /opt/ # di chuyển cả thư mục
mv -i file.txt /tmp/ # hỏi trước khi ghi đè
Trên cùng một ổ đĩa, mv gần như tức thời vì chỉ đổi con trỏ. Khác ổ đĩa, ví dụ từ /home sang ổ mount riêng, nó thực chất là copy rồi xóa. Với dữ liệu lớn, thao tác này sẽ tốn thời gian.
rm: xóa file, cẩn thận với -rf
rm file.txt
rm -i *.log # hỏi từng file
rm -rf /tmp/cache # xóa thư mục và toàn bộ nội dung
Linux không có thùng rác cho lệnh rm. Đã xóa là mất. Tuyệt đối không gõ rm -rf / hay rm -rf * khi chưa chắc thư mục hiện tại. Một dấu cách sai vị trí có thể xóa sạch server.
Nhóm lệnh xem nội dung và tìm kiếm file
Khi đã có file, bạn cần đọc nội dung và tìm file giữa hàng nghìn thư mục. Hai nhóm lệnh này giúp bạn làm việc đó mà không cần mở giao diện đồ họa.
cat, less, head, tail: xem nội dung
cat /etc/hostname # file ngắn
less /var/log/nginx/access.log # file dài, cuộn bằng phím mũi tên, thoát bằng q
head -n 20 app.log # 20 dòng đầu
tail -f /var/log/syslog # theo dõi log realtime
Với file log đang ghi liên tục, tail -f là lệnh bạn sẽ dùng mỗi khi debug. Nhấn Ctrl + C để thoát chế độ theo dõi.
find: tìm file theo tên, kích thước, thời gian
find /var/log -name "*.log" # theo tên
find / -type f -size +100M # file lớn hơn 100MB
find /home -mtime -7 # sửa trong 7 ngày gần đây
find /tmp -type f -delete # tìm và xóa luôn
Bắt đầu tìm từ thư mục hẹp thay vì / để tránh quét toàn bộ ổ đĩa gây chậm server. Kết hợp find với -exec để chạy lệnh trên từng kết quả.
grep: tìm chuỗi trong nội dung file
grep "404" /var/log/nginx/access.log
grep -r "DB_PASSWORD" /var/www/ # tìm đệ quy trong thư mục
grep -i "error" app.log # không phân biệt hoa thường
Kết hợp grep -c để đếm số dòng khớp, hoặc pipe với awk, cut để trích xuất dữ liệu cụ thể từ log.
Lệnh phân quyền file Linux: chmod, chown
Quyền file trong Linux có ba nhóm: chủ sở hữu (user), nhóm (group), và những người còn lại (others). Mỗi nhóm có ba quyền: đọc r=4, ghi w=2, thực thi x=1. Cộng lại thành con số bạn thấy khi gõ chmod.
| Quyền số | Ý nghĩa | Dùng khi nào |
|---|---|---|
644 |
Chủ đọc và ghi, còn lại chỉ đọc | File cấu hình, file HTML |
755 |
Chủ toàn quyền, còn lại đọc và thực thi | Thư mục, script, binary |
600 |
Chỉ chủ đọc và ghi | SSH key, file chứa mật khẩu |
777 |
Ai cũng toàn quyền | Tránh dùng, đây là lỗ hổng bảo mật |
chmod 644 index.html # file web thông thường
chmod 755 deploy.sh # script cần thực thi
chmod +x backup.sh # thêm quyền thực thi, giữ nguyên quyền cũ
chown www-data:www-data /var/www/html # đổi cả user và group
chown -R nginx:nginx /etc/nginx # áp dụng cho toàn bộ thư mục
chown user:group file.txt
Quy tắc: web server như Nginx hoặc Apache cần đọc file web, nên chủ sở hữu thường là www-data hoặc nginx với quyền 644 cho file, 755 cho thư mục. Đừng dùng 777 cho mọi thứ. Rất nhiều server bị chiếm quyền điều khiển chỉ vì thói quen này.
Use-case: quản lý file trên VPS Linux thực tế
Ba tình huống dưới đây gặp gần như ngay sau khi bạn thuê VPS và bắt đầu deploy ứng dụng. Nếu bạn tự quản trị server, đây là kiểu công việc thuộc dạng VPS Unmanaged cho người có kiến thức kỹ thuật.
1. Cấp quyền cho web server đọc file
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
Ba lệnh trên là công thức chuẩn cho thư mục web. Thư mục cần quyền thực thi để vào được, còn file chỉ cần đọc. Nếu web báo 403 Forbidden, kiểm tra lại quyền thư mục cha và cấu hình nginx hoặc apache.
2. Nén và giải nén file
tar -czvf backup.tar.gz /var/www/html # nén
tar -xzvf backup.tar.gz -C /tmp/restore # giải nén vào thư mục cụ thể
unzip archive.zip -d /var/www/html # xử lý file .zip
Nhớ thêm -C khi giải nén để chỉ định đích, tránh ghi đè lung tung vào thư mục hiện tại. Với file lớn, có thể dùng rsync thay vì tar nếu chỉ muốn đồng bộ phần thay đổi. Nếu bạn đang vận hành một hệ thống File Server và quản lý tệp tin qua mạng, các lệnh này sẽ là công cụ hàng ngày.
3. Dọn dẹp log cũ
find /var/log -name "*.log" -mtime +30 -delete
journalctl --vacuum-time=30d # dọn log systemd
Chạy định kỳ hàng tuần bằng cron để tránh ổ đĩa bị đầy. Đừng xóa /var/log/syslog hoặc /var/log/auth.log khi còn đang cần điều tra sự cố.
Đã rõ workload, chọn gói VPS theo đúng nhu cầu vận hành
Mỗi hệ thống có nhu cầu khác nhau: web WordPress nhỏ cần cấu hình gọn, app Node.js cần RAM và CPU ổn định, hệ thống backup hoặc lưu trữ cần dung lượng lớn. Canh Me tổng hợp khuyến mãi và Hot Deals VPS, Cloud Server mới nhất của InterData để bạn chọn đúng gói theo tải thực tế, tiết kiệm chi phí thuê.
Bảo mật nâng cao sau khi cấu hình xong
Nắm lệnh quản lý file chỉ là bước đầu. Sau khi đã cấu hình ổn định, bạn cần siết lại bảo mật để giảm thiểu rủi ro, đặc biệt với VPS có IP công khai.
1/ Tắt đăng nhập root bằng mật khẩu, chuyển sang SSH Key. Hướng dẫn chi tiết trong bài thiết lập SSH Key bảo mật. Làm một lần, dùng mãi.
2/ Bật firewall UFW (Ubuntu, Debian) hoặc firewalld (CentOS):
ufw allow 22/tcp
ufw allow 80,443/tcp
ufw enable
3/ Cài Fail2Ban để tự động chặn IP brute-force SSH:
apt install fail2ban -y
systemctl enable --now fail2ban
4/ Kiểm tra quyền file định kỳ. Tìm file có quyền 777 hoặc thuộc sở hữu user lạ:
find /var/www -type f -perm 0777
find /var/www ! -user www-data ! -user root
Sau khi đã tối ưu cấu hình, bạn có thể xem thêm hướng dẫn tối ưu hóa VPS Linux để tinh chỉnh kernel, swap và caching cho phù hợp với workload.
Xử lý lỗi thường gặp khi dùng lệnh quản lý file
Ba lỗi dưới đây chiếm phần lớn các lần bạn phải dừng lại giữa chừng khi thao tác với file trên Linux. Mỗi lỗi đều có cách sửa nhanh.
1. Permission denied
Triệu chứng: chạy cp, mv, rm hoặc chỉnh file báo “Permission denied”.
Nguyên nhân: user hiện tại không có quyền ghi lên file hoặc thư mục đó.
Cách sửa: kiểm tra quyền và chủ sở hữu trước.
ls -la /duong/dan/file
id # xem user hiện tại
sudo chown $USER file # đổi chủ sở hữu
sudo chmod u+w file # cấp quyền ghi cho chủ
2. No such file or directory / File not found
Triệu chứng: lệnh báo file không tồn tại dù bạn chắc là có.
Nguyên nhân: sai đường dẫn, sai chữ hoa chữ thường (Linux phân biệt hoa thường), hoặc đang ở sai thư mục.
Cách sửa: kiểm tra vị trí và tìm file thật.
pwd
ls -la
find / -name "tên-file" 2>/dev/null
3. Lỗi cú pháp lệnh: command not found, missing operand
Triệu chứng: “command not found” hoặc “missing operand after…”.
Nguyên nhân: gõ sai tên lệnh, thiếu tham số, hoặc gói chưa được cài.
Cách sửa: kiểm tra lại lệnh, xem package có tồn tại không.
which cp # kiểm tra lệnh có tồn tại
man cp # đọc hướng dẫn
apt install coreutils -y # Debian/Ubuntu
yum install coreutils -y # CentOS/RHEL
Câu Hỏi Thường Gặp về Các Lệnh Quản Lý File Linux
Các lệnh quản lý file trong Linux là gì?
Đây là nhóm lệnh thao tác với file và thư mục qua terminal, gồm điều hướng (pwd, ls, cd), tạo (touch, mkdir), sao chép và di chuyển (cp, mv), xóa (rm), xem nội dung (cat, less), tìm kiếm (find, grep) và phân quyền (chmod, chown).
Làm thế nào để tạo file trong Linux bằng terminal?
Nhanh nhất là dùng touch tenfile.txt để tạo file rỗng. Nếu cần nội dung, dùng echo "nội dung" > tenfile.txt hoặc mở trình soạn thảo như nano tenfile.txt. Có thể tạo nhiều file cùng lúc bằng touch f1.txt f2.txt f3.txt.
Sự khác nhau giữa cp và mv trong Linux?
cp sao chép và giữ nguyên file gốc, còn mv di chuyển hoặc đổi tên nên file gốc không còn. Với thư mục, cp cần cờ -r. Trên cùng ổ đĩa, mv gần như tức thời vì chỉ đổi con trỏ, còn cp luôn phải copy dữ liệu thật.
chmod 755 là gì?
Đây là cách cấp quyền rwxr-xr-x: chủ sở hữu đọc, ghi, thực thi; nhóm và người khác chỉ đọc và thực thi. Thường áp cho thư mục, script hoặc binary. Không nên dùng cho file chứa mật khẩu hay SSH key, những file này cần 600.
Làm sao tìm file trong Linux bằng dòng lệnh?
Dùng find /duong/dan -name "*.log" để tìm theo tên, thêm -size +100M để lọc file lớn, hoặc -mtime -7 cho file sửa gần đây. Muốn tìm chuỗi bên trong nội dung, dùng grep -r "keyword" /thu-muc/.
Lời kết
Các lệnh quản lý file Linux trong bài này phủ đủ từ điều hướng, tạo và xóa, sao chép và di chuyển, xem nội dung, tìm kiếm đến phân quyền. Đủ để bạn tự tin thao tác trên bất kỳ VPS Ubuntu, Debian hay CentOS nào. Bước tiếp theo: chọn một VPS có quyền root phù hợp với workload thực tế (web nhỏ, app nội bộ, hay hệ thống có tải biến động), thực hành từng lệnh trên môi trường thật, sau đó siết bảo mật bằng SSH Key và firewall. Càng luyện trên server thật, bạn càng xử lý sự cố nhanh khi gặp lỗi.
Nếu chưa có server để thực hành, xem bảng giá thuê VPS InterData hoặc chọn Cloud Server nếu hệ thống đã ở giai đoạn production với nhu cầu mở rộng tài nguyên.
Nội dung mang tính tham khảo. Lệnh, cú pháp, đường dẫn file và tùy chọn cấu hình có thể thay đổi theo phiên bản hệ điều hành, phiên bản phần mềm và môi trường cụ thể. Nên kiểm thử, sao lưu dữ liệu và đánh giá rủi ro trước khi áp dụng lên server production.
