Kiến thức Hữu ích 😍

Lệnh Linux DevOps: Quản Lý Hệ Thống Hiệu Quả & Tự Động Hóa


Linux là nền tảng quan trọng không thể thiếu trong môi trường Linux DevOps hiện đại. Từ việc quản lý máy chủ, triển khai ứng dụng đến tự động hóa quy trình, hệ điều hành này cung cấp một bộ công cụ mạnh mẽ và linh hoạt. Tuy nhiên, nhiều kỹ sư DevOps mới vào nghề thường chưa tận dụng hết hiệu quả của các lệnh Bash là gì cơ bản, dẫn đến việc xử lý công việc chậm chạp và kém tối ưu. Hiểu và sử dụng thành thạo dòng lệnh không chỉ giúp bạn giải quyết vấn đề nhanh hơn mà còn là nền tảng để xây dựng các hệ thống tự động hóa phức tạp.

Bài viết này sẽ là kim chỉ nam giúp bạn làm chủ các lệnh Linux phổ biến nhất. AZWEB sẽ cùng bạn đi qua từng nhóm lệnh, từ quản lý hệ thống cơ bản, thao tác với tập tin, phân quyền bảo mật, đến giám sát tiến trình và mạng. Cuối cùng, chúng ta sẽ khám phá cách ứng dụng chúng vào các kịch bản thực tế và tích hợp với những công cụ DevOps hàng đầu như Jenkins hay Docker.

Các lệnh Linux cơ bản thường dùng trong quản lý hệ thống

Để bắt đầu hành trình làm chủ DevOps, việc nắm vững các lệnh quản lý hệ thống Linux cơ bản là bước đi đầu tiên và quan trọng nhất. Những lệnh này cho phép bạn nhanh chóng kiểm tra “sức khỏe” của máy chủ, quản lý tài nguyên và kiểm soát truy cập của người dùng. Đây là những thao tác nền tảng mà bạn sẽ thực hiện hàng ngày.

Lệnh kiểm tra hệ thống và trạng thái máy chủ

Khi tiếp nhận một máy chủ mới hoặc cần chẩn đoán sự cố, việc đầu tiên là phải hiểu rõ trạng thái hiện tại của nó. Các lệnh sau đây sẽ cung cấp cho bạn bức tranh toàn cảnh về hệ thống.

  • uname: Lệnh này dùng để xem thông tin về hệ điều hành. Ví dụ, uname -a sẽ hiển thị toàn bộ thông tin chi tiết, bao gồm tên kernel Linux, phiên bản, kiến trúc hệ thống (như x86_64). Điều này rất hữu ích để xác định môi trường làm việc.
  • top: Đây là công cụ giám sát tài nguyên hệ thống theo thời gian thực. Nó hiển thị danh sách các tiến trình đang chạy, mức sử dụng CPU, bộ nhớ RAM và nhiều thông số quan trọng khác. top giúp bạn nhanh chóng phát hiện các tiến trình đang chiếm dụng quá nhiều tài nguyên.
  • uptime: Lệnh này cho biết máy chủ đã hoạt động được bao lâu kể từ lần khởi động cuối cùng, cùng với số lượng người dùng đang đăng nhập và tải trung bình của hệ thống.
  • df: Dùng để kiểm tra dung lượng ổ đĩa. Lệnh df -h (human-readable) sẽ hiển thị thông tin về dung lượng đã sử dụng, còn trống và tỷ lệ phần trăm trên tất cả các phân vùng một cách dễ đọc nhất.

Hình minh họa

Lệnh quản lý người dùng và nhóm

