前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell基本命令

shell基本命令

作者头像
BGBiao
发布2018-02-26 10:54:02
7460
发布2018-02-26 10:54:02
举报
文章被收录于专栏:容器云生态容器云生态

有关文件显示的命令:

du --exclude=iso  -sh  .        //统计当前除了iso这个目录的其他文件大小 ls -F                                       //列出的时候每个目录后加了个/ 可执行文件加* ls -F */                                   //列出当前所有目录下的所有文件 ls -F |grep /$                         //列出所有目录(过滤以/结尾的文件,其实就是目录) $标识以什么结尾, ^表示以什么开头 ls  -d  */                                //列出所有目录 ll  -S   //按照文件大小排序 #ifconfig br0 | grep inet | awk -F: '{print }'  -F指定分隔符 打印出IP # sed 's/bash/xxbandy/g' hello              批量替换 在vim中批量替换:                     :%s/bash/xxbandy/g    全文所有替换 :%s/bash/xxbandy/     全文每行第一个匹配替换 :1,ns/bash/xxbandy/ # cat hello | awk -F : '{print $NF}' | awk -F / '{print $NF}' awk 以-F制定分割符号 " " :  /   # cat hello | cut -c 5   截取第五个字符 #seq 5 8 排序5-8 for ip in $(seq 1 250) do echo $ip done

常用字符shell脚本工具:

先使用sort进行整理数据,uniq统计完成后使用sort -nr进行再次大小排序

#awk '{print $1}' /root/.bash_history | sort | uniq -c | sort -nr | head        只打印非空行(有的行没有列数,就说明空行,使用NF判断打印非空) # awk -F: 'NF>0 {print NF}' /etc/passwd 打印带有固定标识的信息: # tail -5 /etc/passwd | awk -F: 'BEGIN {print "用户名\tUID\tCMD"} {print $1"\t"$3"\t"$NF}' 用户名    UID    CMD ovirt    108    /sbin/nologin jboss    496    /sbin/nologin vdsm    36    /sbin/nologin zabbix    495    /sbin/nologin mysql    27    /bin/bash 注意:使用\t用来制表,将每一列顺序隔开。变量里面的\t必须使用双引号,不然不能识别转移。BEGIN放在标识前面只打印头部标识 # uptime | awk '{print $3}' | sed 's/,//g' | awk -F: '{print "系统运行了:"$1"小时"$2"分"}' 系统运行了:7小时06分 # df -H | grep /$ | awk '{print "磁盘使用了"$5}'                          //df后过滤出以/结尾的 磁盘使用了91% # df -H | grep /boot$ | awk '{print "磁盘使用了"$5}' 磁盘使用了32% 注意:$好像标识挂载在根的磁盘大小. $标识以什么结尾;^标识以什么开头 检测根使用情况的脚本 #vim df.sh #/bin/bash disk=`df -H | grep /$ | awk '{print $5}' | cut -d % -f1` if [ $disk -gt 50 ]; then     echo "磁盘使用超过50%,请检查磁!" else     echo "磁盘空间很大,请放心!" fi 输出当前监听的端口和服务;(BEGIN表示只在头部输出;在变量$1$2中间的\t必须使用双引号,否则就当字符串处理了) # netstat -antlp | grep LISTEN | awk '{print $NF}' | awk -F/ 'BEGIN {print "PORT\tservice"} {print $1"\t"$2}' PORT    service 2256    rpc.rquotad 1933    rpcbind 16907    httpd 2609    dnsmasq ll -F显示所有文件,在目录后会加/,在可执行文件后会加*。使用grep *$过滤 以*结尾的文件就是可执行文件咯 # ll -F | grep *$ -rwxr-xr-x   1 root root   464 Sep 27 21:06 case.sh* -rwxr-xr-x   1 root root   195 Sep 27 20:48 df.sh* -rwxr-xr-x.  1 root root   347 May 18 03:59 gennet1* -rwxr-xr-x   1 root root   204 Sep 24 20:43 ip.sh*

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档