1 固化命令文件
登录时执行文件的顺序
/etc/profile
/etc/profile.d
~/.bash_profile
~/.bashrc
/etc/bashrc
非登录shell
~/.bashrc
/etc/bashrc
/etc/profile.d
修改配置文件的时候
修改文件后 可以用 source 文件 来使得设置的配置生效
配置PATH的方法
vim /etc/profile
在最后加上
PATH=要注入的:$PATH
export PATH
2 正则表达式
更多正则表达式参见http://deerchao.net/tutorials/regex/regex.htm
^ 开头 取反用于[]中
$ 结尾
. 代表任意一个字符
* 前面的字符有0个或者无穷个
+ 前面的字符有1个或者无穷个
{} 前面的字符有 某个范围的
? 前面的字符0次或者1次
- 范围, 从哪到哪, 用于[]中获取范围
[] 在内的其中一个
[a-z] 小写字母
[A-Z] 大写字母
[a-Z] 所有英文字母
[0-9] 数字
其中 在[]中要输出-需要将其放在末尾并转义
转义
() 分组
获取该分组用 数字
其中数字从1开始从左往右数第几组
3 grep命令
grep -选项 '查询内容' 文件
作用: 根据查询的内容, 只要当前行满足了'查询内容'就显示出来, 匹配正确的标红显示
-n 输出行号
-o 只显示匹配后的内容
-q 安静模式 不显示结果(quiet)
-A 行数 显示后几行
-B 行数 显示前几行
-C 行数 显示前后几行
-c 显示匹配到的行数(conunt)
-l 过滤成功之后显示文件名, 不成功则不显示
-i 忽略大小写来匹配(ignore)
-v 取反显示行
-w 单词, 查询内容必须是单词匹配
-E 扩展模式, 使得更多的正则表达式得到支持, 等同于 egrep
-e 用于多个查询条件的时候, 只要满足一个条件就可以输出
egrep -e 'root' -e 'hello' /etc/passwd
诸如过滤掉某个文件的注释和空行
4 sed命令
sed是流编辑器, 同样是以行为单位
命令格式
sed -选项 '处理办法' 读取的文件
选项
-n 静默模式 不打印结果
-e 可以指定多个处理
-i 对文件进行直接修改
-f 将规则写到文件中
-r 扩展模式
处理办法
处理办法有两种, 一种是针对行号进行对行的处理, 另一种是书写正则表达式, 对满足正则表达式的内行进行处理
1 行号操作
3d 删除第三行
3p 打印第三行
3c 改变第三行的内容(change)
3a 在第三行之后增加一行
sed '3a add to this line' /etc/passwd
3i 在第三行之前增加一行
sed '3i insert to this line' /etc/passwd
1,3d 从1行到3行删除
1d;3d 删除1行和3行
s/替换的/换成的/ 替换
s/替换的/换成的/g 一行的都替换 全局替换
2 正则表达式操作
格式:
'/正则表达式/操作'