Danh Sách Lệnh Linux Hữu Ích Cho Quản Trị Hệ Thống​

Tổng hợp Hướng dẫn sử dụng dòng lệnh Linux

DataOnoline đã  tổng hợp một số lệnh Linux thực tế, đóng vai trò như một tài liệu tham khảo quý giá dành cho những người có kinh nghiệm sử dụng Linux. Vì không phải tất cả các lệnh đều được cài đặt sẵn trên hệ thống của bạn, nên hãy đảm bảo cài đặt các gói cần thiết trước khi áp dụng chúng.

Tài liệu này không chỉ tổng hợp các lệnh Linux mà bạn có thể đã biết nhưng đôi khi quên cú pháp, mà còn giới thiệu thêm một số lệnh mới nhằm tối ưu hóa hiệu suất làm việc trên dòng lệnh. Lưu ý, hướng dẫn này dựa trên kiến thức kinh nghiệm của bạn để điều chỉnh cú pháp các lệnh sao cho phù hợp với nhu cầu cụ thể của mình.

Trong bài hướng dẫn này, bạn sẽ được học:  Linux Cheat Sheet

Yêu cầu, Quy ước và Phiên bản Phần mềm sử dụng

  • Hệ thống: Bất kỳ distro Linux nào
  • Phần mềm: N/A
  • Yêu cầu khác: Quyền truy cập cao vào hệ thống Linux của bạn với quyền root hoặc thông qua lệnh sudo.

Quy ước:

  • # – Yêu cầu các lệnh Linux phải được thực thi với quyền root, hoặc trực tiếp với người dùng root hoặc sử dụng lệnh sudo.
  • $ – Yêu cầu các lệnh Linux phải được thực hiện dưới quyền người dùng thường (non-privileged user).

Backup và nén dữ liệu

