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


    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

  • 相关阅读:
    Spring Boot & ES 实战,值得参考!
    什么是 Java 对象深拷贝?面试必问!
    一份完整的 MySQL 开发规范,进大厂必看!
    ASP.NET + MVC5 入门完整教程五 --- Razor (模型与布局)
    C# MVC扩展方法
    C#泛型应用及原理
    部分类及部分方法
    程序集
    类的可访问属性
    ASP.NET + MVC5 入门完整教程四---MVC 中使用扩展方法
  • 原文地址:https://www.cnblogs.com/sxFu/p/12698645.html
Copyright © 2020-2023  润新知