SHELL脚本的语法知识3
①管理Linux
w 查看当前系统的负载
/proc/cpuinfo 保存服务器CPU相关信息
grep -c 'processor' /proc/cpuinfo 计算服务器CPU个数
vmstats 监控系统状态
top 显示进程所占系统资源
sar 监控系统状态
sar -n DEV 查看网卡流量
xargs 把其他命令的输出作为其后命令的输入
find ./ -mtime +10 | xargs rm
find *.txt | xargs -n1 -i{} mv {} {}_bak
把后缀为.txt的文件全部修改为后缀为.txt_bak;-n1表示一个一个对象去处理;-i{}表示将每个对象用{}代替
-exec 常与find合用
find ./* -exec mv {} {}_bak \; 把当前目录下的文件的文件名都添加_bak;{}表示每个文件对象
nohup 不挂断运行命令
nohup sh task.sh &
有时候即使脚本在后台运行,当用户退出登录以后,脚本也会退出,使用nohup命令以后,脚本就会继续运行下去而不会挂断
tar [-zjxcvfpP] file
-z gzip压缩 -j bzip2压缩 -x 解包或者解压缩 -t 查看tar包里面的内容 -c 建立一个tar包或者压缩文件包 -v 可视化
-f 压缩时带文件名表示压缩包名称;解压时带文件名表示要解压的文件;如果有-f,把f写到最后
-p 保留源文件属性 -P 可以使用绝对路径 --exclude filename 解压缩时不要讲filename文件包括在内
gzip 压缩工具
gzip [-d#] file
压缩file文件,后缀名将变成file.gz;-d在解压缩时使用;-#表示压缩等级,#值在1-9之间,1最差,9最好,默认6;gzip不可以压缩目录
bzip2 [-dz] file
-d用户解压缩;-z用于压缩,可省略;与gzip一样不可以压缩目录
②vim(vim的命令与vi有些并不一致)
光标的移动
h * 左 j * 下 k * 上 l * 右 备注:每次移动一个字符
0|shift+6 * 行首 shift+4 * 行尾 gg * 首行 G * 尾行 n+G * 第n行
ctrl+f | PgUp * 向下移动一页 ctrl+b | PgDn * 向上移动一页
查找与替换
/pattern * 向下查找 ?pattern * 向上查找 n * 向下查找时为查找下一个;向上查找时为查找上一个 N * 向下查找时为查找上一个;向上查找时为查找下一个
:[a,b]s/pattern/replace/[g] * 查找第a行至第b行的pattern并替换为replace;不指定行范围则只查找光标所在行;第一行至最后一行写法1,$
删除、复制和粘贴
x * 向后删除一个字符 X * 向前删除一个字符 dd * 删除光标所在行 n+dd * 删除光标所在向下n行
yy * 复制光标所在行 n+yy * 复制光标所在向下n行 备注:n+yy命令不太靠谱
p * 粘贴在光标所在行的下面 P * 粘贴在光标所在行的上面
其他操作
u * 撤销 :e! * 恢复到文档的原始状态
:w * 保存 :q * 退出 :w! | :q! * 强制保存或强制退出 :wq | ZZ * 保存后退出 :wq! * 强制保存并退出
进入编辑模式
i * 当前字符前插入字符 a * 当前字符后插入字符 I * 当前行首插入字符 A * 当前行尾插入字符 o * 当前行下面插入新行 O * 当前行上面插入新行
:w filename * 编辑后的文档另存为filename
浙公网安备 33010602011771号