Trong kỷ nguyên công nghệ hiện đại, sự phát triển nhanh chóng của DevOps đã tạo nên một môi trường làm việc đa dạng và phức tạp. Để quản lý hạ tầng và triển khai ứng dụng hiệu quả, việc thành thạo các lệnh Linux trở thành một kỹ năng thiết yếu mà mọi kỹ sư DevOps cần nắm vững. Bài viết này sẽ hướng dẫn bạn từng nhóm lệnh Linux quan trọng, giúp bạn tự tin hơn trong công việc hàng ngày.
1. Quản Lý Quy Trình
Quản lý quy trình là bước đầu tiên trong việc kiểm soát và giám sát các ứng dụng đang chạy trên hệ thống Linux. Dưới đây là các lệnh cơ bản mà bạn nên biết:
Liệt Kê Các Quy Trình:
ps aux # Hiển thị tất cả các quy trình đang chạy
ps -ef # Định dạng thay thế cho danh sách quy trình
ps -u username # Quy trình của một người dùng cụ thể
Theo Dõi Quy Trình:
top # Trình theo dõi quy trình tương tác
htop # Phiên bản nâng cao với hỗ trợ màu và chuột
Kiểm Soát Quy Trình:
kill PID # Gửi tín hiệu SIGTERM để kết thúc quy trình
kill -9 PID # Kết thúc quy trình một cách cưỡng bức
killall name # Kết thúc tất cả quy trình theo tên
Quản Lý Dịch Vụ:
systemctl start service # Khởi động một dịch vụ
systemctl stop service # Dừng một dịch vụ
systemctl restart service # Khởi động lại một dịch vụ
Quản Lý Ưu Tiên Quy Trình:
nice -n 10 command # Khởi động lệnh với độ ưu tiên thấp hơn
renice -n 10 -p PID # Điều chỉnh độ ưu tiên của một quy trình đang chạy
2. Quản Lý Hệ Thống Tập Tin
Hệ thống tập tin trong Linux được tổ chức theo cấu trúc cây và quản lý file cùng thư mục là một phần quan trọng của công việc quản trị hệ thống.
Quyền Của Tập Tin:
chmod 755 file # Quyền rwx cho chủ sở hữu, rx cho người khác
chown user:group file # Thay đổi quyền sở hữu
Tìm Kiếm Tập Tin:
find / -type f -name "*.log" # Tìm tất cả các tập tin log
find / -mtime -7 # Tìm các tập tin đã được sửa đổi trong 7 ngày qua
Sử Dụng Đĩa:
du -sh * # Kích thước của nội dung thư mục
df -h # Sử dụng hệ thống tập tin
3. Quản Lý Mạng
Kỹ năng cấu hình mạng và khắc phục sự cố là điều không thể thiếu trong DevOps.
Kết Nối Mạng:
ip addr # Hiển thị địa chỉ IP
ping -c 4 host # Kiểm tra kết nối với 4 gói tin
Giám Sát Cổng:
netstat -tulpn # Hiển thị các cổng đang lắng nghe và quy trình
ss -tunlp # Thay thế hiện đại cho netstat
Gỡ Rối Mạng:
tcpdump -i eth0 # Bắt gói dữ liệu trên giao diện mạng
nmap localhost # Quét các cổng mở
4. Giám Sát Hệ Thống
Hệ thống giám sát hiệu suất là chìa khóa để đảm bảo hoạt động ổn định và đáng tin cậy của các ứng dụng.
Giám Sát Tài Nguyên:
free -m # Hiển thị lượng bộ nhớ đang sử dụng (MB)
vmstat 1 # Thông tin về bộ nhớ ảo được cập nhật mỗi giây
Phân Tích Hiệu Suất:
perf top # Phân tích hiệu suất CPU
strace command # Theo dõi các cuộc gọi hệ thống
5. Quản Lý Nhật Ký
Nhật ký là công cụ quan trọng để gỡ rối và theo dõi hoạt động của hệ thống.
Nhật Ký Hệ Thống:
journalctl -f # Theo dõi nhật ký hệ thống
journalctl -u service # Xem nhật ký riêng biệt của một dịch vụ
tail -f /var/log/syslog # Theo dõi nhật ký hệ thống
Phân Tích Nhật Ký:
grep -r "error" /var/log/ # Tìm kiếm lỗi trong nhật ký
awk '/pattern/ {print $1,$2}' logfile # Trích xuất các trường cụ thể
6. Quản Lý Gói
Quản lý phần mềm trên hệ thống là rất quan trọng để triển khai và cập nhật hiệu quả.
Đối Với RHEL/CentOS:
yum update -y # Cập nhật tất cả các gói
yum install package # Cài đặt một gói nhất định
Đối Với Ubuntu/Debian:
apt update && apt upgrade # Cập nhật hệ thống
apt install package # Cài đặt một gói
7. Quản Lý An Ninh
Bảo mật hệ thống là một phần không thể thiếu trong việc quản lý máy chủ.
Quản Lý Người Dùng:
useradd -m username # Tạo một người dùng với thư mục chính
passwd username # Đặt mật khẩu cho người dùng
Giám Sát An Ninh:
last # Hiển thị các đăng nhập gần đây
fail2ban-client status # Hiển thị các địa chỉ IP bị cấm
Kết Luận
Việc nắm vững các lệnh Linux không chỉ nâng cao năng lực làm việc của bạn mà còn giúp bạn thực hiện công việc nhanh chóng và hiệu quả hơn với vai trò là một kỹ sư DevOps. Đây là những kiến thức cần thiết để tự động hóa, khắc phục sự cố và duy trì các hệ thống an toàn cùng với hiệu suất cao. Nếu bạn làm theo những hướng dẫn này, chắc chắn bạn sẽ xây dựng được một nền tảng vững chắc trong lĩnh vực DevOps.
Cảm ơn bạn đã đọc bài viết này! Hy vọng rằng nó sẽ cung cấp cho bạn những kiến thức bổ ích cho công việc của mình.
source: viblo