Các lệnh cơ bản trong Linux là những công cụ thiết yếu để tương tác và quản lý hệ điều hành Linux thông qua giao diện dòng lệnh. Việc nắm vững những lệnh này không chỉ giúp bạn thực hiện các tác vụ hàng ngày một cách hiệu quả mà còn là nền tảng để làm việc với các hệ thống máy chủ, phát triển phần mềm và quản trị mạng. Trong bài viết này, mình sẽ cùng bạn đi sâu vào cấu trúc và cú pháp của dòng lệnh, khám phá các lệnh cơ bản và cách sử dụng chúng để làm chủ môi trường Linux.
Những điểm chính
- Kiến thức cơ bản về dòng lệnh trong Linux: Nắm được các kiến thức cơ bản về dòng lệnh như cấu trúc, cú pháp lệnh,…
- Các câu lệnh cơ bản trong Linux: Tổng hợp 40+ câu lệnh Linux cơ bản thường được sử dụng cho người mới.
- Câu hỏi thường gặp: Được giải đáp các kiến thức liên quan đến các lệnh cơ bản trong Linux
Kiến thức cơ bản về dòng lệnh trong Linux
Cấu trúc và cú pháp lệnh trong Linux
Trong Linux, mọi thao tác đều được thực hiện thông qua Terminal dưới dạng dòng lệnh (command line). Mỗi lệnh đều tuân theo một cú pháp chuẩn giúp hệ thống hiểu yêu cầu mà người dùng đưa ra. Cú pháp chung của lệnh được thể hiện như sau:
command -options argumentsTrong đó:
- command: Là tên lệnh bạn muốn thực thi, ví dụ:
ls,date,echo,cd,… - -options: (Tùy chọn) Là các tham số bổ sung giúp thay đổi hoặc mở rộng cách thức hoạt động của lệnh. Ví dụ:
-l,-a,-htrong lệnhlsđể hiển thị thông tin chi tiết, bao gồm cả file ẩn, kèm định dạng kích thước dễ đọc. - arguments: (Đối số) Là tên tệp, thư mục hoặc dữ liệu mà lệnh sẽ làm việc. Ví dụ:
cd /home/user– trong đó/home/userlà đối số xác định vị trí cần di chuyển đến.
Tùy chọn trong lệnh Linux
Tùy chọn có thể được viết ở dạng ngắn hoặc dài:
- Dạng ngắn: Bắt đầu bằng một dấu gạch ngang – và theo sau là ký tự, ví dụ:
-lhoặc-a. - Dạng dài: Bắt đầu bằng hai dấu gạch ngang — và theo sau là một từ khóa, ví dụ:
--allhoặc--human-readable.
Người dùng có thể kết hợp nhiều tùy chọn trong cùng một lệnh để thực hiện yêu cầu linh hoạt hơn. Ví dụ:
ls -lhLệnh trên giúp hiển thị danh sách file ở định dạng chi tiết và dễ đọc.
Đối số trong lệnh Linux
Đối số là tham số đi kèm, giúp chỉ định đối tượng mà lệnh sẽ xử lý. Chẳng hạn như:
echo Hello LinuxTrong ví dụ này, chuỗi “Hello Linux” là đối số, được in ra màn hình bởi lệnh echo.
Trang hướng dẫn (man page)
Khi muốn tìm hiểu về cú pháp hoặc ý nghĩa của bất kỳ lệnh nào, bạn có thể sử dụng trang hướng dẫn tích hợp trong Linux:
man command_nameVí dụ: man ls sẽ hiển thị thông tin chi tiết, tùy chọn và cú pháp sử dụng của lệnh ls. Đây là công cụ hữu ích để khám phá mọi lệnh có sẵn trong hệ thống Linux.
Các câu lệnh cơ bản trong Linux
- Lệnh alias
- Lệnh cat
- Lệnh cd
- Lệnh chmod
- Lệnh chown
- Lệnh clear
- Lệnh cp
- Lệnh curl
- Lệnh df
- Lệnh diff
- Lệnh echo
- Lệnh find
- Lệnh grep
- Lệnh head và tail
- Lệnh less
- Lệnh ls
- Lệnh mkdir
- Lệnh mv
- Lệnh passwd
- Lệnh ping
- Lệnh ps và top
- Lệnh pwd
- Lệnh reboot và shutdown
- Lệnh rm và rmdir
- Lệnh ssh
- Lệnh sudo
- Lệnh tar
- Lệnh uname
- Lệnh uptime
- Lệnh vim hoặc nano
- Lệnh wget
- Lệnh date
- Lệnh du
- Lệnh exit
- Lệnh finger
- Lệnh free
- Lệnh groups
- Lệnh gzip
- Lệnh history
- Lệnh kill
- Lệnh man
1. Lệnh alias
Lệnh alias trong Linux được sử dụng để tạo bí danh (tên rút gọn) cho một hoặc nhiều lệnh dài, giúp thao tác nhanh và gọn hơn trong Terminal. Khi đặt một bí danh, bạn có thể gọi lệnh phức tạp bằng một từ ngắn gọn. Ví dụ:
alias cls='clear'Sau khi tạo alias như trên, bạn chỉ cần gõ cls thay vì clear để xóa màn hình. Nếu muốn alias tồn tại vĩnh viễn, bạn hãy thêm vào file cấu hình .bashrc hoặc .bash_aliases trong thư mục home.
2. Lệnh cat
Lệnh cat (concatenate) dùng để đọc, ghép, hoặc hiển thị nội dung của tệp tin ra màn hình. Nó rất hữu ích khi bạn muốn xem nhanh nội dung file hoặc kết hợp nhiều file lại với nhau. Ví dụ:
cat file.txt
cat file1.txt file2.txt > merged.txtDòng trên hiển thị nội dung của một file hoặc hợp nhất hai file thành file mới merged.txt.
3. Lệnh cd
Lệnh cd (change directory) giúp di chuyển đến thư mục khác trong hệ thống. Ví dụ:
cd /home/userLệnh trên sẽ chuyển hệ thống làm việc sang thư mục /home/user. Dùng cd .. để di chuyển lên thư mục cha hoặc cd ~ để trở về thư mục home.
4. Lệnh chmod
Lệnh chmod (change mode) được dùng để thay đổi quyền truy cập (quyền đọc, ghi, thực thi) của tệp hoặc thư mục. Cú pháp:
chmod 755 file.shLệnh trên cho phép người sở hữu có quyền đọc, ghi, thực thi, trong khi nhóm và người khác chỉ có quyền đọc và thực thi.
5. Lệnh chown
Lệnh chown cho phép thay đổi người sở hữu (owner) và nhóm (group) của tệp tin hoặc thư mục. Ví dụ:
sudo chown user:group filenameTrong đó, user là tên người dùng mới và group là nhóm mới mà file thuộc về. Lệnh này yêu cầu quyền quản trị sudo.
6. Lệnh clear
Lệnh clear giúp xóa toàn bộ nội dung đang hiển thị trên màn hình Terminal, làm mới không gian làm việc. Bạn chỉ cần gõ lệnh như bên dưới, màn hình sẽ được làm sạch ngay mà không ảnh hưởng đến các tiến trình đang chạy.:
clear7. Lệnh cp
Lệnh cp được sử dụng để sao chép tệp hoặc thư mục từ vị trí này sang vị trí khác. Cú pháp:
cp source.txt /home/user/
cp -r folder1/ folder2/Tùy chọn -r cho phép sao chép toàn bộ thư mục bao gồm cả nội dung bên trong.
8. Lệnh curl
Lệnh curl dùng để truyền tải dữ liệu từ hoặc đến máy chủ qua các giao thức phổ biến như HTTP, HTTPS, FTP. Ví dụ:
curl -O https://example.com/file.txtTùy chọn -O giúp lưu file tải về với tên gốc từ máy chủ. Bạn có thể thêm -s để ẩn thông tin tải khi làm việc với script.
9. Lệnh df
Lệnh df (disk free) dùng để xem dung lượng đĩa còn trống và đang sử dụng. Ví dụ:
df -hTùy chọn -h hiển thị dung lượng ở dạng dễ đọc hơn (MB hoặc GB). Đây là lệnh cơ bản để kiểm tra tình trạng ổ đĩa hệ thống.
10. Lệnh diff
Lệnh diff so sánh sự khác biệt giữa hai file và hiển thị các dòng khác nhau. Cú pháp:
diff file1.txt file2.txtKết quả sẽ hiển thị phần khác biệt giữa từng dòng của hai file. Bạn có thể thêm -y để hiển thị song song hoặc --suppress-common-lines để bỏ qua các dòng giống nhau.
11. Lệnh echo
Lệnh echo được sử dụng để in chuỗi ký tự hoặc biến môi trường ra màn hình Terminal. Ví dụ:
echo "Xin chào Linux"Hoặc in giá trị biến:
echo $HOMELệnh này thường được dùng trong các script shell để xuất thông tin hoặc hiển thị biến tạm.
12. Lệnh find
Lệnh find giúp tìm kiếm file hoặc thư mục theo tên hoặc điều kiện trong hệ thống. Cú pháp:
find /path -name "filename.txt"Ví dụ, lệnh trên sẽ tìm file filename.txt trong đường dẫn /path. Bạn có thể kết hợp với các tùy chọn như -type f (tìm file) hoặc -type d (tìm thư mục).
13. Lệnh grep
Lệnh grep tìm kiếm chuỗi hoặc mẫu ký tự trong file. Ví dụ:
grep "keyword" file.txtKhi thực thi, hệ thống sẽ hiển thị các dòng chứa từ khóa bạn chỉ định. Kết hợp với tùy chọn -r giúp tìm kiếm đệ quy trong nhiều thư mục.
14. Lệnh head và tail
Lệnh head hiển thị những dòng đầu tiên, còn tail hiển thị những dòng cuối cùng của file. Ví dụ:
head -n 5 file.txt
tail -n 5 file.txtCác tùy chọn -n cho phép định số dòng hiển thị. tail rất hữu ích khi kiểm tra log file để xem các cập nhật mới nhất.
15. Lệnh less
Lệnh less dùng để đọc nội dung file theo từng trang, đặc biệt hữu ích với các file lớn. Dùng phím Space để chuyển sang trang kế tiếp và phím q để thoát.
16. Lệnh ls
Lệnh ls liệt kê các tệp và thư mục trong đường dẫn hiện tại. Ví dụ:
ls -laTùy chọn -l giúp hiển thị chi tiết quyền, kích thước, ngày sửa đổi; -a giúp hiển thị cả file ẩn.
17. Lệnh mkdir
Lệnh mkdir (make directory) dùng để tạo thư mục mới. Ví dụ:
mkdir new_folderNếu muốn tạo nhiều cấp thư mục cùng lúc, thêm tùy chọn -p:
mkdir -p /home/user/folder1/folder218. Lệnh mv
Lệnh mv dùng để di chuyển hoặc đổi tên tệp và thư mục. ví dụ:
mv file.txt /home/user/
mv oldname.txt newname.txtTùy chọn -i có thể được dùng để yêu cầu xác nhận trước khi ghi đè file.
19. Lệnh passwd
Lệnh passwd cho phép thay đổi mật khẩu cho tài khoản người dùng hiện tại hoặc tài khoản khác (kết hợp với sudo). Khi nhập lệnh:
passwdHệ thống sẽ yêu cầu bạn điền mật khẩu hiện tại và mật khẩu mới.
20. Lệnh ping
Lệnh ping được sử dụng để kiểm tra kết nối mạng giữa máy tính của bạn và máy chủ khác. Ví dụ:
ping google.comLệnh sẽ gửi gói dữ liệu ICMP để kiểm tra phản hồi. Nhấn Ctrl + C để kết thúc quá trình.
21. Lệnh ps và top
Lệnh ps hiển thị các tiến trình hiện chạy, còn top cho phép theo dõi tài nguyên hệ thống real-time. Ví dụ:
ps -ef
topLệnh top hữu ích khi giám sát CPU, RAM hoặc tiến trình đang chiếm tài nguyên cao.
22. Lệnh pwd
Lệnh pwd (print working directory) in ra đường dẫn đầy đủ của thư mục hiện tại. Đây là lệnh cơ bản nhưng cần thiết để định vị chính xác bạn đang thao tác ở đâu trong hệ thống.
23. Lệnh reboot và shutdown
Hai lệnh này được dùng để khởi động lại hoặc tắt hệ thống. Ví dụ:
sudo reboot
sudo shutdown -h nowTùy chọn -h dừng hệ thống hoàn toàn, còn -r để khởi động lại.
24. Lệnh rm và rmdir
Lệnh rm dùng để xóa file, trong khi rmdir chỉ xóa thư mục trống. Ví dụ:
rm file.txt
rmdir empty_folderNếu muốn xóa thư mục kèm nội dung bên trong, bạn sử dụng rm -r folder_name.
25. Lệnh ssh
Lệnh ssh (Secure Shell) giúp kết nối từ xa đến máy chủ qua giao thức an toàn. Ví dụ:
ssh user@192.168.1.10Sau khi nhập mật khẩu, bạn có thể thực hiện các thao tác trên máy chủ như đang sử dụng trực tiếp.
26. Lệnh sudo
Lệnh sudo cho phép người dùng thực thi lệnh với quyền quản trị (root). Ví dụ:
sudo apt updateKhi sử dụng, hệ thống sẽ yêu cầu nhập mật khẩu của tài khoản để xác nhận quyền truy cập.
27. Lệnh tar
Lệnh tar được sử dụng để nén và giải nén tệp lưu trữ .tar. Ví dụ:
tar -cvf archive.tar folder/
tar -xvf archive.tarTùy chọn -c để tạo gói nén, -x để giải nén, -v để hiện tiến trình và -f chỉ định tên file.
28. Lệnh uname
Lệnh uname in ra thông tin hệ thống như tên máy, kernel và bản phân phối. Ví dụ:
uname -aHiển thị chi tiết về hệ điều hành, phiên bản nhân Linux và phần cứng.
29. Lệnh uptime
Lệnh uptime cung cấp thông tin về thời gian hoạt động của máy tính kể từ lần khởi động cuối cùng, kèm số người dùng hiện hoạt động và tải trung bình (load average).
30. Lệnh vim hoặc nano
Hai lệnh này mở các trình soạn thảo văn bản trong Terminal. nano thân thiện dễ dùng cho người mới, còn vim mạnh mẽ với nhiều tính năng nâng cao. Ví dụ:
nano filename.txt
vim script.shSau khi chỉnh sửa, bạn nhấn Ctrl + X để lưu trong nano, hoặc Esc :wq trong vim để lưu và thoát.
31. Lệnh wget
Lệnh wget cho phép tải dữ liệu, tệp hoặc trang web trực tiếp từ Internet. Ví dụ:
wget https://example.com/file.zipTệp sẽ được tải xuống thư mục hiện tại, thích hợp dùng trong các script tự động hoặc thiết lập server.
32. Lệnh date
Lệnh date dùng để hiển thị hoặc thay đổi thời gian và ngày tháng của hệ thống. Bạn có thể dùng lệnh cơ bản:
dateLệnh trên sẽ hiển thị thời gian hiện tại theo định dạng mặc định. Để định dạng lại, sử dụng cú pháp:
date "+%d/%m/%Y %H:%M:%S"Ngoài ra, quản trị viên có thể đặt lại thời gian hệ thống bằng quyền sudo nếu cần.
33. Lệnh du
Lệnh du (Disk Usage) hiển thị dung lượng ổ đĩa mà các thư mục hoặc tệp đang chiếm dụng. Ví dụ:
du -h /home/Tùy chọn -h giúp hiển thị kích thước ở dạng dễ đọc (MB, GB). Khi kết hợp với --max-depth, bạn có thể xem chi tiết dung lượng từng cấp thư mục.
34. Lệnh exit
Lệnh exit được dùng để thoát khỏi Terminal, đăng xuất SSH hoặc kết thúc một shell script. Ví dụ:
exitSau khi thực hiện, cửa sổ dòng lệnh sẽ đóng lại hoặc đưa bạn trở về phiên điều khiển trước đó. Trong script, exit 0 thể hiện kết thúc thành công, còn exit 1 biểu thị lỗi.
35. Lệnh finger
Lệnh finger hiển thị thông tin chi tiết về người dùng Linux, bao gồm tên đăng nhập, thời gian truy cập và thư mục chính (home directory).
finger
finger usernameNếu nhập tên người dùng, lệnh sẽ hiển thị thông tin chỉ định của tài khoản đó.
36. Lệnh free
Lệnh free cung cấp thông tin tổng quan về bộ nhớ RAM và swap đang được sử dụng trong hệ thống.
free -hTùy chọn -h giúp kết quả được hiển thị rõ ràng theo đơn vị MB hoặc GB. Đây là lệnh hữu ích khi kiểm tra hiệu suất hoặc lỗi bộ nhớ.
37. Lệnh groups
Lệnh groups cho biết tài khoản hiện tại hoặc người dùng chỉ định thuộc những nhóm nào.
groups
groups usernameLệnh này hỗ trợ người quản trị kiểm tra quyền nhóm để cấu hình phân quyền hoặc truy cập tài nguyên chính xác.
38. Lệnh gzip
Lệnh gzip dùng để nén file nhanh chóng bằng thuật toán nén Gzip. Cú pháp cơ bản:
gzip file.txtMặc định, file gốc sẽ bị thay thế bằng file nén có hậu tố .gz. Nếu muốn giữ lại bản gốc, bạn thêm tùy chọn -k:
gzip -k file.txt39. Lệnh history
Lệnh history lưu và hiển thị danh sách những lệnh đã thực thi trong Terminal.
historyBạn có thể lặp lại lệnh trước đó bằng !! hoặc chạy lại lệnh theo số thứ tự, ví dụ !45 để thực thi lại lệnh thứ 45. Để xóa toàn bộ lịch sử, dùng:
history -c40. Lệnh kill
Lệnh kill giúp chấm dứt một tiến trình đang hoạt động. Trước tiên, bạn có thể xác định Process ID (PID) bằng lệnh ps hoặc grep, rồi sử dụng:
kill 1692Trong ví dụ này, tiến trình có PID 1692 sẽ bị dừng. Nếu cần buộc dừng ngay lập tức, bạn có thể thêm tùy chọn -9:
kill -9 169241. Lệnh man
Lệnh man (manual) hiển thị tài liệu hướng dẫn chi tiết của bất kỳ lệnh nào trong Linux.
man lsTrang hiển thị sẽ gồm cú pháp, tùy chọn và ví dụ của lệnh. Bạn dùng phím Space để cuộn xuống và nhấn Q để thoát. Đây là công cụ tra cứu tiêu chuẩn nhất trong môi trường Terminal.
Câu hỏi thường gặp
Lệnh history có thể giúp ích gì trong việc khắc phục sự cố hoặc kiểm tra lại các bước đã thực hiện?
Lệnh history hiển thị danh sách các lệnh đã được thực thi trước đó trong Terminal, kèm theo số thứ tự. Điều này rất hữu ích để kiểm tra lại các bước đã làm, tìm kiếm lệnh cụ thể hoặc lặp lại một lệnh trước đó, giúp khắc phục sự cố và theo dõi quá trình làm việc.
Sự khác biệt cơ bản giữa rm và rm -r khi xóa là gì?
Lệnh rm chỉ dùng để xóa file hoặc thư mục trống. Ngược lại, rm -r là viết tắt của “recursive” (đệ quy), cho phép xóa một thư mục cùng với tất cả các tệp và thư mục con bên trong nó, ngay cả khi chúng không trống.
Có cách nào để xem các tiến trình đang chạy mà không cần phải cài đặt thêm công cụ nào khác không?
Có, lệnh ps (process status) là công cụ mặc định trong Linux để hiển thị danh sách các tiến trình đang chạy. Bạn có thể sử dụng các tùy chọn như ps aux hoặc ps -ef để xem thông tin chi tiết về tất cả các tiến trình trên hệ thống.
Việc nắm vững các lệnh cơ bản trong Linux là chìa khóa để khai thác tối đa sức mạnh và sự linh hoạt của hệ điều hành này. Với cú pháp rõ ràng và sự hỗ trợ từ man page, việc thực hành thường xuyên sẽ giúp bạn trở thành một người dùng Linux thành thạo, sẵn sàng đối mặt với mọi thử thách trong môi trường dòng lệnh.




