Các lệnh Linux quan trọng mà trên trường không dạy cho bạn

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.

lenh linux chua hoc tren nha truong

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.

Previous Post Next Post