Lệnh Mô tả
`tar -c scripts/ bzip2 -9 > scripts.tar.bz2`
`dd if=/dev/sda1 gzip -c9 > /media/usb/sda1.dd.gz`
`cat /media/usb/sda1.dd.gz gzip -d
`dd bs=1M if=/dev/sda gzip -c9
`find /etc/ -name ‘*.conf’ tar -c –files-from=-
dd if=/dev/sdb of=my.mbr bs=466 count=1 Sao lưu MBR (Master Boot Record) của ổ cứng /dev/sdb vào tệp my.mbr.
dd if=my.mbr of=/dev/sdX bs=466 count=1 Phục hồi MBR từ tệp my.mbr sang ổ cứng /dev/sdX.
wget --mirror https://example.com Tạo bản sao hoàn chỉnh của một website từ xa với lệnh wget.
tar cvjf etc_$(date +%Y%m%d).tar.bz2 /etc/ Tạo một tập tin lưu trữ của thư mục /etc/ bằng lệnh tar và nén với bzip2. Tên tệp nén sẽ chứa ngày hiện tại.
tar xvjf etc.tar.bz2 Giải nén tệp nén bzip2 etc.tar.bz2.
`find /var/www/ -name ‘*.gif’ xargs cp -va –target-directory=/tmp/gifs`

Tìm kiếm trong hệ thống tập tin

Lệnh Mô tả
find /opt -name 'pass*' -or -size +1000k Tìm tất cả các tệp trong thư mục /opt có tên bắt đầu bằng pass hoặc có kích thước từ 1000k trở lên. Bạn có thể sử dụng các toán tử boolean khác như AND và NOT.
locate -r '[^/]*\.conf' Tìm kiếm và định vị tất cả các tệp có phần mở rộng .conf. Lưu ý: có thể cần chạy updatedb trước.
find /home/lilo/ -type f ! -perm 755 Tìm tất cả các tệp trong /home/lilo/ không có quyền 755.
find /home/lilo/ -type f -perm 777 Tìm tất cả các tệp trong /home/lilo/ với quyền 777.
ls -ltr Liệt kê tất cả các tệp trong thư mục hiện tại, sắp xếp theo thời gian truy cập/khởi tạo.
find /tmp/ -mmin -20 Tìm tất cả các tệp trong /tmp/ được tạo trong vòng 20 phút qua.
find /tmp -iname file -exec chmod 777 {} \; Tìm kiếm tệp có tên file (không phân biệt chữ hoa chữ thường) và thay đổi quyền của nó thành 777.
find /var/log/ -size 8k Tìm các tệp trong /var/log/ có kích thước 8k.
find / * -perm +6000 -type f -exec ls -ld {} \; > setuid.txt Tạo một danh sách tên các tệp nhị phân có setuid và setguid và lưu vào tệp setuid.txt.

Mạng

Lệnh Mô tả
curlftpfs ftp-user:ftp-pass@remote.ftp.com /mnt/my_ftp/ Gắn kết máy chủ FTP từ xa vào hệ thống tập tin cục bộ /mnt/my_ftp/.
ssh user@ssh-server.com '( cd /tmp/ && touch ssh_file.txt )' Thực thi các lệnh từ xa qua SSH.
ssh user@ssh-server.com '( cat /etc/passwd )' > /tmp/passwd Tạo bản sao cục bộ của tệp /etc/passwd từ máy chủ từ xa.
airodump-ng -c 6 -w data-capture wlan0 Bắt các gói tin mạng không dây sử dụng giao diện không dây wlan0.
macchanger -r eth0 Tạo địa chỉ MAC giả cho giao diện mạng eth0.
ssh -L 4500:127.0.0.1:23 linuxconfig.org Tạo một tunnel SSH cho telnet sử dụng cổng cục bộ 4500.
ssh -L 8025:mail.sample.org:25 mail.sample.org Tunnel lưu lượng từ cổng cục bộ 8025 đến cổng 25 trên mail.sample.org.
lsof -i tcp:22 Hiển thị dịch vụ sử dụng cổng TCP 22.
ethtool eth0 Hiển thị trạng thái của giao diện mạng eth0.
iwlist wlan0 scanning Quét các mạng không dây có sẵn sử dụng giao diện wlan0.
netstat -ant Liệt kê tất cả các cổng TCP trên hệ thống.
netstat -tupl Liệt kê tất cả các dịch vụ sẵn có trên hệ thống.
ip route add default via 10.10.10.10 Thiết lập tuyến mặc định thông qua 10.10.10.10.

Toán học và chuyển đổi

Lệnh Mô tả
echo $((0xFFF)) Chuyển đổi số hệ thập lục phân (ví dụ: FFF) sang hệ thập phân sử dụng mở rộng shell.
echo $((8#44)) Chuyển đổi số hệ bát phân (ví dụ: 44) sang hệ thập phân sử dụng mở rộng shell.
`echo “obase=16; ibase=10; 555;” bc`
`echo “obase=8; ibase=10; 64;” bc`
`echo “obase=16; ibase=8; 255;” bc`
`echo “3447.2 * 343.61” bc`
`echo “scale=10; 100 / 3” bc`
units -t '13miles' 'km' Chuyển đổi 13 dặm sang kilômét.
units -t '10.5inches' 'cm' Chuyển đổi 10.5 inch sang centimét.
units -t '78344352ms' 'hour' Chuyển đổi 78.344.352 mili-giây sang giờ.

Xử lý văn bản

Lệnh Mô tả
dd if=commands.txt of=commands.new conv=lcase Chuyển tất cả các ký tự từ chữ in hoa sang chữ thường. Lệnh này sẽ không làm thay đổi tệp nguồn mà tạo tệp mới commands.new.
rename 's/\.sh$/.bash/' *.sh Đổi tên tất cả các tệp trong thư mục hiện tại có phần mở rộng .sh thành .bash.
rename 's/^/new_/' *.conf Thêm tiền tố new_ cho tất cả các tệp có phần mở rộng .conf trong thư mục hiện tại.
`grep -v ^# /etc/ntp.conf grep .`
`ls grep ” “
`ls while read -r f; do mv “$f” `echo $f

Ngày và giờ

Lệnh Mô tả
date -ud@1244763573 Chuyển đổi một thời gian epoch sang Giờ Phối hợp Quốc tế (UTC).
date -d "Dec 23 18:10:02 EST 2010" +%s Chuyển đổi định dạng ngày sang thời gian epoch.
`echo ‘wget -c https://dataonline.vn/ at 03:00`
date -d '2 Feb 2013' +%A Hiển thị ngày trong tuần cho ngày 2 tháng 2 năm 2013 (ví dụ: Saturday).
units -t '10 days + 6 hours + 26 minutes + 59 seconds' 'seconds' Chuyển đổi tổng thời gian thành giây.

Đa phương tiện

Lệnh Mô tả
wodim --devices Hiển thị tên thiết bị ghi đĩa (burner) hiện có.
cdrecord -v blank=all dev=/dev/scd0 Xóa sạch (blank) đĩa CD-RW hoàn toàn. Lưu ý: dùng wodim --devices để lấy tên file thiết bị.
cdrecord -v blank=fast dev=/dev/scd0 Xóa nhanh (fast blank) đĩa CD-RW.
fmpeg -i out.wav -acodec libmp3lame out.mp3 Chuyển đổi định dạng âm thanh WAV sang MP3.
normalize-mp3 *.mp3 Cân bằng âm lượng cho tất cả các tệp MP3 để giảm sự tăng đột ngột giữa các bài hát.
cat file1.mp3 file2.mp3 > out.mp3 Gộp tất cả các tệp MP3 thành một bản nhạc duy nhất.
sox file1.wav file2.wav file3.wav out.wav Gộp tất cả các tệp WAV thành một bản nhạc duy nhất.
for i in $( ls ); do ffmpeg -i $i $i.wav; done Chuyển đổi tất cả các tệp MP3 hoặc AC3 sang định dạng WAV.
normalize-audio -m *.wav Cân bằng âm lượng cho tất cả các tệp WAV.
cdrecord -v -nofix -eject dev='/dev/scd0' -audio -pad *.wav Ghi đĩa tất cả các tệp WAV vào một đĩa CD sử dụng thiết bị /dev/scd0.
cdrecord -v -fix -eject dev='/dev/scd0' Kết thúc phiên ghi CD bằng thiết bị /dev/scd0.
ffmpeg -f x11grab -s xga -r 25 -i :0 -sameq screen.mpg Quay video màn hình và lưu vào tệp screen.mpg.
for i in $( ls *.jpg ); do convert -resize 25% $i new_$i; done Thay đổi kích thước tất cả các ảnh JPG trong thư mục hiện tại còn 25% kích thước ban đầu.
mkisofs -o /tmp/cd.iso /path/to/your/files/ Tạo một tập tin ảnh ISO từ các tệp trong thư mục /path/to/your/files/.
wodim -eject -tao speed=0 dev=/dev/scd0 -v -data /my/image.iso Ghi tệp ISO vào đĩa sử dụng thiết bị /dev/scd0.
mount -t iso9660 /path/to/iso/file.iso /mnt/iso -o loop Gắn (mount) tệp ISO vào thư mục /mnt/iso.

