07/10/2022

5 lệnh Linux mà mọi sysadmin cần biết

5 lệnh Linux mà mọi sysadmin cần biết

Trong một thế giới đầy rẫy các công cụ mới và môi trường phát triển đa dạng, việc học một số lệnh sysadmin cơ bản là thực tế cần thiết cho bất kỳ nhà phát triển hoặc kỹ sư nào. Các lệnh và gói cụ thể có thể giúp nhà phát triển tổ chức, khắc phục sự cố và tối ưu hóa ứng dụng, đồng thời cung cấp thông tin có giá trị khi sự cố xảy ra.

Cho dù bạn là nhà phát triển mới hay muốn quản lý các ứng dụng của riêng mình, các lệnh sysadmin cơ bản sau đây có thể giúp bạn hiểu rõ hơn về các ứng dụng của mình. Họ cũng có thể giúp bạn mô tả các vấn đề để khắc phục sự cố như lý do tại sao một ứng dụng có thể hoạt động cục bộ nhưng không hoạt động trên máy chủ từ xa. Các lệnh này áp dụng cho môi trường phát triển Linux, vùng chứa, máy ảo (VM) và kim loại trần.

curl chuyển một URL. Sử dụng lệnh này để kiểm tra điểm cuối ứng dụng hoặc kết nối với điểm cuối dịch vụ ngược dòng. curl rất hữu ích trong việc xác định xem một ứng dụng có thể tiếp cận dịch vụ khác, chẳng hạn như cơ sở dữ liệu hoặc kiểm tra xem một dịch vụ có hoạt động bình thường hay không.

Ví dụ: ứng dụng của bạn gặp lỗi HTTP 500 cho biết rằng nó không thể truy cập cơ sở dữ liệu MongoDB:

$ curl -I -s myapplication: 5000 HTTP / 1.0 500 LỖI MÁY CHỦ NỘI BỘ

Hãy kiểm tra điểm cuối cơ sở dữ liệu từ máy tính cục bộ:

See also  Điều gì sẽ xảy ra nếu tôi không nâng cấp hệ thống của mình lên Windows 11?

Cơ sở dữ liệu $ curl -I -s: 27017 HTTP / 1.0 200 OK

Vì vậy, những gì có thể là vấn đề? Kiểm tra xem ứng dụng của bạn có thể đến những nơi khác ngoài cơ sở dữ liệu từ máy chủ ứng dụng hay không:

$ curl -I -s https://opensource.com HTTP / 1.1 200 OK

Mọi thứ có vẻ ổn. Bây giờ hãy thử truy cập cơ sở dữ liệu từ máy chủ ứng dụng. Ứng dụng của bạn đang sử dụng tên máy chủ của cơ sở dữ liệu, vì vậy trước tiên hãy thử:

Cơ sở dữ liệu $ curl: 27017 curl: (6) Không thể giải quyết ‘cơ sở dữ liệu’ máy chủ lưu trữ

Điều này chỉ ra rằng ứng dụng của bạn không thể phân giải cơ sở dữ liệu, do URL cơ sở dữ liệu không khả dụng hoặc máy chủ (bộ chứa hoặc máy ảo) không có máy chủ tên mà nó có thể sử dụng để phân giải tên máy chủ.

2. python -m json.tool / jq

Sau khi thực hiện lệnh curl, đầu ra của lệnh gọi API có thể khó đọc. Đôi khi bạn muốn xuất JSON để dễ đọc để tìm một mục cụ thể. Python có một thư viện JSON tích hợp có thể trợ giúp việc này. Bạn sử dụng python -m json.tool để thụt lề và tổ chức JSON. Để sử dụng mô-đun JSON của Python, hãy chuyển đầu ra của tệp JSON tới lệnh python -m json.tool.

$ cat test.json {“title”: “Person”, “type”: “object”, “properties”: {“firstName”: {“type”: “string”}, “lastName”: {“type”: “string”}, “age”: {“description”: “Tuổi tính theo năm”, “type”: “integer”, “tối thiểu”: 0}}, “bắt buộc”:[“firstName”,”lastName”]}

Để sử dụng thư viện Python, hãy chuyển đầu ra sang Python với tùy chọn -m (mô-đun).

