linux
1.常用高级命令
序号 | 命令 | 命令解释 |
---|---|---|
1 | top | 查看内存 |
2 | df | 查看磁盘内存情况 |
3 | iotop | 查看磁盘IO读写情况(需要安装:yum install iotop) -o :直接查看输出比较搞的磁盘读写程序 |
4 | netstart -tunlp | grep 端口 |
5 | ps aux | 查看进程 |
2.文件查看命令 cat more less
Less 与 more 的区别: less 相对于more 更加强大,more是将整个文件加载之后再显示,less 是根据显示加载内容,对于显示大型文件具有较高的效率。
3.压缩文件打包
gzip/gunzip 压缩
1.基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
2.经验技巧
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
zip/unzip 压缩
1.基本语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
tar 打包
1.基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
2.选项说明
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
4.RPM软件包管理
1.查询命令(rpm -qa)
2.卸载命令(rpm -e)
3.安装命令(rpm -ivh)
5.搜索查看 find、locate
find 将指定目录向下递归的遍历其各个子目录,将满足条件的显示在终端。
find [ 搜索范围 ] [ 选项 ]
选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件。
locate 定位文件所在位置
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
6.文件处理
(1)cut 文件切割工具
Cut 就是剪切数据,并将这些数据输出。
cut [选项参数] filename
选项参数:
-f 列号,提取第几列
-d 分隔符,按照指定分隔符分割列
eg:
1.切割第二三列
cut –d “” –f 2,3 a.txt
2.在文件中切割出 guan
cat a.txt | grep “guan” | cut –d “ ” -f guan
(2) sed 流处理工具
sed 是一种流编辑器,一次处理一行数据,处理时,及那个当行报存到临时缓冲区,处理完后输出到控制台。
sed [选项参数] command filename
选项参数:
-n 使用安静(silent)模式,在sed处理中,所有的STDIN 的资料都会被打印在屏幕上,但如果加上 –n ,则只有经过sed 特殊处理的哪一行(或者动作)才会被列出来
-f 直接将sed 动作写入到一个文件内,-f filename 则可以执行该文件内的sed 动作指令
-e 直接在指令列模式上进行sed的动作编辑。
-i 直接修改读取的文件的内容,而不是输出
-r sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
command命令:
a (append) 新增,a的后面可以接字串,在下一行出现
d (delete) 删除
s(find repleace) 查找并替换
s/wo/ni/g g 表示 global,是否是全部替换,没有g 则默认是每行的第 一个
I (insert) 插入,I 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
eg:
1.将数据插入到第二行下面
Sed ‘2a mei nv ’ sed.txt
2.删除文件中所有包含 “wo” 的行
Sed ‘/wo/d’ sed.txt
3.将所有的wo 替换为 ni
sed ‘s/wo/ni/g’ sed.txt
4.替换换行符,添加转义字符
echo “http://bbb” | sed ‘s/http://bbb/http://aaa/g’
(4)awk 流处理工具
awk 文本分析工具,把文件逐行的读入,以空格为默认分割符将每行切片,在进行分析处理
awk [选项参数] ‘pattern1{action1} pattern2{action2}…’ filename
-F 指定输入文件折分隔符
-v 赋值一个用户定义变量
选项参数:
(5)sort 文件内容排序
sort [选项] [参数]
选项:
-n 依照数值的大小排序
-r 以相反的顺序来排序
-t 设置排序时所用的分隔字符
-k 指定需要排序的列
eg:
(1)按照“:” 分割后的第三列进行排序
sort -t : -nrk 3 sort.txt
7.shell
写过的脚本
(1)集群启动,分发脚本
(2)数仓与 mysql 的导入导出
(3)数仓层级内部的导入
Shell 中提交了一个脚本,进程号已经不知道了,但是需要 kill 掉这个进程,怎么操作?
ssh $i "ps -ef | grep file-flume-kafka | grep -v grep |awk '{print \$2}' | xargs kill"
Shell 中单引号和双引号区别
(1)单引号不取变量值
(2)双引号取变量值
(3)反引号`,执行引号中命令
(4)双引号内部嵌套单引号,取出变量值
(5)单引号内部嵌套双引号,不取出变量值