Avatar

Organizations

23 results for Linux
  • 基于Centos 7

    查看设备信息

    # 简单接口状态
    $ nmcli dev status
    # 详细的接口信息
    $ nmcli dev show
    # 接口的详细信息
    $ nmcli dev show <interface-name>
    

    查看连接(connection)的信息

    # 简单信息
    $ nmcli conn show
    # 详细的连接信息
    $ nmcli conn show
    # 某个连接的详细信息
    $ nmcli conn show <conn-name>
    

    创建连接

    nmcli conn add type <ethernet> con-name <conn-name> ifname <dev-name> ip4 <192.168.100.100/24> [gw4 <192.168.100.1>]
    

    修改配置

    静态IP改动态IP

    nmcli conn mod <conn-name> /
        ipv4.method auto /
        ipv4.address "" /
        ipv4.gateway "" /
        ipv4.dns ""
    

    修改DNS

    $ nmcli conn mod <conn-name> ipv4.dns "1.2.4.8"
    

    设置自动连接

    # 查询和显示所有网络连接的自动连接属性的当前值
    $ nmcli -f name,autoconnect connection
    # 更改网络连接的属性值
    $ nmcli conn mod <conn-name> connection.autoconnect yes
    

    配置生效

    nmcli conn up <conn-name>
    

    激活连接

    $ nmcli conn up <conn-name>
    $ nmcli conn down <conn-name>
    
    $ nmcli dev connect <dev-name>
    $ nmcli dev disconnect <dev-name>
    

    建议使用 nmcli dev disconnect interface-name 命令,而不是 nmcli con down connection-name 命令,因为连接断开可将该接口放到“手动”模式,这样做用户让 NetworkManager 启动某个连接前,或发生外部事件(比如载波变化、休眠或睡眠)前,不会启动任何自动连接。

    CLI nmcli network Linux Created Mon, 17 Jan 2022 15:17:58 +0800
  • sed [OPTION] [expression] file
    
    [OPTION]
      -n 屏蔽输出
      -i 替换模式
      -i.bak 替换前先备份文件
      -E 使用扩展正则表达式,语法更接近现代正则表达式(如 Perl、Python、JavaScript),代码更清晰易读(去掉了很多反斜杠),减少转义错误
      -e 使用表达式,可使用多个表达式
    
    [expression]
      s/regular/replace/ 替换命令
      
      0,/regular/s//replace/ 仅替换从文件开头(第 0 行)首次匹配regular成功的内容,只用GNU版本的sed
      
      /regular/replace/g 匹配整行,默认只匹配一次
      /regular/replace/d 删除行
      /regular/replace/p 打印匹配的行
    

    读取指定行

    sed -n '1,2p' file
    

    删除行

    # 删除空行
    sed -i '/^\s*$/d' merge1.log
    sed -i '/^$/d' filename.txt  # `^$` 匹配空行
    # 按行号删除
    sed -i '5d' filename.txt  # 删除第5行
    # 删除最后一行
    sed -i '$d' filename.txt  # `$` 表示最后一行
    # 删除连续行
    sed -i '10,20d' filename.txt  # 删除第10到20行
    # 删除不连续的行
    sed -i '5d;10d;15d' filename.txt  # 删除第5、10、15行
    # 删除包含特定文本的行
    sed -i '/pattern/d' filename.txt  # 删除含"pattern"的行
    # 删除不匹配的行(保留匹配行)
    sed -i '/pattern/!d' filename.txt  # `!` 表示取反
    # 删除以某文本开头/结尾的行
    sed -i '/^prefix/d' filename.txt  # 删除以"prefix"开头的行
    sed -i '/suffix$/d' filename.txt  # 删除以"suffix"结尾的行
    

    删除冗余信息

    sed -i 's/.*a2p_replyclient_log.*[infoerror].[0-9].log.gz://' merge.log \
    && sed -i 's/org.springframework.amqp.rabbit.RabbitListenerEndpointContainer.* - //' merge.log \
    && sed -i '/.*send 1 time for the url is .*/d' merge.log \
    && sed -i '/.*redis key:[0-9]*,value:.*/d' merge.log
    
    sed -i '/>>>>.* retry:2/d' 2021.8.log
    sed -i 's/the content of the url:.*receiveStatusReportResultChinaMobile.shtml //' 2021.8.log
    

    删除毫秒

    sed -i 's/\.[0-9]\{0,3\}\( \[\)/\1/' merge.log
    

    删除时间

    sed -i 's/.*\(\[INFO\]\)/\1/' 2021.8.log
    sed -i 's/.*\(\[ERROR\]\)/\1/' 2021.8.log
    sed -i 's/time:.*,\(is_china_mobile\)/\1/' 2021.8.log
    

    删除冗余字符

    sed -i 's/error for the url//' merge.log
    sed -i 's/can not read content from the url//' merge.log
    

    统计

    sed -n '/ status:DELIVRD,/p' result.log | wc -l
    sed -n '/"originalStatus":"DELIVRD"/p' merge.log | wc -l
    

    去重复

    awk '!x[$0]++' merge.log
    sort -n merge.log | uniq
    

    修改Ubuntu源地址

    sudo sed -i 's/\(archive\|security\).ubuntu/mirrors.aliyun/' /etc/apt/sources.list
    

    SSH连接不自动断开

    sed -i 's/^#\(ClientAliveInterval\) 0$/\1 60/g' /etc/ssh/sshd_config
    sed -i 's/^#\(ClientAliveCountMax\) 3$/\1 5/g' /etc/ssh/sshd_config
    systemctl restart sshd
    

    /etc/hosts

    # sed 参考 http://man.linuxde.net/sed
            #  https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html
    sed ......
    

    参考文档

    sed CLI Linux Created Mon, 17 Jan 2022 11:18:47 +0800
  • 初始化配置

    # 配置时区
    timedatectl set-timezone Asia/Shanghai
    
    # 关闭邮件服务
    systemctl stop [email protected] \
    ; systemctl disable [email protected]
    
    # 配置Shell提示符
    echo "PS1='\[\e[36;40m\][\D{%Y-%m-%d} \A] \[\e[0m\] \[\e[35;40m\]\w\[\e[0m\]\n\[\e[33;40m\][\u@\H]\[\e[0m\] \\$ '" >> ~/.bashrc
    # 打开自定义命令
    sed -E -i.bak \
        -e '/(export|eval|alias (ls|ll|l|rm|cp|mv))/s/^# //' ~/.bashrc \
        && . ~/.bashrc
    
    # 配置 sshd
    # 允许root密码登录
    # 允许密码登录
    # 解决SSH自动断开问题
    sed -E -i.bak \
        -e 's/#(Port 22)/\1/' \
        -e 's/#(PermitRootLogin) prohibit-password/\1 yes/' \
        -e 's/#(PubkeyAuthentication yes)/\1/' \
        -e 's/#(PasswordAuthentication yes)/\1/' \
        -e 's/#(AllowTcpForwarding yes)/\1/' \
        -e 's/(X11Forwarding yes)/#\1/' \
        -e 's/#(Compression delayed)/\1/' \
        -e 's/#(ClientAliveInterval) 0/\1 60/' \
        -e 's/#(ClientAliveCountMax) 3/\1 3/' \
        /etc/ssh/sshd_config \
        && systemctl restart sshd.service
    

    软件更新

    软件库管理

    CLI bash ssh top linux Created Mon, 17 Jan 2022 11:07:07 +0800