日升时奋斗,日落时自省
目录
1、vim
1.1、工作模式
1.2、末行模式操作相关命令
1.2.1、保存退出操作
1.2.2、查找替换
1.3、输入模式操作相关命令
1.3.1、移动相关命令
1.3.2、删除和剪切命令
1.3.3、复制操作
1.3.4、撤销
2、head
3、tail
4、ps
5、grep
6、lsof
7、find
8、netstat
这是之前博客关于Linux基本使用,但仅仅类似于windows基本点击操作,在linux服务器操作中只能算是知道基本的操作方式
这里给友友们写一下之后我们的日常操作命令
针对文件的详细操作:
使用方法: vim 文件名
打开后的显示:
输入模式:
vim命令进入文件之后是不能修改的,当前算是一个命令模式,要想进入输入模式(也就是修改文件内容)按a、i、o这三个其中一个就可以进入INSERT模式
注:输入模式修改主要用于文本编辑,和记事本类似,输入数据
文件最下方会有这样的显示表示已经输入模式 当前可以修改文件内容
ESC:退出输入模式 回到 命令模式(是按一次的效果)
如果ESC按了两次咋办? 不咋办:进入末行模式
末行模式:就是刚刚友友们看见的 INSERT 出现的位置,就是末行,可以输入一些其他的操作例如:搜索、替换、保存、退出、撤销、高亮等
注:末行模式也可以通过“:”(冒号)开启
:w 保存不退出
:q 不保存退出
:w 新文件名 (将文件保存到新文件中)
:wq 保存退出
:!强制
:q! 强制退出 不保存数据 (用于操作事务导致不能正常退出)
:wq! 强制不保存退出
针对光标所在行向下查找:/ 输入查找字符
针对光标所在行向上查找:? 输入查找字符
查找相关字符有多个重复的 : n 表示下一个 (N 表示上一个)
光标移动:h(左)、j(上)、k(下)、l(右)
移动指定行: ":n" 这里的n可以写成第几行
移动到首行:^
移动到尾行:$
删除字母: x (想要删除多个nx)
删除单行:dd
删除多行:ndd
删除指定行数:n1,n2d
注:这里的删除是剪切的命令
复制单行:yy
复制多行:nyy
撤销:u
撤销反:ctrl + r
扩展:
(1)vim -o 当前文件 另外一个文件 (上下分屏 关键字母 : o)
(2)vim -O 当前文件 另外一个文件 (左右分屏 关键字母 : O)
分屏时 需要快捷键操作 光标切换分屏位置 crtl + w (末行命令)
head本质上就是从文件开头开始 查找 对应的行数或者字节数(同时也具备了查找所有行数的功能)
隐藏文件名查询所有行的命令 :head -q 文件名
显示文件名查询所有行的命令: head -v 文件名
从文件开头开始查询固定的行数:head -n 查询行数 文件名
从文件开头开始查询固定的字节数:head -c 字节数 文件名
注:以上命令可以联合在一起使用 例如 head -v -n 行数 文件名 结合上述提示想一下就知道是什么意思
tail行操作命令,可以和head对比这使用,使用方法也基本一致,只不过是从文件尾开始查询
隐藏文件名查询所有行的命令 :tail -q 文件名
显示文件名查询所有行的命令 :tail -v 文件名
注:其实这里的显示内容与head无异
从文件尾开始按行查找 :tail -n 行数 文件名
从文件尾开始按字节查找 :tail -c 字节数 文件名
循环读取 : tail -f 文件名 其实只要这个文件后追加内容,就会显示出来(监视作用)
这里的循环读取是可以搭配的--pid一起使用,观察日志变化
使用方法: tail -f --pid 进程号
当前监视情况是实时的也就是每时每刻的在监视,但是也不是就每时都有内容添加,所以可以设置一定时间监视查看一次
使用方法: tail -f --pid 进程号 -s 时间 (这个时间单位是秒)
ps操作命令主要是显示当前进程的状态
显示所有进程 : ps -a
显示加宽可以显示较多的资讯: ps -w
显示所有包含其他使用者的进程:ps -aux (这里一般都搭配grep使用)
使用方法:ps -aux | grep 进程的相关名称 (按照进程名称查看)
使用方法:ps -aux | grep 进程的ID (按照进程的ID进行查看)
例如:平常发布springboot 项目, 总的还是要查看一下当前是否是放上去了不是嘛
所以这里就需要:查看一下 ps -aux | grep java 就能看到了
这里针对这里显示的详细信息(显示以下的信息)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:行程拥有者
PID:pid
%CPU:占用的CPU使用率
%MEM:占用的记忆体使用率(记忆体就是一种存储器)
VSZ:占用虚拟记忆体大小
RSS:占用的记忆体的大小
TTY:终端的次要装置号码
STAT:当前进程的状态 (带有S就是静止状态 R表示执行状态其他状态可以需要是百度)
START :进程开始时间
TIME:执行时间
COMMAND:执行的指令(在很多官方文档上COMMAND的出现就可以表示指令的意思)
grep主要涉及查找文本的字符串或者文本内容
忽略大小写进行匹配:grep -i 字符串 文件名
找不配的行数:grep -v 字符串 文件名
找匹配的行数:grep -n 字符串 文件名
递归文件找存在字符串:grep -r 字符串 文件名
只打印匹配文件名:grep -l 字符串 文件名 (这里不能扫描目录,可以搭配-r选项执行)
打印匹配的行数:grep -c 字符串 文件名 (执行结果是 一个数字 表示包含字符串的行数)
grep可以搭配其他的命令使用,一般我们常用来查询网络详细数据
注:这里留下两个命令让友友们自己去尝试使用,没有全部演示
lsof是不能直接使用的,需要安装lsof(执行下面当前命令就可以安装了,中途问是否能安装 输入y就行)
yum install lsof
lsof主要是用来获取被打开进程文件的信息(监视作用)
显示所有打开网络的连接:lsof -i :端口号 (可以执行显示)
显示打开指定文件的所有进程:lsof 文件名 (显示该文件涉及到的进程)
列出打开文件的进程:lsof -a -p 进程号 | grep 文件名
我们可以使用以下命令来查找该进程打开的所有文件
显示所属user :lsof -u 用户名(针对所属用户)
find主要就是针对找文件相关的内容
按文件名查找文件:find 路径 -name 文件名
注:文件名这里* 表示多个字符串,?表示就是一个字符串
指定查找类型:find 文件路径 -type 文件类型
文件类型:f表示的就是普通文件 ,d是目录 ,l是符号连接
针对文件大小查找文件:find 文件路径 -size 文件字节
文件字节:K表示KB M表示MB G表示GB
按修改时间查找文件 : find 文件路径 -mtime n
n:这里的n表示n前对文件的修改
netstat主要是用来网络连接 、路由表 、连接的数据统计
系统端口使用情况:netstat -anp | grep 进程号(也可以写进程名称)
注:如果不写“ | ”的话,就是显示系统端口使用的情况
显示 UDP 类型的端口 :netstat -nupl
显示 TCP 类型的端口 : netstat -ntpl
显示统计已连接上的 :netstat -na | grep ESTABLISHED(可以更换连接状态)
注:这里就不在演示了,统计已连接上的 字符串的连接状态