Chốt ý nhanh
| Chủ đề | Điểm cần nhớ |
|---|---|
| Terminal | Là công cụ làm việc chính của SysAdmin, nhanh và chính xác hơn GUI trong nhiều tình huống. |
| Filesystem | Cần phân biệt rõ /, ~, ., .. và các thư mục hệ thống quan trọng. |
| Thao tác an toàn | Trước khi xóa hoặc di chuyển file, luôn kiểm tra pwd và ls. |
Bài 02: Terminal và cấu trúc thư mục Linux
Bài này giúp anh dùng terminal tự tin hơn, hiểu cấu trúc thư mục Linux và thực hành thao tác file/thư mục an toàn.
- Terminal là gì và vì sao SysAdmin dùng terminal hằng ngày.
- Các thư mục quan trọng trong Linux.
- Cách di chuyển, tạo, xem, copy, đổi tên file.
- Cách tránh thao tác nhầm trên production.
1. Terminal là gì?
Terminal là giao diện dòng lệnh. Thay vì bấm chuột, anh gõ lệnh để kiểm tra và điều khiển hệ thống. Với server, terminal là công cụ chính vì nhiều server không có giao diện đồ họa.
2. Cấu trúc thư mục Linux
| Thư mục | Ý nghĩa | Lưu ý |
|---|---|---|
/ |
Gốc của toàn bộ filesystem | Mọi đường dẫn bắt đầu từ đây |
/etc |
File cấu hình hệ thống | Sửa cần backup trước |
/var |
Dữ liệu thay đổi thường xuyên | Log, cache, web data |
/var/log |
Log hệ thống/service | Nơi đọc lỗi |
/home |
Thư mục user thường | Dữ liệu cá nhân user |
/root |
Home của root | Không phải thư mục gốc |
/tmp |
File tạm | Có thể bị dọn tự động |
/usr |
Chương trình/thư viện | Ít sửa tay |
3. Lab thực hành: điều hướng filesystem
Bước 1: Xem vị trí hiện tại
pwd ls ls -la
ls -la hiển thị cả file ẩn và quyền file.
Bước 2: Di chuyển thư mục
cd /etc pwd cd /var/log pwd cd ~ pwd
~ là home directory của user hiện tại.
Bước 3: Tạo thư mục/file lab
mkdir -p ~/sysadmin-lab/day02 cd ~/sysadmin-lab/day02 touch notes.txt echo "Hoc terminal Linux" > notes.txt cat notes.txt
mkdir -p tạo cả thư mục cha nếu chưa có. touch tạo file rỗng. echo > file ghi nội dung mới vào file.
Bước 4: Copy, đổi tên, xem file
cp notes.txt notes-backup.txt mv notes-backup.txt notes-copy.txt ls -lh cat notes-copy.txt
4. Cảnh báo thao tác nguy hiểm
rm -rf có thể xóa rất nhanh và khó khôi phục. Trên production, ưu tiên đổi tên hoặc chuyển vào thư mục backup trước khi xóa.
# an toàn hơn xóa ngay mkdir -p ~/trash mv file-can-xoa.txt ~/trash/
5. Tình huống thực tế
/etc/nginx để xem cấu hình và /var/log/nginx để đọc log. Nếu không quen filesystem, anh sẽ mất nhiều thời gian tìm file.6. Lỗi thường gặp
- Nhầm
/rootlà thư mục gốc. Thư mục gốc là/. - Sửa file trong
/etcmà không backup. - Dùng đường dẫn tương đối khi đang đứng sai thư mục.
- Dùng
>làm ghi đè file thay vì>>để append.
7. Checklist production
- Luôn chạy
pwdtrước khi thao tác nguy hiểm. - Luôn backup file config trước khi sửa.
- Dùng
ls -lahkiểm tra file trước khi move/delete. - Không xóa thư mục hệ thống nếu không chắc.
8. Bài tập
- Tạo thư mục
~/sysadmin-lab/day02. - Tạo 3 file notes:
a.txt,b.txt,c.txt. - Copy
a.txtthànha-backup.txt. - Di chuyển toàn bộ file backup vào thư mục
backup/. - Viết lại ý nghĩa của
/etc,/var/log,/home.
Kết bài
Sau bài này, mục tiêu không phải là anh nhớ hết mọi thư mục trong Linux, mà là không còn bị lạc khi đứng trong terminal. Khi đã quen điều hướng, đọc file và tìm đúng đường dẫn, anh sẽ làm nhanh hơn rất nhiều trong các bài sau như phân quyền, service, log và troubleshooting. Bước tiếp theo là hiểu user, group và permission để biết ai được làm gì trong hệ thống.
Phần thực hành mở rộng: làm quen terminal và tự định vị trong filesystem
Phần này nên rất thực hành, vì người mới chỉ thật sự hiểu terminal khi tự gõ lệnh, đi lạc trong thư mục, rồi tự tìm đường quay lại.
Lab 1: Điều hướng thư mục như một người vận hành
pwd
ls
ls -lah
cd /
pwd
cd /etc
pwd
cd /var/log
pwd
cd ~
pwd
Mục tiêu là hiểu sự khác nhau giữa:
/: gốc filesystem~: home directory của user hiện tại.: thư mục hiện tại..: thư mục cha
Sau đó thử:
cd /tmp
mkdir demo-terminal
cd demo-terminal
touch file1.txt file2.txt
mkdir logs scripts backup
ls -lah
Lab 2: Phân biệt các thư mục quan trọng
Đi lần lượt qua các thư mục sau và ghi chú chức năng của từng thư mục:
cd /
ls
cd /etc
ls | head
cd /var/log
ls | head
cd /home
ls
cd /tmp
ls | head
cd /usr/bin
ls | head
Bài tập nhỏ:
/etcchứa gì?/var/logdùng khi nào?/homekhác gì/root?/tmpcó nên để dữ liệu quan trọng lâu dài không?/usr/binthường chứa loại file gì?
Lab 3: Tìm file đúng cách
find /etc -maxdepth 1 -type f | head
find /var/log -type f | head
which bash
whereis ssh
locate passwd | head
Nếu locate chưa có hoặc database chưa cập nhật, thử:
sudo updatedb
locate ssh_config | head
Người mới thường bị rối vì “biết file tồn tại đâu đó nhưng không biết nằm ở đâu”. Đây là kỹ năng rất thực tế.
Lab 4: Đọc file cấu hình và log bằng terminal
cat /etc/os-release
less /etc/passwd
head -20 /etc/passwd
tail -20 /etc/passwd
sudo tail -50 /var/log/auth.log
Mục tiêu không phải nhớ hết nội dung file, mà là biết khi nào dùng:
catcho file ngắnlessđể cuộn và tìm kiếmheadxem phần đầutailxem phần cuối
Lab 5: Sao chép, di chuyển và xóa an toàn
cd /tmp/demo-terminal
echo 'hello' > note.txt
cp note.txt note-copy.txt
mv note-copy.txt backup/
ls -R
rm file2.txt
ls -lah
Nếu muốn an toàn hơn, hãy tập thói quen kiểm tra bằng ls trước và sau mỗi lần mv hoặc rm. Trong production, thao tác nhầm thư mục rất dễ gây tai nạn.
Tình huống thực tế
Một ứng dụng báo lỗi đăng nhập. Sysadmin thường phải vào /etc để xem config, vào /var/log để xem log, vào thư mục deploy để kiểm tra file app, rồi dùng find để tìm nhanh file liên quan. Nếu không quen terminal và cấu trúc thư mục, anh sẽ mất rất nhiều thời gian chỉ để tìm đúng chỗ.
Lỗi phổ biến
- Nhầm
/với~. - Xóa nhầm file do không kiểm tra
pwdtrước. - Dùng
catvới file log quá lớn làm tràn terminal. - Không hiểu vì sao user thường không đọc được một số file trong
/var/log.
Bài tập thêm
- Tạo cây thư mục riêng trong
/tmp/lab-fsgồmapp,logs,backup,config. - Tạo 5 file mẫu và di chuyển chúng giữa các thư mục.
- Tìm tất cả file
*.conftrong/etc. - Ghi lại 10 thư mục Linux quan trọng nhất theo hiểu biết của anh.
Phần đào sâu thêm: terminal không chỉ là gõ lệnh, mà là điều hướng tư duy
Người mới thường sợ terminal vì không có nút bấm. Nhưng thực ra terminal cho anh tốc độ, độ chính xác và khả năng lặp lại mà giao diện đồ họa khó theo kịp.
Lab bổ sung: điều hướng nhanh và an toàn
cd /var/log
pwd
cd -
pushd /etc
pushd /var/log
popd
popd
Hãy hiểu thêm:
cd -quay lại thư mục trước đópushd/popdgiúp di chuyển qua lại giữa nhiều thư mục khi debug
Lab bổ sung: tìm theo tên, loại và kích thước
find /var/log -type f -name "*.log" | head -20
find /etc -type f -name "*.conf" | head -20
find /tmp -type f -size +1M | head -20
Đây là kiểu truy vấn rất thực tế khi anh cần tìm log lớn, file cấu hình hoặc dữ liệu rác.
Mẹo quan trọng khi làm thật
- Trước khi xóa hay di chuyển gì, luôn chạy
pwdvàlstrước. - Trước khi đọc file lớn, ưu tiên
less,head,tailthay vìcat. - Khi thao tác với đường dẫn hệ thống, nên copy-paste cẩn thận thay vì gõ đoán.
Bài tập “đã tay” hơn
- Tạo một cây thư mục mô phỏng web app gồm
app,config,logs,backup. - Đặt vài file giả như
nginx.conf,app.log,db.env. - Dùng
find,cp,mv,lessđể thao tác như đang xử lý một ứng dụng thật.
