Bạn thường xuyên sử dụng các lệnh Linux? Hôm nay, chúng ta sẽ khám phá 50+ lệnh Linux quan trọng mà mọi người dùng đều cần biết. Những lệnh dưới đây là những công cụ hữu ích và được sử dụng phổ biến nhất trong hệ sinh thái Linux. Chúng ta sẽ chạy các lệnh này trên máy chủ Ubuntu, nhưng bạn có thể áp dụng tương tự trên bất kỳ bản phân phối Linux hiện đại nào. Bạn có thể thiết lập máy chủ Ubuntu bằng cách làm theo hướng dẫn Cài Đặt Máy Chủ Ubuntu Ban Đầu.
Bắt đầu ngay thôi!
50 Lệnh Linux Hàng Đầu Mà Người Dùng Thường Xuyên Phải Biết
- ls – Lệnh được sử dụng thường xuyên nhất trong Linux để liệt kê các thư mục
- pwd – Lệnh hiển thị thư mục làm việc hiện tại trong Linux
- cd – Lệnh Linux dùng để di chuyển qua các thư mục
- mkdir – Lệnh được sử dụng để tạo thư mục trong Linux
- mv – Di chuyển hoặc đổi tên các tệp tin trong Linux
- cp – Sử dụng tương tự như mv nhưng dùng để sao chép các tệp tin trong Linux
- rm – Xóa các tệp tin hoặc thư mục
- touch – Tạo các tệp tin trống
- ln – Tạo các liên kết tượng trưng (shortcut) tới các tệp tin khác
- clear – Xóa màn hình terminal
- cat – Hiển thị nội dung tệp tin trên terminal
- echo – In bất kỳ văn bản nào đi sau lệnh
- less – Lệnh hiển thị kết quả theo trang trong terminal
- man – Truy cập trang hướng dẫn (manual) cho tất cả các lệnh Linux
- uname – Lệnh Linux dùng để lấy thông tin cơ bản về hệ điều hành
- whoami – Lấy tên người dùng đang hoạt động
- tar – Lệnh để nén và giải nén các tệp tin trong Linux
- grep – Tìm kiếm chuỗi ký tự trong kết quả đầu ra
- head – Hiển thị số dòng nhất định từ đầu tệp tin
- tail – Hiển thị số dòng nhất định từ cuối tệp tin
- diff – Tìm sự khác biệt giữa hai tệp tin
- cmp – Kiểm tra xem hai tệp tin có giống hệt nhau hay không
- comm – Kết hợp chức năng của diff và cmp
- sort – Lệnh để sắp xếp nội dung của một tệp tin khi in ra
- export – Xuất các biến môi trường trong Linux
- zip – Nén các tệp tin trong Linux
- unzip – Giải nén các tệp tin trong Linux
- ssh – Lệnh Secure Shell trong Linux
- service – Lệnh để khởi động và dừng các dịch vụ trong Linux
- ps – Hiển thị các tiến trình đang chạy
- kill và killall – Kết thúc các tiến trình theo ID hoặc tên
- df – Hiển thị thông tin về hệ thống tập tin đĩa
- mount – Gắn kết hệ thống tập tin trong Linux
- chmod – Lệnh để thay đổi quyền truy cập tệp tin
- chown – Lệnh để thay đổi chủ sở hữu của tệp tin hoặc thư mục
- ifconfig – Hiển thị các giao diện mạng và địa chỉ IP
- traceroute – Theo dõi các bước nhảy (hop) của mạng để đến đích
- wget – Tải tệp tin trực tiếp từ internet
- ufw – Lệnh tường lửa
- iptables – Tường lửa cơ bản để các tiện ích tường lửa khác giao tiếp
- apt, pacman, yum, rpm – Trình quản lý gói, tùy thuộc vào bản phân phối
- sudo – Lệnh để nâng quyền trong Linux
- cal – Xem lịch trên dòng lệnh
- alias – Tạo các phím tắt tùy chỉnh cho những lệnh bạn sử dụng thường xuyên
- dd – Chủ yếu được sử dụng để tạo USB có khả năng khởi động
- whereis – Tìm vị trí của binary, mã nguồn, và trang hướng dẫn cho một lệnh
- whatis – Tìm hiểu chức năng của một lệnh
- top – Xem các tiến trình đang chạy kèm theo mức sử dụng hệ thống theo thời gian thực
- useradd và usermod – Thêm người dùng mới hoặc thay đổi dữ liệu của người dùng hiện có
- passwd – Tạo hoặc cập nhật mật khẩu cho người dùng hiện có
Lệnh ls trong Linux
Lệnh ls được sử dụng để liệt kê các tệp tin và thư mục trong thư mục làm việc hiện tại. Đây là một trong những lệnh Linux mà bạn sử dụng thường xuyên nhất.
Như bạn có thể thấy trong hình (ở phiên bản gốc), khi sử dụng lệnh mà không có đối số, chúng ta sẽ nhận được kết quả liệt kê tất cả các tệp tin và thư mục trong thư mục đó. Lệnh này cung cấp rất nhiều tùy chọn linh hoạt để hiển thị dữ liệu đầu ra.
Lệnh pwd trong Linux
Lệnh pwd cho phép bạn in ra thư mục làm việc hiện tại trên terminal. Đây là một lệnh cơ bản và thực hiện nhiệm vụ của nó rất hiệu quả.
Thông thường, dấu nhắc lệnh trên terminal đã hiển thị đường dẫn đầy đủ của thư mục. Nhưng nếu không, lệnh này là cách nhanh chóng để kiểm tra thư mục bạn đang làm việc. Một ứng dụng khác của lệnh này là khi tạo các script để xác định thư mục chứa script đó.
Lệnh cd trong Linux
Khi làm việc trên terminal, việc di chuyển qua lại giữa các thư mục là điều không thể thiếu. Lệnh cd là một trong những lệnh quan trọng mà bạn cần biết, giúp bạn điều hướng qua các thư mục. Chỉ cần gõ cd
theo sau là đường dẫn thư mục, như minh họa dưới đây.
root@ubuntu:~# cd <directory path>
Như bạn có thể thấy, trong lệnh trên tôi chỉ gõ cd /etc/
để chuyển vào thư mục /etc
. Chúng ta đã sử dụng lệnh pwd để in ra thư mục làm việc hiện tại.
Lệnh mkdir trong Linux
Lệnh mkdir cho phép bạn tạo thư mục từ trong terminal.
root@ubuntu:~# mkdir <folder name>
Như bạn có thể thấy trong hình, chúng ta đã tạo thư mục JournalDev chỉ với lệnh đơn giản này.
Các lệnh cp và mv
Các lệnh cp và mv tương đương với các lệnh copy-paste và cut-paste trong Windows. Tuy nhiên, vì Linux không có lệnh riêng để đổi tên tệp tin, chúng ta cũng sử dụng lệnh mv để đổi tên tệp tin và thư mục.
root@ubuntu:~# cp <source> <destination>
Trong lệnh trên, chúng ta đã tạo ra một bản sao của tệp có tên Sample. Hãy xem điều gì xảy ra nếu chúng ta sử dụng lệnh mv theo cách tương tự.
root@ubuntu:~# mv <source> <destination
Trong trường hợp này, vì chúng ta di chuyển tệp tin trong cùng một thư mục, lệnh mv đã hoạt động như một lệnh đổi tên. Tên tệp đã được thay đổi.
Lệnh rm trong Linux
Trong phần trước, chúng ta đã xóa tệp Sample-Copy. Lệnh rm được sử dụng để xóa các tệp tin và thư mục, và là một trong những lệnh quan trọng bạn cần biết.
root@ubuntu:~# rm <file name>
Để xóa một thư mục, bạn cần thêm đối số -r
. Nếu không có -r
, lệnh rm sẽ không xóa được thư mục.
root@ubuntu:~# rm -r <folder/directory name>
Cờ -r
có nghĩa là “đệ quy” (recursive). Khi dùng cùng lệnh rm, nó sẽ xóa không chỉ tệp được chỉ định mà còn tất cả các thư mục con và các tệp bên trong theo cách đệ quy.
Lưu ý: Hãy cẩn thận khi sử dụng lệnh rm -r vì nó có thể xóa nhanh chóng và vĩnh viễn một lượng lớn tệp và thư mục. Bạn có thể sử dụng cờ
-i
cùng với-r
để nhận xác nhận trước khi xóa từng tệp/thư mục.Ví dụ, để xóa thư mục mydir và nội dung của nó kèm theo xác nhận, bạn có thể sử dụng:
root@ubuntu:~# rm -ri mydirLệnh này sẽ yêu cầu bạn xác nhận trước khi xóa từng tệp và thư mục bên trong mydir.
Lệnh touch trong Linux
Lệnh touch tạo ra một tệp tin trống hoặc cập nhật thời gian của tệp tin hiện có.
root@ubuntu:~# touch <file name>
Lệnh ln trong Linux
Để tạo liên kết đến một tệp tin khác, chúng ta sử dụng lệnh ln. Đây là một trong những lệnh quan trọng nếu bạn dự định làm quản trị viên Linux.
root@ubuntu:~# ln -s <source path> <link name>
Cờ -s
tạo ra một liên kết tượng trưng (symlink hay soft link) đến tệp hoặc thư mục. Liên kết tượng trưng chỉ là con trỏ tới tệp gốc; nếu tệp gốc bị xóa, liên kết sẽ hỏng.
Mặc định, lệnh ln sẽ tạo liên kết cứng thay vì liên kết tượng trưng.
Lưu ý: Giả sử bạn có một tệp văn bản. Nếu tạo liên kết tượng trưng tới tệp đó, liên kết chỉ là con trỏ đến tệp gốc. Nếu xóa tệp gốc, liên kết sẽ không còn hiệu lực.
Liên kết cứng là bản sao chính xác của tệp gốc với nội dung giống hệt. Nếu chỉnh sửa tệp gốc, các thay đổi sẽ được phản ánh ở liên kết cứng. Và nếu xóa tệp gốc, liên kết cứng vẫn hoạt động như một bản sao thông thường.
Lệnh clear trong Linux
Lệnh clear xóa màn hình terminal, loại bỏ toàn bộ văn bản và kết quả hiển thị hiện tại, tạo ra một không gian làm việc sạch sẽ.
root@ubuntu:~# clear
Lệnh này sẽ xóa màn hình terminal và đưa con trỏ về góc trên bên trái.
Bạn cũng có thể kết hợp clear với các lệnh khác, ví dụ:
root@ubuntu:~# ls -l; clear
Lệnh này sẽ liệt kê các tệp và thư mục trong thư mục hiện tại, sau đó xóa màn hình terminal.
Lưu ý: Lệnh clear không xóa bất kỳ tệp hoặc dữ liệu nào trên hệ thống, chỉ ảnh hưởng đến hiển thị trên terminal.
Các lệnh cat, echo, và less
Khi bạn muốn hiển thị nội dung của một tệp hoặc in bất kỳ thứ gì lên terminal, chúng ta sử dụng lệnh cat hoặc echo. Hãy cùng xem ví dụ cơ bản:
root@ubuntu:~# cat <file name> root@ubuntu:~# echo <Text to print on terminal>
Như bạn thấy, lệnh cat khi sử dụng trên tệp New-File sẽ in ra nội dung của tệp đó, trong khi lệnh echo chỉ đơn giản in ra văn bản theo sau.
Lệnh less được sử dụng khi kết quả xuất ra quá lớn so với màn hình, cần cuộn để xem. less cho phép bạn phân trang và cuộn qua kết quả bằng phím Enter hoặc Space.
Cách đơn giản để làm điều này là sử dụng toán tử pipe (|
):
root@ubuntu:~# cat /boot/grub/grub.cfg | less
Lưu ý: Sử dụng cờ
-S
với less để bật chế độ gói dòng, giúp xem các dòng dài mà không cần cuộn ngang.
Sử dụng cờ-N
với less để hiển thị số dòng, hữu ích khi cần biết vị trí dòng cụ thể.Bạn có thể dùng các cờ này như sau:
root@ubuntu:~# cat /boot/grub/grub.cfg | less -SNViệc sử dụng less cùng với pipe rất hữu ích trong nhiều tình huống, ví dụ:
-
Xem kết quả của các lệnh chạy lâu như top hoặc htop.
-
Tìm kiếm văn bản cụ thể trong kết quả của các lệnh như grep hoặc cat.
Lệnh man trong Linux
Lệnh man là một công cụ cực kỳ hữu ích mà bất kỳ người dùng Linux nào cũng nên biết. Khi làm việc với Linux, các gói phần mềm tải về có rất nhiều chức năng, và việc nhớ hết tất cả là không thể.
Lệnh man được sử dụng để hiển thị trang hướng dẫn cho một lệnh cụ thể, cung cấp thông tin chi tiết về cú pháp, các tùy chọn và ví dụ.
Ví dụ, mở terminal và gõ:
root@ubuntu:~# man ls
Lệnh này sẽ hiển thị trang hướng dẫn trông như sau:
Output LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name; ...
Lệnh uname và whoami
Các lệnh uname và whoami cho phép bạn truy cập thông tin cơ bản hữu ích khi làm việc trên nhiều hệ thống.
- uname hiển thị thông tin về nhân hệ thống, bao gồm tên nhân, tên máy chủ, phiên bản phát hành, phiên bản nhân và tên phần cứng.
- whoami trả về tên người dùng hiện tại (nghĩa là “tôi là ai?”) và thường dùng trong script hoặc terminal để xác định danh tính người dùng.
Ví dụ:
root@ubuntu:~# uname -a
Tham số -a
có nghĩa là “tất cả”, in ra đầy đủ thông tin. Nếu không dùng tham số này, kết quả chỉ hiển thị “Linux”.
Lưu ý: Một số cờ hữu ích với uname:
-
uname -s
: Hiển thị tên nhân. -
uname -n
: Hiển thị tên máy chủ. -
uname -r
: Hiển thị phiên bản phát hành của nhân. -
uname -v
: Hiển thị phiên bản nhân. -
uname -m
: Hiển thị tên phần cứng.
Các lệnh tar, zip và unzip
Lệnh tar được sử dụng để tạo và giải nén các tệp lưu trữ (archive). Bạn có thể giải nén nhiều tệp lưu trữ khác nhau bằng lệnh này.
Để tạo tệp lưu trữ, sử dụng tham số -c
, và để giải nén, sử dụng tham số -x
:
#Compress root@ubuntu:~# tar -cvf <archive name> <files separated by space> #Extract root@ubuntu:~# tar -xvf <archive name>
Trong dòng lệnh đầu tiên, chúng ta đã tạo tệp lưu trữ Compress.tar chứa các tệp New-File và New-File-Link. Trong lệnh tiếp theo, các tệp này được giải nén ra từ lưu trữ.
Bây giờ, hãy cùng xem zip và unzip. Cả hai đều rất đơn giản, bạn có thể dùng mà không cần tham số và chúng sẽ hoạt động như mong đợi:
root@ubuntu:~# zip <archive name> <file names separated by space> root@ubuntu:~# unzip <archive name>
Vì các tệp đã có trong cùng thư mục, lệnh unzip sẽ yêu cầu xác nhận trước khi ghi đè các tệp tin.
Lệnh grep trong Linux
Lệnh grep là công cụ tìm kiếm văn bản mạnh mẽ trong Linux và các hệ điều hành dựa trên Unix. Nó có thể tìm kiếm các mẫu hay chuỗi ký tự trong một hoặc nhiều tệp và lọc kết quả đầu ra của các lệnh khác.
grep viết tắt của “global regular expression print”, thể hiện khả năng tìm kiếm biểu thức chính quy qua nhiều dòng và tệp.
Ví dụ:
root@ubuntu:~# <Any command with output> | grep "<string to find>"
Đây là một ví dụ đơn giản về cách sử dụng lệnh.
Các lệnh head và tail
Khi làm việc với các tệp lớn, các lệnh head và tail rất hữu ích. Chúng hiển thị phần đầu hoặc phần cuối của tệp tương ứng, giúp bạn nhanh chóng xem nội dung mà không cần mở toàn bộ tệp.
Mặc định, head và tail hiển thị 10 dòng đầu tiên của tệp. Để hiển thị số dòng khác, sử dụng tùy chọn -n
theo sau là số dòng mong muốn.
Ví dụ:
root@ubuntu:~# head <file name> root@ubuntu:~# tail <file name>
Như bạn thấy, lệnh head hiển thị 10 dòng đầu, trong khi tail in ra 10 dòng cuối.
Các lệnh này hữu ích để:
- Xem nhanh nội dung tệp
- Giám sát cập nhật thời gian thực để xử lý sự cố
- Lọc kết quả đầu ra của các lệnh khác
- Phân tích log
Các lệnh diff, comm và cmp
Các lệnh diff, comm và cmp được dùng để so sánh các tệp trong Linux và Unix. Chúng giúp xác định sự khác biệt giữa hai tệp, hợp nhất thay đổi và thực hiện các tác vụ so sánh khác.
So sánh hai tệp:
root@ubuntu:~# diff <file 1> <file 2>
Như bạn thấy, chúng ta đã thêm một đoạn văn “This line is edited” vào tệp New-File-Edited.
Lệnh cmp so sánh hai tệp và hiển thị byte đầu tiên khác nhau – hữu ích để so sánh tệp nhị phân hoặc kiểm tra hỏng hóc.
root@ubuntu:~# cmp <file 1> <file 2>
cmp chỉ cho biết số dòng khác nhau, không hiển thị nội dung cụ thể.
Lệnh comm so sánh hai tệp đã được sắp xếp và hiển thị các dòng chỉ có riêng ở mỗi tệp cũng như các dòng chung.
root@ubuntu:~# comm <file 1> <file2>
Văn bản căn lề trái chỉ có trong tệp 1, văn bản căn giữa chỉ có trong tệp 2, và văn bản căn phải có trong cả hai.
Các lệnh này giúp bạn xác định và giải quyết vấn đề, theo dõi thay đổi, và duy trì kiểm soát phiên bản, dù bạn là lập trình viên hay quản trị viên hệ thống.
Lệnh sort trong Linux
Lệnh sort được sử dụng để sắp xếp các dòng trong một tệp văn bản hoặc đầu vào tiêu chuẩn trên Linux và Unix. Bạn có thể sắp xếp theo thứ tự tăng dần hoặc giảm dần, sắp xếp theo trường, hoặc theo thứ tự tùy chỉnh.
Cú pháp cơ bản:
root@ubuntu:~# sort <filename>
Mặc định, sort sắp xếp theo thứ tự ASCII, có thể gây ra kết quả không mong đợi với số hay ký tự đặc biệt. Để sắp xếp số theo thứ tự số học, dùng tùy chọn -n
.
Ví dụ:
root@ubuntu:~# sort -n file.txt
Lệnh trên sẽ sắp xếp các dòng trong file.txt theo thứ tự số.
Bạn cũng có thể sắp xếp theo trường cụ thể với tùy chọn -k
:
root@ubuntu:~# sort -k 2 file.txt
Lệnh này sắp xếp theo trường thứ hai của các dòng trong file.txt.
sort là công cụ mạnh mẽ để tổ chức, phân tích dữ liệu và thực hiện các thao tác xử lý tệp tin.
Lệnh export trong Linux
Lệnh export được dùng để thiết lập các biến môi trường trong Linux và Unix. Các biến môi trường lưu trữ thông tin mà các tiến trình hoặc lệnh có thể sử dụng.
Khi một biến đã được thiết lập, nó có thể được truy cập bởi bất kỳ tiến trình hoặc lệnh nào chạy trong cùng một shell. Các biến này có thể chứa cài đặt cấu hình, tùy chọn người dùng hoặc thông tin hệ thống.
Ví dụ:
root@ubuntu:~# export <variable name>=<value>
Lệnh ssh trong Linux
Lệnh ssh thiết lập kết nối shell bảo mật tới máy chủ từ xa. Nó cung cấp kết nối được mã hóa an toàn giữa máy chủ cục bộ và máy chủ từ xa, cho phép chạy lệnh và chuyển tệp an toàn.
Cú pháp cơ bản:
root@ubuntu:~ ssh username@remote-server
Lệnh này thiết lập kết nối ssh tới máy chủ remote-server bằng tài khoản username.
ssh hỗ trợ nhiều tùy chọn cấu hình, bao gồm:
-
Cấu hình phương thức xác thực (mật khẩu, public key, v.v.)
-
Cấu hình thuật toán mã hóa
-
Cấu hình nén dữ liệu
-
Cấu hình chuyển tiếp cổng
-
Cấu hình chuyển tiếp X11
-
Cấu hình khóa SSH
Lệnh service trong Linux
Lệnh service dùng để quản lý các dịch vụ hệ thống – các tiến trình chạy liên tục được khởi động khi máy khởi động và chạy nền, đảm nhiệm các chức năng như mạng, quản lý cơ sở dữ liệu, và xác thực người dùng.
Lệnh service được dùng để khởi động, dừng, khởi động lại và kiểm tra trạng thái của các dịch vụ. Nó là giao diện cho lệnh systemctl của trình quản lý dịch vụ systemd.
Cú pháp cơ bản:
root@ubuntu:~ service ssh status root@ubuntu:~ service ssh stop root@ubuntu:~ service ssh start
Như bạn thấy, máy chủ ssh đang chạy trên hệ thống.
Các lệnh ps, kill và killall
Các lệnh ps, kill và killall dùng để quản lý tiến trình trong Linux.
ps hiển thị thông tin về các tiến trình đang chạy. Ví dụ:
- Hiển thị tất cả tiến trình:
root@ubuntu:~ ps -ef
- Hiển thị tiến trình theo PID:
root@ubuntu:~ ps -p PID
- Để minh họa, hãy xem ví dụ dưới đây:
root@ubuntu:~ ps root@ubuntu:~ kill <process ID> root@ubuntu:~ killall <process name>
Để minh họa, chúng ta sẽ tạo một shell script với vòng lặp vô hạn và chạy nó ở chế độ nền. Dấu &
cho phép đưa tiến trình vào background. Như bạn thấy, một tiến trình bash mới với PID 14490 đã được tạo ra.
Để kết thúc tiến trình bằng lệnh kill, bạn chỉ cần gõ kill
theo sau là PID của tiến trình. Nếu bạn không biết PID và chỉ muốn kết thúc tiến trình theo tên, hãy sử dụng killall.
Lưu ý, PID 14490 vẫn hoạt động vì cả hai lần chúng ta đều kết thúc tiến trình sleep.
Các lệnh df và mount
Khi làm việc với Linux, các lệnh df và mount rất hiệu quả để gắn kết hệ thống tập tin và lấy thông tin chi tiết.
- df hiển thị dung lượng đĩa đã sử dụng và còn trống trên hệ thống tập tin.
- mount dùng để gắn kết một hệ thống tập tin hoặc thiết bị vào một thư mục cụ thể.
Khi nói đến mount, nghĩa là kết nối thiết bị vào một thư mục để truy cập tệp tin. Cú pháp mặc định:
root@ubuntu:~ mount /dev/cdrom /mnt root@ubuntu:~ df -h
Trong ví dụ trên, /dev/cdrom
là thiết bị cần gắn kết. Thông thường, thiết bị có thể gắn kết được tìm thấy trong thư mục /dev
. Thư mục /mnt
là nơi gắn kết, mặc định của hệ thống. Bạn có thể thay đổi tùy ý.
Để xem các thiết bị đã gắn kết và thông tin chi tiết, dùng lệnh df với tham số -h
để hiển thị dữ liệu theo cách dễ đọc.
Các lệnh chmod và chown
Các lệnh chmod và chown dùng để thay đổi quyền truy cập và chủ sở hữu của tệp trong Linux.
- chmod thay đổi quyền của tệp hoặc thư mục.
- chown thay đổi chủ sở hữu của tệp hoặc thư mục.
Cú pháp mặc định:
root@ubuntu:~ chmod +x loop.sh root@ubuntu:~ chmod root:root loop.sh
Ví dụ:
Trong ví dụ trên, chúng ta đã thêm quyền thực thi cho tệp loop.sh bằng chmod. Đồng thời, dùng chown để đặt chủ sở hữu là root
(và sau này có thể thay thành www-data
nếu cần).
Các lệnh ifconfig và traceroute
- ifconfig hiển thị danh sách các giao diện mạng, địa chỉ IP, MAC và thông tin khác.
root@ubuntu:~ ifconfig
Có nhiều tham số có thể được sử dụng, nhưng ở đây chúng ta sẽ làm việc với lệnh cơ bản.
- traceroute theo dõi đường đi của các gói tin mạng đến đích. Bạn chỉ cần chỉ định địa chỉ IP, tên máy chủ hoặc tên miền của đích:
root@ubuntu:~ traceroute <destination address>
Ví dụ, với localhost, chỉ có một bước nhảy (chính là giao diện mạng). Bạn có thể thử với các tên miền hoặc địa chỉ IP khác để xem các router mà gói tin đi qua.
Lệnh wget trong Linux
Nếu bạn muốn tải một tệp từ terminal, lệnh wget là một trong những tiện ích dòng lệnh hữu ích nhất. Đây là lệnh quan trọng khi làm việc với các tệp nguồn. Khi chỉ định liên kết tải về, liên kết đó phải trỏ trực tiếp đến tệp. Nếu không, wget sẽ tải trang HTML thay vì tệp tin mong muốn.
Ví dụ:
root@ubuntu:~ wget <link to file>
Hoặc:
root@ubuntu:~ wget -c <link to file>
Tham số -c
cho phép tiếp tục tải về nếu bị gián đoạn.
Các lệnh ufw và iptables
Hai lệnh ufw và iptables được dùng để quản lý tường lửa trong Linux.
- iptables chuyển trực tiếp các quy tắc tường lửa đến Netfilter của Linux Kernel.
- ufw cung cấp giao diện dễ sử dụng hơn cho iptables, giúp cấu hình các quy tắc tường lửa một cách đơn giản.
Tại sao lại cần ufw khi đã có iptables? Bởi vì iptables khá phức tạp đối với người mới, còn ufw thì rất đơn giản.
Ví dụ, để cho phép cổng 80 cho máy chủ web:
root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT root@ubuntu:~# ufw allow 80
Chắc chắn bây giờ bạn hiểu tại sao ufw được tạo ra. Cả hai tường lửa này rất toàn diện, cho phép cấu hình tùy ý cho mạng của bạn. Hãy tìm hiểu ít nhất những kiến thức cơ bản về ufw hoặc iptables, vì đây là những lệnh bạn cần biết.
Trình Quản Lý Gói trong Linux
Các bản phân phối Linux khác nhau sử dụng các trình quản lý gói khác nhau. Trên máy chủ Ubuntu, chúng ta dùng apt, còn trên Fedora, Red Hat, Arch hay CentOS sẽ có trình quản lý riêng.
Ví dụ:
- Debian và các bản dựa trên Debian:
apt install <tên gói>
- Arch và các bản dựa trên Arch:
pacman -S <tên gói>
- Red Hat và các bản dựa trên Red Hat:
yum install <tên gói>
- Fedora và CentOS:
yum install <tên gói>
Việc làm quen với trình quản lý gói của bản phân phối sẽ giúp bạn dễ dàng hơn về lâu dài. Ngay cả khi đã có công cụ GUI, hãy thử sử dụng công cụ CLI trước.
Lệnh sudo trong Linux
“Với quyền lực lớn đi kèm với trách nhiệm lớn.”
Đây là câu hiển thị khi một người dùng có quyền sudo (sudoer) lần đầu sử dụng lệnh sudo để nâng quyền. Lệnh này tương đương với đăng nhập với tư cách root (dựa trên quyền hạn của sudoer).
non-root-user@ubuntu:~# sudo <command you want to run> Password:
Chỉ cần thêm sudo trước bất kỳ lệnh nào cần quyền cao, và thế là xong. Rất đơn giản nhưng cũng có thể gây rủi ro bảo mật nếu kẻ xấu truy cập được quyền sudo.
Lệnh cal trong Linux
Bạn đã bao giờ muốn xem lịch trong terminal chưa? Có những người thích điều này, và đây là giải pháp.
Lệnh cal hiển thị lịch được trình bày đẹp mắt trên terminal. Chỉ cần gõ:
root@ubuntu:~# cal root@ubuntu:~# cal March 2024
Mặc dù không dùng thường xuyên, nhưng đây là một bổ sung tuyệt vời cho terminal.
Lệnh alias
Bạn có những lệnh chạy rất thường xuyên trong terminal (ví dụ: rm -r
, ls -l
hoặc thậm chí các lệnh dài như tar -xvzf
)? Hãy tạo alias cho chúng!
Alias là tên viết tắt cho một lệnh mà bạn đã định nghĩa.
Ví dụ:
root@ubuntu:~# alias lsl="ls -l" OR root@ubuntu:~# alias rmd="rm -r"
Giờ đây, mỗi khi bạn gõ lsl
hoặc rmd
, kết quả sẽ giống như khi sử dụng lệnh đầy đủ. Đây là cách tối ưu hóa cho những lệnh dài và phức tạp.
Lệnh dd trong Linux
Lệnh dd được tạo ra để chuyển đổi và sao chép các tệp giữa các định dạng hệ thống tập tin khác nhau. Ngày nay, nó chủ yếu được dùng để tạo USB khởi động cho Linux, nhưng vẫn có nhiều ứng dụng khác.
dd là công cụ linh hoạt để sao chép và chuyển đổi dữ liệu ở mức thấp. “dd” viết tắt của “data-description” hay “data definition”, cho phép sao chép và chuyển đổi dữ liệu giữa các định dạng và thiết bị lưu trữ.
Ví dụ, nếu muốn sao lưu toàn bộ ổ cứng sang một ổ khác:
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda
Ở đây, if
đại diện cho tệp đầu vào và of
cho tệp đầu ra. Đây là công cụ mạnh mẽ nhưng cần sử dụng cẩn thận.
Lệnh whereis và whatis
Hai lệnh whereis và whatis được dùng để tìm thông tin về các chương trình và tệp.
whereis tìm vị trí của binary, mã nguồn và trang hướng dẫn của một lệnh.
root@ubuntu:~# whereis sudo sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz
whatis hiển thị mô tả ngắn gọn về một lệnh.
root@ubuntu:~# whatis sudo sudo (8) - execute a command as another user
Lệnh top trong Linux
Như đã nói ở phần trước, ps hiển thị các tiến trình đang chạy. Lệnh top là phiên bản dòng lệnh của Task Manager trên Windows, cung cấp thông tin thời gian thực về tiến trình và tài nguyên hệ thống.
top hiển thị:
- Mức sử dụng CPU, bộ nhớ
- Thông tin chi tiết về tiến trình
Lưu ý: Một số ví dụ:
Sắp xếp tiến trình theo mức sử dụng bộ nhớ:
root@ubuntu:~# top -o MEM
Hiển thị thông tin chi tiết của tiến trình cụ thể:
root@ubuntu:~# top -p PID
(Thay PID bằng ID của tiến trình cần kiểm tra.)
Hiển thị tóm tắt tài nguyên hệ thống:
root@ubuntu:~# top -n 1
top là công cụ mạnh mẽ để giám sát hoạt động hệ thống và xử lý sự cố hiệu suất.
Lệnh useradd và usermod
Hai lệnh này được sử dụng để quản lý tài khoản người dùng trong Linux.
useradd (hoặc adduser) dùng để tạo người dùng mới.
root@ubuntu:~# useradd JournalDev -d /home/JD
Lệnh trên tạo người dùng JournalDev với thư mục chính là /home/JD
.
usermod dùng để thay đổi thông tin của người dùng hiện có, như nhóm và quyền truy cập.Ví dụ, để thêm người dùng vào các nhóm:
root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql
Lệnh passwd trong Linux
Sau khi tạo người dùng, bạn cần đặt mật khẩu cho họ. Lệnh passwd cho phép bạn thiết lập mật khẩu cho tài khoản của mình hoặc cho tài khoản của người khác nếu có quyền.
Ví dụ:
Đổi mật khẩu cho người dùng hiện tại:
root@ubuntu:~# passwd
Lệnh này sẽ yêu cầu bạn nhập mật khẩu mới.
Đổi mật khẩu cho người dùng cụ thể:
root@ubuntu:~# passwd username
(Thay username bằng tên người dùng cần đổi mật khẩu.)
Buộc người dùng đổi mật khẩu lần đăng nhập tiếp theo:
root@ubuntu:~# passwd -f username
Đặt ngày hết hạn cho mật khẩu:
root@ubuntu:~# passwd -e -n days -w warndays username
(Thay days bằng số ngày trước khi mật khẩu hết hạn và warndays bằng số ngày cảnh báo.)
Đây chỉ là một số ví dụ về cách sử dụng lệnh passwd. Hiểu cách dùng lệnh này sẽ giúp bạn quản lý tài khoản và bảo mật hệ thống.
Kết luận
Chúng tôi tin rằng bạn đã thấy bài viết này hữu ích. Nếu có bất kỳ câu hỏi hay thắc mắc nào, xin đừng ngần ngại để lại bình luận bên dưới.