Trong môi trường DevOps, việc quản lý quyền truy cập của các thành viên trong nhóm là cực kỳ quan trọng để đảm bảo an ninh và phân chia trách nhiệm rõ ràng.

  • useradd: Lệnh này được sử dụng để tạo một tài khoản người dùng mới. Ví dụ, sudo useradd -m devuser sẽ tạo một người dùng tên là devuser và cả thư mục nhà (home directory) cho người dùng đó.
  • passwd: Sau khi tạo người dùng, bạn cần đặt mật khẩu cho họ bằng lệnh này. Chạy sudo passwd devuser sẽ yêu cầu bạn nhập và xác nhận mật khẩu mới.
  • groupadd: Dùng để tạo một nhóm người dùng mới, ví dụ: sudo groupadd developers. Việc tạo nhóm giúp đơn giản hóa việc cấp quyền cho nhiều người dùng cùng một lúc.
  • id: Để kiểm tra thông tin về một người dùng, như User ID (UID), Group ID (GID) và các nhóm họ thuộc về, bạn chỉ cần gõ id devuser.

Lệnh quản lý tập tin và thư mục trên Linux

Quản lý tập tin và cấu trúc thư mục là một phần không thể thiếu trong công việc của một kỹ sư DevOps. Từ việc di chuyển mã nguồn, sao lưu dữ liệu đến sắp xếp các file cấu hình, việc sử dụng thành thạo các lệnh này sẽ giúp bạn thao tác nhanh chóng và chính xác ngay trên giao diện dòng lệnh.

Các lệnh thao tác tập tin cơ bản

Đây là những lệnh bạn sẽ sử dụng hàng ngày để tương tác với các tập tin trên hệ thống.

  • ls: Lệnh ls dùng để liệt kê các tập tin và thư mục trong thư mục hiện tại. Sử dụng ls -l để xem chi tiết hơn (quyền, chủ sở hữu, kích thước, ngày sửa đổi) hoặc ls -a để hiển thị cả các tệp ẩn.
  • cp: Dùng để sao chép tập tin hoặc thư mục. Ví dụ, cp source.txt destination.txt để sao chép một tệp, hoặc cp -r source_dir/ destination_dir/ để sao chép toàn bộ một thư mục.
  • mv: Lệnh này có hai chức năng chính: di chuyển hoặc đổi tên. Để đổi tên, bạn dùng mv old_name.txt new_name.txt. Để di chuyển, bạn dùng mv file.txt /path/to/destination/.
  • rm: Dùng để xóa tập tin. rm file.txt sẽ xóa tệp. Hãy cẩn thận vì lệnh này không có thùng rác. Để xóa một thư mục rỗng, bạn có thể dùng rmdir, nhưng để xóa thư mục chứa nội dung, bạn phải dùng rm -r directory_name.
  • touch: Lệnh này dùng để tạo một tập tin trống hoặc cập nhật thời gian sửa đổi của một tệp đã có. Ví dụ, touch new_file.log.

Hình minh họa

Quản lý thư mục và tìm kiếm

Việc tổ chức code và dữ liệu một cách khoa học đòi hỏi bạn phải biết cách tạo, xóa và tìm kiếm thư mục hiệu quả.

  • mkdir: Lệnh mkdir giúp bạn tạo một thư mục mới. Ví dụ: mkdir project_alpha. Bạn có thể tạo nhiều thư mục lồng nhau cùng lúc bằng cách thêm cờ -p, ví dụ: mkdir -p project_alpha/src/components.
  • rmdir: Dùng để xóa một thư mục rỗng. Nếu thư mục vẫn còn chứa tập tin, lệnh này sẽ báo lỗi.
  • find: Đây là một công cụ tìm kiếm cực kỳ mạnh mẽ. Bạn có thể tìm kiếm tệp theo tên, kích thước, quyền, thời gian sửa đổi, và nhiều tiêu chí khác. Ví dụ, find /var/log -name "*.log" sẽ tìm tất cả các tệp có đuôi .log trong thư mục /var/log.
  • locate: Lệnh locate tìm kiếm nhanh hơn find vì nó sử dụng một cơ sở dữ liệu đã được lập chỉ mục sẵn. Tuy nhiên, nó có thể không tìm thấy các tệp mới được tạo gần đây. Để tìm một tệp cấu hình, bạn có thể gõ locate nginx.conf.

Lệnh quản lý quyền truy cập và phân quyền

Trong DevOps, bảo mật là yếu tố sống còn. Việc phân quyền chính xác đảm bảo rằng mỗi người dùng hoặc dịch vụ chỉ có quyền truy cập vào những tài nguyên cần thiết cho công việc của họ. Điều này giúp ngăn chặn các thay đổi trái phép và giảm thiểu rủi ro an ninh.

Thiết lập quyền truy cập người dùng

Linux sử dụng một hệ thống quyền đơn giản nhưng hiệu quả dựa trên ba cấp độ: chủ sở hữu (owner), nhóm (group), và những người khác (others). Mỗi cấp độ có ba loại quyền: đọc (read – r), ghi (write – w), và thực thi (execute – x).

  • chmod: Lệnh này dùng để thay đổi quyền của một tệp hoặc thư mục. Có hai cách sử dụng phổ biến:
    • Symbolic (ký hiệu): chmod u+x script.sh cấp quyền thực thi (x) cho chủ sở hữu (u). chmod g-w config.yml xóa quyền ghi (w) của nhóm (g).
    • Octal (số): Mỗi quyền có một giá trị: r=4, w=2, x=1. Ví dụ, chmod 755 script.sh có nghĩa là chủ sở hữu có toàn quyền (4+2+1=7), trong khi nhóm và những người khác chỉ có quyền đọc và thực thi (4+0+1=5).
  • chown: Dùng để thay đổi chủ sở hữu của một tệp hoặc thư mục. Ví dụ, sudo chown devuser:developers /app/data sẽ gán tệp data cho người dùng devuser và nhóm developers.
  • chgrp: Lệnh này chỉ thay đổi nhóm sở hữu của một tệp hoặc thư mục. Ví dụ: sudo chgrp developers /app/config.

Hình minh họa

Phân quyền nâng cao và quản lý bảo mật

Khi mô hình phân quyền cơ bản không đủ đáp ứng, bạn có thể cần đến các công cụ nâng cao hơn.

  • umask: Lệnh umask xác định các quyền mặc định sẽ bị loại bỏ khi một tệp hoặc thư mục mới được tạo. Ví dụ, umask 022 có nghĩa là quyền ghi sẽ bị xóa cho nhóm và những người khác, giúp các tệp mới tạo ra an toàn hơn theo mặc định.
  • setfacl: Access Control Lists (ACLs) cho phép bạn thiết lập quyền truy cập chi tiết hơn cho nhiều người dùng và nhóm khác nhau trên cùng một tệp. Ví dụ, setfacl -m u:testuser:rw- report.docx sẽ cấp quyền đọc-ghi cho testuser trên tệp report.docx mà không cần thay đổi chủ sở hữu hay nhóm chính.

Lệnh xử lý tiến trình và quản lý mạng

Một kỹ sư DevOps giỏi phải có khả năng giám sát, kiểm soát các ứng dụng đang chạy và đảm bảo kết nối mạng luôn ổn định. Việc xử lý các tiến trình “cứng đầu” hay chẩn đoán lỗi mạng là những kỹ năng thiết yếu để duy trì hoạt động thông suốt của hệ thống.

Quản lý tiến trình và tài nguyên hệ thống

