记录工作中经常使用的命令
tree命令
Linux tree命令用于以树状图列出目录的内容。
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
语法
tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
参数说明
- -a 显示所有文件和目录。
- -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
- -C 在文件和目录清单加上色彩,便于区分各种类型。
- -d 显示目录名称而非内容。
- -D 列出文件或目录的更改时间。
- -f 在每个文件或目录之前,显示完整的相对路径名称。
- -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
- -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
- -i 不以阶梯状列出文件或目录名称。
- -L level 限制目录显示层级。
- -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
- -n 不在文件和目录清单加上色彩。
- -N 直接列出文件和目录名称,包括控制字符。
- -p 列出权限标示。
- -P<范本样式> 只显示符合范本样式的文件或目录名称。
- -q 用"?"号取代控制字符,列出文件和目录名称。
- -s 列出文件或目录大小。
- -t 用文件和目录的更改时间排序。
- -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
- -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
实例
测试目录:/DATA/script/TV;输入tree命令
加上-C -D参数,输入命令:tree -CD TV
可以发现列出文件或目录的更改时间以及色彩可以分辨文件类型。
在当前目录下找出占用空间最大的前N大文件
首先要了解三个常用命令:
- du : 计算出单个文件或者文件夹的磁盘空间占用.
- sort : 对文件行或者标准输出行记录排序后输出.
- head : 输出文件内容的前面部分.
du:
-a:显示目录占用空间的大小,还要显示其下目录占用空间的大小
sort:
-n : 按照字符串表示的数字值来排序
-r :按照反序排列
head :
-n : 取出前多少行(根据自己需要)
查看各文件夹大小命令:du -h --max-depth=1
linux, base64加密解密
格式:base64
从标准输入中读取数据,按Ctrl+D结束输入。将输入的内容编码为base64字符串输出。
一、加密
格式:echo "1523" | base64
二、解密
格式:echo "MTUyMwo=" | base64 -d
获取CPU的个数(几核CPU)
grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
可以查询CPU的物理个数。结果为2,说明CPU有两个。
cat /proc/cpuinfo |grep "cores"|uniq
可以查看CPU的核数。结果为2,说明一个CPU的有2个芯片组,总核数是4核。
删除某目录下过多的文件
如果要删除的文件很多,在使用rm -rf 就会报文件列表过多的错误,此时可以结合find命令删除
find . -name "202004*" | xargs rm -rf '202004*'
以时间截取日志文件
sed -n '/2020-10-27 08:00/, /2020-10-27 09:48:37/p' /opt/applog/TrpFlyer.log > /home/file.txt
免密登录
ssh-keygen
for i in {1..10}; do ssh-copy-id root@xxx.xxx.xxx.$i; done
使用netstat查看各种连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果:
TIME_WAIT 545 (处理完毕,等待超时结束的请求数)
CLOSE_WAIT 169
SYN_SENT 1
ESTABLISHED 1045 (正常数据传输状态)
LAST_ACK 24 (正在等待处理的请求数)
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
打开文件最多得10个进程
lsof |awk '{print $2}' | sort | uniq -c | sort -t ' ' -k1 -nr | head -n 10 注:-k1从第1列开始显示-k来指定列数 -rn sort默认的排序方式是升序,如果想改成降序,加个-r就搞定了。使用-n选项,来告诉sort,“要以数值来排序”!
查看磁盘IO并找出占用IO读写很高的进程
通过 iostat -x 查看相关磁盘使用信息。
通过 iotop 命令找到 IO 占用高的进程。
通过这个命令可以看见比较详细信息,如:进程号,磁盘读取量,磁盘写入量,IO百分比,涉及到的命令是什么。
通过 pidstat 命令展示I/O统计,每秒更新一次
pidstat -d
删除前N天日志
1 2 3 4 5 6 7 | find /opt/app/logs/ -mtime +7 -name "*.log" - exec rm -rf {} \; # -mtime:标准语句写法; # +7:查找7天前的文件,这里用数字代表天数; # "*.log":希望查找的数据类型; # -exec:固定写法; # rm -rf:强制删除文件,包括目录; # {} \; :固定写法,一对大括号+空格+\+; |
linux 性能监控 sar命令
【参考资料:https://blog.csdn.net/dexter159/artic获取CPU的个数(几核CPU)le/details/72598470】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix