1; find /web/phpweind/ -type d -exec chmod -R 777 { } \; //批量修改權限 php
2; log-slave-updates //將 relay-bin-log 寫到到 bin-log,雙主應用 mysql
3; cat >/home/test <<EOF hello EOF 與 cat >>/home/test <<EOF .. git
4; find /home/ -name a &> /dev/null web
5; useradd -d /itiit //指定家目錄 userdel -r //刪除家目錄相關 sql
6;經常使用熟知端口: ftp 21 ssh 22 dns 53 dhcp 67 68 pop3 110 imap 143 mysql 3306 http 80 smtp 25 apache
0-1023 熟知端口 安全
1024-65535 動態端口 bash
7;raid 0 多個磁盤,提升傳輸率 raid1 ,數據磁盤鏡像實現數據冗餘,安全性 ; raid 5,分佈式奇偶校驗獨立磁盤結構,奇偶校驗碼存在全部磁盤,經過校驗位恢復損壞磁盤(至少3塊 服務器
8; apache 工做模式: prefork (多進程,進程生子進程 ),worker(多進程,每一個進程生成多線程) http -l 查看apache當前的模塊,有 worker.c 就是在worker,有prefork.c就在prefork下。 多線程
腳本基礎:
1;if [ ] ;then
command
else
command
fi
for (( var=1 ; var < 6 ; var++ ))
do
command
done
while [條件]
do
command
done
case "chioce" in
"var1" )
command
;;
"var2" )
command
;;
* )
command
esac
2; $0 ,腳本名 ; $1,第一個參數 $$ ,運行的PID; $*,全部參數 ; $#,參數個數 $? ,執行是否成功;
$!, shel最後運行進程的pid;
$@ 與 $* 基本上與上面相同。只不過是
「$*」返回的是一個字符串,字符串中存在多外空格。
「$@」返回多個字符串
3; #! /bin/bash //腳本實現mysql操做
mysql <<ab
show databases;
quit
ab //任意與前面一致
4; ^# 以#號開頭 #$ 以#號結束;#$ 以#號結束 ;[^abc] 只要出現了abc這三個字母之外的字符就都匹配
大寫 [[:upper:]] [A-Z]
小寫 [[:lower:]] [a-z]
字母 [[:alpha:]] [a-Z]
字母數字 [[:alnum:]]
空格或者製表符 [[:blank:]]
純數字 [[:digit:]] [0-9]
標點符號 [[:punct:]]
5; cut -d" " -f1 ;sort -t" " -k1 ; awk -F" " '{print $1}' //$0 全部域,整條記錄數;$1 第一個域 內置變量 NF(瀏覽記錄域的個數 ,NR (已讀的記錄數($NR最後一列
awk -F"[:)]" --以:或)爲分隔符 awk -F"[:)]*" --多個
awk -F: ‘BEGIN {處理前執行的代碼塊} {處理過程當中執行的代碼塊} END {處理文件後執行的代碼塊}' filename
awk -F: 'BEGIN {line=0;field=0} { if (NF>5) line=line+1; if (NF>5) field=field+NF} END {print "大於5的總行 數爲"line"\n大於5的總列數爲"field}' /etc/passwd --正確寫法
6; sed -e '2d' --指定刪除第二行 ;sed -ne '/^root/p' --只打印匹配的行
sed -e '2,4s/:/&@_@&/g' --指定替換2到4行
7 ;分區命令 fdisk (2T之內); parted(2T以上
fdisk /dev/sda --> 分區,格式化(mkfs.ext4 /dev/sda ),掛載 ,放fstab --> mount -a (配置生效
parted /dev/sda --> mklabel gpt --> mkpart 分區 -->格式化(mkfs.ext4 /dev/sda ),掛載 ,放fstab --> mount -a (配置生效
8; df -h //全部文件系統 du -sh //一個文件夾大小
9;查看在線用戶數 uptime ,查看系統版本 uname -a , 查操做系統版本: /etc/issue
10;tar -xf /解壓
tar -c[z,j]f /壓縮 eg: tar --exclude /home/no -zcvf myfile.tar.gz /home/* /etc #除/home不壓
tar -zcvf 打包後生成的文件名全路徑 要打包的目錄
tar -zcvf /home/xahot.tar.gz /test
11; 端口檢查,經常使用命令:
netstat -anp/lnt |grep port #查看端口的佔用狀況
lsof -i:8080|grep "\[LISTEN\]"
ss -l
ss -l 顯示本地打開的全部端口
ss -pl 顯示每一個進程具體打開的socket
ss -t -a 顯示全部tcp socket
ss -u -a 顯示全部的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )' 顯示全部已創建的SMTP鏈接
ss -o state established '( dport = :http or sport = :http )' 顯示全部已創建的HTTP鏈接
ss -x src /tmp/.X11-unix/* 找出全部鏈接X服務器的進程
ss -s 列出當前socket詳細信息:
十二、usermod -a -G group user / gpasswd -a user group //兩種方法添加其餘用戶
1三、date -d '-30 day' +%Y-%m-%d //三十天之前
1四、 modprobe drbd //加載模塊
lsmod |grep drbd //查看模塊是否加載到內核中
1五、 strace //追蹤命令
strace -p 5086 -o result.txt -t
strace -c -p 5086 //查看一個進程cpu 時間,錯誤等
1六、模塊相關命令
lsmod //列出已加載模塊
modprobe ip_table // 加載 ip_talbe 模塊
1七、tcpdump
tcpdump tcp port 25 and host 192.168.0.184
tcpdump host 192.168.0.183 and !192.168.0.183