Thông tin về đĩa và quản trị

Lệnh Mô tả
time dd if=/dev/hdb of=/dev/null bs=1024k Kiểm tra tốc độ và kích thước ổ cứng một cách không phá hủy. Thay /dev/hdb bằng ổ cứng của bạn.
`du -m –max-depth 1 sort -rn
`du -s * sort -k1,1rn
dd if=/dev/zero of=/sp bs=10000 count=10000; mkswap /sp; swapon /sp Tạo tệp /sp kích thước 100MB, tạo swap signature và bổ sung tệp /sp vào bộ nhớ swap của hệ thống, thêm 100MB swap.
`dpkg-query -Wf=’${Installed-Size;10}\t${Package}\n’ sort -k1,1rn`
`rpm -q -a –qf ‘%10{SIZE}\t%{NAME}\n’ sort -k1,1rn`
head -c 100000000 /dev/urandom > file.data Tạo tệp file.data chứa dữ liệu ngẫu nhiên với khoảng 100MB.
dd bs=1 seek=2TB if=/dev/null of=~/large-file Tạo tệp large-file 2TB tại thư mục home mà không chiếm dung lượng thực.
df -h . Hiển thị thông tin về dung lượng còn trống của phân vùng chứa thư mục hiện tại.

Thông tin về phần cứng

Lệnh Mô tả
biosdecode Lấy thông tin BIOS.
dmidecode -s bios-vendor Lấy thông tin nhà cung cấp BIOS.
dmidecode --type baseboard Lấy thông tin về bo mạch chủ.
ls -la /dev/disk/by-id/usb-* Hiển thị các tập tin thiết bị USB của ổ đĩa. Lưu ý: ổ USB phải được cắm vào, có thể không hoạt động trên tất cả các hệ thống.
hdparm -I /dev/sdx Lấy thông tin mẫu ổ cứng của /dev/sdx.
hdparm -tT /dev/sdx Kiểm tra tốc độ ổ cứng /dev/sdx. Lưu ý: bài kiểm tra này không tính đến hệ thống tập tin.
hddtemp /dev/sda Kiểm tra nhiệt độ ổ cứng /dev/sda.
`lspci grep VGA`
dmidecode --type 4 Lấy thông tin về bộ xử lý. Cũng có thể thử: cat /proc/cpuinfo.
`x86info -a 2> /dev/null grep Connector
dmidecode -t 17 Phát hiện số khe RAM sử dụng, tốc độ và dung lượng. Cũng có thể dùng: lshw -C memory -short.
cat /dev/sndstat Kiểm tra cài đặt và module của card âm thanh.
powersave -b Lấy thông tin về pin.
free -m Kiểm tra dung lượng bộ nhớ còn trống của hệ thống, bao gồm cả bộ nhớ swap. Các lệnh thay thế: topcat /proc/meminfo.
`fdisk -l grep GB`

Mẹo & thủ thuật

Lệnh Mô tả
`head -c 4 /dev/urandom mimencode`
`echo “DISPLAY=$DISPLAY xmessage -center ‘abc'” at “NOW +1hour”`
`:(){ : :& };:`
ccrypt mypasswords.txt Mã hóa một tệp tin.
ccdecrypt mypasswords.txt.cpt Giải mã tệp tin đã được mã hóa bằng ccrypt.

Kết luận

Hãy sử dụng tài liệu tóm tắt lệnh Linux này như một công cụ tham khảo nhanh chóng bất cứ khi nào bạn cần nhớ lại một lệnh cụ thể. Mục đích chính của tài liệu là giúp bạn tối ưu hóa thời gian, giảm bớt gánh nặng khi phải nhớ các lệnh phức tạp.

Hai lệnh thiết yếu mà mọi người dùng Linux nên nắm vững là manapropos. Khi hiểu rõ cách hoạt động của chúng, bạn có thể dễ dàng tra cứu tất cả các tùy chọn đi kèm với bất kỳ lệnh nào, đồng thời lệnh apropos hoạt động như một công cụ tìm kiếm tài liệu mạnh mẽ, cho phép bạn truy vấn thông tin ngay trong terminal mà không cần phải chuyển sang giao diện khác.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *