shell 命令笔记(比较杂乱,会持续补充)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 命令笔记(比较杂乱,会持续补充)相关的知识,希望对你有一定的参考价值。
awk-F‘key‘ ‘{print $1,$2}‘ file1 #awk 和cut差不多,这句话就是说取文件1中间关键词为key(为单个字符)为分隔符的第一例和第三例,不加 -F‘key‘ 默认都是空格为分隔符。和cut比强大,因为可以指定多个分隔符,如下:
awk -F‘[key1]+‘‘{print $2}‘ #这里的key1为多个字符,后面的+表示字符可以为连续为多个,比如空格可以为2个。$2 多个字符后面的第一例。
sed‘s/key1/key2/g‘ #替换模式 s表示替换 g表示全局,把key1替换成key2输出到屏幕,或后面跟文件,输出到文件,中间/可以为其他符号,如@
sed ‘/key1/d‘ #删除所有的key1,加^可以删除所有key1开始的行,和grep差不多
sed‘/key1,key2/d‘ #删除key1和key2中间的字段,包含key1,key2。注意这里的key1和key2必须唯一
grep -v ‘key‘ #忽略关键字key的行
grep -i ‘key‘ #忽略关键字key的大小写
grep -c ‘key‘ #包含关键字key有几行
grep -v -f file #cat file1 |grep -v -f file2 查看文件1不包含文件2的行
basename #取路径尾部的文件名
dirname #取文件路径
wc -l #取文件有几行
cat -A #查看全部
cat -s #压缩多个空格为一个空格
cat -n #显示行号
tac #和cat相反,反序显示
tail -fn 20 #不断的看文件尾行20行
paste file1file2 #2个文件合在一起
diff file1 file2 #看文件1和文件2那些不一样
comm #比较2个文件,详细参数请看man comm #-1 -2 -3 分别对应3竖
echo -e ‘\033[31mabc\033[0m‘ # 31为红颜色,32为绿色;abc为字符串,其他为格式
history 20 |sort-r -n -k 1 #-k 第几例 -r 反序 -n 按数字排序
history 20 |sort | uniq #排序并去重,uniq -c 会把重复的数字显示
例子1:apache日志分析排序
cat access.log|cut -d‘ ‘ -f1|sort|uniq -c|sort -nr |head -20
查看apache日志访问最多的前20个ip地址
把命令历史记录的第一例反序
cut -c 1-3 #切列的序号字符 cut -d ‘ ’ -f 2 #指定字段分隔符这里是空格 -f 2 是第一个空格和第2个空格中间的字段注意:这里也可以写成cut -d‘ ‘ -f2 #cut的分割字符只能是单个字符
事例1,取passwd的用户名和登录shell
cat/etc/passwd|cut -d‘:‘ -f1,7
事例2,取网卡的ip地址
ip_address=`ipaddr show enp3s0|head -3|tail -1|cut -d‘t‘ -f2|cut -d‘ ‘ -f2`
echo $ip_address>> ipaddress.log
切字符串中间的字符,常用于获取字符
tr ‘a-f’ ‘A-F’
常用于字母大小写转换
yum whatprovides*/命令名
查找这个命令属于那个程序包
echo " testmail" | mail -s "test" ****@**.com
发送testmail内容,主题为test的邮件到***@**.com
chmod +x **
为**添加执行权限
cat/usr/sbin/sestatus
查看selinux状态
netstat –tnul |grep 80
查看80端口是否被占用
netstat -tunlp|grep 80
查看80端口被那个程序占用
cp -a . /usr/
拷贝目录下所有文件到/usr/
find . -maxdepth 1 -name "*"
查找当前目录下*的文件或者目录,不进入子目录,搜索深度为1级
find / -maxdepth 1 -name "*"
查找根目录,如要查找全盘,把-maxdepth 1 去掉
本文出自 “Cccc” 博客,请务必保留此出处http://839611980.blog.51cto.com/9072138/1877027
以上是关于shell 命令笔记(比较杂乱,会持续补充)的主要内容,如果未能解决你的问题,请参考以下文章