• Linux--奇思淫才


    Image Entrypoint Image Cmd Container command Container args Command run
    [/ep-1] [foo bar] not set not set [ep-1 foo bar]
    [/ep-1] [foo bar] [/ep-2] not set [ep-2]
    [/ep-1] [foo bar] not set [zoo boo] [ep-2 zoo boo]
    [/ep-1] [foo bar] [/ep-2] [zoo boo] [ep-2 zoo boo]

    shell 脚本遇到错误时直接退出

    set -e 
    
    在写的每个脚本都应该在文件开头加上set -e, 
    这句语句告诉bash如果任何语句的执行结果不是true则应该退出
    

    查看CPU消耗前十的进程

    [ec2-user@baolin ~]$ps -aux --sort=-pcpu |head
    

    根据进程号找到可执行的文件路径

    [ec2-user@baolin ~]$ ll /proc/<pid>/exe 
    lrwxrwxrwx 1 ec2-user ec2-user 0 May 30 06:41 /proc/<pid>/exe -> /usr/local/java/jdk1.7.0_79/bin/java
    

    mysql单条语句生成insert sql语句

    [ec2-user@baolin ~]$ mysqldump -h 192.1688.50.100 -t -uroot -p baolin_rel tbl_ap_version_i --where="vers_id < 100" >   tbl_ap_version_i.sql                 
    Enter password: 
    

    mysql查看表的列信息

    MariaDB [adsdk_rel]> show full columns from 表名;
    +-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
    | Field           | Type         | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment     |
    +-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
    | usin_id         | int(10)      | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references |             |
    | usin_deviceId   | varchar(100) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | 设备ID      |
    | usin_appId      | varchar(10)  | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references | APP应用ID   |
    | usin_createTime | datetime     | NULL            | NO   |     | NULL    |                | select,insert,update,references | 日期        |
    +-----------------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+-------------+
    4 rows in set (0.01 sec)
    

    查看Linux的网关

    [root@linux_base#>> ~]#route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.100.2   0.0.0.0         UG    0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    

    通过sshpass实现对秘钥的分发

    # 安装 sshpass
    # yum install sshpass -y
    # 生成本地key 
    # ssh-keygen
    
    [root@linux-node1#>> ~]#egrep -v "#|^$" scp_key.sh 
    IP="
    192.168.100.11
    192.168.100.12
    192.168.100.13
    "
    for node in ${IP};do
      sshpass -p 123456 ssh-copy-id  -p22 ${node}  -o StrictHostKeyChecking=no
        if [ $? -eq 0 ];then
        echo "${node} 秘钥copy完成,准备环境初始化....."
           scp -P22 /etc/hosts ${node}:/etc/hosts
           echo "${node} host 文件拷贝完成"
        fi
    done
    

    当修改完时区后发现计划任务不能在指定时间执行:

    # 重启一下计划任务
    systemctl restart crond.service
    

    Vim 粘贴格式错乱解决

    :set paste
    

    查看文件目录大于100 M的文件夹

    root@cd849280f837e4584aa13572dc2ff51d/diff# du -sh * |egrep ([0-9]{1,3}){3}M | sort
    133M    04468714e8fc6d5437c54e5f8ab9a67d6b092b74dd4784a84d5bee3ad1217221
    133M    5f457319fdabcfa6f22ed47f60af69a74f781b5b035fc49a6a5f0d1ab5d3855e
    137M    76af62511fc0eb213aea6f4e183c2f2124c6b729401022dd480cec58c2f14a16
    153M    9cabdd2e9f7c7aff0d23ad3fc80b924574a8fb7046d389a51bb843a186956d9a
    181M    5d0c9517f3a8baab413a8407c0b72fc34130929c081145f58201205989b5f8f0
    190M    c5bcce19e9c189198e24613d7ec317c2747be5631f7610704f9b8856b7b80a36
    203M    4cffaee108a74ed17a964e379754f7e33994b6e09192acfe65e288738911c29c
    

    常用命令

    ps的常见参数

    -A     显示所有进程(等价于-e)(utility)
    -a     显示一个终端的所有进程,除了会话引线
    -N     忽略选择。
    -w     显示加宽可以显示较多的资讯
    -au    显示较详细的资讯
    -aux     显示所有包含其他使用者的行程
    -d     显示所有进程,但省略所有的会话引线(utility)
    -x     显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
    -p     pid 进程使用cpu的时间
    -u     uid or username 选择有效的用户id或者是用户名
    -g     gid or groupname 显示组的所有进程。
    U      username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
    -f     全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
    -l     长格式(有F,wchan,C 等字段)
    -j     作业格式
    -o     用户自定义格式。
    v      以虚拟存储器格式显示
    s      以信号格式显示
    -m     显示所有的线程
    -H     显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
    e      命令之后显示环境(如:ps -d e; ps -a e)(utility)
    h      不显示第一行
    

    1 .查看java进程的pid

    [ec2-user@ip-172-11-11-10 ~]$ ps -ef |grep java
    

    2 .根据进程pid 查看有哪些线程 tid

    [ec2-user@ip-172-11-11-10 ~]$ ps -mp 32355 -o THREAD,tid,time |sort -rn
    

    3 .查询CPU占用前10的进程

    [ec2-user@ip-172-11-11-10 ~]$ ps -aux --sort=-pcpu |head -10
    

    TOP 常用参数

    1 .查看当前进程的tid实时状态

    [ec2-user@ip-172-11-11-10 ~]$ top -H -p 32355
    

    2 .查看指定tid 的16进制值

    [ec2-user@ip-172-11-11-10 ~]$ printf "%x
    " 8509
    

    3 .使用jstack 查看该 pid的线程内容

    [ec2-user@ip-172-11-11-10 ~]$ ./jstack PID |grep 'tid 16 进制值' -A 60
    

    更多top的使用方法:
    https://www.jianshu.com/p/3f19d4fc4538

  • 相关阅读:
    【Pascal's Triangle II 】cpp
    【Pascal's Triangle】cpp
    【Substring with Concatenation of All Words】cpp
    【Multiply Strings】cpp
    【Minimum Window】cpp
    【Merge Intervals】cpp
    【Insert Interval】cpp
    认识GIT之入门
    数据结构学习系列之线性表(四)
    VBox虚拟机与主机(宿主)通讯原理以及socat(套接字猫)简单介绍
  • 原文地址:https://www.cnblogs.com/baolin2200/p/9337330.html
Copyright © 2020-2023  润新知