Giám sát những gì đang diễn ra bên trong máy chủ là chìa khóa để tối ưu hóa hiệu suất và khắc phục sự cố.

  • ps: Lệnh này hiển thị danh sách các tiến trình đang chạy. ps aux là một trong những cách dùng phổ biến nhất, cung cấp một cái nhìn tổng quan về tất cả các tiến trình từ mọi người dùng. Bạn có thể kết hợp nó với grep để tìm một tiến trình cụ thể, ví dụ: ps aux | grep nginx.
  • kill: Khi một tiến trình bị treo hoặc cần được dừng lại, kill là công cụ bạn cần. Đầu tiên, bạn cần tìm Process ID (PID) của nó bằng ps. Sau đó, dùng kill PID để gửi tín hiệu chấm dứt (terminate). Nếu tiến trình không phản hồi, bạn có thể dùng kill -9 PID để buộc nó phải dừng ngay lập tức.
  • nice: Lệnh nice cho phép bạn điều chỉnh độ ưu tiên của một tiến trình khi khởi chạy nó. Giá trị “niceness” càng cao, độ ưu tiên càng thấp. Ví dụ, nice -n 10 ./backup.sh sẽ chạy script sao lưu với độ ưu tiên thấp hơn để không ảnh hưởng đến các ứng dụng quan trọng khác.
  • top: Như đã đề cập, top là công cụ giám sát động, liên tục cập nhật trạng thái hệ thống. Nó rất hữu ích để theo dõi xem tiến trình nào đang đột ngột chiếm nhiều CPU hoặc bộ nhớ.

Hình minh họa

Quản lý mạng và kết nối

Kết nối mạng là huyết mạch của mọi hệ thống phân tán. Các lệnh sau giúp bạn kiểm tra và gỡ rối các vấn đề liên quan đến mạng.

  • ifconfig/ip: ifconfig (cũ hơn) và ip (mới và mạnh mẽ hơn) được dùng để xem và cấu hình các giao diện mạng. Lệnh ip addr sẽ hiển thị địa chỉ IP của tất cả các card mạng trên máy chủ.
  • netstat: Lệnh này cung cấp thông tin về các kết nối mạng, bảng định tuyến, và các cổng đang lắng nghe. netstat -tuln là một lệnh hữu ích để xem tất cả các cổng TCP và UDP đang mở trên hệ thống.
  • ping: Công cụ cơ bản nhất để kiểm tra kết nối tới một máy chủ khác. ping google.com sẽ gửi các gói tin nhỏ để xem liệu máy chủ đích có phản hồi hay không và đo độ trễ của kết nối.
  • ssh: Secure Shell (SSH) là công cụ không thể thiếu để đăng nhập và thực thi lệnh từ xa trên các máy chủ Linux một cách an toàn. ssh user@hostname là cú pháp cơ bản để bắt đầu một phiên làm việc.

Ứng dụng các lệnh Linux trong tự động hóa và quản trị hệ thống DevOps

Sức mạnh thực sự của các lệnh Linux được bộc lộ khi bạn kết hợp chúng lại để tự động hóa các tác vụ lặp đi lặp lại. Thay vì thực hiện thủ công, bạn có thể viết các kịch bản (script) để máy tính tự làm, giúp tiết kiệm thời gian, giảm thiểu lỗi do con người và tăng tính nhất quán trong quy trình làm việc.

Viết script tự động hóa công việc

Bash scripting là nghệ thuật kết hợp các lệnh Linux thành một kịch bản có thể thực thi. Một script đơn giản có thể tự động sao lưu cơ sở dữ liệu, dọn dẹp các tệp log cũ, hoặc triển khai một phiên bản mới của ứng dụng.

Ví dụ, hãy xem một script sao lưu đơn giản tên là backup.sh:

#!/bin/bash
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backups/$TIMESTAMP"
SOURCE_DIR="/var/www/html"

mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/app-backup.tar.gz $SOURCE_DIR
echo "Backup completed successfully!"

Script này tạo một thư mục sao lưu với ngày hiện tại, sau đó nén toàn bộ thư mục web (/var/www/html) và lưu vào đó. Bạn chỉ cần chạy ./backup.sh là toàn bộ quá trình sẽ được thực hiện.

Hình minh họa

Tích hợp lệnh Linux trong công cụ DevOps phổ biến

