Khám phá thế giới Linux/Unix một cách dễ dàng với hướng dẫn toàn diện này! Bài viết đi sâu vào các lệnh cơ bản giúp bạn điều hướng, thao tác tệp, và xem nội dung hiệu quả. Đồng thời, tìm hiểu chi tiết về cách quản lý quyền truy cập với chmod và chown, đảm bảo bảo mật và kiểm soát hệ thống của bạn. Dù bạn là người mới bắt đầu hay muốn củng cố kiến thức, đây là tài liệu cần thiết để bạn làm chủ terminal và tối ưu hóa công việc hàng ngày.
Linux và Unix là hai hệ điều hành mạnh mẽ, ổn định và bảo mật, đóng vai trò nền tảng cho nhiều máy chủ, siêu máy tính và các thiết bị nhúng trên toàn thế giới. Dù bạn là một lập trình viên, quản trị viên hệ thống hay đơn giản là người dùng muốn tìm hiểu sâu hơn về máy tính, việc nắm vững các lệnh cơ bản và cách quản lý quyền trong Linux/Unix là điều cực kỳ cần thiết. Bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan chi tiết và chuẩn SEO về các khái niệm quan trọng này.
---
---
Việc làm quen với các lệnh dòng lệnh (command line) là bước đầu tiên để làm chủ Linux/Unix. Dưới đây là những lệnh cơ bản nhất mà bạn sẽ sử dụng thường xuyên:
pwd
(Print Working Directory): Hiển thị đường dẫn tuyệt đối của thư mục hiện tại bạn đang làm việc.
pwd
Ví dụ: pwd
(output: /home/user/documents
)
ls
(List): Liệt kê các tập tin và thư mục trong thư mục hiện tại.
ls -l
: Hiển thị chi tiết (long listing) về các tập tin và thư mục, bao gồm quyền, chủ sở hữu, nhóm, kích thước, và thời gian chỉnh sửa.ls -a
: Hiển thị tất cả các tập tin, bao gồm cả các tập tin ẩn (bắt đầu bằng dấu chấm .
).ls -lh
: Hiển thị kích thước tập tin dễ đọc (Human-readable).cd
(Change Directory): Thay đổi thư mục làm việc.
cd <tên_thư_mục>
: Di chuyển đến thư mục con.
cd projects
cd ..
: Di chuyển lên một cấp thư mục.cd ~
hoặc cd
: Di chuyển về thư mục gốc của người dùng hiện tại (home directory).cd /
: Di chuyển đến thư mục gốc của hệ thống.mkdir
(Make Directory): Tạo thư mục mới.
mkdir new_folder
mkdir -p path/to/new_folder
: Tạo các thư mục cha nếu chúng chưa tồn tại.touch
: Tạo một tập tin trống hoặc cập nhật thời gian truy cập/sửa đổi của tập tin đã tồn tại.
touch new_file.txt
cp
(Copy): Sao chép tập tin hoặc thư mục.
cp <nguồn> <đích>
: Sao chép tập tin.
cp file.txt /tmp/backup/
cp -r <nguồn_thư_mục> <đích_thư_mục>
: Sao chép thư mục (recursive).
cp -r my_project /var/www/html/
mv
(Move): Di chuyển hoặc đổi tên tập tin/thư mục.
mv <nguồn> <đích>
: Di chuyển tập tin/thư mục.
mv document.pdf archived_documents/
mv <tên_cũ> <tên_mới>
: Đổi tên tập tin/thư mục.
mv old_name.txt new_name.txt
rm
(Remove): Xóa tập tin hoặc thư mục.
rm <tên_tập_tin>
: Xóa tập tin.
rm unwanted_file.log
rm -r <tên_thư_mục>
: Xóa thư mục và tất cả nội dung bên trong (recursive). Cẩn thận khi sử dụng lệnh này!
rm -r empty_folder
rm -rf <tên_thư_mục>
: Xóa thư mục và tất cả nội dung mà không cần xác nhận (force recursive). Cực kỳ nguy hiểm, chỉ sử dụng khi bạn chắc chắn!cat
(Concatenate): Hiển thị toàn bộ nội dung của một hoặc nhiều tập tin ra màn hình.
cat my_document.txt
less
: Xem nội dung tập tin từng trang một, cho phép cuộn lên/xuống. Nhấn q
để thoát.
less big_log_file.log
head
: Hiển thị những dòng đầu tiên của tập tin (mặc định là 10 dòng).
head -n 20 file.txt
tail
: Hiển thị những dòng cuối cùng của tập tin (mặc định là 10 dòng).
tail -n 20 file.txt
: Hiển thị 20 dòng cuối cùng.tail -f file.log
: Theo dõi các thay đổi mới được thêm vào cuối tập tin (thường dùng để xem log thời gian thực).man
(Manual): Hiển thị hướng dẫn sử dụng (manual page) của một lệnh.
man ls
clear
: Xóa toàn bộ nội dung hiển thị trên terminal.history
: Hiển thị danh sách các lệnh đã được thực thi trước đó.grep
: Tìm kiếm các dòng chứa một mẫu văn bản nhất định trong tập tin.
grep "error" /var/log/syslog
find
: Tìm kiếm tập tin hoặc thư mục dựa trên nhiều tiêu chí (tên, kích thước, thời gian...).
find . -name "*.txt"
sudo
(SuperUser Do): Thực thi một lệnh với quyền hạn của người dùng root (quản trị viên). Cần cẩn trọng khi sử dụng!
sudo apt update
df
(Disk Free): Hiển thị thông tin sử dụng không gian đĩa của các hệ thống tập tin.
df -h
du
(Disk Usage): Ước tính không gian đĩa mà các tập tin hoặc thư mục đang sử dụng.
du -sh <tên_thư_mục>
---
Quản lý quyền là một khía cạnh quan trọng trong Linux/Unix để đảm bảo tính bảo mật và kiểm soát truy cập vào các tập tin và thư mục. Mỗi tập tin và thư mục đều có một bộ quyền xác định ai có thể đọc, ghi, hoặc thực thi chúng.
Có ba loại quyền cơ bản:
r
(Read - Đọc):
ls
).w
(Write - Ghi):
x
(Execute - Thực thi):
cd
) và các tập tin/thư mục con bên trong nó.Các quyền được gán cho ba nhóm chủ thể:
u
(User - Chủ sở hữu): Người tạo ra tập tin hoặc thư mục.g
(Group - Nhóm): Một nhóm người dùng được định nghĩa.o
(Others - Khác): Tất cả những người dùng khác không phải là chủ sở hữu và không thuộc nhóm.Khi bạn sử dụng lệnh ls -l
, bạn sẽ thấy một chuỗi ký tự thể hiện quyền, ví dụ: -rwxr-xr--
.
Chuỗi này có 10 ký tự:
-
: Là một tập tin.d
: Là một thư mục.l
: Là một symbolic link.Ví dụ: -rwxr-xr--
-
: Là một tập tin.rwx
: Chủ sở hữu có quyền đọc, ghi, thực thi.r-x
: Nhóm có quyền đọc, thực thi, không có quyền ghi.r--
: Người khác chỉ có quyền đọc, không có quyền ghi, không có quyền thực thi.Chế độ số (Numeric Mode - Octal Representation):
Quyền cũng có thể được biểu diễn bằng các con số. Đây là cách phổ biến khi sử dụng lệnh chmod
.
r
(read) = 4w
(write) = 2x
(execute) = 1-
(no permission) = 0Cộng các giá trị này lại để có tổng quyền cho mỗi nhóm:
Quyền | Octal |
---|---|
--- |
0 |
--x |
1 |
-w- |
2 |
-wx |
3 |
r-- |
4 |
r-x |
5 |
rw- |
6 |
rwx |
7 |
Ví dụ: -rwxr-xr--
sẽ tương ứng với 754
rwx
= 4 + 2 + 1 = 7r-x
= 4 + 0 + 1 = 5r--
= 4 + 0 + 0 = 4chmod
Lệnh chmod
(change mode) được sử dụng để thay đổi quyền của tập tin và thư mục.
Cú pháp:
chmod [options] mode file/directory
chmod 755 script.sh
(chủ sở hữu: rwx, nhóm: r-x, khác: r-x)
chmod 644 index.html
(chủ sở hữu: rw-, nhóm: r--, khác: r--)
chmod 700 private_folder
(chủ sở hữu: rwx, nhóm: ---, khác: ---)
u
: user (chủ sở hữu)g
: group (nhóm)o
: others (khác)a
: all (tất cả: ugo)+
: thêm quyền-
: bỏ quyền=
: gán quyền cụ thể
chmod u+x script.sh
(thêm quyền thực thi cho chủ sở hữu)
chmod g-w data.txt
(bỏ quyền ghi cho nhóm)
chmod o=r index.html
(chỉ gán quyền đọc cho người khác)
chmod a+rwx my_folder
(cấp toàn quyền cho tất cả, không khuyến khích đối với các thư mục quan trọng)
-R
(Recursive): Áp dụng quyền cho tất cả các tập tin và thư mục con bên trong thư mục được chỉ định.
chmod -R 755 my_website/
chown
và chgrp
chown
(Change Owner): Thay đổi chủ sở hữu của tập tin hoặc thư mục.
chown [user][:group] file/directory
sudo chown john report.txt
(thay đổi chủ sở hữu của report.txt thành john)sudo chown -R www-data:www-data /var/www/html/
(thay đổi chủ sở hữu và nhóm của thư mục web thành www-data, thường dùng cho các máy chủ web)chgrp
(Change Group): Thay đổi nhóm sở hữu của tập tin hoặc thư mục.
chgrp group file/directory
chgrp developers project_files.zip
chown
có thể thay đổi cả chủ sở hữu và nhóm cùng lúc, nên thường được sử dụng phổ biến hơn chgrp
.---
Để bài viết này đạt chuẩn SEO tốt, tôi đã và đang áp dụng các yếu tố sau:
alt text
chứa từ khóa cho bất kỳ hình ảnh nào (ví dụ: ảnh chụp màn hình terminal).---
Nắm vững các lệnh cơ bản và quy tắc quản lý quyền trong Linux/Unix là chìa khóa để bạn có thể làm việc hiệu quả với hệ điều hành này. Từ việc điều hướng thư mục, thao tác với tập tin, đến việc thiết lập quyền truy cập an toàn, mỗi lệnh và khái niệm đều đóng vai trò quan trọng. Hãy thực hành thường xuyên trên một môi trường Linux/Unix (ví dụ: máy ảo, WSL trên Windows, hoặc một máy chủ VPS) để làm quen và ghi nhớ các kiến thức này. Chúc bạn thành công trên hành trình khám phá thế giới Linux/Unix!