Trong bài viết trước ItsmeIT đã cung cấp tổng hợp các câu lệnh terminal trong Ubuntu, Linux và các ví dụ thực tế, tiếp tục cho điều đó, bài viết này cũng sẽ là các câu lệnh trong Linux hoặc Ubuntu hữu ích nhất và thường được sử dụng bởi developer. Các câu lệnh này sẽ giúp bạn thực hiện công việc nhanh chóng và hiệu quả hơn. Hãy cùng ItsmeIT khám phá những câu lệnh này để nâng cao kỹ năng làm việc của bạn nhé!
Tổng hợp một số các câu lệnh trong Linux hoặc Ubuntu hữu ích nhất

Lệnh pwd;
Lệnh pwd
(print working directory) là một trong những câu lệnh cơ bản nhất trong Linux và Unix, được sử dụng để hiển thị đường dẫn (path) tuyệt đối của thư mục hiện tại mà bạn đang đứng trong terminal.
Ví dụ khi bạn gõ lệnh pwd
trong terminal, hệ thống sẽ trả về đường dẫn tuyệt đối của thư mục hiện tại. Điều này rất hữu ích khi bạn muốn biết rõ vị trí hiện tại của mình trên hệ thống file của Linux hoặc Unix, hoặc khi bạn muốn sử dụng đường dẫn tuyệt đối đó để thực hiện các câu lệnh khác.

Lệnh ls
Lệnh ls
là một trong những câu lệnh trong Linux cơ bản nhất, được sử dụng để liệt kê nội dung của thư mục hiện tại hoặc thư mục được chỉ định.
Dưới đây là một số tùy chọn (option) phổ biến của lệnh “ls”:
- “-l”: hiển thị danh sách các tệp và thư mục trong chế độ xem danh sách chi tiết, bao gồm thông tin về quyền truy cập, kích thước, thời gian sửa đổi và tên của các tệp và thư mục.
- “-a”: hiển thị danh sách các tệp và thư mục bao gồm các tệp và thư mục ẩn (có dấu chấm đầu tên) trong thư mục hiện tại hoặc thư mục được chỉ định.
- “-h”: hiển thị kích thước các tệp và thư mục dưới dạng đơn vị đọc được, chẳng hạn như KB hoặc MB, để dễ đọc hơn.
- “-S”: sắp xếp danh sách các tệp và thư mục theo kích thước từ lớn đến nhỏ.
- “-t”: sắp xếp danh sách các tệp và thư mục theo thời gian sửa đổi gần nhất.
- “-r”: đảo ngược thứ tự sắp xếp của danh sách các tệp và thư mục.
Bạn có thể sử dụng câu lệnh trong Linux với một hoặc nhiều tùy chọn này cùng nhau để tùy chỉnh cách hiển thị và sắp xếp danh sách các tệp và thư mục theo ý muốn của mình.
Để minh họa chi tiết hơn, ItsmeIT sẽ cung cấp một ví dụ với sự kết hợp của tùy chọn “-l”, “-a” và “-h” trong lệnh “ls”. Chúng ta sẽ có được tất cả các tệp và thư mục, bao gồm cả các tệp và thư mục ẩn, với đầy đủ thông tin về quyền truy cập, số lượng liên kết, chủ sở hữu, nhóm, kích thước và ngày sửa đổi, và kích thước sẽ được hiển thị dưới dạng đơn vị đọc được để dễ đọc và so sánh.
ls -lah

Lệnh cd;
Lệnh cd
(Change directory) trong Linux và Ubuntu được sử dụng để di chuyển giữa các thư mục khác nhau trong hệ thống. Khi sử dụng lệnh cd
, bạn có thể nhập đường dẫn tuyệt đối
hoặc đường dẫn tương đối
đến thư mục mà bạn muốn di chuyển đến.
Cú pháp sử dụng:
cd /duong/dan/thu/muc

