zoukankan      html  css  js  c++  java
  • Learning(更新中)

    learning make me happy

    1. 查看journalctl程序使用-u

      journalctl -u docker
      
    2. tcpdump查看详细包内容

       tcpdump -i fm1-mac10 -vvv tcp dst port 8001 -q -X
      
    3. 查看linux开机自启服务

      systemctl list-unit-files
      
    4. 统计py项目行数‘排除migrations文件夹

      find . "(" -name "*.py" ")" ! -path "*/migrations/*" -print | xargs wc -l 
      
    5. watch 后面加命令,动态查看命令行结果

    6. nmtui,网卡配置,不好用#

    7. lsblk,查看linux硬盘

    8. 查找大文件

       find . -type f -size +100M  # 这里是+ 不是> 
      
    9. 在cp指令前面加反斜杠可以不弹出是否覆盖的询问而直接覆盖

      cp /app/WEB-INF/com/cfg.properties /app_bak/WEB-INF/com/cfg.properties       //会询问是否覆盖
      cp /app/WEB-INF/com/cfg.properties /app_bak/WEB-INF/com/cfg.properties      //不会询问
      
    10. C malloc内存不足会返回null

    11. yum安装brctl: bridge-utils

    12. go中int64和string之间的转化需要借助strconv包,强转会有问题

    13. ps aux |grep project_name | grep -v grep |cut -c 9-15 |xargs kill -9 //杀掉筛选出来的进程 linux

    14. 关于如何抓SNMP包

    tcpdump -i any -nn port snmp -w ./snmp1.cap
    tcpdump host IP地址  -w ./snmp1.cap
    tcpdump  -vv -A -T snmp -s 0 "(dst port 162) or (src port 161) or (dst port 161) and (host <SpectroSERVER IP>)" -w ./snmp1.cap
    tcpdump  -vv -A -T snmp -s 0 "(dst port 162) or (src port 161) or (dst port 161) " -w ./snmp1.cap
    tcpdump  -i any -vv -A -T snmp -s 0 "(dst port 162) or (src port 161) or (dst port 161) " -w ./snmp1.cap
    tcpdump  -i bond0.2 -vv -A -T snmp -s 0 "(dst port 162) or (src port 161) or (dst port 161) " -w ./snmp1.cap
    
    1. cat /proc/`pgrep python3|grep -v grep`/status 查找proc文件夹下进程名python3的pid的status文件

    2. 进程树查看

    pstree -p pid
    
    1. strace 跟踪进程的系统调用
    strace -tt -T -p pid
    strace -T -e brk -p pid  只过滤brk
    

    ltrace用法和strace基本一致 主要跟踪内核态,strace跟踪用户态 !!!目前使用ltrace时程序崩过一次 不清楚是不是这个导致的

    1. python pyinstaller打包时报错 (TypeError: an integer is required (got type bytes))
    pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
    
    1. mysql直接在命令行查询,使用-e参数
    mysql -uroot -ppasswd --default-character-set=utf8(编码 可选) -e "SELECT。。(。。sql语句)"  test(数据库名称) > test.txt (导出的文件设置)
    
    1. redis列表当作传输管道一次性取出所有
    LRANGE key 0 -1
    DEL key
    
    1. windows直接以管理员身份运行命令Administrator管理员用户名,pip3..为要执行命令,输入完成提示输入密码
    runas /profile /user:Administrator "pip3 install -r requirements.txt"
    
    1. docker查看详细容器信息(网络信息、映射信息等等各种信息)
    $ docker inspect  容器id/image
    
    1. docker时钟与宿主机同步(时区)
    docker cp /usr/share/zoneinfo/ cmseasy_ubuntu: /usr/share/zoneinfo/
    docker cp -L /usr/share/zoneinfo/Asia/Shanghai  cmseasy_ubuntu:/etc/localtime
    
    1. 动态规划第一步要做的:找出状态转移方程

    2. Fisher-Yates 洗牌算法

    在遍历过程中,生成一个范围在当前下标到数组末尾元素下标之间的随机整数。然后将当前元素和随机选出的下标所指的元素互相交换。
    
    1. 虚拟机entering emergency mode 解决
    xfs_repair -v -L /dev/dm-0
    
    1. 时间格式

    带Z的意思是zero表示UTC标准时间,UTC时间没有时区,但是可以转化成区分时区的GMT时间
    
    1. linux建立tcp/udp连接
    /dev/tcp/host/port
    	 If host is a valid hostname or Internet address, and port is
    	 an integer port number or service  name,  bash  attempts  to
    	 open a TCP connection to the corresponding socket.
    /dev/udp/host/port
    	 If host is a valid hostname or Internet address, and port is
    	 an integer port number or service  name,  bash  attempts  to
    	 open a UDP connection to the corresponding socket.
    
    可见,可使用以下shell命令发起tcp连接,
    exec 9>/dev/tcp/192.168.0.136/5000
    
    其中9为执行的文件描述符。这里>重定向符表示该文件描述符只能写入,如果想读取,可使用一下命令,
    exec 9<>/dev/tcp/192.168.52.136/5000
    
    至于关闭连接,则通过以下命令,
    exec 9>&-
    
    其中,9代表刚才创建的描述符。
    
    关于 >&-的解释
    REDIRECTION
    	   ...
           Each redirection that may be preceded by a file descriptor number may instead be preceded
           by  a word of the form {varname}.  In this case, for each redirection operator except >&-
           and <&-, the shell will allocate a file descriptor greater than 10 and assign it to  var‐
           name.   If  >&-  or  <&-  is preceded by {varname}, the value of varname defines the file
           descriptor to close.
    因此,也可以用以下命令关闭连接,
    exec 9<&-
    
    1. docker容器中启动uwsgi秒退
    docker容器中启动uwsgi秒退,若用docker logs 容器 只有 [uWSGI] getting INI configuration from uwsgi.ini,无其他错误信息。那么就是 uwsgi.ini里用了daemonize 参数。该参数会使uwsgi在后台运行。
    而docker容器启动时若无-d参数(用docker-compose的时候是无-d参数的),需要一个前台应用才不会自动退出。因为Docker容器仅在它的1号进程(PID为1)运行时,会保持运行。如果1号进程退出了,Docker容器也就退出了。
    所以这种情况删掉daemonize 参数即可。
    大部分的docker容器无错误信息自动退出的情况都是因为无前台应用维持容器运行
    

    30.ss命令(类似netstat命令,但是效率更高)

    ss -l 显示本地打开的所有端口             
    ss -pl 显示每个进程具体打开的socket                                             
    ss -t -a 显示所有tcp socket                                          
    ss -u -a 显示所有的UDP Socekt                                              
    ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接 
    ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接 
    ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程              
    ss -s 列出当前socket详细信息:
    
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 有任何问题请随时交流~ Email: araise1@163.com
  • 相关阅读:
    ssh事务配置
    使用注解实现事务处理
    c3p0、dbcp<转>
    添加业务层和事务机制
    使用spring集成hibernate
    使用Adivisor配置增强处理
    aop注解
    Spring IoC实现解耦合
    python console的命令执行
    python格式化输出
  • 原文地址:https://www.cnblogs.com/seasen/p/13576986.html
Copyright © 2011-2022 走看看