常见Shell命令用法总结
2016-02-19 00:00
399 查看
摘要: 常见Shell命令用法总结
关于grep的总结
找出所需字符串的时候可用引号也可以不用引号。
注:以上3中形式都能找出test文件中相对应含有字符串bc的行并打印出来。
比较常用的参数有;
2、关于egrep的总结
3、关于tr的总结
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
4、关于sort的总结
sort [选项]... --files0-from=F
串联排序所有指定文件并将结果写到标准输出。
5、关于uniq的总结
uniq对重复的行只保留一行。 【注意】对于处理字符长的时候一般先sort然后再uniq。
6、关于cut的总结
cut 主要的用途在于将一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候!
这是因为有时候我们会以某些字符当作分割的参数,然后来将数据加以切割,以取得我们所需要的
数据。
7、关于tee的总结
将数据输出重定向到文件的时候,屏幕上就不会出现任何的数据!那么如果我们需要将数据同时
显示在屏幕上跟档案中呢?这个时候就需要 tee 这个指令。
8、关于split的总结
将大的文件分割成小的文件。
9、关于type的使用
type打印一个命令的绝对路径
10、关于find的使用
11、关于xargs的使用
xargs从标准输入中接受单词列表的命令,并把这些单词作为参数传递给指定的命令
12、关于bc的使用
脚本编程
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"`
常见命令用法总结
----- 目录: ---
关于grep的总结
关于egrep的总结
关于tr的总结
关于sort的总结
关于uniq的总结
关于cut的总结
关于tee的总结
关于split的总结
关于type的使用
关于find的使用
关于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"`
相关文章推荐
- 【003】Mac在命令行下下载文件
- 【001】mac命令行下查看系统版本
- Mac使用命令行修改时区为中国且24小时制
- popen+pclose 执行 shell 命令
- (6) linux shell 命令 -- rmdir
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- Linux Shell 输入和输出
- Linux的shell命令的学习
- 关于shell调用MySQL存储过程的问题
- Shell基础整理
- 文章标题
- Shell编程
- C语言调用shell命令方法
- shell脚本:批量修改文件名(文件名中添加字符)
- python中执行shell命令的几个方法
- linux中的shell 进程
- shell脚本个人总结
- shell 基本计算、逻辑运算、位运算详解
- zabbix自动发现结合shell实现自动发现占用内存最大top10进程并监控其资源
- 运维常用shell脚本