Lệnh mkdir
Nó cho phép bạn tạo một hoặc nhiều các thư mục ở bất cứ đâu bạn muốn trong hệ thống Linux của mình bằng câu lệnh trong Linux, tất nhiên là bạn phải có quyền cần thiết.
Cú pháp sử dụng:
mkdir [tùy chọn] [tên thư mục]
Trong đó:
- [tên thư mục]: tên của thư mục bạn muốn tạo mới.
- [tùy chọn]: là các tùy chọn được sử dụng để điều chỉnh cách thực thi của lệnh. Một số tùy chọn phổ biến của lệnh mkdir bao gồm:
- -p: Tạo thư mục cha nếu thư mục cha không tồn tại.
- -m: Thiết lập quyền truy cập (permissions) cho thư mục mới tạo.
- -v: In ra màn hình thông tin về quá trình tạo thư mục mới.
Ví dụ: để tạo một thư mục có tên là “documents”, bạn có thể sử dụng lệnh sau:
mkdir documents

Nếu bạn muốn tạo thư mục “photos” trong thư mục “documents”, bạn có thể sử dụng câu lệnh trong Linux như sau:
mkdir documents/photos
Nếu thư mục cha “documents” chưa tồn tại, bạn có thể sử dụng tùy chọn “-p” để tạo thư mục cha và thư mục con cùng lúc:
mkdir -p documents/photos
Lệnh rmdir
Lệnh rmdir
trong Linux hoặc Ubuntu được sử dụng để xóa các thư mục trống (không chứa bất kỳ tệp hoặc thư mục con nào). Nếu thư mục có chứa các tệp hoặc thư mục con, lệnh rmdir
sẽ không hoạt động và thông báo lỗi.
Cú pháp sử dụng lệnh rmdir
:
rmdir [tùy chọn] [thư mục]
Một số tùy chọn thường được sử dụng trong lệnh rmdir
:
-p
: Xóa các thư mục cha trống nếu thư mục con đã được xóa thành công.-v
: Hiển thị thông báo trên màn hình khi xóa thư mục.
Ví dụ để xóa thư mục :
rmdir -p documents

Lệnh mount
Trái ngược với Windows, bất cứ khi nào bạn cắm thẻ SD hoặc USB, rất có thể bản phân phối của bạn sẽ không hiển thị chúng trực tiếp khi bắt đầu. Bạn cần gắn kết chúng với hệ thống tệp hiện có của mình bằng câu lệnh mount trong Linux. Ví dụ để mount thư mục itsmeit vào /dev/sdb1, bạn có thể sử dụng câu lệnh:
sudo mount /dev/sdb1 /itsmeit
Lệnh df
Lệnh df
(disk free) là một trong những lệnh mạnh mẽ nhất của Linux hiển thị thông tin cần thiết về dung lượng ổ đĩa trên hệ thống tệp của bạn. Nó được sử dụng rộng rãi bởi các quản trị viên hệ thống để giám sát và phân tích máy chủ thời gian thực hoặc các hệ thống hướng mạng.
Cú pháp của lệnh df như sau:
df [tùy chọn] [đường_dẫn]
Một số tùy chọn phổ biến của lệnh “df” bao gồm:
- -h, –human-readable: hiển thị dung lượng ở định dạng dễ đọc cho con người.
- -T, –print-type: hiển thị loại hệ thống tệp tin của các phân vùng.
- -i, –inodes: hiển thị số inode sử dụng và số inode còn lại.
Đường dẫn được sử dụng để chỉ định một phân vùng đặc biệt để hiển thị thông tin. Nếu không có đường dẫn nào được cung cấp, lệnh “df” sẽ hiển thị thông tin của tất cả các phân vùng đĩa trên hệ thống.
Ví dụ, để hiển thị thông tin về tất cả các phân vùng đĩa trên hệ thống theo định dạng dễ đọc cho con người, bạn có thể sử dụng lệnh sau:
df -h

Lệnh này sẽ hiển thị dung lượng sử dụng, dung lượng còn trống và tổng dung lượng của tất cả các phân vùng đĩa trên hệ thống, bao gồm cả thông tin về phân vùng swap (nếu có).
Nếu bạn muốn hiển thị thông tin về một phân vùng đặc biệt, bạn có thể chỉ định đường dẫn đến phân vùng đó như sau:
df -h /dev/sda1
Lệnh uname
Lệnh uname
là một trong các câu lệnh trong Linux & Ubuntu cơ bản để lấy thông tin hệ thống như tên, phiên bản và các chi tiết khác dành riêng cho hệ thống. Bạn có thể nhanh chóng kiểm tra hệ điều hành và phiên bản hạt nhân của mình bằng lệnh này và có thể biết chắc chắn độ dài lệnh trên máy của bạn.

