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ý.