Bảng cheat lệnh Linux

Tram Ho

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

CommandDescription
uname -aHiển thị thông tin về hệ thống Linux
uname -rHiển thị thông tin về kernel
cat /etc/os-releaseHiển thị thông tin hệ điều hành như tên và phiên bản
uptimeHiển thị thời gian hệ thống đã chạy
hostnameHiển thị tên máy chủ
hostname -IHiển thị tất cả các địa chỉ IP trên local
last rebootHiển thị lịch sử reboot
dateHiển thị ngày giờ hiện tại
calHiển thị lịch tháng hiện tại
whoamiHiển thị tên đăng nhập hiện tại của bạn
historyHiển thị danh sách tất cả các lệnh đã sử dụng
clearXóa terminal
shutdown -h nowTắt hệ thống
rebootKhởi động lại hệ thống

CÁC LỆNH VỀ HARDWARE

CommandDescription
cat /proc/cpuinfoHiển thị thông tin CPU
cat /proc/meminfoHiển thị thông tin memory
free -hHiển thị bộ nhớ còn trống và đã sử dụng [ -h (human), -m (MB), -g (GB) ]
lspci -tvHiển thị các thiết bị PCI
lsusb -tvHiển thị các thiết bị USB
lsblkHiển thị thông tin về block devices
dmidecodeHiển thị DMI / SMBIOS (thông tin phần cứng) từ BIOS
hdparm -i /dev/sdaHiển thị thông tin về đĩa sda
hdparm -tT /dev/sdaThực hiện kiểm tra tốc độ đọc trên đĩa sda
badblocks -s /dev/sdaKiểm tra các khối không đọc được trên đĩa sda

CÁC LỆNH VỀ MONITORING

CommandDescription
mpstat 1Hiển thị thống kê liên quan đến bộ xử lý
vmstat 1Hiển thị thống kê bộ nhớ ảo
iostat 1Hiển thị thống kê I/O
tail -100 /var/log/messagesHiển thị 100 log gần nhất của hệ thống
tcpdump -i eth0Capture 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 )
lsofLiệt kê tất cả các tệp đang mở trên hệ thống
lsof -u userLiệt kê các tệp được mở bởi người dùng
watch df -hThực thi và “watch” câu lệnh df -h

CÁC LỆNH VỀ USER

CommandDescription
idHiển thị id người dùng và nhóm hiện tại của người dùng
lastHiển thị người dùng gần nhất đã đăng nhập vào hệ thống
whoHiển thị ai đã đăng nhập vào hệ thống
wHiển thị ai đã đăng nhập và họ đang làm gì
groupadd testTạo một nhóm có tên là “test”
groupdel testXóa một nhóm có tên là “test”
useradd -c "This is NhaX" -m nhaxTạ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 nhaxXóa tài khoản nhax
usermod -aG sales nhaxThêm tài khoản nhax vào nhóm sales
usermod [option] usernameThay đổ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

CommandDescription
pwdHiển thị folder làm việc hiện tại
cdThay đổi folder hiện tại thành folder chính
cd foldernameThay đổi folder thành folder có tên “foldername”
cd ..Thay đổi folder lên một cấp
lsLiệt kê tất cả các file và folder trong folder hiện tại
ls -alLiệ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 directoryTạo folder tên “directory”
rm fileXóa file
rm -r directoryXóa folder và nội dung của nó theo cách đệ quy
rm -f fileBuộc xóa file mà không cần xác nhận
rm -rf directoryBuộc xóa folder theo cách đệ quy
cp file1 file2Copy file1 sang file2
cp -r source_directory destinationSao 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 linknameTạo symbolic link đến linkname
touch fileTạo một file trống (hoặc cập nhật thời gian truy cập và sửa đổi file)
cat fileXem nội dung của file
cat file1 file2 > file3Kết hợp hai file có tên là file1 và file2 và lưu trữ đầu ra trong file3
less fileDuyệt qua một file
head fileHiển thị 10 dòng đầu tiên của file
tail fileHiển thị 10 dòng cuối cùng của file
tail -f fileHiể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

CommandDescription
psHiển thị các process hiện đang chạy
pstreeHiển thị các process trong sơ đồ dạng cây
ps -efHiển thị tất cả các process hiện đang chạy trên hệ thống.
ps -ef | grep processnameHiển thị process có tên “processname”
topHiển thị các top process
htopTương tự top, nhưng trực quan hơn
kill pidKill process có process ID là pid
killall processnameKill tất cả các process có tên “processname”
program &Chạy program ở background
bgHiể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
lsofLiệt kê tất cả các tệp được mở bằng các process đang chạy
pidof processnameLấy PID của bất kỳ process nào

CÁC LỆNH VỀ FILE PERMISSIONS

image.png(Execute = 1, Write = 2, Read = 4)