Cú pháp của lệnh “uname” như sau:
uname [tùy chọn]
Một số tùy chọn phổ biến của lệnh “uname” bao gồm:
- -a, –all: hiển thị tất cả các thông tin hệ thống.
- -s, –kernel-name: hiển thị tên của hệ điều hành (kernel).
- -r, –kernel-release: hiển thị phiên bản của kernel.
- -v, –kernel-version: hiển thị số phiên bản của kernel.
- -m, –machine: hiển thị kiến trúc phần cứng.
- -p, –processor: hiển thị thông tin về bộ xử lý.
- -i, –hardware-platform: hiển thị tên nền tảng phần cứng.
- -o, –operating-system: hiển thị tên hệ điều hành.
- -n, –nodename: sẽ hiển thị tên của nút mạng (network node) trên hệ thống.
- -a, –all: hiển thị tất cả các thông tin có thể về hệ thống, bao gồm tên hệ thống, phiên bản kernel, kiến trúc phần cứng, tên nhà sản xuất, thông tin về bộ xử lý, tên nền tảng phần cứng và tên hệ điều hành.
Ví dụ, để hiển thị tất cả các thông tin hệ thống, bạn có thể sử dụng lệnh sau:
uname -a
Lệnh cat
Lệnh cat
(concatenate) là một trong các câu lệnh trong Linux & Ubuntu được sử dụng thường xuyên nhất trong các hệ điều hành giống Linux / Unix. Lệnh “cat” được sử dụng để hiển thị nội dung của một hoặc nhiều tệp tin trên màn hình.

