🏝️ 博主介绍
大家好,我是一个搬砖的农民工,很高兴认识大家 😊 ~
👨🎓 个人介绍:本人是一名后端Java开发工程师,坐标北京 ~
🎉 感谢关注 📖 一起学习 📝 一起讨论 🌈 一起进步 ~
🙏 作者水平有限,欢迎各位大佬指正留言,相互学习进步 ~
目录
1. 处理目录的常用命令 🚀
- ⭐ ls(英文全拼:list files): 列出目录及文件名,
-l
显示详情,-a
显示隐藏文件 - ⭐ cd(英文全拼:change directory):切换目录
- ⭐ pwd(英文全拼:print work directory):显示当前工作目录的绝对路径
- ⭐ mkdir(英文全拼:make directory):创建一个新的目录,
-p
递归创建 - ⭐ rmdir(英文全拼:remove directory):删除一个空的目录
- ⭐ cp(英文全拼:copy file): 复制文件或目录,
-r
递归复制,-i
已存在会先询问,-f
已存在则覆盖 - ⭐ touch 新建文件
- ⭐ rm(英文全拼:remove): 删除文件,
-i
询问是否删除,-f
不询问,-r
递归删除文件和文件夹 - ⭐ mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称,
mv a1 a2
修改a1名称为a2,mv a1 /opt
移动a1到opt目录下 - ⭐ find 命令:find 目录 参数 文件名称 示例:
find /usr/tmp -name 'a*'
查找/usr/tmp目录下的所有以a开头的目录或文件 - ⭐ vi和vim:修改编辑文件,
esc
进入命令行模式;i
进入编辑模式;低行模式中:q!
强制退出,:q
退出,:wq
保存并退出 - ⭐ chmod: 改变文件或目录的权限。读(r)、写(w)和执行(x)
chmod -R +x /root/mysql/bin
给 /root/mysql/bin 目录下的所有文件和子目录添加执行权 - ⭐ chown: 改变文件或目录的所有者和组。要将 /root/mysql/bin 目录及其子目录和文件的所有者更改为 mysqluser(假设该用户已存在),并将组更改为 mysqlgroup(同样假设该组已存在),你可以使用以下命令:
chown -R mysqluser:mysqlgroup /root/mysql/bin
- ⭐ du: 估计文件和目录的磁盘使用情况。要查看 /root/mysql/bin 目录及其子目录和文件占用的磁盘空间,你可以使用以下命令:
du -sh /root/mysql/bin
- ⭐ history :
使用!和命令编号:
你可以通过!后跟命令编号来执行历史中的命令。例如,!100将执行历史列表中编号为100的命令。
使用Ctrl+R进行搜索
:在bash中,你可以使用Ctrl+R启动反向搜索(reverse-i-search),然后输入命令的一部分来查找并执行它。找到后,按Enter键执行该命令,或者按Ctrl+G取消搜索。
2. 文件内容查看 🚀
- ⭐ cat 由第一行开始显示文件内容
- ⭐ tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- ⭐ nl 显示的时候,顺道输出行号!
- ⭐ more 一页一页的显示文件内容
- ⭐ less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- ⭐ head 只看头几行,
-n
后面接数字代表几行的意思,head -n 20 /etc/man.config
显示前20行 - ⭐ tail 只看尾巴几行,
-n
后面接数字代表几行的意思,-f
:表示持续侦测,默认查看最后10行。tail -f notes.log
:持续侦测最后十行
3. 硬件查看 🚀
- ⭐ 查看目录或文件使用情况:
du -sh
(总的)du -h
(单个) - ⭐ 查看磁盘大小和占用量:
df -h
- ⭐ 查看内存大小和占用量:
free -h
- ⭐ 查看CPU大小:
lscpu
- ⭐ 实时查看cpu、内存占用量:
top
4. 其他命令 🚀
🌈 4.1 修改文件权限
在终端输入:
ls -l xxx.xxx
(xxx.xxx是文件名)
那么就会出现相类似的信息,主要都是这些:
-rw-rw-r–
- r 表示文件可以被读(read)
- w 表示文件可以被写(write)
- x 表示文件可以被执行(如果它是程序的话)
- -表示相应的权限还没有被授予
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
使用chmod 修改文件权限
–x=1;-w-=2;r–=4; r-x=5;rw-=6;rwx=7;
假如设置权限:rwxrw-r–
chmod 764 filepath
🌈 4.2 压缩文件操作
如果是zip包 解压 :
unzip a.zip -d /opt/
假如unzip没安装,可以安装下 yum install -y unzip zip
🍨 1. 打包和压缩
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *
🍨 2. 解压
命令:tar [-zxvf] 压缩文件
其中:x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目录下
示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
tar -xvf ab.tar -C /usr------C代表指定解压的位置
🌈 4.3 ps显示进程
ps命令支持三种使用的语法格式
- UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符
- BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符
- GNU 风格的长选项,选项前有两个“-”连字符
aux是 BSD 风格,-aux是UNIX 风格,建议使用aux
同时查看cpu和内存占用情况
top
: M 键来切换到按内存占用率排序
ps -ef | grep java
: -e
显示所有进程,-f
显示程序间关系,grep java
搜索字段为java的相关进程
查看端口是否被占用三种命令:
ps -ef | grep 端口号
lsof -i:端口号
netstat -an | grep 端口号
🌈 4.4 运行jar包
java -jar XXX.jar
:这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。
java -jar XXX.jar &
:&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。
nohup java -jar XXX.jar &
:使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
nohup java -jar XXX.jar >temp.out &
:temp.out的意思是将日志输出重定向到temp.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
🌈 4.5 常用快捷键
Ctrl+S键,停止滚屏;
以及Ctrl+Q键可以恢复滚屏;
而按Ctrl+C(中断)键则可以终止该命令的执行。
🌈 4.6 线程运行诊断-cpu占用过多
推荐参考:linux系统cpu飙高如何排查
🌈 4.7 环境变量
vi /etc/profile
编辑环境变量配置文件
source /etc/profile
立即生效
5. 排查日志 🚀
🌈 查询关键字文本:
grep <搜索文本> <file地址>
less <file地址> | grep <搜索文本>
举例:
🌈 查询范围时间日志:
grep <时间正则表达式> <file地址>
less <file地址> | grep <时间正则表达式>
举例: 2024-08-07 16:48:[3-4][0-9]
表示查询 2024-08-07 16:48:30 - 2024-08-07 16:48:49
时间段日志
🌈 日期结合关键字:
grep <时间正则表达式> <file地址> | grep <搜索文本>