记录工作中经常使用的命令

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天日志

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

posted @ 2020-04-14 16:06  sxFu9528  阅读(159)  评论(0编辑  收藏  举报