文档章节

常见Shell命令用法总结

小骏骏
 小骏骏
发布于 2016/02/19 15:22
字数 1433
阅读 67
收藏 12
点赞 1
评论 0

常见命令用法总结 

-----  目录:  ---

  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 * ,           和第一条相似,但只显示文件名。



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




3、关于tr的总结

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

-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文件中每行中连续出现的空格替换为一个空格




4、关于sort的总结

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

串联排序所有指定文件并将结果写到标准输出。


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




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



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








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





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



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



  
10、关于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个时间



  
11、关于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



 
12、关于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"`

本文转载自:http://www.cnblogs.com/linuxer/p/3260329.html

共有 人打赏支持
小骏骏
粉丝 8
博文 111
码字总数 22428
作品 0
厦门
高级程序员
Linux命令、编辑器与Shell编程

Linux命令、编辑器与Shell编程 本书以实用为原则,以 Linux系统管理为核心,在深入剖析 Linux系统运行原理的基础上,重点介绍 了 Linux系统管理中常见命令的各种用法、编辑器的使用及利用 Sh...

李航421
2013/09/05
0
0
运维老鸟分享-学好Linux技术大绝招

随着互联网的飞速发展,越来越多的人开始学习 Linux 技术。很多初学者面对 Linux 技术的海洋无从下手,近 1 0年一线互联网运维老鸟为菜鸟总结了学好 Linux 技能的大绝招: 1、基于 VMware 虚...

wgkgood
2017/06/16
0
0
linux常见上传下载,以及跨机器文件传输命令总结。

linux常见上传下载,以及跨机器文件传输命令总结。 近来项目完成了,搭建测试环境时,需要下载一些软件,还有由于堡垒机的存在,多个服务器之间文件的相互拷贝,十分麻烦,特来总结了一下,加...

奇葩界张三
2017/04/26
0
0
shell 括号的特殊用法

Shell中的括号有其特殊的用法, 现总结如下: 1. 符号$后的括号 ${a} 变量a的值, 在不引起歧义的情况下可以省略大括号. $(cmd) 命令替换, 结果为shell命令cmd的输出, 和效果相同, 不过某些She...

高健2013
2015/02/11
0
0
shell函数【参数传递及输入输出】&内置函数

Linux——shell脚本基础3:shell函数【参数传递及输入输出】&内置函数 函数定义 1 退出状态 1 参数传递 2 标准IO 2 脚本调试 2 AND&OR 3 内置命令补充 3 函数定义 函数定义: 在Shell 中,函...

hanzhankang
2014/02/24
0
0
《跟老男孩学Linux运维之shell编程实战》-第三章 shell变量知识进阶

本文讲解shell变量知识进阶。 以下为知识点的总结,关于练习,本文不不涉及,还需要各位小伙伴自己练习! 1.shell中的特殊位置参数变量,请见下表: 在企业场景下,“$?”的用法: (1)判断...

小鱼姑娘
06/26
0
0
Linux运维有绝招

想要成为新时代的运维达人吗?全面掌握正确的学习路线。介绍一些入门教程带你轻松走进Linux世界的大门:1、Linux基础入门和架构了解:http://edu.51cto.com/course/course_id-948.html简介:...

让往事随风
2016/06/07
83
0
《Linux云计算从入门到精通》系列实战笔记全放送

为了方便Linux云计算爱好者的学习查看,马哥Linx云计算团队特别整理了《Linux云计算从入门到精通》年度重磅大放送,囊括了整个学习过程的学习精华,内容全部由马哥Linux云计算学员撰写,欢迎...

898009427
2017/11/21
0
0
【转载】Android 工具-adb原理

Android 开发中, adb 是开发者经常使用的工具,是 Android 开发者必须掌握的。 Android Debug Bridge,Android 调试桥接器,简称 adb ,该工具位于 目录下,其源码位于 目录下,是用于管理模...

beijing_zbs
2016/09/25
319
0
shell-awk常见用法

awk也是一种数据处理工具,是一种最基本的语言,可以自定义变量,循环数组正则函数等 awk -f分隔符 'commands命令' 文件 '条件{执行}条件{执行}'多个条件可以使用各种操作符号 <><==> == != ~匹...

动力在于作
2017/03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python爬取站长素材网页图片保存到ppt中

网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import requestsfrom bs4 import BeautifulSoupfrom pptx import Presentationfrom pptx.util import Inchesimpor......

你为什么不吃药
2分钟前
0
0
Ubuntu 18.04 swap空间的修改

一、准备工作 执行“sudo swapon -s”命令,查看是否已经存在swap file 二、修改swap file # 如果第一步存在swapfile则需要先禁用sudo swapoff /swapfile# 修改swap 空间的大小为2Gs...

Iceberg_XTY
5分钟前
0
0
438. Find All Anagrams in a String - LeetCode

Question 438. Find All Anagrams in a String Solution 题目大意:给两个字符串,s和p,求p在s中出现的位置,p串中的字符无序,ab=ba 思路:起初想的是求p的全排列,保存到set中,遍历s,如...

yysue
11分钟前
0
0
RabbitMQ实战:五种模式和案例

本文来自:Rabbitmq的五种模式和案例 消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除 (隐患,消息可能没有被消费者正确处理,已经消失了,...

spinachgit
12分钟前
0
0
android基于MVP小说网络爬虫、宝贝社区APP、仿虎扑钉钉应用、滑动阴影效果等源码

Android精选源码 android宝贝社区app源码 android仿Tinder最漂亮的一个滑动效果 android仿滴滴打车开具页,ListView粘性Header Android基于MVP模式开发的小说网络书库带缓存网络爬虫,。 Easy...

逆鳞龙
15分钟前
0
0
第三章 spring-bean之beanFactory系列(1)

前言 spring的基本问题,每次面试基本会问题。比如 - spring是什么回答是ioc,aop,第三个就是beanfactory。 - spring使用什么模式,100%的人回答是工厂模式。 - 这面的问题大家都知道。关于...

鸟菜啊
17分钟前
0
0
箭头函数

var foo = v => v;// 等同于var foo = function (v) {return v;} 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分 var f = () => 5;// 等同于var f = functio...

litCabbage
18分钟前
0
0
软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]: 前言: 要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希...

原创小博客
19分钟前
0
0
重写视频播放进度条

需要注意的地方,基于html vedio 标准使用期去了解一下 1.想去掉视频默认的播放条,去掉controls属性。 2.需要预加载视频加上preload="auto"属性。 1.js代码 $(function(){ init(); }); var ...

轻量级赤影
27分钟前
0
0
saltstack管理任务计划-添加&删除

1.服务端配置 >>编辑 top.sls 文件 # vim /srv/salt/top.sls //修改为如下 base: '192.168.*.*': - crontest >>编辑crontest.sls文件添加计划任务 cron-test: cron.present: - name: /bin/to......

硅谷课堂
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部