Các dòng lệnh cơ bản và nâng cao khi sử dụng Linux

I. VỚI NỘI DUNG FILE.

Xem 10 dòng đầu tiên

head -10 file-input.txt

Xem 10 dòng cuối

tail -10 file-input.txt

Xem từ dòng 10 đến dòng 20

awk 'NR >= 10 && NR <= 20' file-input.txt

Xóa dòng 10 đến dòng 20, sau đó tạo file mới

sed '1,20d' file-input.txt > file-output.txt

Xóa các dòng có nội dung là “error”, sau đó tạo file mới

sed '/^error/d' file-input.txt > file-output.txt

Tìm các dòng có nội dung là error, xuất ra màn hình là dòng nào.

grep -n error file-input.txt
grep -w "error" file-input.txt

Xem file-input.txt có bao nhiêu dòng

wc -l file-input.txt

Cắt file-input.txt ra nhiều file-output mỗi file 1000 dòng.

split -d -l 1000 file-input.txt file-output.txt

Xóa các dòng trùng nhau

sort file-input.txt | uniq > file-output.txt #sắp xếp và xóa dòng trùng nhau
uniq file-input.txt > file-output.txt # chỉ xóa dòng trùng

II. VỚI FILE VÀ THƯ MỤC

Copy một file

cp ten_file.txt ten_file_new.txt

 Xóa toàn bộ file trong thư mục

rm -rf *

Tìm file có chứa nội dung “error”

find /home -type f -exec grep -l 'error' {} \;

Tìm kiếm tên file + folder

find . error.log #tìm file có tên
find / -type d -name error #tìm thư muc có tên error

Tìm các file mới được chỉnh sửa

find / -mtime 50 #được chỉnh sửa trong 50 ngày
find / -mtime +50 –mtime -100 #được chỉnh sửa trong vòng 50 - 100 ngày
find ./ -cmin -60 #được tạo ra trong vòng 1 giờ

Tìm các file được phân quyền 444

find . -type f -perm 444

Gọp chung các file lại thành 1 file duy nhất

cat file_input1.txt file_input2.txt file_input3.txt > combined-file-output.txt

hoặc

cat *.txt > combined-file-output.txt

III. Network

Chặn truy cập từ tất cả, ngoài trừ 1 IP cụ thể

iptables -I INPUT -p tcp -m tcp –dport 3306 -j DROP
iptables -I INPUT -i eth0 -s 1.1.1.1 -p tcp –destination-port 3306 -j ACCEPT

IV. Process

Kill nhiều processes cùng lúc trong Linux

To kill all PHP Processes

kill $(ps aux | grep '[p]hp' | awk '{print $2}')

To kill all Nginx Processes

kill $(ps aux | grep '[n]ginx' | awk '{print $2}')

To kill all MySQL Processes

kill $(ps aux | grep '[m]ysql' | awk '{print $2}')

SYSTEM

Cài đặt gói

Ví dụ cài nén và giải nén zip

yum install zip

Xem dung lượng còn trống và đang sử dụng

df -h

Cấp quyền cho thư mục

chown -R nginx:nginx /home

Hoặc

chmod 777  /home 

Chỉnh sửa và xem CronTab

crontab -e

hoặc

crontab -e