1; find /web/phpweind/ -type d -exec chmod -R 777 { } \; //批量修改权限
2; log-slave-updates //将 relay-bin-log 写到到 bin-log,双主应用
3; cat >/home/test <<EOF hello EOF 与 cat >>/home/test <<EOF ..
4; find /home/ -name a &> /dev/null
5; useradd -d /itiit //指定家目录 userdel -r //删除家目录相关
6;常用熟知端口: ftp 21 ssh 22 dns 53 dhcp 67 68 pop3 110 imap 143 mysql 3306 http 80 smtp 25
0-1023 熟知端口
1024-65535 动态端口
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详细信息:
12、usermod -a -G group user / gpasswd -a user group //两种方法添加其他用户
13、date -d '-30 day' +%Y-%m-%d //三十天以前
14、 modprobe drbd //加载模块
lsmod |grep drbd //查看模块是否加载到内核中
15、 strace //追踪命令
strace -p 5086 -o result.txt -t
strace -c -p 5086 //查看一个进程cpu 时间,错误等
16、模块相关命令
lsmod //列出已加载模块
modprobe ip_table // 加载 ip_talbe 模块
17、tcpdump
tcpdump tcp port 25 and host 192.168.0.184
tcpdump host 192.168.0.183 and !192.168.0.183