Các lệnh Linux là nền tảng cốt lõi của hầu hết các công cụ DevOps hiện đại. Hiểu rõ chúng giúp bạn tận dụng tối đa sức mạnh của những công cụ này.

  • Jenkins: Trong Jenkins, các “build steps” thường là các khối thực thi shell (Execute shell). Bạn có thể gọi trực tiếp các lệnh như mvn clean install, docker build, hoặc chạy một bash script phức tạp để tự động hóa quy trình CI/CD.
  • Ansible: Mặc dù Ansible có các module chuyên dụng cho nhiều tác vụ, module commandshell cho phép bạn thực thi bất kỳ lệnh Linux nào trên các máy chủ được quản lý. Điều này rất hữu ích cho các tác vụ tùy chỉnh không có module hỗ trợ sẵn.
  • Docker: Dockerfile sử dụng chỉ thị RUN để thực thi các lệnh Linux bên trong một container trong quá trình xây dựng image. Ví dụ, RUN apt-get update && apt-get install -y nginx sử dụng các lệnh quản lý gói của Debian để cài đặt Nginx.

Ví dụ minh họa và thực hành các lệnh

Lý thuyết sẽ trở nên vô nghĩa nếu không được áp dụng vào thực tế. Hãy cùng AZWEB đi qua một vài kịch bản thực tế để xem cách các lệnh Linux phối hợp với nhau để giải quyết các vấn đề thường gặp trong công việc của một kỹ sư DevOps.

Kịch bản thực hành quản lý hệ thống bằng lệnh Linux

Giả sử bạn cần tạo một môi trường làm việc cho một lập trình viên mới tên là trungnv.

  1. Tạo người dùng mới: Đầu tiên, bạn tạo tài khoản cho anh ta. sudo useradd -m -s /bin/bash trungnv
  2. Đặt mật khẩu: Tiếp theo, thiết lập mật khẩu ban đầu. sudo passwd trungnv
  3. Tạo thư mục dự án: Tạo một thư mục cho dự án mới. sudo mkdir -p /srv/projects/new-feature
  4. Phân quyền cho người dùng: Gán quyền sở hữu thư mục dự án cho trungnv và nhóm của anh ta (giả sử là developers). sudo chown -R trungnv:developers /srv/projects/new-feature
  5. Thiết lập quyền truy cập: Đảm bảo chỉ có trungnv và các thành viên trong nhóm developers mới có quyền đọc-ghi. sudo chmod -R 770 /srv/projects/new-feature
  6. Giám sát tiến trình (tùy chọn): Nếu trungnv chạy một ứng dụng, bạn có thể kiểm tra nó bằng lệnh: ps -u trungnv

Hình minh họa

Áp dụng lệnh Linux trong tình huống thật tế của DevOps

Hãy tưởng tượng bạn đang đối mặt với một vài sự cố phổ biến.

  • Sự cố: Ứng dụng web chạy chậm.
    1. Đăng nhập vào máy chủ: ssh admin@web-server-01
    2. Kiểm tra tài nguyên: Chạy top để xem tiến trình nào đang chiếm nhiều CPU hoặc RAM nhất.
    3. Kiểm tra dung lượng đĩa: Dùng df -h để đảm bảo ổ đĩa không bị đầy, đặc biệt là phân vùng chứa log.
    4. Kiểm tra log ứng dụng: Dùng tail -f /var/log/app.log để xem các thông báo lỗi mới nhất trong thời gian thực.
  • Sự cố: Không thể kết nối đến cơ sở dữ liệu.
    1. Kiểm tra kết nối mạng: Từ máy chủ ứng dụng, dùng ping db-server-ip để xem hai máy chủ có “thấy” nhau không.
    2. Kiểm tra cổng dịch vụ: Dùng netstat -tuln | grep 3306 (cổng mặc định của MySQL) trên máy chủ cơ sở dữ liệu để chắc chắn rằng dịch vụ đang lắng nghe kết nối.
    3. Kiểm tra tường lửa: Có thể tường lửa đang chặn kết nối. Bạn cần kiểm tra cấu hình iptables hoặc firewalld.

