Có thể bạn chưa biết, Linux có hơn 1.000 lệnh khác nhau 🥶. Nhưng bạn thực sự chỉ cần sử dụng một tỷ lệ nhỏ trong tổng số các câu lệnh đó 😮💨. (Tương tự như quy tắc 80/20)
Mình hy vọng 📑Cheat Sheet 📑này sẽ giúp mọi người tra cứu 🔎 nhanh chóng các câu lệnh cần sử dụng.
Vậy nên hãy 🔖 bookmark 🔖 lại để tiện xem lại nè. 😀😀😀🫣
![image.png]()
CÁC LỆNH VỀ SYSTEM
| Command | Description | 
| uname -a | Hiển thị thông tin về hệ thống Linux | 
| uname -r | Hiển thị thông tin về  kernel | 
| cat /etc/os-release | Hiển thị thông tin hệ điều hành như tên và phiên bản | 
| uptime | Hiển thị thời gian hệ thống đã chạy | 
| hostname | Hiển thị tên máy chủ | 
| hostname -I | Hiển thị tất cả các địa chỉ IP trên local | 
| last reboot | Hiển thị lịch sử reboot | 
| date | Hiển thị ngày giờ hiện tại | 
| cal | Hiển thị lịch tháng hiện tại | 
| whoami | Hiển thị tên đăng nhập hiện tại của bạn | 
| history | Hiển thị danh sách tất cả các lệnh đã sử dụng | 
| clear | Xóa terminal | 
| shutdown -h now | Tắt hệ thống | 
| reboot | Khởi động lại hệ thống | 
CÁC LỆNH VỀ HARDWARE
| Command | Description | 
| cat /proc/cpuinfo | Hiển thị thông tin CPU | 
| cat /proc/meminfo | Hiển thị thông tin memory | 
| free -h | Hiển thị bộ nhớ còn trống và đã sử dụng [ -h (human), -m (MB), -g (GB)  ] | 
| lspci -tv | Hiển thị các  thiết bị PCI | 
| lsusb -tv | Hiển thị các thiết bị USB | 
| lsblk | Hiển thị thông tin về  block devices | 
| dmidecode | Hiển thị DMI / SMBIOS (thông tin phần cứng) từ BIOS | 
| hdparm -i /dev/sda | Hiển thị thông tin về đĩa sda | 
| hdparm -tT /dev/sda | Thực hiện kiểm tra tốc độ đọc trên đĩa sda | 
| badblocks -s /dev/sda | Kiểm tra các khối không đọc được trên đĩa sda | 
CÁC LỆNH VỀ MONITORING
| Command | Description | 
| mpstat 1 | Hiển thị thống kê liên quan đến bộ xử lý | 
| vmstat 1 | Hiển thị thống kê bộ nhớ ảo | 
| iostat 1 | Hiển thị thống kê I/O | 
| tail -100 /var/log/messages | Hiển thị 100 log gần nhất của hệ thống | 
| tcpdump -i eth0 | Capture  và hiển thị tất cả các packets trên interface eth0 | 
| tcpdump -i eth0 'port 80' | Monitor tất cả lưu lượng truy cập trên port 80 ( HTTP ) | 
| lsof | Liệt kê tất cả các tệp đang mở trên hệ thống | 
| lsof -u user | Liệt kê các tệp được mở bởi người dùng | 
| watch df -h | Thực thi và "watch" câu lệnh df -h | 
CÁC LỆNH VỀ USER
| Command | Description | 
| id | Hiển thị id người dùng và nhóm hiện tại của người dùng | 
| last | Hiển thị người dùng gần nhất đã đăng nhập vào hệ thống | 
| who | Hiển thị ai đã đăng nhập vào hệ thống | 
| w | Hiển thị ai đã đăng nhập và họ đang làm gì | 
| groupadd test | Tạo một nhóm có tên là "test" | 
| groupdel test | Xóa một nhóm có tên là "test" | 
| useradd -c "This is NhaX" -m nhax | Tạo tài khoản có tên nhax, với comment "This is NhaX" và tạo thư mục chính cho người dùng | 
| userdel nhax | Xóa tài khoản nhax | 
| usermod -aG sales nhax | Thêm tài khoản nhax vào nhóm sales | 
| usermod [option] username | Thay đổi thông tin tài khoản người dùng bao gồm: nhóm, thư mục chính, shell, ngày hết hạn | 
CÁC LỆNH VỀ FILE, DIRECTORY
| Command | Description | 
| pwd | Hiển thị folder làm việc hiện tại | 
| cd | Thay đổi folder hiện tại thành folder chính | 
| cd foldername | Thay đổi folder thành folder có tên "foldername" | 
| cd .. | Thay đổi folder lên một cấp | 
| ls | Liệt kê tất cả các file và folder trong folder hiện tại | 
| ls -al | Liệt kê tất cả các file và folder bao gồm: tệp ẩn và các thông tin khác như quyền, kích thước và chủ sở hữu | 
| mkdir directory | Tạo folder tên "directory" | 
| rm file | Xóa file | 
| rm -r directory | Xóa folder và nội dung của nó theo cách đệ quy | 
| rm -f file | Buộc xóa file mà không cần xác nhận | 
| rm -rf directory | Buộc xóa folder theo cách đệ quy | 
| cp file1 file2 | Copy file1 sang file2 | 
| cp -r source_directory destination | Sao chép folder source_directory đến folder destination. Nếu source_directory tồn tại, sao chép source_directory vào destination, nếu không thì tạo destination với nội dung của source_directory. | 
| mv file1 file2 | Đổi tên hoặc di chuyển file1 thành file2 | 
| ln -s /path/to/file linkname | Tạo symbolic link đến linkname | 
| touch file | Tạo một file trống (hoặc cập nhật thời gian truy cập và sửa đổi file) | 
| cat file | Xem nội dung của file | 
| cat file1 file2 > file3 | Kết hợp hai file có tên là file1 và file2 và lưu trữ đầu ra trong file3 | 
| less file | Duyệt qua một file | 
| head file | Hiển thị 10 dòng đầu tiên của file | 
| tail file | Hiển thị 10 dòng cuối cùng của file | 
| tail -f file | Hiển thị 10 dòng cuối cùng của file và "watch" file khi tệp thay đổi. | 
CÁC LỆNH VỀ PROCESS
| Command | Description | 
| ps | Hiển thị các process hiện đang chạy | 
| pstree | Hiển thị các process trong sơ đồ dạng cây | 
| ps -ef | Hiển thị tất cả các process hiện đang chạy trên hệ thống. | 
| ps -ef | grep processname | Hiển thị process có tên "processname" | 
| top | Hiển thị các top process | 
| htop | Tương tự top, nhưng trực quan hơn | 
| kill pid | Kill process có process ID là pid | 
| killall processname | Kill tất cả các process có tên "processname" | 
| program & | Chạy program ở background | 
| bg | Hiển thị  các jobs đã dừng hoặc chạy ngầm | 
| fg | Đưa các background jobs  gần nhất lên foreground | 
| fg n | Đưa jobs n lên foreground | 
| lsof | Liệt kê tất cả các tệp được mở bằng các process đang chạy | 
| pidof processname | Lấy PID của bất kỳ process nào | 
CÁC LỆNH VỀ FILE PERMISSIONS
 (Execute = 1, Write = 2, Read = 4)
