1.vim的使用:需要熟练各种操作。详见vim常用命令。
2.bash相关
type 可以知道每个命令是否为bash的内置命令。
echo用来显示变量时,变量在被显示时,前面必须要加上字符$
如echo $PATH 或者 echo ${PATH}
export 可以用来使变量变成环境变量 一般父进程的自定义变量是无法在子进程中使用的,所以可以通过使用export来达到目的
unset 取消变量名称
uname -r 取得当前内核版本信息
在变量的设置当中,双引号仍然可以保有变量的内容,而单引号内仅能是一般字符而不会有特殊字符(如‘$name’不在是变量)。
在命令执行过程中,反单引号用来表示`之内的命令先执行。
env 查看环境变量 set查看所有变量 包括环境变量和自定义变量
locale 查询语系
read 读取键盘输入 如:read -p input 然后键盘输入 内容就保存在变量input中
declare/typeset 声明变量的类型
alias 命令别名
history 历史命令 查询曾经执行过的命令 默认情况下,在注销时,才会将历史命令写入bash_history文件中
通配符与特殊符号
*代表0到无穷多个任意字符
?代表一定有一个字符
管道命令 | 能处理经由前面一个命令传来的正确信息。 如ls | less
sort 排序命令
wc 计算某个文件里面有多少字,多少行,多少字符。。
tee 双向重定向 可以同时将数据流送到文件与屏幕
tr 删除一段信息中的文字或是进行替换
col 转换tab为空格
join 处理两个文件之间的数据
split 将文件切割成小文件 要重新合成 利用数据流重定向 >> 如 cat test* >> testback
3.正则表达式
正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为。是一种表示法,只要某个工具程序支持这种表示法,就可以用来作为正则表达式的字符串处理之用。
grep 最重要的是用来进行字符串数据的对比,然后将符合用户需求的字符串打印出来。grep是以行为单位进行数据选取的。
查找特定字符串 grep -n 'find' filename (-vn反向查找)
在grep中 星号不再是通配符的意义。星号表示重复前一个0到无穷次的意思。 小数点代表一定有一个任意字符的意思。
如g..d代表g和d之间肯定有两个字符;0*代表具有空字符或者一个0以上的字符。
sed 是一个管道命令。用来分析标准输入流,可以进行数据的替换,删除,新增等。
nl /tmp/dir | sed '2,5d' 表示删除由前面命令输出的2到5行
... | sed '2a ***' 代表在第2行之后也就是第三行加入*** (2i 就是加在第二行)
awk 相比于sed的整行处理,awk倾向于将一行分成数个字段进行处理。
awk '条件类型1{动作1} 条件类型2{动作2} ... ‘ filename
awk可以处理后续接的文件,也可以读取前个命令的输出。awk处理的每一字段内的数据,而字段的默认分隔符就是空格键或tab键。
diff 文件比较工具,用在两个ASCII纯文本文件的比较上。以行为单位。
cmp 也是比较两个文件,但是是以字节为单位去比较的。
4.shell script 脚本
执行方式的区别,利用直接执行的方式来执行 sh shellscript.sh 这时相当于在子进程bash中执行,而父进程处于休眠状态。这就涉及到变量的问题。
如果用source来执行脚本,则在父进程中执行。 source shellscript.sh
默认变量 $0 $1 $2 分别表示执行的脚本文件名、第一个参数、第二个参数
条件判断:
if[判断式] ; then
...
elif [***] ; then
...
else
...
fi
脚本部分不一一总结了,感觉脚本不怎么用到,要用了在学很简单。