See also  Sự khác biệt giữa HDMI, Mini HDMI và Micro HDMI

$ cat test.json | python -m json.tool {“properties”: {“age”: {“description”: “Tuổi tính theo năm”, “tối thiểu”: 0, “type”: “integer”}, “firstName”: {“type” : “string”}, “lastName”: {“type”: “string”}}, “bắt buộc”: [
“firstName”,
“lastName”
], “title”: “Person”, “type”: “object”}

Để phân tích cú pháp JSON nâng cao hơn, bạn có thể cài đặt jq. jq cung cấp một số tùy chọn để trích xuất các giá trị cụ thể từ đầu vào JSON. Để xuất đầu ra giống như mô-đun Python ở trên, chỉ cần áp dụng jq cho đầu ra.

$ cat test.json | jq {“title”: “Person”, “type”: “object”, “properties”: {“firstName”: {“type”: “string”}, “lastName”: {“type”: “string”} , “tuổi”: {“mô tả”: “Tuổi tính theo năm”, “loại”: “số nguyên”, “tối thiểu”: 0}}, “bắt buộc”: [
“firstName”,
“lastName”
]}

3. ls

ls liệt kê các tập tin trong một thư mục. Sysadmins (quản trị viên hệ thống) và các nhà phát triển sử dụng lệnh này khá thường xuyên. Trong vùng chứa, lệnh này có thể giúp xác định thư mục và tệp của hình ảnh vùng chứa. Bên cạnh việc tra cứu tệp, ls có thể giúp bạn kiểm tra các quyền của mình. Trong ví dụ dưới đây, bạn không thể chạy myapp do vấn đề về quyền. Khi bạn kiểm tra các quyền với ls -l, bạn nhận ra rằng các quyền không có “x” trong -rw-r – r–, chỉ đọc và ghi.

$ ./myapp bash: ./myapp: Quyền bị từ chối $ ls -l myapp -rw-r – r–. 1 root root 33 Jul 21 18:36 myapp

đuôi hiển thị phần cuối cùng của tệp. Bạn thường không cần mọi dòng nhật ký để khắc phục sự cố. Thay vào đó, bạn muốn kiểm tra xem nhật ký nói gì về yêu cầu gần đây nhất đối với ứng dụng. Ví dụ: bạn có thể sử dụng tail để kiểm tra những gì xảy ra trong nhật ký khi bạn thực hiện yêu cầu tới máy chủ Apache HTTP của mình.

See also  Cách sử dụng Google Meet trên máy tính dành cho giáo viên

Sử dụng tail -f để theo dõi nhật ký HTTP Apache và xem các yêu cầu khi chúng xảy raSử dụng tail -f để theo dõi nhật ký HTTP Apache và xem các yêu cầu khi chúng xảy ra

Tùy chọn -f có nghĩa là “theo dõi”, xuất các dòng nhật ký khi chúng được ghi vào tệp. Ví dụ: có một tập lệnh nền truy cập điểm cuối sau mỗi vài giây và ghi lại yêu cầu này. Thay vì theo dõi nhật ký trong thời gian thực, bạn cũng có thể sử dụng tail để xem 100 dòng cuối cùng của tệp với tùy chọn -n.

$ tail -n 100 / var / log / httpd / access_log

mèo nối và in các tập tin. Bạn có thể yêu cầu mèo kiểm tra nội dung của tệp phụ thuộc hoặc xác nhận phiên bản ứng dụng mà bạn đã tạo cục bộ.

$ cat request.txt flask flask_pymongo

Ví dụ trên kiểm tra xem ứng dụng Python Flask của bạn có Flask được liệt kê dưới dạng phụ thuộc hay không.

Các lệnh cơ bản có thể nâng cao khả năng khắc phục sự cố, khi cần xác định lý do tại sao một ứng dụng hoạt động trong một môi trường phát triển nhưng không hoạt động trong một môi trường phát triển khác. Nhiều sysadmins đã tận dụng các lệnh này để gỡ lỗi nhiều vấn đề với hệ thống. Hiểu một số lệnh khắc phục sự cố hữu ích này có thể giúp bạn giao tiếp với sysadmin và giải quyết các sự cố với ứng dụng của bạn.