常用的shell命令

1.查找文件内容(比如账号:zh123456):grep;ls
方式1查找所有文件:grep zh123456 *
方式2递归查找:ls | xargs grep zh123456
方式3递归查找:find . -name 'APF44_ZSWMPay*'|xargs grep AppLog|awk -F":"  '{print $1}'|sort |uniq -c
2.查找目录下是否存在自己想要的文件(例如想查找是否存在20170914xzh.txt):find
2.1方式1模糊匹配查找:find . -name "*20160106/*xzh.txt"
2.1方式2递归查找:find . -name 'APF44_ZSWMPay*'|xargs grep AppLog|awk -F":"  '{print $1}'|sort |uniq -c
3.打包和解包命令:tar
3.1.打包:tar czvf /back/baklog/int44-log20170914.tar.gz /app/int44/log
3.2.解包:tar xzvf /back/baklog/int44-log20170914.tar.gz /app/int44/log
3.3.检查包列表明细和大小:tar tzvf /back/baklog/int44-log20170914.tar.gz
4.查找文件中账号是否存在非数字(以工作中遇到的问题为例子中山电信批量文件格式检查):awk
4.1检查账号中是否存在非数字:awk 'BEGIN {FS="\004";} NR>1 {print NR ":" $5}' file.name |grep -E "[^0-9|:]+"
4.2计数第5列金额和:awk 'BEGIN {FS="|";total=0} NR>1 {total=total+$5} END{printf "total:%.2f\n",total}' 20170914.txt
5.查看使用空间:df ;du
5.1方式1:df -hl
5.2方式2:du -sm * | sort -n  //统计当前目录大小 并安大小 排序
6.字符集转换和十六进制显示文本:iconv,od,xxd,stat
6.1:iconv -f utf-8 -t GBK 20170630.txt //将文件由utf-8转换成GBK在屏幕显示
6.2:od -x 20170630.txt //以十六进制显示文本内容,前3个字节表示编码类型 (不同操作系统,显示不一样)
6.3:xxd  20170630.txt //以十六进制显示文本内容,会显示编码和原文
6.4:stat  20170630.txt //查看文件的最后访问时间,最后修改时间
7.md5sum:生成md5密文
7.1:md5sum P_00403030705002017101120427.txt(文件名)  //0228D736B69436FCB054051431B9C7D386

8.makdir:生成目录
8.1.单独创建文件夹:mkdir Folder
8.2.创建嵌套目录:mkdir - p path

9.ssh:本地无法直接访问,第三方终端(146.0.245.197:9080)<-->外联前置终端(10.242.3.240)<-->本地终端(22.32.80.51),由于本地终端无法访问第三方终端,但是外联前置和其他两方都是联通的,因此在外联前置上做一个映射ssh -NfgL 5577:146.0.245.197:9080 monitor@127.0.0.1,然后再数据库客户端配置文件中添加配置(HOST = 10.242.3.240)(PORT = 5577),这样客户端就可以连接上了。
9.1: ssh -NfgL 5577:146.0.245.197:9080 monitor@127.0.0.1,说明:参数:NfgL  对方ip:146.0.245.197  对方端口:9080 映射对口:5577  本地用户名和本地ip:monitor@127.0.0.1

10.head、tail:读文件头和文件尾
10.1:head -n 2 filename  //读取文件第一行
10.2:tail -n 2 filename  //读取文件末尾2行数据

11.sed
11.1:sed -n "1,4p" filename //使用sed命名打印出指定区间行(1行至4行)

posted on 2017-10-13 08:43  zhabayi  阅读(266)  评论(0编辑  收藏  举报