小知识

小知识

  • 修改主机名

    hostnamectl set-hostname www.A1.com
    echo "www.A1.com" >/etc/hostname
    hostname www.A1.com
    
  • 修改网络

    vi /etc/sysconfig/network-scirpts/ifcfg-eth0
    
    DEVICE=eth0 ================》网卡名称第一块网卡为eth0,第二块为eth1...
    BOOTPROTO=static============》static为固定IP地址,非动态DHCP获取
    BROADCAST=10.0.0.255 =======》广播地址,一般为网络地址的最后一个地址。
    HWADDR=00:0C:29:0E:5F:63 ===》mac地址,不同的机器不能重复,尤其是在刻隆虚拟机或复制网卡配置时要注意。
    IPADDR=10.0.0.161 ==========》IP地址
    NETMASK=255.255.255.0=======》子网掩码/24
    NETWORK=10.0.0.0  =========》网段设置
    ONBOOT=yes =================》开机网卡自启动
    GATEWAY=10.0.0.254==========》网关的配置,也可以命令行通过route添加删除。
    TYPE=Ethernet===============》类型
    
  • 路由

    # 查看路由
    ip r
    route -n
    netstat -rn
    
    # 默认路由
    route add default gw 192.168.0.1
    route add -net 0.0.0.0 gw 192.168.0.1
    route add -net 0.0.0.0/32 gw 192.168.0.1
    route delete default gw 192.168.0.1
    
    # 添加某一个网段的路由
    route add -net 10.1.1.0 netmask 255.255.255.0 gw 192.168.0.1
    route delete -net 10.1.1.0/24 gw 192.168.0.1
    
    # 添加某个主机的路由
    route add -host 192.168.0.109 netmask 255.255.255.0 gw 192.168.0.1
    
    # 为路由指定网络接口
    route add -net 10.1.1.0/24 dev ens33
    

    修改永久生效

    vi /etc/sysconfig/network-scripts/route-ens33
    10.1.1.0/24 via 192.168.0.1
    172.10.1.0/24 via 172.10.1.1
    
  • awk 关联数组

    # 根据nginx 日志查询出访问该网站最大的ip
    awk '{count[$1]++} END{for(i in count){print count[i],i}}' /var/log/nginx/access.log|sort -rn |head
    
    # 统计系统tcp 连接状态
    netstat -ant|awk '{count[$NF]++} END{for(i in count){print count[i],i }}'
    
  • SSH通过非交互方式登录

    yum install -y sshpass

    sshpass -p pytc@2024 ssh 192.168.0.249
    
  • 服务绑定非本地ip

    cat >>/etc/sysctl.conf<<EOF
    #当10.10.10.100 不在本地网卡时无法启动nginx
    net.ipv4.ip_nonlocal_bind = 1
    net.ipv6.ip_nonlocal_bind = 1
    EOF
    
  • 设置操作系统12小时/ 24小时制 测试没有生效

    cat /etc/default/locale <<EOF
    LANG=en_US.UTF-8
    # 24小时制
    LC_TIME=en_DK.UTF-8
    # 12小时制
    #LC_TIME="en_US.UTF-8"
    EOF
    
  • 将hosts备份为hosts.org

    cp /etc/hosts{,.org}
    
  • 计算字符串长度

    echo ${#var}
    echo $(expr length $var)
    awk -v var=$var 'BEGIN{print length(var)}'
    
  • 重命名文件

    # touch {1..10}.finish.txt
    1.finish.txt
    2.finish.txt
    3.finish.txt
    4.finish.txt
    5.finish.txt
    6.finish.txt
    7.finish.txt
    8.finish.txt
    9.finish.txt
    10.finish.txt
    

    方法一变量的扩展参数

    # ${a%finish.txt}  删除结尾的finish.txt 
    [root@tencent-sh 1]# for a in `ls`;do \mv $a ${a%finish.txt}txt;done 
    [root@tencent-sh 1]# ls
    10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
    

    方法二先拼接命令后交给bash

    ls | awk -F "finish." '{print "mv",$0,$1$2}'|bash -
    

    方法三 rename

    # rename 要替换内容 替换后内容 对哪些文件
    rename finish. "" *
    10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
    
  • 特殊的文件权限

    SUID 只对可执行文件有效,执行时获得文件属主的权限。是一种提权的方式. 例如 ll which passwd`

    设置方式

    chmod u+s <可执行文件>
    chmod 4755 <可执行文件>
    

    SGID

    • 对于文件,执行时获得文件的属组权限
    • 对目录,在此目录下创建的文件都继承目录的属组,用于文件共享

    设置方式

    chmod g+s <文件或目录>
    chmod 2755 <文件或目录>
    

    Sticky 主要用于目录,只有文件所有者和 root 可以删除或重命名该目录下的文件

    suid      命令执行时调用属主的权限
    sgid      文件调用属组的权限,对于目录无论哪个用户创建的文件都拥有相同的组(文件共享作用)
    粘滞位   /tmp
    
  • 镜像仓库

    阿里云仓库 https://developer.aliyun.com/mirror/
    清华仓库 https://mirrors.tuna.tsinghua.edu.cn/

posted @ 2021-04-05 20:28  mingtian是吧  阅读(60)  评论(0)    收藏  举报