CommandDescription
ls -l filenameKiểm tra permission hiện tại của file
chmod 777 filenameGán quyền đầy đủ (đọc, viết và thực thi) cho mọi người
chmod -R 777 dirnameGán quyền đầy đủ cho folder và tất cả các folder con
chmod -x filenameXóa quyền thực thi của bất file nào
chown username filenameThay đổi quyền sở hữu của một file
chown user:group filenameThay đổi chủ sở hữu và quyền sở hữu nhóm của file
chown -R user:group dirnameThay đổ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

CommandDescription
ip aHiển thị network interfaces và địa chỉ IP
ip addr show dev eth0Hiển thị địa chỉ eth0 và thông tin chi tiết
ip addr add IP-Address dev eth1Thêm địa chỉ IP tạm thời vào interface eth1
ethtool eth0Truy vấn hoặc kiểm soát cài đặt phần cứng và network driver
ping hostGửi ICMP echo request tới host
whois domainHiển thị thông tin whois cho domain
dig domainHiển thị thông tin DNS cho domain
dig -x IP_ADDRESSTra cứu ngược IP_ADDRESS
host domainHiển thị địa chỉ IP DNS cho domain
hostname -iHiển thị địa chỉ mạng của hostname.
hostname -IHiển thị tất cả các địa chỉ IP cục bộ của máy chủ.
wget http://domain.com/fileTải xuống http://domain.com/file
netstat -nutlpHiể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)

CommandDescription
tar -cvf filename.tar filenameNén file thành Tar
tar -xvf filename.tarGiải nén file Tar
tar -tvf filename.tarLiệt kê nội dung của file Tar
tar -xvf filename.tar file1.txtGỡ bỏ một file duy nhất khỏi file Tar
tar -rvf filename.tar file2.txtThêm file vào Tar
zip filename.zip filenameNén một file thành một file zip
zip filename.zip file1.txt file2.txt file3.txtNén nhiều file vào một zip
zip -u filename.zip file4.txtThêm file vào zip
zip -d filename.zip file4.txtXóa file khỏi zip
unzip -l filename.zipHiển thị nội dung của file lưu trữ zip
unzip filename.zipGiải nén
unzip filename.zip -d /dirnameGiải nén file vào một thư mục cụ thể

CÁC LỆNH VỀ INSTALLING PACKAGES

CommandDescription
apt-get install packagenameCài đặt gói trên các bản phân phối dựa trên Debian
apt-get remove packagenameXóa gói trên các bản phân phối dựa trên Debian
dpkg -l | grep -i installedNhậ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.debCài đặt gói .deb
apt-get updateCậ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 packagenameNâ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 autoremoveXó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 packagenameCài đặt gói trên các bản phân phối dựa trên RPM
yum remove packagenameXóa gói trên các bản phân phối dựa trên RPM
yum updateCậ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 --installedLiệ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 --availableLiệ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

CommandDescription
grep pattern fileTìm kiếm “pattern” trong file
grep -r pattern directoryTìm kiếm đệ quy “pattern” trong thư mục
locate nameTì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 +100MTìm tệp lớn hơn 100MB trong /home

CÁC LỆNH VỀ SSH LOGINS

CommandDescription
ssh hostKế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@hostKết nối với máy chủ với tư cách người dùng
ssh -p port user@hostKết nối với máy chủ bằng cổng

CÁC LỆNH VỀ FILE TRANSFERS

CommandDescription
scp file.txt server:/tmpSao chép an toàn file.txt vào thư mục /tmp trên máy chủ
scp server:/var/www/*.html /tmpSao 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 /tmpSao 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

CommandDescription
df -hHiển thị dung lượng trống và đã sử dụng trên mounted filesystems
df -iHiển thị các inode trống và đã sử dụng trên mounted filesystems
fdisk -lHiển thị kích thước và loại phân vùng đĩa
du -ahHiể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 -shHiể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

CommandDescription
passwdThay đổi mật khẩu của người dùng hiện tại.
sudo -iChuyển sang tài khoản root với môi trường của root.
sudo -sThực thi shell hiện tại của bạn với quyền root
sudo -lLiệt kê các đặc quyền sudo cho người dùng hiện tại.
visudoChỉnh sửa tệp cấu hình sudoers.
getenforceHiển thị chế độ SELinux hiện tại.
sestatusHiể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 0Thay đổi chế độ SELinux hiện tại thành Permissive. (Không tồn tại khi khởi động lại.)
setenforce 1Thay đổ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

CommandDescription
dmesgHiển thị message trong kernel ring buffer
journalctlHiển thị nhật ký được lưu trữ trong systemd journal.
journalctl -u servicenameHiển thị nhật ký cho một đơn vị servicename cụ thể.


Chia sẻ bài viết ngay

Nguồn bài viết : Viblo