1. Kiểm Tra Thông Tin Phần Cứng và Hệ Thống
Để nắm bắt cấu hình hiện tại của máy chủ, các quản trị viên thường sử dụng những lệnh sau để xem kiến trúc CPU, phiên bản kernel và các thông số phần cứng khác.
uname -p # Hiển thị kiến trúc bộ xử lý
uname -r # Kiểm tra phiên bản kernel đang chạy
dmidecode # Truy xuất thông tin phần cứng hệ thống (DMI)
hdparm -I /dev/sda # Xem chi tiết thông số ổ đĩa cứng
hdparm -T /dev/sda # Thực hiện kiểm tra tốc độ đọc đĩa
lscpu # Hiển thị thông tin chi tiết về CPU
cat /proc/interrupts # Xem danh sách các ngắt hệ thống
free -h # Kiểm tra tình trạng sử dụng RAM
swapon --show # Hiển thị các vùng swap đang hoạt động
uptime # Xem thời gian hoạt động và phiên bản kernel
cat /proc/net/dev # Thống kê lưu lượng mạng của các adapter
mount | column -t # Liệt kê các hệ thống tập tin đã được gắn kết
lspci # Danh sách các thiết bị PCI
lsusb # Danh sách các thiết bị USB
date # Xem ngày giờ hệ thống
cal # Hiển thị lịch tháng hiện tại
date -s "2023-10-01 12:00:00" # Đặt lại ngày giờ hệ thống
hwclock -w # Đồng bộ thời gian hệ thống vào BIOS
2. Quản Lý Nguồn & Phiên Làm Việc
Các thao tác tắt máy, khởi động lại hoặc thoát phiên làm việc cần được thực hiện cẩn thận để đảm bảo tính toàn vẹn dữ liệu.
poweroff # Tắt hệ thống ngay lập tức
init 0 # Lệnh thay thế để tắt máy
systemctl poweroff # Tắt máy sử dụng systemd
shutdown -h +10 # Hẹn giờ tắt máy sau 10 phút
shutdown -c # Hủy bỏ lệnh hẹn giờ tắt máy
reboot # Khởi động lại hệ thống
systemctl reboot # Khởi động lại qua systemd
logout # Thoát khỏi phiên làm việc hiện tại
3. Thao Tác Với Thư Mục & Tệp Tin
Di chuyển, tạo mới, sao chép và xóa bỏ dữ liệu là những tác vụ cơ bản nhất trong môi trường dòng lệnh.
cd /var/www # Di chuyển vào thư mục web
cd .. # Lùi về thư mục cha
cd ../../ # Lùi về 2 cấp thư mục cha
cd ~ # Về thư mục chủ của người dùng
cd ~developer # Về thư mục chủ của user 'developer'
cd - # Quay lại thư mục vừa truy cập trước đó
pwd # In ra đường dẫn thư mục hiện tại
ls # Liệt kê file trong thư mục
ls -F # Liệt kê kèm ký hiệu phân loại file
ls -lh # Xem chi tiết file với kích thước dễ đọc
ls -a # Hiển thị cả file ẩn (bắt đầu bằng .)
ls -l *.log # Liệt kê các file có đuôi .log
tree -L 2 # Xem cấu trúc cây thư mục (độ sâu 2)
mkdir project_alpha # Tạo thư mục mới
mkdir -p /opt/app/config # Tạo thư mục_nested nếu chưa tồn tại
rm config.tmp # Xóa một file cụ thể
rmdir empty_folder # Xóa thư mục rỗng
rm -rf old_backup # Xóa thư mục và toàn bộ nội dung bên trong
mv old_name new_name # Đổi tên hoặc di chuyển file/thư mục
cp source.txt dest.txt # Sao chép file
cp -r /var/log/* . # Sao chép toàn bộ file log vào thư mục hiện tại
cp -a /etc/config . # Sao chép giữ nguyên thuộc tính
ln -s /var/log/syslog link_log # Tạo liên kết mềm
ln file_hard link_hard # Tạo liên kết cứng
touch -t 202312310000 new_file # Đặt timestamp cho file
file document.pdf # Xác định định dạng file
iconv -f UTF-8 -t ASCII input.txt > output.txt # Chuyển đổi mã hóa ký tự
4. Tìm Kiếm Tệp Tin & Vị Trí
Sử dụng công cụ tìm kiếm để định vị file dựa trên tên, chủ sở hữu, thời gian hoặc loại file.
find /var -name "*.conf" # Tìm file cấu hình trong /var
find /home -user developer # Tìm file thuộc sở hữu user 'developer'
find /opt -name "*.bin" # Tìm file thực thi trong /opt
find /usr/bin -atime +30 # Tìm file không được truy cập trong 30 ngày
find /var/log -mtime -7 # Tìm file sửa đổi trong 7 ngày gần nhất
find / -name "*.rpm" -exec chmod 644 {} \; # Tìm và thay đổi quyền file rpm
find / -xdev -name "*.iso" # Tìm file ISO bỏ qua các thiết bị mount khác
locate nginx.conf # Tìm nhanh vị trí file (cần cập nhật database trước)
whereis python3 # Tìm vị trí binary, source và man page
which python3 # Xem đường dẫn đầy đủ của lệnh thực thi
5. Gắn Kết Thiết Bị & Phân Vùng
Quản lý việc mount và umount các thiết bị lưu trữ như ổ cứng, USB, hoặc file ảnh ISO.
mount /dev/sdb1 /mnt/data # Gắn ổ đĩa sdb1 vào thư mục mount
umount /mnt/data # Ngắt kết nối thiết bị khỏi điểm mount
fuser -km /mnt/data # Buộc ngắt kết nối nếu thiết bị đang bận
umount -n /mnt/data # Ngắt kết nối không ghi vào /etc/mtab
mount /dev/sr0 /mnt/cdrom # Gắn ổ đĩa quang
mount -o loop image.iso /mnt/iso # Gắn file ảnh ISO như ổ đĩa ảo
mount -t ntfs /dev/sdc1 /mnt/win # Gắn phân vùng Windows NTFS
mount -t cifs //server/share /mnt/net -o user=admin # Gắn chia sẻ mạng Windows
6. Kiểm Tra Dung Lượng Ổ Đĩa
Giám sát không gian lưu trữ để tránh tình trạng đầy ổ đĩa gây gián đoạn dịch vụ.
df -h # Xem dung lượng các phân vùng đã mount
du -sh /var/log # Xem tổng dung lượng thư mục log
du -ak | sort -n # Sắp xếp file theo kích thước tăng dần
rpm -qa --qf '%{SIZE} %{NAME}\n' | sort -n # Xem dung lượng gói RPM (RedHat)
dpkg-query -W -f='${Installed-Size}\t${Package}\n' | sort -n # Xem dung lượng gói DEB (Debian)
7. Quản Lý Người Dùng & Nhóm
Tạo mới, chỉnh sửa hoặc xóa bỏ tài khoản người dùng và nhóm phân quyền trên hệ thống.
groupadd developers # Tạo nhóm người dùng mới
groupdel old_group # Xóa nhóm không còn sử dụng
useradd -m -g developers -s /bin/bash dev_user # Tạo user mới thuộc nhóm developers
userdel -r dev_user # Xóa user và thư mục home tương ứng
usermod -L dev_user # Khóa tài khoản người dùng
passwd dev_user # Đổi mật khẩu cho user
chage -M 90 dev_user # Đặt hạn sử dụng mật khẩu 90 ngày
pwck # Kiểm tra tính toàn vẹn file /etc/passwd
grpck # Kiểm tra tính toàn vẹn file /etc/group
newgrp developers # Chuyển đổi nhóm làm việc hiện tại
8. Phân Quyền & Sở Hữu Tệp Tin
Điều chỉnh quyền truy cập đọc, ghi, thực thi cho chủ sở hữu, nhóm và người dùng khác.
ls -l # Xem quyền truy cập chi tiết
chmod 755 /var/www # Cấp quyền rwx cho chủ, rx cho nhóm và others
chmod go-w /etc/config # Xóa quyền ghi của nhóm và others
chown admin:developers app.log # Đổi chủ sở hữu và nhóm của file
chown -R admin:developers /var/app # Đổi quyền đệ quy cho thư mục
chgrp developers script.sh # Thay đổi nhóm sở hữu file
find / -perm -4000 # Tìm các file có bit SUID
chmod u+s /usr/bin/custom # Thiết lập bit SUID cho file thực thi
chmod g+s /shared/folder # Thiết lập bit SGID cho thư mục
chmod +t /tmp # Thiết lập bit Sticky cho thư mục tạm
9. Thuộc Tính Nâng Cao Của Tệp Tin
Sử dụng chattr để thiết lập các thuộc tính bảo mật đặc biệt không thể thay đổi bởi chmod thông thường.
chattr +a log.txt # Chỉ cho phép ghi nối thêm (append)
chattr +i critical.conf # Khóa file, không thể sửa/xóa (immutable)
chattr -i critical.conf # Mở khóa file
lsattr # Hiển thị các thuộc tính đặc biệt của file
10. Nén & Giải Nén Dữ Liệu
Quản lý các file lưu trữ dưới dạng tar, gz, bz2, zip để tiết kiệm dung lượng và dễ dàng di chuyển.
bunzip2 archive.bz2 # Giải nén file bz2
gzip -k source_file # Nén file giữ lại file gốc
gunzip archive.gz # Giải nén file gz
tar -cvf backup.tar /data # Tạo file tar không nén
tar -tvf backup.tar # Xem danh sách file trong tar
tar -xvf backup.tar # Giải nén file tar
tar -czvf backup.tar.gz /data # Tạo file tar nén gzip
tar -xjvf archive.tar.bz2 # Giải nén file tar nén bzip2
zip -r archive.zip /docs # Nén thư mục thành zip
unzip archive.zip # Giải nén file zip
11. Quản Lý Gói Phần Mềm (RPM/YUM)
Dành cho các hệ thống dựa trên RedHat, Fedora, CentOS sử dụng trình quản lý gói RPM và YUM.
rpm -ivh package.rpm # Cài đặt gói.rpm mới
rpm -Uvh package.rpm # Nâng cấp gói.rpm
rpm -e package_name # Gỡ bỏ gói đã cài
rpm -qa # Liệt kê tất cả gói đã cài
rpm -qi httpd # Xem thông tin chi tiết gói httpd
rpm -ql httpd # Liệt kê file do gói httpd cài đặt
rpm -qf /etc/httpd/httpd.conf # Xác định gói sở hữu file cấu hình
yum install nginx # Cài đặt package qua mạng
yum update # Cập nhật toàn bộ hệ thống
yum remove nginx # Gỡ bỏ package
yum clean all # Dọn dẹp bộ nhớ cache của yum
12. Quản Lý Gói Phần Mềm (DEB/APT)
Dành cho các hệ thống dựa trên Debian, Ubuntu sử dụng trình quản lý gói DEB và APT.
dpkg -i package.deb # Cài đặt file.deb cục bộ
dpkg -r package_name # Gỡ bỏ package
dpkg -l # Liệt kê các package đã cài
dpkg -S /bin/bash # Tìm package sở hữu file cụ thể
apt-get update # Cập nhật danh sách repository
apt-get upgrade # Nâng cấp các package đã cài
apt-get install apache2 # Cài đặt package mới
apt-get remove apache2 # Gỡ bỏ package
apt-cache search webserver # Tìm kiếm package trong kho
13. Xem Nội Dung Văn Bản
Các lệnh hỗ trợ đọc nhanh nội dung file mà không cần mở trình soạn thảo.
cat config.yaml # Hiển thị toàn bộ nội file
tac log.txt # Hiển thị nội file từ dưới lên
less /var/log/syslog # Xem file dài với khả năng cuộn trang
head -n 20 data.csv # Xem 20 dòng đầu tiên
tail -n 20 data.csv # Xem 20 dòng cuối cùng
tail -f /var/log/app.log # Theo dõi file log thời gian thực
14. Xử Lý & Manipulation Văn Bản
Sử dụng các công cụ mạnh mẽ như grep, sed, awk để lọc và biến đổi dữ liệu văn bản.
grep "ERROR" /var/log/syslog # Tìm dòng chứa từ khóa ERROR
grep -i "warning" log.txt # Tìm kiếm không phân biệt hoa thường
grep -r "TODO" /src/ # Tìm kiếm đệ quy trong thư mục
sed 's/old/new/g' input.txt # Thay thế văn bản trong file
sed -i '/^#/d' config.conf # Xóa các dòng comment trong file
awk '{print $1}' list.txt # In cột đầu tiên của file
sort users.txt # Sắp xếp nội dung file
sort -u users.txt # Sắp xếp và loại bỏ dòng trùng
uniq duplicates.txt # Lọc các dòng trùng lặp liên tiếp
diff file1.txt file2.txt # So sánh sự khác biệt giữa 2 file
paste col1.txt col2.txt # Gộp 2 file theo cột
cut -d: -f1 /etc/passwd # Cắt lấy trường đầu tiên ngăn cách bằng :
15. Chuyển Đổi Định Dạng & Mã Hóa
Chuyển đổi giữa các định dạng văn bản khác nhau hoặc mã hóa ký tự.
dos2unix script.sh # Chuyển định dạng dòng từ Windows sang Linux
unix2dos script.bat # Chuyển định dạng dòng từ Linux sang Windows
recode UTF-8..HTML page.txt # Chuyển đổi mã hóa sang HTML
16. Định Dạng & Quản Lý Phân Vùng
Kiểm tra lỗi và khởi tạo hệ thống tập tin cho các thiết bị lưu trữ.
fsck /dev/sda1 # Kiểm tra và sửa lỗi filesystem
mkfs.ext4 /dev/sdb1 # Định dạng phân vùng sang ext4
mkfs.vfat /dev/sdc1 # Định dạng phân vùng sang FAT32
mkswap /dev/sdd1 # Khởi tạo phân vùng swap
badblocks -v /dev/sda # Quét tìm các khối hỏng trên ổ đĩa
17. Sao Lưu & Đồng Bộ Dữ Liệu
Thực hiện backup dữ liệu quan trọng và đồng bộ hóa giữa các thư mục hoặc máy chủ.
rsync -avz /home/ user@remote:/backup/ # Đồng bộ qua SSH
rsync -av --delete /src/ /dest/ # Đồng bộ cục bộ và xóa file thừa
dd if=/dev/sda of=backup.img # Sao lưu toàn bộ ổ đĩa sang file
tar czf home_backup.tar.gz /home # Nén và sao lưu thư mục home
find /var/log -name "*.log" -exec cp {} /backup/ \; # Sao lưu file log
18. Làm Việc Với Đĩa Quang & ISO
Tạo và ghi các file ảnh ISO hoặc làm việc với ổ đĩa CD/DVD.
mkisofs -o disk.iso /data # Tạo file ISO từ thư mục
cdrecord -v disk.iso # Ghi file ISO ra đĩa quang
mount -o loop disk.iso /mnt # Mount file ISO ảo
dd if=/dev/cdrom of=cd.iso # Sao chép đĩa quang thành file ISO
19. Cấu Hình & Giám Sát Mạng
Quản lý địa chỉ IP, cấu hình interface và kiểm tra kết nối mạng.
ip addr show # Hiển thị thông tin địa chỉ IP
ip link set ens33 up # Bật interface mạng
ip link set ens33 down # Tắt interface mạng
dhclient ens33 # Xin địa chỉ IP qua DHCP
route -n # Xem bảng định tuyến
ip route add default via 192.168.1.1 # Thêm gateway mặc định
ping -c 4 google.com # Kiểm tra kết nối mạng
netstat -tuln # Xem các cổng đang lắng nghe
ss -tuln # Thay thế netstat để xem socket
tcpdump -i ens33 port 80 # Bắt gói tin HTTP
nslookup example.com # Tra cứu DNS
dig example.com # Tra cứu DNS chi tiết
whois example.com # Xem thông tin đăng ký tên miền