一、Linux高级命令之文件相关
- vi:文件编辑利器
- wc、uniq、sort、head:文件内容统计相关命令
1.1、创建文件
先用touch命令创建一个空文件,再用vi命令去编辑这个文件内容。或者直接用vi命令操作不存在的文件。
vi helloworld.txt
此时进入不可编写的模式,我们输入i(insert)即可编辑。输入hello world。此时写好内容,按住键盘esc键,即退出编辑模式,也就是进入了命令模式。此时我们按住shift+:,然后输入wq(w是write,q是quit)
1.2、查找文件内容
如何在很多内容的文件的中,定位到自己的要查找的内容?
vi helloworld.txt
在命令模式下,输入一个斜线(/),然后输入你想要查找的内容,然后按回车键,就可以查找了。按住n也可以继续往下查找
1.3、跳转指定行数
vi helloworld.txt
在命令模式下,按住shift+:,然后输入行号即可。也可以输入set nu来显示行号
1.4、快速复制粘贴
在命令模式下,光标移动到要复制的一行,然后按两下y键进行复制,然后按p键就可以粘贴了
1.5、快速删除
在命令模式下,光标移动到要删除的一行,然后按d键进行删除。
1.6、清空光标以下的内容
在命令模式下,先按3个9,然后按2次d键进行删除,把光标下面的都删除掉
1.7、查看隐藏文件
ll -a
二、Linux高级命令之文件内容相关
2.1、文件内容统计命令 wc
Linux wc命令用于计算字数。
- wc -c --bytes 统计字节数
- wc -m --chars 统计字符数
- wc -l --l 统计行数。
- wc -L --max-line-length打印最长行的长度。
- wc -w --words 统计字数 一个字被定义为由空白、跳格或换行字符分隔的字符串。
2.2、文件内容排序命令 sort
Linux sort 命令用于将文本文件内容加以排序。
- sort -n 依照数值的大小排序
- sort -nr 以相反的顺序来排序
- sort[-k field1[,field2]] 按指定的列进行排序。(sort -k 2 -n 文件名 按照第二列来排序)
2.3、检查重复的行列 uniq
Linux uniq 命令用于检查及删除文本文件中重复出现的行列(只会对连续出现在一起的进行去重,不连续的不会去重。先排序)
- uniq -c或--count 在每列旁边显示该行重复出现的次数。
- uniq -u或--unique 仅显示出一次的行列。
sort text.txt |uniq 先排序再去重
2.4、取前n条数据 head
head 命令可用于查看文件的开头部分的内容
- head -n 用于显示行数,默认为 10,即显示 10 行的内容。
sort -nr num.txt | head -3 先按照数值倒序排序再取前3行
三、Linux高级命令之日期相关
3.1、date 获取当前时间
3.2、格式化输出 date+ "%Y-%m-%d %H:%M:%S"
3.3、获取时间戳 date+%s
四、Linux高级命令之进程相关
4.1、ps 显示进程信息
-
ps -ef 显示系统内的所有进程
-
ps -ef|grep xx
显示python相关的进程
4.2、netstat 显示端口信息
这个命令默认是没有安装的,需要通过yum进行安装
yum install -y net-tools
-
netstat -anp 查看端口信息
netstat -anp| grep 22
我们可以通过这个命令查看某个端口是否被占用
4.3、jps 显示Java进程信息
类似ps命令,不同的是ps是用来显示所有进程信息的。而jps只显示Java进程信息;准确的来说,是显示当前用户已启动的Java进程信息,信息包括进程号和简短的进程command。
注意:jps是java提供的命令,只有在安装配置好Java环境之后才能使用
4.4、top 动态监控进程信息
主要作用在于动态显示系统消耗资源最多的进程信息;包括进程ID、内存占用、CPU占用等。和ps命令作用基本相同,唯一的区别是top命令能够动态显示进程信息
然后退出监控,按住q命令退出
4.5、kill 杀掉进程
- kill PID:杀掉进程 。相当于通知进程需要结束了
- kill -9 PID:强制杀掉进程。
五、Linux常见高级命令三剑客
5.1、grep 查找
常用于查找文件里符合条件的字符串
- -i 忽略大小写
- -n 显示该行行号
- -v 忽略包含指定字符串的内容
注意:grep 经常和管道”|“结合使用,实现数据过滤查找
- -v 或 --invert-match : 显示不包含匹配文本的所有行。
5.2、sed 编辑
用来自动编辑一个或者多个文件、简化对文件的反复操作
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!
在hello.txt文件的第二行下新增hh字符串。
sed laddress]s/pattern/ replacement/ f1ags address:表示指定要操作的具体行,是一个可选项 S: 表示替换操作 pattern:指的是需要替换的内容 replacement:指的是要替换的新内容 flags:有多种用法 第 一种:就是flags可以表示为1~512之间的任意一个数字,表示指定要替换的字 符串在这一行中出现第几次时才进行替换 第二种:就是flags可以直接表示为g,这样的意识就是对每一行数据中所有匹配 到的内容全部进行替换 第三种:如果f1ags位置的值为空,则只会在第一次匹配成功时做替换操作
5.3、awk 分析
是一种处理文本的语言,是一个强大的文本分析工具
基本格式:awk [option] programe file
awk '{print $1}' hello.txt
输出hello.txt文本的第一列(按照空格分割)