Bài 02: Terminal và cấu trúc thư mục Linux

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 pwdls.

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.

Sau bài này anh sẽ biết:

  • 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ế

Nginx lỗi. Anh cần vào /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 /root là thư mục gốc. Thư mục gốc là /.
  • Sửa file trong /etc mà 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 pwd trước khi thao tác nguy hiểm.
  • Luôn backup file config trước khi sửa.
  • Dùng ls -lah kiể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

  1. Tạo thư mục ~/sysadmin-lab/day02.
  2. Tạo 3 file notes: a.txt, b.txt, c.txt.
  3. Copy a.txt thành a-backup.txt.
  4. Di chuyển toàn bộ file backup vào thư mục backup/.
  5. 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ỏ:

  • /etc chứa gì?
  • /var/log dùng khi nào?
  • /home khác gì /root?
  • /tmp có nên để dữ liệu quan trọng lâu dài không?
  • /usr/bin thườ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:

  • cat cho file ngắn
  • less để cuộn và tìm kiếm
  • head xem phần đầu
  • tail xem 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 pwd trước.
  • Dùng cat vớ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

  1. Tạo cây thư mục riêng trong /tmp/lab-fs gồm app, logs, backup, config.
  2. Tạo 5 file mẫu và di chuyển chúng giữa các thư mục.
  3. Tìm tất cả file *.conf trong /etc.
  4. 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/popd giú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 pwdls trước.
  • Trước khi đọc file lớn, ưu tiên less, head, tail thay 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

  1. Tạo một cây thư mục mô phỏng web app gồm app, config, logs, backup.
  2. Đặt vài file giả như nginx.conf, app.log, db.env.
  3. Dùng find, cp, mv, less để thao tác như đang xử lý một ứng dụng thật.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *