30 lệnh Linux hữu ích dành cho quản trị viên hệ thống

Trong bài viết này, chúng ta sẽ xem xét một số lệnh Linux hữu ích hoặc Unix và thường được sử dụng cho các Quản trị viên hệ thống trong cuộc sống hàng ngày. Đây không phải là một danh sách đầy đủ nhưng đó là một danh sách nhỏ gọn các lệnh để tham khảo khi cần. Hãy bắt đầu từng lệnh một và xem cách sử dụng chúng với các ví dụ.

Lệnh uptime

Trong Linux, lệnh uptime hiển thị thời gian hoạt động của hệ thống và số người dùng hiện đang đăng nhập, cũng như hiển thị trung bình tải của hệ thống trong khoảng thời gian 1, 5 và 15 phút.

# uptime

08:16:26 up 22 min,  1 user,  load average: 0.00, 0.03, 0.22

Kiểm tra phiên bản của lệnh Uptime:

Lệnh Uptime không có các tùy chọn khác ngoài "uptime" và "version". Nó chỉ cung cấp thông tin về thời gian chạy dưới dạng giờ:phút:giây nếu thời gian chưa đến 1 ngày.

# uptime -V
procps version 3.2.8

Lệnh W

Lệnh w sẽ hiển thị các người dùng hiện đang đăng nhập và quá trình của họ cùng với hiển thị trung bình tải, tên đăng nhập, tên tty, máy chủ từ xa, thời gian đăng nhập, thời gian không hoạt động, JCPU, PCPU, lệnh và các quá trình.

# w

08:27:44 up 34 min,  1 user,  load average: 0.00, 0.00, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.29s  0.09s w

Các tùy chọn có sẵn:

  • -h: hiển thị mục nhập tiêu đề
  • -s: không hiển thị JCPU và PCPU
  • -f: loại bỏ khỏi trường
  • -V: (chữ in hoa) - Hiển thị phiên bản

Lệnh Users

Lệnh users hiển thị người dùng hiện đang đăng nhập. Lệnh này không có các tham số khác ngoài trợ giúp và phiên bản.

# users

tecmint

Lệnh who

# who

tecmint  pts/0        2012-09-18 07:59 (192.168.50.1)
# w

08:43:58 up 50 min,  1 user,  load average: 0.64, 0.18, 0.06
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.43s  0.10s w

Các tùy chọn của lệnh who:

  • -b: Hiển thị ngày và giờ khởi động hệ thống lần cuối.
  • -r: Hiển thị runlevel hiện tại.
  • -a, --all: Hiển thị tất cả thông tin tích lũy.

Lệnh whoami 

Trong Linux, lệnh whoami được sử dụng để in ra tên người dùng đang đăng nhập vào hệ thống Linux của bạn. Nếu bạn đã đăng nhập với quyền root bằng lệnh sudo, lệnh "whoami" sẽ trả về "root" như là người dùng hiện tại.

# whoami

tecmint

Lệnh ls

Lệnh ls hiển thị một danh sách các tệp tin trong định dạng dễ đọc cho con người.

# ls -l

total 114
dr-xr-xr-x.   2 root root  4096 Sep 18 08:46 bin
dr-xr-xr-x.   5 root root  1024 Sep  8 15:49 boot

Sắp xếp tệp tin theo thời gian chỉnh sửa gần nhất.

# ls -ltr

total 40
-rw-r--r--. 1 root root  6546 Sep 17 18:42 install.log.syslog
-rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log
-rw-------. 1 root root  1003 Sep 17 18:45 anaconda-ks.cfg

Lệnh crontab

Liệt kê các công việc đã lên lịch cho người dùng hiện tại bằng lệnh crontab với tùy chọn -l.

# crontab -l

00 10 * * * /bin/ls >/ls.txt

Chỉnh sửa crontab của bạn bằng tùy chọn -e. Trong ví dụ dưới đây, sẽ mở lịch công việc trong trình soạn thảo VI. Thực hiện các thay đổi cần thiết và thoát bằng cách nhấn các phím :wq để lưu cài đặt tự động.

# crontab -e

Lệnh less

Lệnh less cho phép xem nhanh nội dung của tệp. Bạn có thể cuộn lên và cuộn xuống. Nhấn 'q' để thoát khỏi cửa sổ less.

# less install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch

Lệnh more

Lệnh more cho phép xem nhanh nội dung của tệp và hiển thị thông tin chi tiết theo phần trăm. Bạn có thể cuộn lên và cuộn xuống. Nhấn 'q' để thoát khỏi cửa sổ more.

# more install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
--More--(10%)

Lệnh cp

Lệnh cp được sử dụng để sao chép tệp từ nguồn đến đích mà vẫn giữ nguyên chế độ của tệp gốc.

# cp -p fileA fileB

Bạn sẽ được yêu cầu xác nhận trước khi ghi đè lên tệp đã có.

# cp -i fileA fileB

Lệnh mv

Lệnh mv sẽ đổi tên fileA thành fileB sử dụng tùy chọn -i, sẽ yêu cầu xác nhận trước khi ghi đè lên tệp đã tồn tại.

# mv -i fileA fileB

Lệnh cat

Lệnh cat được sử dụng để xem nhiều tệp cùng một lúc.

# cat fileA fileB

Bạn có thể kết hợp lệnh more và less với lệnh cat để xem nội dung của tệp nếu nó không vừa trong một màn hình / trang duy nhất.

# cat install.log | less

# cat install.log | more

Lệnh cd (thay đổi thư mục)

Với lệnh cd (thay đổi thư mục hoặc chuyển đổi thư mục), nó sẽ chuyển đến thư mục fileA.

# cd /fileA

Lệnh pwd (in thư mục làm việc)

Lệnh pwd trả về đường dẫn thư mục làm việc hiện tại.

# pwd

/root

Lệnh sort 

Lệnh sort được sử dụng để sắp xếp các dòng trong các tệp văn bản theo thứ tự tăng dần. Với tùy chọn -r, nó sẽ sắp xếp theo thứ tự giảm dần.

# sort fileA.txt

# sort -r fileA.txt

Lệnh vi

Vi là trình soạn thảo văn bản phổ biến nhất có sẵn trên hầu hết các hệ điều hành giống UNIX. Dưới đây là ví dụ mở tệp trong chế độ chỉ đọc với tùy chọn -R. Nhấn ':q' để thoát khỏi cửa sổ vi.

# vi -R /etc/shadows

Lệnh SSH (Secure Shell)

Lệnh SSH được sử dụng để đăng nhập vào máy chủ từ xa. Ví dụ, lệnh SSH dưới đây sẽ kết nối với máy chủ từ xa (192.168.50.2) sử dụng tên người dùng là Narad.

# ssh narad@192.168.50.2

Để kiểm tra phiên bản của SSH, sử dụng tùy chọn -V (viết hoa) để hiển thị phiên bản của SSH.

# ssh -V

OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f  31 Mar 2020

Lệnh FTP hoặc sftp

Lệnh ftp hoặc sftp được sử dụng để kết nối tới máy chủ FTP từ xa. ftp là giao thức truyền tệp và sftp là giao thức truyền tệp an toàn. Ví dụ, các lệnh dưới đây sẽ kết nối tới máy chủ ftp (192.168.50.2).

# ftp 192.168.50.2

# sftp 192.168.50.2

Để đưa nhiều tệp tin lên máy chủ từ xa, chúng ta có thể sử dụng lệnh mput. Tương tự, chúng ta có thể sử dụng lệnh mget để tải xuống nhiều tệp tin từ máy chủ từ xa.

# ftp > mput *.txt

# ftp > mget *.txt

Lệnh systemctl

Lệnh systemctl là một công cụ quản lý systemd được sử dụng để quản lý dịch vụ, kiểm tra trạng thái hoạt động, khởi động và kích hoạt dịch vụ, và làm việc với các tệp cấu hình.

# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status httpd.service

Lệnh free

Lệnh free hiển thị thông tin về bộ nhớ trống, tổng bộ nhớ và bộ nhớ swap trong đơn vị byte.

# free
             total       used       free     shared    buffers     cached
Mem:       1030800     735944     294856          0      51648     547696
-/+ buffers/cache:     136600     894200
Swap:      2064376          0    2064376

Lệnh free với tùy chọn -t hiển thị tổng bộ nhớ đã sử dụng và bộ nhớ còn lại có sẵn để sử dụng, được tính bằng byte.

# free -t
             total       used       free     shared    buffers     cached
Mem:       1030800     736096     294704          0      51720     547704
-/+ buffers/cache:     136672     894128
Swap:      2064376          0    2064376
Total:     3095176     736096    2359080

Lệnh top

Lệnh top hiển thị hoạt động của bộ xử lý trên hệ thống của bạn và cũng hiển thị các tác vụ được quản lý bởi kernel trong thời gian thực. Nó sẽ hiển thị việc sử dụng bộ xử lý và bộ nhớ.

Sử dụng lệnh top với tùy chọn -u sẽ hiển thị chi tiết các tiến trình của người dùng cụ thể như được thể hiện dưới đây. Nhấn phím 'O' (viết hoa) để sắp xếp theo ý muốn của bạn. Nhấn phím 'q' để thoát khỏi màn hình top.

# top -u tecmint

top - 11:13:11 up  3:19,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030800k total,   736188k used,   294612k free,    51760k buffers
Swap:  2064376k total,        0k used,  2064376k free,   547704k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1889 tecmint   20   0 11468 1648  920 S  0.0  0.2   0:00.59 sshd
1890 tecmint   20   0  5124 1668 1416 S  0.0  0.2   0:00.44 bash
6698 tecmint   20   0 11600 1668  924 S  0.0  0.2   0:01.19 sshd
6699 tecmint   20   0  5124 1596 1352 S  0.0  0.2   0:00.11 bash

Lệnh tar

Lệnh tar được sử dụng để nén các tệp tin và thư mục trong Linux. Ví dụ, lệnh dưới đây sẽ tạo một bản lưu trữ cho thư mục /home với tên tệp là archive-name.tar.

# tar -cvf archive-name.tar /home

Để giải nén tệp lưu trữ tar, sử dụng tùy chọn như sau.

# tar -xvf archive-name.tar

Lệnh grep

Lệnh grep được sử dụng để tìm kiếm một chuỗi cụ thể trong một tệp. Chỉ hiển thị người dùng tecmint từ tệp /etc/passwd. Chúng ta có thể sử dụng tùy chọn -i để bỏ qua sự phân biệt chữ hoa chữ thường.

# grep tecmint /etc/passwd

tecmint:x:500:500::/home/tecmint:/bin/bash

Lệnh find

Lệnh find được sử dụng để tìm kiếm tệp, chuỗi và thư mục. Ví dụ dưới đây của lệnh find tìm kiếm từ "tecmint" trong phân vùng '/' và trả về kết quả.

# find / -name tecmint

/var/spool/mail/tecmint
/home/tecmint
/root/home/tecmint

Lệnh lsof

Lệnh lsof có nghĩa là "Danh sách tất cả các tệp mở". Dưới đây là lệnh lsof -a để liệt kê tất cả các tệp đã mở bởi người dùng.

# lsof -u tecmint

COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
sshd    1889 tecmint  cwd    DIR      253,0     4096      2 /
sshd    1889 tecmint  txt    REG      253,0   532336 298069 /usr/sbin/sshd
sshd    1889 tecmint  DEL    REG      253,0          412940 /lib/libcom_err.so.2.1
sshd    1889 tecmint  DEL    REG      253,0          393156 /lib/ld-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          298643 /usr/lib/libcrypto.so.1.0.0
sshd    1889 tecmint  DEL    REG      253,0          393173 /lib/libnsl-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          412937 /lib/libkrb5support.so.0.1
sshd    1889 tecmint  DEL    REG      253,0          412961 /lib/libplc4.so

Lệnh last

Với lệnh cuối cùng, chúng ta có thể xem hoạt động của người dùng trong hệ thống. Lệnh Linux hữu ích này có thể thực thi với người dùng bình thường và nó sẽ hiển thị thông tin đầy đủ về người dùng như cửa sổ, thời gian, ngày, khởi động lại hoặc khởi động hệ thống, và phiên bản nhân kernel. Đây là một lệnh hữu ích để khắc phục sự cố.

# last

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
reboot   system boot  2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38  (03:43)
root     pts/1        192.168.50.1     Sun Sep 16 10:40 - down   (03:53)
root     pts/0        :0.0             Sun Sep 16 10:36 - 13:09  (02:32)
root     tty1         :0               Sun Sep 16 10:07 - down   (04:26)
reboot   system boot  2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33  (04:35)
narad    pts/2        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)

Bạn có thể sử dụng lệnh "last" kèm theo tên người dùng để biết hoạt động cụ thể của một người dùng như sau.

# last tecmint

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
tecmint  pts/1        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)
tecmint  pts/4        192.168.50.1     Wed Sep 12 10:12 - 12:29  (02:17)

Lệnh ps

Lệnh "ps" hiển thị các tiến trình đang chạy trong hệ thống. Ví dụ dưới đây chỉ hiển thị tiến trình "init".

# ps -ef | grep init

root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

Lệnh kill

Sử dụng lệnh "kill" để kết thúc một tiến trình. Trước tiên, sử dụng lệnh "ps" để tìm ID của tiến trình như ví dụ dưới đây và sau đó sử dụng lệnh "kill -9" để kết thúc tiến trình.

# ps -ef | grep init
root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

# kill- 9 7508

Lệnh rm

Lệnh "rm" được sử dụng để xóa hoặc xoá một tệp tin mà không yêu cầu xác nhận.

# rm filename

Bạn có thể sử dụng tùy chọn "-i" để nhận xác nhận trước khi xóa một tệp tin. Sử dụng các tùy chọn "-r" và "-f" sẽ xóa tệp tin một cách bắt buộc mà không cần xác nhận.

# rm -i test.txt

rm: remove regular file `test.txt'?

Lệnh mkdir

Lệnh "mkdir" được sử dụng để tạo thư mục trong hệ điều hành Linux.

# mkdir directoryname

Các lệnh bên trên đều là những lệnh Linux hữu ích và được sử dụng hằng ngày trong hệ điều hành. Quản trị viên hệ thống có thể thực hành và áp dụng theo những ví dụ bên trên để thực hiện việc quản lý.