(Execute = 1, Write = 2, Read = 4)
| Command | Description | 
| ls -l filename | Kiểm tra permission hiện tại của file | 
| chmod 777 filename | Gán quyền đầy đủ (đọc, viết và thực thi) cho mọi người | 
| chmod -R 777 dirname | Gán quyền đầy đủ cho folder và tất cả các folder con | 
| chmod -x filename | Xóa quyền thực thi của bất file nào | 
| chown username filename | Thay đổi quyền sở hữu của một file | 
| chown user:group filename | Thay đổi chủ sở hữu và quyền sở hữu nhóm của file | 
| chown -R user:group dirname | Thay đổi chủ sở hữu và quyền sở hữu nhóm của folder và tất cả các folder con | 
CÁC LỆNH VỀ NETWORKING
| Command | Description | 
| ip a | Hiển thị network interfaces và địa chỉ IP | 
| ip addr show dev eth0 | Hiển thị địa chỉ eth0 và thông tin chi tiết | 
| ip addr add IP-Address dev eth1 | Thêm địa chỉ IP tạm thời vào interface eth1 | 
| ethtool eth0 | Truy vấn hoặc kiểm soát cài đặt phần cứng và network driver | 
| ping host | Gửi ICMP echo request tới host | 
| whois domain | Hiển thị thông tin whois cho domain | 
| dig domain | Hiển thị thông tin DNS cho domain | 
| dig -x IP_ADDRESS | Tra cứu ngược IP_ADDRESS | 
| host domain | Hiển thị địa chỉ IP DNS cho domain | 
| hostname -i | Hiển thị địa chỉ mạng của hostname. | 
| hostname -I | Hiển thị tất cả các địa chỉ IP cục bộ của máy chủ. | 
| wget http://domain.com/file | Tải xuống http://domain.com/file | 
| netstat -nutlp | Hiển thị các cổng tcp và udp đang nghe và các chương trình tương ứng | 
CÁC LỆNH VỀ ARCHIVES (TAR FILES)
| Command | Description | 
| tar -cvf filename.tar filename | Nén file thành Tar | 
| tar -xvf filename.tar | Giải nén file Tar | 
| tar -tvf filename.tar | Liệt kê nội dung của file Tar | 
| tar -xvf filename.tar file1.txt | Gỡ bỏ một file duy nhất khỏi file Tar | 
| tar -rvf filename.tar file2.txt | Thêm file vào Tar | 
| zip filename.zip filename | Nén một file thành một file zip | 
| zip filename.zip file1.txt file2.txt file3.txt | Nén nhiều file vào một zip | 
| zip -u filename.zip file4.txt | Thêm file vào zip | 
| zip -d filename.zip file4.txt | Xóa file khỏi zip | 
| unzip -l filename.zip | Hiển thị nội dung của file lưu trữ zip | 
| unzip filename.zip | Giải nén | 
| unzip filename.zip -d /dirname | Giải nén file vào một thư mục cụ thể | 
CÁC LỆNH VỀ INSTALLING PACKAGES
| Command | Description | 
| apt-get install packagename | Cài đặt gói trên các bản phân phối dựa trên Debian | 
| apt-get remove packagename | Xóa gói trên các bản phân phối dựa trên Debian | 
| dpkg -l | grep -i installed | Nhận danh sách tất cả các gói trên bản phân phối dựa trên Debian | 
| dpkg -i packagename.deb | Cài đặt gói .deb | 
| apt-get update | Cập nhật kho lưu trữ trên các bản phân phối dựa trên Debian | 
| apt-get upgrade packagename | Nâng cấp một gói cụ thể trên các bản phân phối dựa trên Debian | 
| apt-get autoremove | Xóa tất cả các gói không mong muốn trên các bản phân phối dựa trên Debian | 
| yum install packagename | Cài đặt gói trên các bản phân phối dựa trên RPM | 
| yum remove packagename | Xóa gói trên các bản phân phối dựa trên RPM | 
| yum update | Cập nhật tất cả các gói hệ thống lên phiên bản mới nhất trên các bản phân phối dựa trên RPM | 
| yum list --installed | Liệt kê tất cả các gói đã cài đặt trên các bản phân phối dựa trên RPM | 
| yum list --available | Liệt kê tất cả các gói có sẵn trên các bản phân phối dựa trên RPM | 
CÁC LỆNH VỀ SEARCH
| Command | Description | 
| grep pattern file | Tìm kiếm "pattern" trong file | 
| grep -r pattern directory | Tìm kiếm đệ quy "pattern" trong thư mục | 
| locate name | Tìm tệp và thư mục theo tên | 
| find /home/john -name 'prefix*' | Tìm tệp trong /home/john bắt đầu bằng "prefix". | 
| find /home -size +100M | Tìm tệp lớn hơn 100MB trong /home | 
CÁC LỆNH VỀ SSH LOGINS
| Command | Description | 
| ssh host | Kết nối với máy chủ dưới dạng tên người dùng cục bộ của bạn | 
| ssh user@host | Kết nối với máy chủ với tư cách người dùng | 
| ssh -p port user@host | Kết nối với máy chủ bằng cổng | 
CÁC LỆNH VỀ FILE TRANSFERS
| Command | Description | 
| scp file.txt server:/tmp | Sao chép an toàn file.txt vào thư mục /tmp trên máy chủ | 
| scp server:/var/www/*.html /tmp | Sao chép các tệp *.html từ máy chủ vào thư mục /tmp cục bộ. | 
| scp -r server:/var/www /tmp | Sao chép đệ quy tất cả các tệp và thư mục từ máy chủ vào thư mục /tmp của hệ thống hiện tại. | 
| rsync -a /home /backups/ | Đồng bộ hóa /home với /backups/home | 
| rsync -avz /home server:/backups/ | Đồng bộ hóa các tệp/thư mục giữa hệ thống cục bộ và từ xa với chức năng nén | 
CÁC LỆNH VỀ DISK USAGE
| Command | Description | 
| df -h | Hiển thị dung lượng trống và đã sử dụng trên mounted filesystems | 
| df -i | Hiển thị các inode trống và đã sử dụng trên mounted filesystems | 
| fdisk -l | Hiển thị kích thước và loại phân vùng đĩa | 
| du -ah | Hiển thị mức sử dụng đĩa cho tất cả các tệp và thư mục ở định dạng con người có thể đọc được | 
| du -sh | Hiển thị tổng mức sử dụng đĩa ngoài thư mục hiện tại | 
CÁC LỆNH VỀ SECURITY
| Command | Description | 
| passwd | Thay đổi mật khẩu của người dùng hiện tại. | 
| sudo -i | Chuyển sang tài khoản root với môi trường của root. | 
| sudo -s | Thực thi shell hiện tại của bạn với quyền root | 
| sudo -l | Liệt kê các đặc quyền sudo cho người dùng hiện tại. | 
| visudo | Chỉnh sửa tệp cấu hình sudoers. | 
| getenforce | Hiển thị chế độ SELinux hiện tại. | 
| sestatus | Hiển thị chi tiết SELinux như chế độ SELinux hiện tại, chế độ được định cấu hình và chính sách đã tải. | 
| setenforce 0 | Thay đổi chế độ SELinux hiện tại thành Permissive. (Không tồn tại khi khởi động lại.) | 
| setenforce 1 | Thay đổi chế độ SELinux hiện tại thành Enforcing. (Không tồn tại khi khởi động lại.) | 
| SELINUX=enforcing | Đặt chế độ SELinux để thực thi khi khởi động bằng cách sử dụng cài đặt này trong tệp /etc/selinux/config. | 
| SELINUX=permissive | Đặt chế độ SELinux thành cho phép khi khởi động bằng cách sử dụng cài đặt này trong tệp /etc/selinux/config. | 
| SELINUX=disabled | Đặt chế độ SELinux thành tắt khi khởi động bằng cách sử dụng cài đặt này trong tệp /etc/selinux/config. | 
CÁC LỆNH VỀ LOGGING AND AUDITING
| Command | Description | 
| dmesg | Hiển thị message trong kernel ring buffer | 
| journalctl | Hiển thị nhật ký được lưu trữ trong systemd journal. | 
| journalctl -u servicename | Hiển thị nhật ký cho một đơn vị servicename cụ thể. | 
👋🎉👋Thanks for reading my blog👋🎉👋