小知识

小知识

  • 修改主机名

    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 @   mingtian是吧  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示