zoukankan      html  css  js  c++  java
  • 【原创】Linux常用命令记录

    1. 查看网络状态分布

    #!/bin/sh
    netstat -apn 2>/dev/null | grep 5600 
        | awk 'BEGIN {printf("%-15s%-15s%-15s%-15s
    ", "State", "Recv-Q", "Send-Q", "Count")} 
        /^tcp/ {++C[$6];R[$6]+=$2;S[$6]+= $3} END {for(a in C) printf("%-15s%-15s%-15s%-15s
    ", a, R[a], S[a], C[a])}'
     
    2. 杀掉同名进程
    #/bin/sh
    ps ux | grep 'SGW uWSGI' | grep -v grep | awk '{print $2}' | xargs kill -9
     3. 记录程序执行时间
    #!/bin/sh
    time curl www.baidu.com>/dev/null 2>&1

    4. 每隔一秒显示CPU/MEM/IO情况

    #!/bin/sh
    vmstat -n 1 [count:1000]
    iostat -n 1 [count:1000]

    5. 查看指定pid的进程正在做什么

    #!/bin/sh
    strace -p [pid]

    6. lsof 系列

    #!/bin/sh
    # 显示占用指定文件的进程信息
    lsof /var/log/messages
    
    # 显示指定用户相关的文件信息
    lsof -u worker
    
    # 显示指定进程打开的文件信息
    lsof -p 11968
    
    # 显示指定进程名打开的文件信息
    lsof -c mysql
    
    # 显示所有网络连接
    lsof -i 
    
    # 显示所有tcp类型的网络连接
    lsof -i tcp
    
    # 显示占用端口8080的信息
    lsof -i :8080
    
    # -a 与操作, 多条件且查询, 多条件或查询直接罗列条件即可
    lsof -i 4 -a -p 1234

     7. 查看总的CPU占用率和单个CPU的占用率

    #!/bin/sh
    # 显示所有CPU使用率
    sar -P ALL 1 10
    mpstat -P ALL 1
    # 可使用top之后按数字1也可以实现显示所有核心的占用率, 但是核心过多是无法显示

     8. yum

    #!/bin/sh
    # 安装mysql的yum repo
    sudo yum localinstall mysql57-community-release-el6-8.noarch.rpm
    # 查找所有跟mysql相关的repo
    yum repolist all | grep mysql
    # 禁用5.7
    sudo yum-config-manager --disable mysql57-community
    # 启用5.6
    sudo yum-config-manager --enable mysql56-community

    9. 查看父进程id

    #!/bin/sh
    # 第三列为父进程id
    ps -ef | grep mysql

    10. 查看和移除文件中非法utf8字符

    #查看文件的非法utf8字符
    grep -axv '.*' file.txt
    grep -P "[x80-xFF]" file
    # 过滤非法utf8字符 iconv -f utf-8 -t utf-8 -c file.txt will clean up your UTF-8 file, skipping all the invalid characters. -f is the source format -t the target format -c skips any invalid sequence

    20. mysql系列

    -- sql client 命令行部分
    -- select 导出数据
    SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '
    '
    FROM test_table;
    
    -- 导入数据
    LOAD DATA INFILE
    #!/bin/sh
    # 以下为shell下直接执行命令
    
    # 用root账户和密码导出dbname数据库的结构: -d
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;
    
    # 用root账户和密码导出dbname数据库中test数据表的结构: -d
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
    
    # 用root账户和密码导出dbname数据库的结构和数据: 没有-d参数
    mysqldump -uroot -pdbpasswd  dbname >db.sql;
    
    #  用root账户和密码导出dbname数据库中test数据表的结构和数据: 没有-d参数
    mysqldump -uroot -pdbpasswd dbname test>db.sql;
    
    # 清空数据库所有表, 基本思想就是生成批量的sql, 利用管道用mysql批量执行, 有外键不会成功, 只能保存到文件, 然后在收尾关开外键约束检查
    # 注:mysql的输出好像只能输出到文件之后再编辑,用管道连接会发现没有任何输出(除了管道连接的俩端都是mysql cmd之外)
    mysql -u[USERNAME] -p[PASSWORD] information_schema -N -s -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='[DBNAME]'" | mysql -u[USERNAME] -p[PASSWORD] [DBNAME]
    
    # 删除数据库所有表, 有外键约束时按照以下方法操作,也不会报错
    # 批量生成sql, 保存到文件中, 必须保存到文件, 用管道连接会发现没有任何输出(除了管道连接的俩端都是mysql cmd之外)
    mysql -u[USERNAME] -p[PASSWORD] information_schema -N -s -e "SELECT CONCAT('DROP TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='nextai'" > drop.sql
    # 为了防止外键错误, 首部增加俩行, 关闭外键检查
    sed -i '1iSET NAMES utf8;
    SET FOREIGN_KEY_CHECKS = 0;' drop.sql
    # 尾部开启外键检查
    sed -i '$aSET FOREIGN_KEY_CHECKS = 1;' drop.sql 
    # 执行sql, 必须指定数据库, 否则可能会造成误删除表的问题
    mysql -u[USERNAME] -p[PASSWORD] [DBNAME] < drop.sql 

     11. scp远程拷贝

    #!/bin/sh
    
    scp [参数] [原路径] [目标路径]
    
    # 从本地复制到远程主机
    # 指定了用户名,命令执行后需要输入用户密码;如果不指定用户名,命令执行后需要输入用户名和密码;
    # -r 递归复制整个目录。
    scp local_file remote_username@remote_ip:remote_folder
    scp local_file remote_username@remote_ip:remote_file
    scp local_file remote_ip:remote_folder
    scp local_file remote_ip:remote_file
    
    # 从远程复制到本地主机
    scp  remote_username@remote_ip:remote_folder local_file 
    # ... 原路径和目标路径对调
     
    持续更新...
  • 相关阅读:
    [转]让IIS支持FLEX的MXML格式
    将图片上传到数据库 因File.Open遭遇System.UnauthorizedAccessException
    WinForm Control 命名规范
    生成随机但又有规律可循的一组问答数 以提供远程授权服务
    [转]winform 安装部署
    silverlight相关
    [转]对WinForm的App.config文件进行加密
    [转]项目经理是这样当的
    CSS
    SQLServer下 存储过程内 包含事务 及 返回处理是否成功
  • 原文地址:https://www.cnblogs.com/pengyusong/p/5750599.html
Copyright © 2011-2022 走看看