*****************6.文件命令********************## 1.diff ##diff file file1 //比较两个文件的不同 -c //显示不同的行 -u //按照统一格式统一输出生成补丁 -r //比较两个目录中文件的不同patch file file.patch //打补丁 -b //备份原文件
## 2.grep ##grep 关键字符 文件|目录 //在文件或目录中查找含有关键字的行grep -i //忽略大小写 -n //显示关键字所在行
-c //显示过滤结果的个数 -v //反向过滤 -E //“关键字1|关键字2“ 过滤多个关键字 -r 目录 //在目录中查找含有关键字的文件注意: ^关键字 //以关键字开头的 关键字$ //以关键字结尾的
例:在passwd文件中搜索含有root的行,并忽略大小写
在passwd文件中搜索含有root的行,并显示行号
在passwd文件中统计含有root的行的个数
在passwd文件中搜索含有root的行,且root不在行首
在passwd文件中搜索含有root或student的行
在/mnt中搜索含有root的文件
## 3.sort ## 排序sort -n //纯数字排序 -u //去掉冗余 -t //指定分割符 -k //指定列 |uniq -c //去除冗余,并统计冗余个数 |uniq -d //显示冗余行 |uniq -u //显示唯一行
例:对file文件纯数字排序并去掉冗余
对file文件纯数字排序并去掉冗余并统计冗余个数
对file文件以:作为分隔符对第二列做纯数字排序
显示第二列冗余行
对file文件以:作为分隔符对第二列做纯数字排序去掉冗余并统计冗余个数
对file文件以:作为分隔符显示第二列唯一行
## 4.cut ##
cut // 截取字符
-d 分隔符 //指定分隔符
-f 1,7 //显示指定的列
-c 1-4 //显示指定的字符
## 5.sed ##
tr ‘a-z’ ‘A-Z’ file //转换大小写
sed 's/原字符/替换字符/g' file //替换 -e '策略1' -e '策略2' file //多个策略一起替换 -i file //把转换后的内容输入到指定文件 '3,5s/原字符/替换字符/g' file //转换3-5行 5d file //屏蔽第五行 5p file //复制第五行 -n 5p file //只显示第五行
例:把passwd文件全部转换成大写
例:把passwd全文的root都替换成student
例:把passwd全文的root都替换成student并把所有的mail都替换成hello
例:把passwd的3-5行的nologin替换成root
例:查看passwd文件并复制第五行
例:查看passwd文件只显示第五行
## 6.awk ##
awk '{pattern + action}' {filenames}
pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。
练习,现有两个文件分别放有待创建的用户的用户名和用户密码
使用脚本创建这些用户