shell笔记

参考Linux shell脚本攻略(第二版)

第一章

1./proc/$PID/environ 查看跟进程相关的环境变量
2.${#var} 变量长度
3.算数运算let expo (()) ,[]
let result=no1+no2
result=$[no1+no2]
result=$((no1+no2))
4.0----标准输入
1----标准输出
2----标准错误
5.<,>,>>,<<
重定向符前面是覆盖,后面是追加内容
6.数组
初始化array=(1 2 3 4 5)
array[0]=1
array[1]=2
array[2]=3
${array[index]}
遍历数据
${array[]}(用得少,输出成一个变量)
${array[@]}(根据定界符分割成多个字符串)
7.
关联数组(键值对)*
declare -A array
赋值array=([index1]=val1 [index2]=val2)
8.输出脚本执行过程-x
9.管道
10.$@ 输入变量引用
11.定界符IFS
12.比较-a与 -o或
13.文件比对
[ -f ]文件
[ -x ]可执行
[ -d ]目录
[ -e ]是否存在
[ -c ]字符设备文件
[ -w ]可写
[ -r ]可读
14.字符比较
[ -z ]为空
[ -n ]不为空

第二章

1.cat
-s 删除多余空白行
-n 显示行号
2.find
find dir -name "file-name" -print
ex. find . ( -name ".txt" -o -name ".pdf" ) -print
i 否定参数
-print0 以'\0'分割
-regex 正则
-maxdepth 最大深度
-mindepth 最小深度
-type 文件类型(f,d,l,c,b)
-perm 文件权限(数字)
-user 文件所有者
-exec 执行命令{}->搜索结果
3.xargs
-d 指定定界符
-n 分成n行
-0 以'\0'为分隔符
4.tr
直接收标准输入
-d 删除字符
-c 补集
-s 压缩字符(替换多余的,压缩成1个)
5.sort
-n 按数字排序
-r 逆序
-M 按月份
-m 合并文件
-k 按哪一列排序
6.uniq
去除重复行
7.split
-b 分割成

你可能感兴趣的:(shell笔记)