Cú pháp của lệnh “cat” như sau:
cat [tùy chọn] [tệp tin]
Một số tùy chọn phổ biến của lệnh “cat” bao gồm:
- -n, –number: hiển thị số dòng cho mỗi dòng trong tệp tin.
- -E, –show-ends: hiển thị ký tự kết thúc dòng (end-of-line).
- -T, –show-tabs: hiển thị ký tự tab.
- -v: hiển thị các ký tự không in được (non-printing characters).
Ví dụ: để hiển thị thông tin trong tệp tin “/etc/os-release”, bạn có thể sử dụng lệnh “cat” như sau:
cat /etc/os-release
Hoặc một ví dụ khác hiển thị thông tin phiên bản kernel của hệ thống, bao gồm tên phiên bản kernel, số phiên bản, ngày phát hành và thông tin khác.
cat /proc/version
Lệnh kill
Lệnh kill
là một cách hiệu quả để dừng các tiến trình bị kẹt do hạn chế về tài nguyên. Tóm lại bạn muốn dừng bất kỳ tiến trình nào đang hoạt động thì kill là giải pháp. Có thể kill theo pid hoặc kill all, cần sử dụng quyền sudo hoặc root.
Cú pháp sử dụng:
kill [tùy chọn] [ID tiến trình hoặc tên tiến trình]
Một số tùy chọn phổ biến của lệnh “kill” bao gồm:
- -s, –signal: chỉ định tín hiệu được gửi đến tiến trình. Mặc định là tín hiệu TERM (terminate).
- -l, –list: liệt kê tất cả các tín hiệu có thể được sử dụng với lệnh “kill”.
- -p, –pid: chỉ định ID tiến trình thay vì tên tiến trình.
Ví dụ tìm pid
và dừng tiến trình một ứng dụng đang chạy:
ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 167888 11836 ? Ss 09:12 0:06 /sbin/init sp
root 2 0.0 0.0 0 0 ? S 09:12 0:00 [kthreadd
Ví dụ kill pid là 1 và 2
sudo kill -9 1 2
Một ví dụ khác về cách sử dụng lệnh kill trong Linux, Ubuntu:
ps aux | grep firefox
Sau đó, để gửi tín hiệu TERM đến tất cả các tiến trình có tên “firefox”, bạn có thể sử dụng lệnh “killall” như sau:
killall -TERM firefox
Lệnh service
Lệnh “service” là một công cụ quản lý dịch vụ trên các hệ điều hành dựa trên Linux như Ubuntu, CentOS, Debian, Red Hat, vv. Lệnh này cho phép người dùng khởi động (start), dừng (stop), khởi động lại (restart) hoặc hiển thị trạng thái (status) của các dịch vụ hệ thống.

Cú pháp của lệnh “service” như sau:
service [tên dịch vụ] [thao tác]
Một ví dụ để kiểm tra trạng thái hoạt động của nginx.
sudo service nginx status
Lệnh shutdown
Lệnh shutdown
được sử dụng để tắt hoặc khởi động lại hệ thống dựa trên Linux. Lệnh này yêu cầu quyền quản trị root
để thực thi và có thể được sử dụng để lên lịch tắt hệ thống hoặc tắt ngay lập tức.

Cú pháp của lệnh “shutdown” như sau:
shutdown [tùy chọn] [thời gian] [thông báo]
Trong đó, các tùy chọn có thể bao gồm:
-h
: Tắt hệ thống sau khi đóng các tiến trình.-r
: Khởi động lại hệ thống.-c
: Hủy lệnh shutdown.-k
: Gửi thông báo tắt đến tất cả người dùng đang đăng nhập mà không tắt hệ thống.
Thời gian có thể được chỉ định theo các định dạng sau:
now
: Tắt hệ thống ngay lập tức.+m
: Tắt hệ thống sau m phút từ thời điểm hiện tại.hh:mm
: Tắt hệ thống vào thời điểm hh:mm.
Ví dụ, để tắt hệ thống ngay lập tức, bạn có thể sử dụng lệnh sau:
shutdown now
Để tắt hệ thống sau 10 phút, bạn có thể sử dụng lệnh sau:
shutdown +10
Để khởi động lại hệ thống ngay lập tức, bạn có thể sử dụng lệnh sau:
shutdown -r now
Lệnh touch
Câu lệnh “touch” trong Linux được sử dụng để tạo mới một file trống hoặc cập nhật thời gian truy cập và thời gian sửa đổi của một file đã tồn tại.
Cú pháp của lệnh “touch” như sau:
touch [tùy chọn] [tên tập tin]
Trong đó, tên tập tin là tên của tập tin mà bạn muốn tạo mới hoặc cập nhật thời gian. Các tùy chọn thường được sử dụng bao gồm:
-a
: Chỉ cập nhật thời gian truy cập của tập tin.-m
: Chỉ cập nhật thời gian sửa đổi của tập tin.-c
: Chỉ cập nhật thời gian của tập tin nếu tập tin đã tồn tại.-r
: Sao chép thời gian truy cập và thời gian sửa đổi từ một tập tin khác.
Ví dụ: để thay đổi thời gian truy cập của file tới thời điểm hiện tại, sử dụng option -a
trước tên file bằng lệnh tocuh như sau:
touch -a test.txt
Một ví dụ khác để sử dụng lệnh touch thay đổi thời gian file test.txt thành ngày 11/05/2023 lúc 10 giờ 47 phút 30 giây. Lệnh touch
cũng cho phép đặt thời gian nhất định cho thời gian truy cập và chỉnh sửa.
touch -t 202305111047.30 test.txt
Cấu trúc ngày giờ phải đúng định dạng là CCYYMMDDhhmm.ss, theo mô tả sau:
- MM – tháng trong năm [01-12]
- DD – ngày trong tháng [01-31]
- hh – giờ của ngày [00-23]
- mm – phút [00-59]
- CC – 2 số đầu của năm
- YY – 2 số cuối của năm
- SS – số giây [00-59]
Lệnh head
Lệnh head
trong Linux được sử dụng để hiển thị nội dung đầu tiên của một hoặc nhiều tệp tin văn bản. (mặc định là 10 dòng) và liệu trả dữ liệu về hiển thị trên màn hình terminal. Ví dụ, hiển thị 10 dòng đầu tiên của 1 file.
Cú pháp của lệnh head
như sau:
head [tùy chọn] [tên tập tin]
Ví dụ sử dung câu lệnh trong Linux với lệnh head
để để hiển thị 5 dòng đầu tiên của tệp tin “test.txt”, bạn có thể sử dụng lệnh sau:
head -n 5 test.txt
Bạn cũng có thể sử dụng lệnh head
để xem nội dung của nhiều tệp tin cùng một lúc. Ví dụ, để hiển thị 10 dòng đầu tiên của các tệp tin “example1.txt”, “example2.txt” và “example3.txt”, bạn có thể sử dụng lệnh sau:
head example1.txt example2.txt example3.txt
Lệnh tail
Lệnh tail
là một trong những câu lệnh hữu ích trong Linux và Ubuntu. Đúng như tên gọi của nó, lệnh tail
xuất ra (n) số dữ liệu cuối cùng của đầu vào đã cho. Theo mặc định, lệnh tail
in 10 dòng cuối cùng của các file được chỉ định bằng câu lệnh trong Linux. Nếu có nhiều tên file được cung cấp thì tên file sẽ được đặt trước dữ liệu từ mỗi file đó.
Cú pháp của lệnh tail
như sau:
tail [tùy chọn] [tên tập tin]
Mặc định thì lệnh tail
sẽ hiển thị 10 dòng, nhưng thông số này bạn có thể thay đổi được thông qua tùy chọn -n
.
tail -n 3 test.txt
Lệnh tail
cũng cho phép hiển thị teo số bytes, ví dụ để hiện thị 500bytes cuối cùng của file.
tail -c 500 filename.txt
Mặc định là đơn vị byte, nếu bạn muốn đổi sang kilobyte thì sử dụng cấu trúc dưới đây:
tail -c 2k filename.txt
2k chính là 2kilobyte, tức là 2048 bytes.
- Lệnh
head
hiển thị dữ liệu tính từ đầu file. - Lệnh
tail
hiển thị dữ liệu tính từ cuối file.
Lệnh cp
Lệnh cp
cho phép sao chép một tệp hoặc thư mục từ thư mục này sang thư mục khác. Nó nằm trong số các câu lệnh trong Linux & Ubuntu thường sử dụng phi thực tế khác mà bạn không thể sống thiếu. Bạn có thể sao chép nhiều tệp vào một thư mục trên terminal mình bằng lệnh cd.
Một số option của lệnh cp:
-r
: sao chép thư mục và nội dung bên trong.-i
: xác nhận trước khi ghi đè tập tin đích nếu tập tin đích đã tồn tại.-v
: hiển thị thông báo chi tiết về quá trình sao chép.
cp -R file-hoặc-thư-mục /thư/mục/cần/chuyển/đến
Hoặc coppy nhiều file hoặc thư mục khác nhau
cp -R option1 option2 ... /thư/mục/cần/chuyển/đến
Ví dụ nếu bạn muốn xem chi tiết quá trình sao chép, bạn có thể sử dụng tùy chọn -v
. Ví dụ, để sao chép tệp tin “file.txt” từ thư mục hiện tại sang thư mục “/home/$USER/documents” và hiển thị thông báo chi tiết về quá trình sao chép, bạn có thể sử dụng lệnh sau:
cp -v file.txt /thư/mục/cần/chuyển/đến
Lệnh mv
Cũng giống như cp
, với câu lệnh trong Linux với tùy chọn mv
bạn có thể di chuyển một hoặc nhiều file hoặc thư mục từ vị trí này sang vị trí khác. Bạn có thể sử dụng lệnh mv
này để chuyển các tệp lớn với tham số -f
.
Dưới đây là một số tùy chọn phổ biến được sử dụng với lệnh mv
:
-i
: Xác nhận trước khi ghi đè tập tin đích nếu tập tin đích đã tồn tại.-f
: Ghi đè lên tập tin đích mà không yêu cầu xác nhận từ người dùng.-n
: Không ghi đè lên tập tin đích nếu tập tin đích đã tồn tại.-u
: Chỉ di chuyển các tập tin nguồn có nội dung mới hơn tập tin đích hoặc tập tin đích không tồn tại.-v
: Hiển thị thông báo chi tiết về quá trình di chuyển hoặc đổi tên.--backup
: Tạo bản sao lưu của các tập tin đích trước khi ghi đè lên chúng.--target-directory
: Chỉ định thư mục đích để di chuyển các tệp tin nguồn đến, thay vì đưa đường dẫn đến tập tin đích.
Ví dụ, để di chuyển tất cả các tập tin có định dạng .txt đến thư mục Documents, bạn có thể sử dụng lệnh:
mv *.txt ~/Documents/
Để di chuyển nhiều tập tin cùng lúc đến thư mục khác nhau, bạn có thể sử dụng lệnh:
mv file1.txt file2.txt file3.txt ~/Documents/
Để di chuyển tập tin file.txt đến thư mục Documents và xác nhận trước khi ghi đè lên tập tin đích (nếu có), bạn có thể sử dụng lệnh:
mv -i file.txt ~/Documents/
Lệnh ln
Lệnh ln là một các câu lệnh trong Linux & Ubuntu tiện dụng nhất để tạo các liên kết tượng trưng đến một số tệp cụ thể. Bạn có thể sử dụng lệnh nhỏ nhưng linh hoạt này để tạo ra nhiều trường hợp của một liên kết tượng trưng đến một tệp hoặc thư mục cụ thể trên dung lượng đĩa của bạn. Hiểu nôm na là nó giống với shortcut trên windows
ln -s my_file.txt my_link.txt
Để xóa symlink trên Linux thì ta sử dụng lệnh unlink hoặc rm.
unlink symlink_to_remove
rm symlink_to_remove
Lệnh history
Lệnh history sử dụng để hiển thị lịch sử câu lệnh đã thực thi tại user hiện hành. Cho phép nhanh chóng xem những gì đã được thực hiện trước đây trên hệ thống.
history
Lệnh (!!)
Trong các câu lệnh trong Linux như Ubuntu hoặc debian thì câu lệnh khá đặc biệt 2 dấu chấm than (!!), lệnh !!
được sử dụng để thực thi lại lệnh trước đó mà bạn đã thực hiện mà không cần gõ lại toàn bộ lệnh đó. Khi bạn gõ “!!” vào terminal và nhấn Enter, lệnh cuối cùng sẽ được thực thi lại một lần nữa.
!!

Lệnh wget
Lệnh wget
là một trong những câu lệnh tốt nhất trong Linux và Ubuntu để tải xuống các tệp từ web ngay trên terminal. Nó rất tiện dụng trong các tập lệnh hoặc cronjobs
và hỗ trợ giao thức internet HTTP, HTTPS và FTP.
Ví dụ, để clone repository github có đường dẫn HTTPS là “https://github.com/username/repository.git” vào thư mục hiện tại, bạn có thể sử dụng câu lệnh sau:
wget https://github.com/username/repository.git
Lệnh curl
cURL viết tắt của Client URL. Đây là một công cụ dòng lệnh (command line tool) và thư viện dùng để kiểm tra kết nối từ URL và cho phép truyền dữ liệu thông qua nhiều giao thức khác nhau. Các giao thức được hỗ trợ : HTTP và HTTPS, FTP và FTPS ,IMAP và IMAPS, POP3 và POP3S, SMB và SMBS, SFTP, SCP, TELNET, GOPHER ,LDAP và LDAPS , SMTP và SMTPS
Cách dùng đơn giản nhất của curl
là hiển thị nội dung của trang. Ví dụ sau sẽ sử dụng lệnh curl trên Ubunu để cho bạn xem nội dung của trang chủ của trang https://itsmeit.co. Nó sẽ kết xuất (render) cho bạn mã nguồn của trang chủ website này.
curl https://itsmeit.co
Bạn cũng có thể dùng curl để downloads file giống với wget
curl -O url

Lệnh curl
cũng có thể dùng PHP để GET và POST dữ liệu, truy cập dịch vụ REST API có kết hợp với JSON.
Trên đây là tổng hợp các câu lệnh trong linux, ubuntu hữu ích và hay dùng nhất. Để hiểu rõ hơn, có thể sử dụng lệnh man với cú pháp: man ten_cau_lenh
để có được những thông tin đầy đủ về chức năng cũng như cú pháp của câu lệnh đó nhé.
– Advertising –