Tối ưu hóa quy trình làm việc DevOps bằng lệnh Linux

Sử dụng thành thạo từng lệnh riêng lẻ là tốt, nhưng kết hợp chúng lại để tạo ra các quy trình tự động và hiệu quả mới là đỉnh cao của kỹ năng quản trị hệ thống. Việc tối ưu hóa này không chỉ giúp bạn làm việc nhanh hơn mà còn giảm thiểu đáng kể các lỗi vận hành thủ công.

Một trong những kỹ thuật mạnh mẽ nhất là sử dụng “piping” (đường ống), ký hiệu là |. Nó cho phép bạn lấy đầu ra của một lệnh này làm đầu vào cho một lệnh khác. Ví dụ, để tìm PID của tiến trình Nginx và dừng nó, thay vì làm hai bước, bạn có thể gộp lại: kill $(ps aux | grep '[n]ginx' | awk '{print $2}'). Lệnh này tìm dòng chứa “nginx”, trích xuất cột thứ hai (PID) và truyền nó cho lệnh kill.

Sử dụng các lệnh kết hợp với cron để tự động hóa định kỳ là một cách tuyệt vời để tối ưu hóa công việc. cron là một trình lập lịch công việc cho phép bạn chạy các script hoặc lệnh vào những thời điểm cụ thể. Ví dụ, để tự động dọn dẹp các file log cũ hơn 7 ngày vào lúc 2 giờ sáng mỗi ngày, bạn có thể thêm dòng sau vào crontab: 0 2 * * * find /var/log/app -name "*.log" -mtime +7 -delete

Điều này đảm bảo hệ thống luôn được bảo trì một cách tự động mà không cần bạn phải can thiệp.

Hình minh họa

Common Issues/Troubleshooting

Ngay cả những kỹ sư DevOps kinh nghiệm nhất cũng gặp phải lỗi khi làm việc với dòng lệnh. Điều quan trọng là biết cách nhận diện và xử lý chúng một cách nhanh chóng. Dưới đây là hai vấn đề phổ biến nhất bạn có thể gặp phải.

Lỗi phân quyền khi chạy lệnh

Lỗi “Permission denied” có lẽ là thông báo lỗi quen thuộc nhất. Nó xảy ra khi bạn cố gắng thực hiện một hành động mà người dùng hiện tại không có quyền.

  • Nguyên nhân:
    • Bạn đang cố gắng sửa một tệp thuộc sở hữu của người dùng khác (thường là root).
    • Bạn đang cố gắng chạy một script nhưng nó không có quyền thực thi (execute).
    • Dịch vụ bạn đang chạy không có quyền truy cập vào thư mục cần thiết.
  • Cách xử lý:
    • Sử dụng sudo: Nếu bạn cần quyền quản trị viên, hãy đặt sudo ở đầu lệnh. Ví dụ: sudo systemctl restart nginx.
    • Thay đổi quyền bằng chmod: Nếu đó là một script, hãy cấp quyền thực thi cho nó: chmod +x your_script.sh.
    • Thay đổi chủ sở hữu bằng chown: Đảm bảo rằng người dùng hoặc dịch vụ đang chạy có quyền sở hữu đúng trên các tệp và thư mục cần thiết.

Quản lý tiến trình không chính xác gây tốn tài nguyên

Đôi khi một ứng dụng gặp lỗi và bắt đầu tiêu thụ 100% CPU hoặc rò rỉ bộ nhớ, làm toàn bộ hệ thống chậm lại.

  • Cách xác định:
    • Sử dụng lệnh top. Các tiến trình đang chiếm nhiều tài nguyên nhất sẽ nằm ở trên cùng. Hãy chú ý đến các cột %CPU%MEM.
  • Cách xử lý:
    1. Kill tiến trình một cách nhẹ nhàng: Đầu tiên, hãy thử dừng nó một cách lịch sự bằng tín hiệu TERM (mặc định của kill). Lấy PID từ top hoặc ps và chạy: kill <PID>. Điều này cho phép tiến trình có cơ hội dọn dẹp trước khi thoát.
    2. Buộc dừng tiến trình: Nếu nó không phản hồi, bạn phải dùng đến biện pháp mạnh hơn là tín hiệu KILL: kill -9 <PID>. Lệnh này sẽ buộc hệ điều hành chấm dứt tiến trình ngay lập tức. Hãy sử dụng nó như là phương án cuối cùng.

