Cho dù bạn là Sysadmin, Developer, DevOps, Security hay Ops… thì việc sử dụng Linux một cách hiệu quả và công cụ của nó là kỹ năng cơ bản nhất mà bạn có thể học. Linux là xương sống của phần lớn các máy chủ và ứng dụng trên khắp thế giới.
“47% các lập trình viên sử dụng hệ điều hành dựa trên Linux.”
Trong vài tháng qua, tôi đã đọc nhiều bài viết như ’20 Lệnh Linux bạn phải biết ‘ hoặc ‘ Hướng dẫn sống sót trên Linux ‘. Vấn đề mà tôi đã tìm thấy chủ yếu các bài viết này chủ yếu dành cho những người mới bắt đầu, dạy cách sử dụng ls
hoặc echo
. Còn riêng đối bài viết này, bạn sẽ được giới thiệu các lệnh Linux có thể chưa từng gặp.
Tiện ích
rsync
Được sử dụng để copy tệp và thư mục tương tự như cp
. Tuy nhiên, nó cũng cho phép copy đến các vị trí từ xa như lên Google Drive, OneDrive, FTP… và có cung cấp thanh tiến trình, như thường được sử dụng để sao lưu.
# Ví dụ $ rsync -vap --ignore-existing <source_file> <destination_file> # Tham số: v = verbrose, r = recursive, p = preserve permissions, g = group, o = owner, a = archive, --progress = progresss bar
mkpasswd
mkpasswd
là một lệnh đơn giản nhưng rất hữu ích, nó tạo ra một mật khẩu ngẫu nhiên phức tạp ở độ dài được chỉ định.
$ mkpasswd -l 8 > iwF1g2Lo
screen
Screen
có lợi nhất khi bạn đang remote từ xa bằng SSH và lo lắng nếu mạng bị đứt có thể làm hỏng mọi thứ. Screen
sẽ tiếp tục thực hiện lệnh Linux mặc dùng kết nối SSH của bạn đã bị đứt.
# Ví dụ $ screen # Chạy phiên làm việc $ screen -ls # Hiên thị các services đang chạy $ screen -r # Attach to session
Ldapsearch
Nếu bạn thường xuyên làm việc với cơ sở dữ liệu LDAP, thì Ldapsearch
là lệnh Linux nên dùng bắt buộc. Công cụ mở kết nối với máy chủ LDAP và cho phép bạn tìm kiếm, tìm và debug các mục trong cơ sở dữ liệu.
Công cụ giám sát – Monitoring Tool
Uptime
Uptime
trả về các số liệu về thời gian máy chủ đã chạy, thời gian hiện tại, số lượng người dùng và mức sử dụng bộ nhớ trung bình. Nếu xảy ra sự cố trên máy chủ của bạn, thì đây là lệnh bạn nên dùng đầu tiên.
Bạn có thể dùng lệnh w
– duy nhất chữ w để xem thông tin thời gian máy chủ hoạt động.
Wall
Wall
là một lệnh tiện dụng cho bất kỳ Sysadmin nào; nó cho phép bạn gửi tin nhắn đến thiết bị của mọi người hiện đang đăng nhập vào hệ thống. Điều này có thể rất hữu ích cho các thông báo trên toàn hệ thống.
$ wall "Thong bao - He thong se bao tri vao luc 13:30" Thong bao duoc phat tu AnonyViet anonyvietl@localhost: Maintenance scheduled for 13:30
Top
Lệnh top
Hiển thị danh sách tiến trình CPU đang hoạt động, sử dụng RAM và các chỉ số sử dụng CPU.
Ncdu
Lệnh ncdu
cung cấp chế độ xem thuận tiện cho việc sử dụng đĩa cứng. Bạn có thể sử dụng ncdu
để xem thư mục nào đang sử dụng nhiều dung lượng ổ đĩa nhất một cách nhanh chóng và dễ dàng.
lsof
lsof
là một lệnh duy nhất được sử dụng cho một mục đích cơ bản: LiSt Open Files. Lệnh này nhanh chóng xác định tệp nào đang được sử dụng bởi tiến trình nào.
Lệnh lên quan đến Mạng – Network
Netcat
Netcat
hoặc nc
chủ yếu được sử dụng để quét cổng – scan port nhưng thực sự là một công cụ Network tiện ích rất tiện ích cho Sysadmin. Netcat có thể hỗ trợ quét cổng, sao chép tập tin, Nat Port, proxy servers, and hosting servers… lệnh này rất linh hoạt và nhiều tính năng
NetStat
netstat
trả về các chi tiết mạng khác nhau như routing table, network connection, membership, stats, flag v.v.
#Ví dụ $ netstat -a # Xem các Port của mạng $ netstat -tlpn # Xem các port đang lắng nghe listening ports # Tham số -s = Show statistics, -v = verbrose, -r = show routing tables, -i display interface table, -g = show group memeberships
Nslookup
Được sử dụng để lấy thông tin về các máy chủ trên internet hoặc mạng LAN của bạn. Nó truy vấn DNS để tìm thông tin Server và có thể hữu ích cho việc gỡ lỗi mạng.
# Ví dụ Cách sử dụng $ nslookup media.com/tags/devops # Key Flags -port = Thay đổi số cổng cho kết nối, -type = Thay đổi loại truy vấn. -domain = Đặt danh sách tìm kiếm thành tên
TCPDump
Được sử dụng để bắt và phân tích lưu lượng truy cập đến và đi từ hệ thống của bạn. tcpdump
là một công cụ mạnh mẽ và linh hoạt chuyên gỡ lỗi và khắc phục sự cố mạng nhưng cũng có thể được sử dụng như một công cụ bảo mật.
# Cách sử dụng $ tcpdump $ tcpdump -i <interface> <ipaddress or hostname> <port>
Lệnh Ad-Hoc
Xem định dạng JSON đẹp
Việc đọc dữ liệu JSON trên Terminal có thể rất khó chịu khi làm việc với các API. Như bạn có thể thấy bên dưới, ngay cả một tập hợp dữ liệu nhỏ cũng nhanh chóng trở thành một mớ hỗn độn khi hiển thị ra dòng lệnh khiến nó rất khó đọc.
$ cat test.json {"title":"Person","type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"age":{"description":"Age in years","type":"integer","minimum":0}},"required":["firstName","lastName"]}
Bằng cách đọc file JSON bằng python, bạn sẽ thấy kết quả xuất hiện đẹp và dễ nhìn hơn.
$ cat test.json | python -m json.tool { "properties": { "age": { "description": "Age in years", "minimum": 0, "type": "integer" }, "firstName": { "type": "string" }, "lastName": { "type": "string" } }, "required": [ "firstName", "lastName" ], "title": "Person", "type": "object" }
So sánh kết quả của hai lệnh
Ví dụ so sánh kết quả của 2 lệnh ls
:
$ diff -u <(ls -l /directory/) <(ls -l /directory/) | colordiff
Liệt kê tất cả dịch vụ Systemd
systemctl -l -t service | less
Hy vọng bạn đã học được điều gì đó từ các lệnh Linux ở trên; làm chủ Linux có thể cực kỳ hữu ích do tính phổ biến của Linux miễn phí và cộng động hỗ trợ lớn, theo thống kê 96,3% trong số một triệu máy chủ web đang chạy Linux.