Sau đây là hơn 37 các câu lệnh cơ bản trong Linux terminal. Hơn nữa, các lệnh Linux toàn tập trong bài viết này cũng có thể được sử dụng đối với macOS command line. Nếu bạn mới bắt đầu sử dụng Linux thì đây là bài viết cực kỳ hữu ích dành cho bạn.
Các câu lệnh trong Linux
Có rất nhiều các câu lệnh cơ bản trong Linux (Linux command), tuy nhiên ở đây Vietnix đã chọn ra 37 các câu lệnh phổ biến thường dùng trong Linux, để tất cả mọi người có thể sử dụng command prompt của Linux dễ dàng hơn.
Trước khi tham khảo các câu lệnh thường dùng trong Linux, nếu bạn dùng VPS từ xa, hãy mở PuTTY để truy cập SSH vào giao diện dòng lệnh. Còn nếu bạn dùng Linux local, trong phần Utilities để mở giao diện dòng lệnh.
Tổng hợp các câu lệnh trong Linux ở bài viết này được sắp xếp theo thứ tự trong bảng chữ cái, chứ không phải theo mức độ hữu dụng của các câu lệnh cơ bản trong Linux. Để tìm hiểu rõ hơn về mục đích sử dụng của các Linux command.
Ngoài ra, nếu bạn đang có nhu cầu tìm kiếm một nhà cung cấp VPS uy tín và chất lượng để phát triển dự án thì có thể tham khảo Vietnix. Hiện tại Vietnix đang là nhà cung cấp VPS, hosting tốc độ cao hàng đầu với đa dạng các tính năng, cấu hình hiện đại giúp đảm bảo hiệu suất cao và tính ổn định cao.
Hiện tại Vietnix đang cung cấp các gói VPS như sau: VPS NVMe, VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp và VPS GPU. Nhanh tay liên hệ Vietnix để được tư vấn gói VPS tốc độ cao phù hợp với nhu cầu ngay hôm nay.
alias
Lệnh alias
giúp bạn đặt tên cho một lệnh hoặc chuỗi command Linux. Sau đó, hãy nhập tên và shell sẽ thực thi lệnh hay chuỗi các lệnh đó.
alias cls=clear
Lệnh trên thiết lập một alias có tên là cls
, được dùng thay cho tên clear
. Khi nhập cls
, nó sẽ xóa toàn bộ màn hình, hoàn toàn tương tự với việc nhập clear
. Tất nhiên, alias giúp tốc độ viết của chúng ta nhanh hơn.
Các alias có thể phức tạp hơn nhiều so với ví dụ ở trên. Sau đây là ví dụ về một alias có tên là pf
(viết tắt của process find
).
Lưu ý: Đặt dấu ngoặc kép ở trước và sau các lệnh có chứa kí tự “space”. Alias này sử dụng lệnh
ps
để liệt kê các process đang chạy, sau đó pipe chúng qua lệnhgrep
. Tiếp đến, lệnhgrep
sẽ tìm các entry ở trong output từps
phù hợp với tham số$1
.
alias pf="ps -e | grep $1"
Bên cạnh đó, nếu ta muốn tìm process ID (PID) của process bash – hoặc xem thử bash có đang chạy hay không?. Hãy sử dụng alias như dưới đây.
- Nhập
pf
, dấu cách và tên của process cần kiểm tra.
pf bash
Các alias được định nghĩa ở trong command line đều sẽ mất tác dụng sau khi terminate. Để làm cho các alias luôn khả dụng, hãy thêm chúng vào trong file.bash_aliases
trong home directory.
cat
Lệnh cat
(viết tắt của concatenate) sẽ liệt kê nội dung của file vào trong terminal window. Việc này sẽ nhanh hơn nhiều so với việc mở các file ở trong editor. Và dĩ nhiên, sẽ không xảy ra khả năng làm thay đổi nội dung của các file đó.
- Để đọc nội dung của file
.bash_log_out
, nhập lệnh sau khi directory hiện tại là home directory:
cat .bash_logout
Đối với những file dài hơn số dòng ở trong terminal, các text sẽ hiện ra rất nhanh. Do đó, ta có thể pipe các output từ cat
thông qua less
để dễ kiểm soát hơn.
Bằng lệnh , ta có thể cuộn lên hoặc xuống các file thông qua các phím mũi tên lên xuống, hoặc PgUp – PgDn, Home – End. Cuối cùng, nhập q
để thoát khỏi less
.
cat .bashrc | less
cd
Lệnh cd
(change directory) sẽ thay đổi directory hiện tại. Nói cách khác, nó sẽ đưa ta đến một vị trí mới ở trong filesystem.
- Để đi đến một directory khác nằm trong directory hiện tại, chỉ cần nhập
cd
và tên của directory cần đi đến.
cd Desktop/
- Để đi đến một directory nằm đâu đó trong filesystem directory tree, nhập đường dẫn đến directory đó, bắt đầu bằng dấu
/
.
cd /usr/local/bin
- Để nhanh chóng quay về home directory, dùng dấu
~
như một tên directory.
cd ~
Mẹo: dùng hai chấm dấu
..
để đi đến parent directory của directory hiện tại. Nhập lệnh sau để đi lên một directory:
cd ..
Bây giờ, giả sử ta đang ở trong một directory nào đó, nhưng parent directory lại còn có nhiều directory khác ở trong, gồm cả directory hiện tại. Để đi đến một trong các directory đó, dùng ký hiệu ..
cd ../file6
chmod
Lệnh chmod
sẽ đặt các flag file permission (quyền truy cập file) lên một file hoặc folder. Flag đó sẽ định nghĩa những người có thể đọc, viết hoặc thực thi file. Khi liệt kê file với option -l
(long format), ta sẽ thấy một chuỗi các kí tự có dạng như sau:
-rwx rwx rwx
Nếu kí tự đầu tiên là a
thì item là một file, nếu là d
thì item đó là một directory. Phần còn lại của chuỗi là ba tập hợp của ba kí tự. Tính từ bên trái, tập hợp đầu tiên biểu diễn quyền truy cập của owner, tập hợp thứ hai là quyền truy cập của group, và cuối cùng là others. Trong mỗi tập hợp, kí tự r
có nghĩa là read (đọc), w
là write (viết), và x
là execute (thực thi).
Nếu kí tự r
, w
hoặc x
có mặt, quyền truy cập file sẽ được cấp. Còn nếu đó là kí tự a
, thì quyền truy cập sẽ không được cấp.
Có một cách để sử dụng chmod là dùng để cấp quyền truy cập theo ý muốn đến owner, group hoặc others, dưới dạng các số có ba chữ số. Số ngoài cùng bên trái biểu diễn owner. Tiếp đến lần lượt là group và others. Dưới đây là các chữ số có thể được sử dụng:
- 0: Không được cấp quyền
- 1: Quyền thực thi
- 2: Quyền viết
- 3: Viết và thực thi
- 4: Chỉ đọc
- 5: Đọc, thực thi
- 6: Đọc, viết
- 7: Đọc, thực thi và viết
Hãy xét ví dụ với file example.txt, với cả ba tập hợp kí tự đều là rwx
. Do đó, ai cũng có quyền đọc, viết và thực thi file.
Để đặt quyền truy cập thành đọc, viết và thực thi dưới dạng số (7) cho owner; đọc và viết (6) cho group; đọc, thực thi (5) cho others, hãy dùng số 765 với lệnh chmod
:
chmod 765 text1.txt
Hoặc đặt quyền đọc, ghi, thực thi cho owner; đọc và ghi cho group và others, dùng lệnh chmod
với 766:
chmod 766 example.txt
chown
Lệnh chown
(change owner) cho phép thay đổi owner và group owner của một file. Liệt kê file example.txt bằng ls -l
, ta sẽ thấy nam nam
ở trong phần mô tả của file. Chữ đầu tiên để chỉ tên owner của file, trong trường hợp này chính là nam. Mỗi user đều có một group mặc định được tạo khi ta tạo user. Kí tự thứ hai cũng là nam, tức là owner của group đó. Đồng thời, nam cũng là người dùng duy nhất của group, tức là file này không được chia sẻ với bất kỳ group user nào.
Ta có thể dùng lệnh chown để thay đổi cả owner lẫn group của một file. Ta cần cung cấp tên của owner và group, cách nhau bởi dấu :
. Sau đó, sử dụng lệnh sudo
để thực hiện. Để đặt nam là owner của file, root là group owner, hãy sử dụng lệnh sau:
sudo chown nam:root text1.txt
Bây giờ, để đổi owner lẫn group owner thành root, dùng lệnh như dưới đây:
sudo chown root:root text1.txt
Ngược lại, để đổi về lại nam:
sudo chown nam:nam text1.txt
curl
Trong các câu lệnh trong Linux, lệnh curl
là một công cụ để truy xuất thông tin và file từ Uniform Resource Locators (URL) hoặc từ địa chỉ internet.
curl
command có thể không được cung cấp như một phần tiêu chuẩn của bản phân phối Linux. Do đó, hãy dùng apt-get
để cài đặt package curl
vào hệ thống nếu đang sử dụng Ubuntu hoặc các bản phân phối dựa trên Debian khác. Đối với những bản phân phối Linux khác, dùng công cụ quản lý package để cài đặt.
sudo apt-get install curl
Giả sử ta muốn truy xuất một file duy nhất từ trong GitHub repository. Dĩ nhiên không có một cách chính thức nào có thể làm việc này. Do đó ta cần clone toàn bộ repository. Tuy nhiên, bằng lệnh curl
, ta có thể dễ dàng thực hiện.
curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
Nếu không muốn theo dõi quá trình cài đặt, dùng option -s
(silent).
curl -s https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
df
Lệnh df trong Linux cho biết kích thước, dung lượng đã sử dụng và dung lượng còn trống ở trên một mounted filesystem của máy tính.
Hai option phổ biến nhất là -h
(human readable) và -x
(exclude). Trong đó, humand-readable sẽ hiển thị kích thước dưới dạng Mb hoặc Gb thay vì byte. Còn option exclude cho phép bỏ qua các filesystem không cần thiết.
Ví dụ, xét pseudo-filesystem squashfs
được tạo khi cài đặt một ứng dụng bằng lệnh snap
.
df -h -x squashfs
diff
Lệnh diff so sánh hai text file và chỉ ra những điểm khác biệt. Có khá nhiều option khác nhau để tùy chỉnh hiển thị theo yêu cầu.
Option -y
(side by side) hiển thị sự khác nhau giữa các dòng cạnh nhau. -w
(width) cho phép điều chỉnh số dòng tối đa. Giả sử ta có hai file tên là text3.txt và text4.txt. Lệnh --suppress-common-lines
ngăn diff
liệt kê những dòng giống nhau, giúp ta chỉ tập trung vào những điểm khác biệt.
diff -y -W 10 text3.txt text4.txt --suppress-common-lines
echo
Lệnh echo
in ra (echo) một chuỗi các text vào trong terminal window.
Lệnh sau sẽ in ra các chữ “A string of text” vào trong terminal:
echo A string of text
Bên cạnh đó, lệnh echo
cũng có thể hiển thị giá trị của biến môi trường, ví dụ như $USER, $HOME, $PATH. Các biến này chứa giá trị của tên người dùng, home directory và đường dẫn dùng để tìm các lệnh phù hợp khi người dùng nhập vào trong command line.
echo $USER
echo $HOME
echo $PATH
Lệnh dưới đây dùng để phát ra tín hiệu: trong đó option -e
(escape) diễn giải kí tự a đã escape thành một kí tự “bell” (bell character).
echo -e "\a"
Bên cạnh đó, lệnh echo
cũng rất hữu ích trong shell script. Một script có thể dùng lệnh này để tạo ra các output có thể nhìn thấy được, nhằm hiển thị quá trình hoặc kết quả của scipt khi nó được thực thi.
exit
Lệnh exit
là một lệnh Linux cơ bản trong các câu lệnh Linux. Nó có nhiệm vụ đóng một cửa sổ terminal lại, kết thúc quá trình thực thi của shell script, hoặc đăng xuất khỏi phiên truy cập SSH từ xa.
exit
find
Ta có thể dùng lệnh find
để tìm các file có tồn tại, nhưng không thể nhớ vị trí của chúng. Trước hết, ta cần cho lệnh find
biết nên bắt đầu tìm kiếm từ đâu, cũng như file cần tìm kiếm. Trong ví dụ này, .
là folder hiện tại, còn option -name
ra lệnh cho find
tìm kiếm các file có tên khớp với mẫu tìm kiếm.
Bên cạnh đó, ta cũng có thể sử dụng các wildcard. Trong đó, *
là bất kỳ chuỗi ký tự nào, còn ?
là bất kỳ kí tự đơn lẻ nào đó. Ví dụ này sử dụng *hinh*
cho mọi file có chứa chuỗi kí tự “hinh“. Có thể là những từ như chinh,…
find . -name *hinh*
Có thể thấy ở đây, lệnh find
trả về một danh sách những kết quả khớp. Ta có thể ra lệnh cho find
thu hẹp kết quả tìm kiếm thành file, bằng option -type
và tham số f
(file):
find . -type f -name *core*
Nếu không muốn kết quả bị case-sensitive, dùng option -iname
(insensitive name):
find . -iname *vps*
finger
Lệnh finger đưa ra một tập hợp các thông tin ngắn gọn (dump) về người dùng, bao gồm cả thời gian truy cập lần cuối, home directory, tên tài khoản.
free
Lệnh free
cung cấp một bản tóm tắt về việc sử dụng bộ nhớ với máy tính áp dụng với cả RAM vẫn swap memory. Option -h
(human) dùng để cung cấp các chữ số và đơn vị thân thiện với con người. Nếu không, các con số sẽ được hiển thị dưới dạng byte.
free -h
grep
Lệnh grep
tìm kiếm các dòng có chứa một mẫu tìm kiếm nào đó. Ở lệnh alias
ở trên, ta đã dùng grep
để tìm trong output của một chương trình khác, ps
. Lệnh grep
còn có thể được dùng để tìm nội dung của các file. Trong ví dụ dưới đây, grep
dùng để tìm chữ “for” ở trong mọi text file của directory hiện tại.
grep for *.txt
Output của lệnh sẽ liệt kê ra tên của file và hiển thị những dòng khớp. Các text khớp đều được highlight.
groups
Lệnh groups
cho ta biết một người dùng hiện đang ở trong những group nào.
groups nam
gzip
Lệnh gzip
có nhiệm vụ nén các file. Theo mặc định, nó sẽ xóa file gốc và chỉ để lại phiên bản đã được nén. Để giữ cả hai bản, dùng option -k
(keep).
gzip -k 16910k.png
head
Lệnh head trong Linux đưa ra một danh sách 10 dòng đầu tiên của file. Nếu muốn xem thêm hoặc xem ít hơn, dùng option -n
(number). Trong ví dụ này, head
được dùng với mặc định là 10 dòng. Sau đó là 7 dòng:
head jump.sh
head -n 7 jump.sh
history
Lệnh history
liệt kê các lệnh trong Linux đã được sử dụng trước đây trong command line. Ta có thể sử dụng lại bất kỳ lệnh nào từ history bằng cách nhập một dấu !
, theo sau là số thứ tự của lệnh đó ở trong danh sách.
!896
Hoặc nhập hai dấu !!
để lặp lại lệnh ngay trước đó.
!!
kill
Lệnh kill
cho phép terminate một process từ command line. Ta có thể sử dụng lệnh này bằng cách nhập process ID (PID) của process đó vào trong lệnh kill
. Lưu ý: đừng kill process willy-nilly! Trong ví dụ này, giả sử process shutter
đang bị treo và cần phải dừng.
Trước hết, tìm PID của shutter bằng ps
và grep
như ở phần lệnh alias
như sau:
ps -e | grep shutter
Sau khi xác định được PID của nó (1692), hãy kill process đó như sau:
kill 1692
less
Lệnh less
cho phép xem các file mà không cần mở editor. Bằng lệnh less
, ta có thể cuộn trước hoặc sau trong file bằng cách phím mũi tên lên xuống, PgUP – PgDn hoặc Home – End. Nhấn Q để có thể quit
khỏi lệnh less
.
Trước hết, cung cấp cho lệnh một tên như sau:
less core.c
Bên cạnh đó, ta cũng có thể pipe output từ các lệnh khác vào trong less
. Để xem output từ ls
cho danh sách toàn bộ hard drive, nhập lệnh sau:
ls -R / | less
Dùng dấu /
để tìm về phía trước của file, và ngược lại với kí tự ?
.
ls
Trong các câu lệnh trong Linux, đây chắc hẳn là lệnh đầu tiên mà phần lớn người dùng Linux gặp. Lệnh này có nhiệm vụ liệt kê các file và folder có ở trong directory được chỉ định. Theo mặc định, lệnh ls
sẽ tìm ở trong directory hiện tại. Bên cạnh đó, còn có nhiều option khác có thể được sử dụng với lệnh ls
. Trong đó phổ biến có:
- Liệt kê các file và folder trong directory hiện tại:
ls
- Liệt kê các file và folder trong directory hiện tại, cùng option
-l
để hiển thị chi tiết hơn
ls -l
- Option
-h
(human) để hiển thị kích thước các file thân thiện hơn với con người:
ls -lh
- Liệt kê cả các file bị ẩn bằng option
-a
(all files):
ls -lha
man
Như đã đề cập ở trên, lệnh man
hiển thị một “man page” (trang manual) cho một lệnh ở dạng less
. Các man page này chính là user manual cho lệnh đó. Vì man
sử dụng lệnh less
để hiển thị các trang, nên ta cũng có thể dùng khả năng tìm kiếm của lệnh less
.
Lấy ví dụ, để xem man page cho chown
, dùng lệnh sau:
man chown
Dùng các phím mũi tên lên xuống, PgUp – PgDn để cuộn lên xuống trong tài liệu. Và cuối cùng , nhấn q
(quit) để thoát hoặc h
(help) để được trợ giúp.
mkdir
Lệnh mkdir
(make directory) cho phép tạo các directory mới ở trong filesystem. Người dùng phải nhập tên của directory mới vào trong mkdir
. Nếu directory mới không nằm trong directory hiện tại, hãy cung cấp thêm đường dẫn để đi đến directory mới đó.
Để tạo hai directory mới trong directory hiện tại, tạm gọi là “file7” và “file8“, dùng các lệnh như sau:
mkdir file7
mkdir file8
Bây giờ, tạo một directory mới tên là “2024” bên trong directory “file7“:
mkdir file7/2024
Giả sử parent directory không tồn tại, hãy cùng option -p
(parents) để mkdir
có thể tạo ra tất cả parent directory cần thiết. Ở ví dụ dưới là câu lệnh để tạo ra directory “2024″ bên trong “year“, và nằm trong directory “file8“. Dù directory “year” không tồn tại, nhưng ta có thể dùng lệnh mkdir
để tạo ra tất cả directory cần thiết chỉ với 1 câu lệnh:
mkdir -p file8/year/2024
mv
Lệnh mv
cho phép di chuyển các file và directory, đồng thời còn có thể đổi tên của các file.
Để di chuyển một file, ta cần cho lệnh mv
biết đích đến. Ví dụ ta cần di chuyển file year từ directory “~/Document/Ukulele” và đặt vào trong directory hiện tại (.
):
mv ~/Document/Ukulele/Apache.pdf
Để đổi tên, hãy di chuyển nó vào một file mới, với tên mới
mv year time
Và ta có thể kết hợp việc di chuyển và đổi tên file vào 1 câu lệnh:
mv file8/year file7/time
passwd
Lệnh passwd
cho phép thay đổi password của một user, hoặc một user account khác bằng sudo
. Sau đó, ta sẽ được yêu cầu nhập mật khẩu hai lần.
sudo passwd
ping
Lệnh ping
cho phép xác minh ta có đang kết nối với thiết bị mạng khác hay không. Lệnh này chủ yếu được dùng để khắc phục sự cố mạng. Người dùng sử dụng lệnh ping
cần cung cấp địa chỉ IP hoặc tên máy của thiết bị khác.
ping 8.8.8.8
Lệnh ping
sẽ tiếp tục chạy cho đến khi người dùng sử dụng tổ hợp phím Ctrl + C để dừng nó lại.
Dưới đây là quá trình của lệnh:
- Thiết bị tại địa chỉ IP 8.8.8.8 đang phản hồi ping request, gửi các packet 64 byte trở lại.
- Việc đánh số thứ tự của giao thức ICMP cho phép ta kiểm tra các response bị lỡ (dropped packet).
- Số TTL là “time to live” của một packet. Mỗi khi packet đi qua một router, con số này thường sẽ giảm đi 1 đơn vị. Sau khi đạt đến số 0, packet sẽ được bỏ. Mục đích của việc này là nhằm ngăn chặn sự cố loopback trong mạng.
- Giá trị time là tổng thời gian packet đi từ máy tính đến thiết bị, và ngược lại. Nói một cách đơng giản thì time càng thấp càng tốt.
Để yêu cầu lệnh ping
chạy một số lần ping attempt nhất định, dùng option -c
(count):
ping -c 5 8.8.8.8
Để nghe một ping
, dùng option -a
(audible)
ping -a 8.8.8.8
ps
ps
command có nhiệm vụ liệt kê các process đang chạy. Nếu không có option nào được bổ sung, ps
sẽ liệt kê mọi process đang chạy ở trong shell hiện tại.
ps
Để xem tất cả process liên quan đến một user cụ thể nào đó, dùng option -u
(user). Đôi khi ta cần nhiều user khác nhau, nên lệnh có thể sẽ tương đối dài dòng. Do đó, pipe nó qua lệnh less
như sau:
ps -u dave | less
Và để xem tất cả process đang chạy, dùng option -e
(every process):
ps -e | less
pwd
Lệnh pwd trong Linux (print working directory) sẽ in directory đang làm việc từ directory root:
pwd
shutdown
Lệnh shutdown
cho phép người dùng shutdown hoặc reboot lại hệ thống Linux từ terminal.
Dùng lệnh shutdown
mà không có tham số sẽ shutdown máy tính trong vòng 1 phút.
shutdown
Hoặc để shut down máy ngay lập tức, dùng tham số now
:
shutdown now
Bên cạnh đó, ta cũng có thể đặt lịch shutdown và thông báo cho tất cả người dùng đã đăng nhập. Cung cấp thời gian cho lệnh để đặt lịch shutdown, nó có thể là một con số với đơn vị là phút (+90
) hoặc thời gian chính xác (23:00
). Tất cả text message đều được gửi đến những người dùng đã đăng nhập khác.
shutdown 23:00 Shutdown tonight at 23:00, save your work and log out before then!
Để hủy việc shutdown, dùng option -c
(cancel). Dưới đây là một shutdown
được đặt lịch 15 phút kể từ bây giờ – sau đó được hủy bỏ:
shutdown +15 Shutting down in 15 minutes!
shutdown -c
ssh
Ta có thể dùng lệnh ssh
để tạo một kết nối đến máy tính Linux từ xa, và đăng nhập vào tài khoản. Trước hết ta cần cung cấp username của mình, cùng với địa chỉ IP và tên domain của máy tính ở xa. Trong ví dụ dưới đây, user root đang đăng nhập vào máy tính tại địa chỉ 192.168.4.2
. Khi kết nối được thiết lập, người dùng này sẽ được yêu cầu nhập mật khẩu:
ssh root@192.168.4.23
Sau đó, username và password của mary sẽ được xác thực để đăng nhập.
Bây giờ, giả sử root dùng lệnh w
để xem các user hiện tại ở trong hệ thống. Khi đó, root cũng sẽ có trong danh sách vì được kết nối từ pts/1
(pseudo-terminal slave). Do đó, đây không phải là terminal được kết nối trực tiếp đến máy tính.
Để đóng phiên lại, root nhập lệnh exit
và quay về shell trên máy tính “Nostromo”.
w
exit
sudo
Lệnh sudo
là bắt buộc khi ta thực hiện các tác vụ cần quyền root hay superuser. Chẳng hạn như thay đổi mật khẩu cho người dùng khác:
sudo apt update
tail
Lệnh tail
cung cấp danh sách 10 dòng cuối cùng của một file. Nếu muốn xem nhiều hoặc ít hơn, dùng option -n
. Trong ví dụ này, chúng ta sử dụng lệnh tail với giá trị mặc định là 10 dòng, sau đó là 5 dòng:
tail text1.txt
tail -n 5 text1.txt
tar
Lệnh tar
cho phép tạo một file lưu trữ (còn gọi là tarball) chứa nhiều file khác. Việc này đặc biệt hữu ích khi phân phối tập hợp các file. Bên cạnh đó, ta cũng có thể dùng tar
để giải nén cả file. Hoặc là sử dụng tar
để nén các file lưu trữ.
Để tạo một file lưu trữ (archive), trước hết cần cung cấp cho lệnh tar
các file cần có ở trong file lưu trữ, và tên của file lưu trữ đó.
Trong ví dụ dưới đây, ta sẽ lưu trữ tất cả các file trong directory file1 (chính là directory hiện tại):
Sử dụng các option -c
(create) và -v
(verbose) cho lệnh. Trong đó, verbose cung cấp một số feedback trực quan bằng cách liệt kê các file vào trong terminal khi nó được thêm vào trong archive. Option -f
(filename) để đặt tên cho archive đó, ví dụ như songs.tar.
tar -cvf compress_file.tar file1/
Tiếp đến, có hai cách để tar
có thể nén các archive. Đầu tiên là dùng option -z
(gzip) để nén các archive sau khi nó được tạo. Ta có thể thêm hậu tố “.gz” cho archive này, để người dùng khác khi giải nén các file có thể biết nên truyền lệnh nào vào tar để truy xuất file chính xác.
tar -cvzf compress_file.tar.gz file1/
Các file sau đó cũng sẽ được liệt kê vào trong terminal khi chúng được thêm vào archive. Tuy nhiên, quá trình tạo archive sẽ lâu hơn một chút vì có thêm thao tác nén.
Để tạo một archive file được nén bằng thuật toán nén cao cấp hơn, kích thước archive nhỏ hơn, hãy dùng option -j
(bzip2). Tất nhiên, quá trình tạo file sẽ lâu hơn so với gzip:
tar -cvjf compress_file.tar.bz2 file1/
Đối với việc lưu trữ một lượng lớn các file, ta có thể lựa chọn giữa -z
(nén vừa phải, tốc độ tốt) hoặc -j
(nén tốt hơn, nhưng chậm hơn).
Có thể thấy ở dưới đây, file .tar có dung lượng lớn nhất, còn tar.gz thì nhỏ hơn, tar.bz2 hiển nhiên có dung lượng thấp nhất.
Tiếp theo, để giải nén các archive file, hãy sử dụng option -x
(extract). Ngoài ra ta cũng có thể sử dụng các option -v
và -f
như ở trên. Dùng ls
để xác nhận loại archive để giải nén các file:
ls
tar -xvf compress_file.tar
Các file cũng sẽ được thêm vào terminal khi giải nén.
Để có thể giải nén các file từ một archive tar.gz, dùng option -z
(gzip):
tar -xvzf comnpress_file.tar.gz
Và cuối cùng, dùng option -j
để giải nén tar.bz2:
tar -xvjf compress_file.tar.bz2
top
Tiếp theo, lệnh top
hiển thị dữ liệu của máy Linux theo thời gian thực. Ở phía trên màn hình là phần tóm tắt trạng thái.
Dòng đầu tiên cho biết thời gian và khoảng thời gian máy tính đã chạy, số lượng người dùng đã đăng nhập, mức tải trung bình trong một/ năm/ mười phút vừa qua.
Dòng thứ hai hiển thị số lượng tác vụ và trạng thái: running, stopped, sleeping hay zombie.
Tiếp đến, dòng thứ ba cho ta biết thông tin của CPU. Trong đó:
- us: giá trị là thời gian CPU xử lý các process cho user, trong user space.
- sy: giá trị là thời gian CPU chạy các process kernel space của hệ thống.
- ni: thời gian CPU thực thi các process với giá trị được đặt thủ công.
- id: thời gian nghỉ (idle time) của CPU.
- wa: thời gian CPU đợi I/O hoàn tất.
- hi: thời gian CPU xử lý hardware interrupt.
- si: thời gian CPU xử lý software interrupt.
- st: thời gian bị mất của CPU do chạy máy ảo (steal time).
Tiếp theo, dòng thứ tư là tổng dung lượng bộ nhớ vật lý, dung lượng còn trống, đã sử dụng, đã buffer hoặc cache.
Dòng thứ năm là tổng dung lượng của swap memory, dung lượng còn trống, đã sử dụng, khả dụng (tính cả dung lượng có thể phục hồi từ cache).
Người dùng có thể nhấn nút E để phần hiển thị thân thiện với người dùng hơn, tức là hiển thị số thay vì byte.
Trong đó, các cột biểu thị:
- PID: Process ID.
- USER: Tên owner của process.
- PR: Process priority – quyền ưu tiên của process.
- NI: Nice value của process.
- VIRT: Virtual memory – bộ nhớ ảo được dùng bởi process.
- RES: Resident memory – bộ nhớ vật lý được dùng bởi process.
- SHR: Shared memory dùng bởi process.
- S: Status – trạng thái của process.
- %CPU: thời gian CPU được chia cho process trong lần cập nhật cuối.
- %MEM: bộ nhớ vật lý được chia cho process.
- TIME+: tổng thời gian CPU mà tác vụ đã dùng (trong một phần trăm giây).
- COMMAND: command name hoặc command line (name + option).
Các trường ở trong cột S (trạng thái của process):
- D: Sleep (liên tục).
- R: Đang chạy.
- S: Sleep.
- T: Dừng.
- Z: Zombie.
Cuối cùng, nhấn Q để thoát khỏi top
.
uname
Bằng lệnh uname
, người dùng có thể lấy được một số thông tin hệ thống liên quan đến máy tính Linux đang sử dụng. Trong đó, các option phổ biến của lệnh bao gồm:
-a
(all) để xem mọi thông tin.-s
(kernel name) để xem loại của kernel.-r
(kernal release) để xem kernel release.-v
(kernel version) để xem kernel version
uname -a # all info
uname -s # kernel name
uname -r # kernel release
uname -v # kernel version
w
Lệnh w
liệt kê những user đã đăng nhập hiện tại, uptime server và load average.
w
whoami
Lệnh whoami trong Linux cho biết ta đang đăng nhập với tư cách gì, hoặc ai đã đăng nhập vào một Linux terminal không có người quản trị vào lúc đó.
whoami
Tổng kết
Việc làm quen các câu lệnh cơ bản trong Linux cần thực hành tương đối nhiều để có thể nhanh chóng làm quen. Hy vọng rằng bài viết này có thể giúp bạn sử dụng các câu lệnh trong hệ điều hành Linux thành thạo hơn. Chúc các bạn thành công!
Theo Howtogeek