Best Practices

Để làm việc hiệu quả và an toàn trên môi trường Linux, việc tuân thủ các quy tắc và thực hành tốt nhất là vô cùng quan trọng. Những thói quen này sẽ giúp bạn tránh được những sai lầm tai hại và xây dựng các hệ thống ổn định, bảo mật.

  • Luôn kiểm tra quyền trước khi thay đổi và sao lưu dữ liệu quan trọng: Trước khi thực hiện các thay đổi lớn như cập nhật hệ thống hay sửa đổi file cấu hình quan trọng, hãy chắc chắn rằng bạn đã sao lưu. Một lệnh cp config.conf config.conf.bak đơn giản có thể cứu bạn khỏi nhiều giờ gỡ lỗi.
  • Ưu tiên sử dụng script để tự động hóa thay vì thao tác thủ công: Bất kỳ tác vụ nào bạn phải làm lặp đi lặp lại nhiều hơn hai lần đều nên được tự động hóa bằng script. Điều này không chỉ tiết kiệm thời gian mà còn đảm bảo tính nhất quán và giảm thiểu sai sót.
  • Đảm bảo cập nhật kiến thức về lệnh Linux mới và công cụ DevOps: Thế giới công nghệ luôn thay đổi. Hãy dành thời gian tìm hiểu về các lệnh mới, các tùy chọn hữu ích hoặc các công cụ mới nổi có thể giúp công việc của bạn dễ dàng hơn.
  • Không sử dụng lệnh rm -rf một cách tùy tiện: Lệnh này cực kỳ nguy hiểm vì nó xóa vĩnh viễn các tệp và thư mục mà không cần xác nhận. Hãy luôn kiểm tra kỹ đường dẫn bạn đang xóa. Một sai lầm nhỏ như rm -rf / var/log (có dấu cách sau dấu gạch chéo) có thể xóa toàn bộ hệ thống của bạn.

Hình minh họa

Kết luận

Việc nắm vững các lệnh Linux không chỉ là một kỹ năng kỹ thuật, mà còn là nền tảng vững chắc cho sự nghiệp của một kỹ sư DevOps. Từ việc quản trị hệ thống hàng ngày, chẩn đoán sự cố, đến việc xây dựng các quy trình tự động hóa phức tạp, dòng lệnh là công cụ mạnh mẽ giúp bạn kiểm soát và tối ưu hóa môi trường làm việc của mình. Như chúng ta đã thấy, mỗi lệnh đều có một vai trò riêng, nhưng sức mạnh thực sự của chúng được phát huy khi bạn biết cách kết hợp chúng một cách sáng tạo.

AZWEB khuyến khích bạn không chỉ đọc mà hãy thường xuyên mở terminal lên và thực hành. Hãy thử tạo người dùng, phân quyền cho một dự án giả lập, viết một vài script tự động hóa nhỏ. Càng thực hành nhiều, bạn sẽ càng tự tin và hiệu quả hơn trong việc giải quyết các thách thức thực tế.

Bước tiếp theo trên hành trình của bạn là tìm hiểu sâu hơn về bash scripting nâng cao, khám phá các công cụ như sed, awk, grep và bắt đầu tích hợp các kịch bản của mình vào một chu trình CI/CD hoàn chỉnh với các công cụ như Jenkins, GitLab CI hoặc Ansible. Chúc bạn thành công trên con đường chinh phục DevOps

Đánh giá