常见Shell命令用法总结

常见命令用法总结 

-----  目录:  ---

  1. 关于grep的总结  
  2. 关于egrep的总结  
  3. 关于tr的总结 
  4. 关于sort的总结  
  5. 关于uniq的总结  
  6. 关于cut的总结  
  7. 关于tee的总结  
  8. 关于split的总结
  9. 关于type的使用  
  10.  关于find的使用  
  11. 关于xargs的使用   



关于grep的总结
找出所需字符串的时候可用引号也能够不用引号。 
grep bc test
grep "bc" test
grep 'bc' test

注:以上3中形式都能找出test文件中相对应含有字符串bc的行并打印出来。
比较经常使用的参数有;
-i, --ignore-case         忽略大小写
-n, --line-number         print line number with output lines
-v, --invert-match        select non-matching lines 显示不匹配的行
-h, --no-filename         suppress the prefixing filename on output查询多文件时不显示文件名
-l, --files-with-matches  print only names of FILEs containing matches查询多文件时只显示文件名
grep select * ,               列出当前目录下全部包含select 字样的文件名及含有select字样的行。
grep -h select * ,          和上一条类似,但不显示文件名称。
grep -l select * ,           和第一条类似,但只显示文件名。



 
二、关于egrep的总结
egrep 是扩充功能的grep
egrep ‘2|5’ 1.txt ,列出含有2或者5的行
egrep '12(@|3)' test 列出含有12且后面紧跟@或3的行




三、关于tr的总结

从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。 html

-s, --squeeze-repeats  若是匹配于SET1 的字符在输入序列中存在连续的重复,在替换时会被统一缩为一个字符的长度
tr test '12' '45' 将文件中的12替换为45 
cat test |tr '[a-z]' '[A-Z]' 将文件中的小写所有替换为大写
tr ' ' '\n' <test 把test文件中的全部空格替换为换行
tr -s ' ' ' ' <test 把test文件中每行中连续出现的空格替换为一个空格




四、关于sort的总结

sort [选项]... --files0-from=F  linux

串联排序全部指定文件并将结果写到标准输出。 shell


-c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操做
-r, --reverse 逆序输出排序结果
 -n, --numeric-sort 根据字符串数值比较
-k, --key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)
 -u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果




  五、关于uniq的总结
uniq对重复的行只保留一行。 【注意】对于处理字符长的时候通常先sort而后再uniq。
-c, --count 在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated 只输出重复的行



  
六、关于cut的总结
cut 主要的用途在于将一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候!
这是由于有时候咱们会以某些字符看成分割的参数,而后来将数据加以切割,以取得咱们所须要的
数据。
cut  -d" " -f1  test 以空格为分割符,并输出第一列
last | cut -c1-20 //将 last 以后的数据,每一行的 1-20 个字符取出来








七、关于tee的总结
将数据输出重定向到文件的时候,屏幕上就不会出现任何的数据!那么若是咱们须要将数据同时
显示在屏幕上跟档案中呢?这个时候就须要 tee 这个指令。
last |tail |tee last.list | cut -d " " -f1 将last的最后10行写进last。last文件并接着处理并输出在屏幕。





八、关于split的总结
将大的文件分割成小的文件。
-l, --lines=数值 指定每一个输出文件有多少行
-C, --line-bytes=大小 指定每一个输出文件里最大行字节大小



 
九、关于type的使用
type打印一个命令的绝对路径
[guo@guo ~]$ type vim
vim is hashed (/usr/bin/vim)
[guo@guo ~]$ type perl
perl is /usr/bin/perl



  
十、关于find的使用
find /home/guo/  -name  test找出文件夹guo中的test文件
find / -name “*apple* -print
find /home –name “[!abc]”
find /home –name “?[1-9]”
find / -type d(f b c l p)
find / -mtime -5 查找最后修改小于5天的文件
-mtime   文件修改时间//vi、echo修改文件会改变此文件时间
-atime  文件访问时间//用cat、vi查看会改变此文件时间
-ctime   文件改变时间// vi 、echo修改文件、chmod、chown会改变此文件时间
stat fileanme    查看以上3个时间



  
十一、关于xargs的使用 

xargs从标准输入中接受单词列表的命令,并把这些单词做为参数传递给指定的命令 编程


ls |xargs rm//把ls列出的内容再经过rm删除
能够每次删除一部分文件
ls |xargs –n 2 rm
ls | xargs –n 2 echo “==>”
有时目录里文件太多了不能使用rm *删除这时
ls | grep ‘^abc’ |xargs –n 20 rm



 
十二、关于bc的使用
bc命令:进行算术运算,但不限于整数运算
scale=4 //表示计算结果保留4位小数
bc还能够用在shell变量赋值中
ABC=`echo “scale=4;8/3” | bc`
echo $ABC
  脚本编程 1.1.1.1 www.baidu.com 2.2.2.2 www.baidu.com 3.3.3.3. www.sina.com.cn 2.2.2.2 www.chinauxin.net 2.2.2.2 www.51cto.com 1.1.1.1 www.linuxtone.org 输出 2.2.2.2 www.baidu.com,www.chinauxin.net,www.51cto.com 1.1.1.1 www.baidu.com,www.linuxtone.org 3.3.3.3. www.sina.com.cn  awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' file 建立html文件  ::cat 运维必备.html  |sed -e '/^$/d'|sed  -n  '2,$ s/^/\<br\>/p' |sed 's/$/\<\/br\>/' >a.html  内核、Shell、文件系统这三个部分构成了linux系统  合并两个文件 paste 1 2|awk '{if($1 ~$2) print $1 ;else print $0}'   a=`date +"%Y-%m-%d  %H : %M : %S" -d "5 min ago"`
相关文章
相关标签/搜索