基本的增删改查
ls:显示文件或目录
-l:列出文件详细信息l(list)
-a:列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 目录名:创建目录
-p:级联创建
cd 目录:切换目录
pwd:显示当前目录
rmdir [-p] 目录名:删除空目录
-p:级联删除
touch 文件名:创建空文件
echo:创建带有内容的文件。
cat 文件名:查看文件内容
cp 源文件 目标文件:拷贝
mv 源文件 目标文件:移动或重命名
rm 文件名/目录名:删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find:在硬盘中搜索某文件(搜索速度慢,不常用。语法有点复杂自己了解,我记不住具体的)
whereis 文件名/目录名:搜索文件名/目录名(针对/bin和/sbin下面的可执行文件进行查找)
locate 文件名/目录名:搜索文件名/目录名(有时间差)
wc:统计文本中行数、字数、字符数
tree:树形结构显示目录,需要安装tree包
ln:创建链接文件
less 文件名:分页显示文本文件内容(可以向前、向后翻页)
head -n number 文件名:显示文件的前number行,默认显示前10行
查看日志除了最后10行的其他日志:head -n -10 spring.log
tail -n number 文件名:显示文件的后number行,默认显示后10行
-f:实时
查看日志最后20行并且搜索关键字:tail -n 20 spring.log | grep --color 'mis'
查看底部最新300行记录并且实时刷新:tail -n 300 -f spring.log
实时查看日志:tail -f spring.log
cut:截取一行数据的某一部分,类似于Java或者js的split方法,常用于分析log文件
cut -d '分隔字符' -f 取分割后的第几段内容 #用于有特定分隔字符
cut -c 字符区间 #用于排列整齐的讯息
grep [--color=auto] '搜寻字串' filename: 在文本文件中查找某个字符串
查找日志中关键行,并向后扩展10行: grep --color -A 10 "欲查找的关键字" spring.log
查找日志中关键行,并向前扩展几行: grep --color -B 10 "欲查找的关键字" spring.log
查找日志中关键行,并在关键行前后扩展10行: grep --color -10 "XXXXX" spring.log
查询关键字,并且翻页:grep --color '欲查找的关键字' spring.log | less
网络端口、线程命令
who:显示在线登陆用户
whoami:显示当前操作用户
hostname:显示主机名
uname:显示系统信息
free:观察内存使用情况
top:动态显示当前耗费资源最多进程信息
ps:显示瞬间进程状态
ps aux:观察系统所有的进程数据
查看Java进程:ps aux | grep java
ps命令查看Java线程数:ps -eLf |grep java -c
查看所有有关Tomcat的进程:ps -ef | grep tomcat
查看java进程:ps -ef|grep java
du:查看目录大小
du -h 目录名:带有单位显示目录信息
df:查看磁盘大小
df -h:带有单位显示磁盘信息
ifconfig:查看网络情况
ping ip地址:测试网络连通
netstat:显示网络状态信息
使用netstat命令查询有多少台机器连接到9999端口:netstat -nat |grep 9999-c
数据库端口3306,使用netstat命令查看已经使用了多少个数据库连接:netstat -nat |grep 3306 -c
clear:清屏
kill -9 进程id:杀死进程,可以先用ps或top命令查看进程的id,然后再用kill命令杀死进程。
curl www.baidu.com:看URL能不能用
lsof -i: 端口号:查看端口属于哪个程序
vim的使用
vim分为三种模式:一般指令模式、编辑模式、命令行命令模式
- 一般指令模式 :
vi filename
进入一般指令模式,可以使用“上下左右”按键来移动光标,使用“删除字符”、“删除整列”、“复制、贴上”来处理文件数据。 - 编辑模式:在一般指令模式中无法编辑文件内容,按下
i, I, o, O, a, A, r, R
等任何一个字母之后进入编辑模式,按下Esc
回到一般指令模式。 - 命令行命令模式:在一般模式当中,输入
: / ?
三个中的任何一个按钮,就可以将光标移动到最下面那一行。可以执行“搜寻数据”、读取、存盘、大量取代字符、离开vi、显示行号等等的动作,按下Esc
回到一般指令模式。
命令模式下的指令:
:q 退出本模式
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 向光标之下查找apache,按n跳到下一个,shift+n上一个
?apache 向光标之上查找apache
yyp 复制光标所在行,并粘贴在下一行,若为yyP,则复制光标所在行,并粘贴在上一行
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
查看日志
一、查看两个时间之间的日志:sed -n '/2022-04-03 09:40:55.334/,/2022-04-03 10:20:24.812/p' spring.log
,时间点一定要在日志中存在,可用:grep --color '2022-04-03 09:40:55.334'
看时间点是不是存在
二、查看日志第5到第10行:sed -n '5,10p' spring.log
三、不解压查看压缩包中信息:gzip -dc 压缩包名
文件权限
格式:chmod [参数] 权限文件名
r(读)的权限的数字为4
w(写)的权限的数字为2
x(执行)的权限数字为1
压缩与解压命令
一、zip
zip [选项] 压缩包名 源文件或源目录
选项:
-r:压缩目录
示例:zip ana.zip ananda-ks.cfg
压缩多个文件:zip test.zip abc abcd
zip对应的解压缩命令为unzip:unzip [选项] 压缩包名
二、gzip
gzip [选项] 压缩包名
-c, -stdout. -stdout: 将输出写到标准输出上,并保留原有文件。
-d, --decompress, --uncompress: 将被压缩的文件解压缩。
-r,-rcurivee递归地查找指定目录并压缩其中的所有文件或解压缩。
-t, --test: 测试,即检查压缩文件的完整性。
注意:使用gzip压缩文件后会将原文件删除,如果想保留原文件则可以使用-c选项将压缩过程产生的标准输出写入一个新的文件中,示例如下:>的作用是覆盖内容,>>的作用是追加内容
下述命令会将123这个目录下的每个文件分别进行压缩,而不是将整个123目录进行压缩:gzip -r 123
解压缩也可以使用gunzip