小知识
小知识
-
修改主机名
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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