一、⽹络不通排查流程
| 1. 确认⽹关地址是否通畅 2. 确认⽹卡配置是否正确 3. 确认⽹络管理服务关闭 systemctl stop NetworkManager systemctl disable NetworkManager |

二、etc⽬录下重要的数据⽂件
| 1./etc/fstab |
| 磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 --- 挂载 |
| (开了个⻔) |
| PS:所有存储设备必须挂载才能使⽤ |
| 临时挂载:mount /dev/cdrom /mnt |
| 永久挂载:修改⼀个和开机⾃动挂载相关的配置⽂件 /etc/fstab |
| |
| 设备⽂件 挂载点 |
| /dev/第⼀个分区 : /boot |
| /dev/第⼆个分区 : swap |
| /dev/第三个分区 : / |
| cat /etc/fstab |
| blkid |
| 总结:实现磁盘存储设备,挂载操作永久⽣效,开机⾃动加载挂载信息 |
| |
| 2./etc/rc.local |
| 系统正常加载启动 --- 读取rc.local⽂件 --- ⽂件主要保存命令 |
| 信息 --- 执⾏⽂件中的命令 --- 系统启动成功 |
| eg:开机⾃动备份 |
| cp /etc/sysconfig/network-scripts/ifcfg-eth0/tmp/ifcfg-eth0.bak |
| echo "cp /etc/sysconfig/networkscripts/ifcfgeth0 /tmp/ifcfg-eth0.bak" >> /etc/rc.local |
| """ |
| centos6:按照以上说明进⾏操作即可 |
| centos7:chmod +x /etc/rc.d/rc.local |
| """ |
| 运维操作规范(运维⼈员==救⽕队员) |
| 1)操作之前进⾏检查 |
| 2)操作之前进⾏备份 |
| 3)操作之后进⾏确认 |
| 4)操作之后进⾏总结 |
| 具体操作: |
| 1)检查相应路径是否存在备份⽂件 |
| 有备份⽂件:进⾏删除 |
| 2) 先在命令⾏进⾏测试执⾏ |
| 3)编辑开机⾃动加载命令配置⽂件rc.local |
| 4)重启系统进⾏确认 |
| |
| 3./etc/inittab |
| 系统启动运⾏级别 |
| 系统启动时候: |
| A系统启动:⽹络服务运⾏ 安全服务运⾏ 存储服务运⾏ 01级 别 |
| B系统启动:安全服务运⾏ 存储服务运⾏ 02级 别 |
| C系统启动:存储服务运⾏ 03级 别 |
| 三种系统:运⾏启动级别不⼀样 |
| |
| centos6 (7种运⾏级别) |
| 0 关机级别(init 0) |
| |
| 1 单⽤户模式(重置⽤户密码信息root 修复系统) |
| 救援模式 |
| 2 多⽤户模式 NFS (没有⽹络服务) |
| 3 多⽤户模式 (命令⾏模式) |
| 4 未知 未使⽤ |
| 5 图形化界⾯模式(init 5) |
| 6 重启级别 |
| centos7 (target⽬标) |
| ls /usr/lib/systemd/system/runlevel*target -l |
| poweroff.target |
| rescue.target |
| multi-user.target |
| multi-user.target |
| multi-user.target |
| graphical.target |
| reboot.target |
| |
| centos6 |
| init 级别信息 临时修改 |
| vim /etc/inittab 永久修改 |
| centos7 |
| systemctl get-default 获取级别信息 |
| systemctl set-default 修改了级别 |
| 4./etc/profile |
| 环境变量特征 |
| 01. 环境变量都⽤⼤写字⺟表示 |
| 02. 环境变量可以被所有⽤户所使⽤ |
| 03. 环境⼀般是系统安装就已经设置 |
| |
| [root@jasonNB ~] |
| |
| [root@jasonNB ~] |
| |
| [root@jasonNB ~] |
| [root@jasonNB ~] |
| |
| 5./etc/bashrc |
| 别名概念说明(先提前了解) |
| 使复杂命令简单化 |
| [root@jasonNB ~] |
| -rw-r--r--. 1 root root 181 Dec 7 12:28 |
| /etc/hosts |
| [root@jasonNB ~] |
| -rw-r--r--. 1 root root 181 Dec 7 12:28 |
| /etc/hosts |
| '''别名的定义既可以在profile⾥⾯也可以在bashrc⾥设置''' |
| /etc/profile 国法 |
| /etc/bashrc 国法 |
| ~/.bashrc 家规 |
| ~/.bash_profile 家规 |
| 6./etc/motd |
| 佛祖保佑 永不宕机(这个自己百度,网上有很多字符组成的图像,我们设置后就会开机打印这个图像) |
| 7./etc/issue /etc/issue.net(centos7多) |
| [root@jasonNB ~] |
| [root@jasonNB ~] |
| [root@jasonNB ~] |
| [root@jasonNB ~] |
三、usr⽬录下重要的数据⽂件
| /usr/local/ ⽤于保存⽤户安装软件程序信息 |
| D:\Program Files (x86) |
| linux系统如何安装软件(四种⽅式) |
| 01. yum安装软件 |
| eg:购买外卖所有东⻄都准备集全 |
| yum install -y tree vim bash-completion |
| 针对出问题的软件可以重新安装修复 |
| yum reinstall -y tree vim bash-completion |
| |
| 02. rpm包⽅式安装软件 |
| eg:购买⻝材(半成品)进⾏烹饪 少筷⼦少碗 |
| ⽆法解决软件依赖问题 |
| rpm -ivh xxx.rpm |
| -i install 安装 |
| -v verbose 显示详细信息 |
| -h human 以⼈类更好看理解⽅式显示信息 |
| rpm -qa tree |
| -q query 查询 |
| -a all 所有软件信息 |
| rpm -ql vim-enhanced |
| -l list 显示软件安装⽬录的列表信息 |
| rpm -e tree 卸载软件 |
| |
| '''ps:yum remove tree切勿使⽤该⽅式卸载!!!''' |
| |
| 03. 编译安装软件 |
| eg:购买⻝材(⾮成品)进⾏烹饪 可以灵活调整⻝物的味道 |
| 设置软件安装路径 指定软件功能信息 |
| |
| 04. ⼆进制包安装软件 |
| eg:⼩零⻝即⻝即⽤ ⽅便简单 |
| CS 软件安装包(绿⾊版免安装) |
四、var⽬录下重要的数据⽂件
| 经常发⽣变化的⽂件保存在variable |
| 经常变化的⽂件>>>:⽇志⽂件 |
| /var/log/messages 服务运⾏情况信息、系统运⾏或常信息 |
| /var/log/secure ⽤户登陆信息保存⽂件 |
| |
| 规律查看⽇志信息 |
| [root@jasonNB ~] |
| [root@jasonNB ~] |
| |
| |
| cat /etc/services >> a.txt |
| cat a.txt |
| secure-0k > secure-100k > ⼤⼩范围10M > 切割securebak01 secure |
| ls -l /var/log/secure* |
五、proc⽬录重要的数据⽂件
| 记录⼀些硬件使⽤情况 硬件详细信息 |
| CPU |
| |
| 命令查看CPU信息 |
| lscpu |
| CPU(s): 4 整个服务器有多少核⼼ |
| Core(s) per socket: 2 每颗CPU有多少核⼼ |
| Socket(s): 2 服务器有⼏颗CPU |
| |
| 命令查看内存信息 |
| cat /proc/meminfo |
| MemTotal: 2030172 kB --- 服务器的总共内存 |
| 容量 |
| MemFree: 1755372 kB --- 服务器未使⽤的 |
| CPU容量 |
| MemAvailable: 1728900 kB --- 服务器还可以使⽤ |
| 的 |
| Buffers: 2076 kB |
| Cached: 86716 kB |
| 实时使⽤情况 |
| free、free -h |
| |
| 命令查看磁盘信息 |
| df -h |
| 查看负载情况 |
| cat /proc/loadavg |
| 0.00 0.01 0.03 |
| 平均每分钟负载 平均5分钟负载 平均15分钟负载 |
| 负载的数值不能超过服务器的核⼼数 8核 7(阈值) |
| |
| 利⽤命令查看负载信息 |
| [root@oldboysh03 ~] |
| 15:39:53 up 43 min, 2 users, load average: 0.00, |
| 0.01, 0.03 |
| 15:39:53——当前时间 |
| up 43 min——服务器运⾏时间 |
| 2 users——连接⽤户数 |
| load average: 0.00, |
| 0.01, 0.03——平均负载情况 |
| |
| 查看挂载信息 |
| df -h |
| cat /proc/mounts |
六、系统优化相关
| 性能优化 |
| 安全优化 |
| 编码优化 |
| 1)了解⾃⼰的系统情况 |
| cat /etc/redhat-release |
| uname -r/-a/-n/-s/... |
| 2)在系统中创建⽤户信息 |
| 创建⽤户 |
| useradd jason01 |
| passwd jason01 |
| 切换⽤户状态管理主机 |
| su - jason01 |
| ps:管理员切普通⽤户再想切回管理员可以使⽤ctrl+d |
| 进⾏检查确认 |
| whoami |
七、环境变量
| 特征: 01. 由⼤写字⺟组成 02. 配置的环境变量所有⽤户都必须遵循 03. 系统中默认就有的变量信息 第⼀个环境变量:PS1 (命令提示符信息) echo $PS1 修改环境变量: 第⼀个⾥程:临时修改 PS1="[\u@\h \w]\$" 错误修改环境变量⽅式 export PS1="[\u@\h \w]\$" 正确修改环境变量⽅式 第⼆个⾥程:永久修改 vim /etc/profile export PS1="[\u@\h \w]\$ " |


八、下载软件优化操作
| 1)需要修改yum源⽂件(指定使⽤哪个yum软件仓库) |
| 换源 |
| curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo |
| |
| yum repolist |
| PS:万⼀阿⾥云不好⽤,可以选择清华yum源 |
| |
| https://mirrors.tuna.tsinghua.edu.cn/help/centos/ |
| |
| 2)需要修改yum扩展源epel源 |
| 第⼆个特殊的软件仓库 |
| |
| wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo |
| 检查测试 |
| yum install -y bash-completion-extras |
| 3)所有源⽂件更新进⾏最终确认 |
| yum repolist |
| """ |
| 闲暇时光 |
| yum install sl cowsay -y |
| 下面三个是包的名称,最下面这个最好玩 |
| sl |
| cowsay |
| animalsay |
| """ |
九、安全相关的优化
| '''1.selinux''' |
| 1.修改selinux设置(国⼟安全局) |
| 限制皇帝root⾏为,但是实际应⽤不会使⽤它来显示root较为麻烦, |
| 基本都是关闭 |
| |
| 2.关闭selinux服务程序 |
| |
| vim /etc/selinux/config |
| |
| |
| |
| SELINUX=disabled |
| ps:⽂件修改之后,配置不会⽴即⽣效,需要重启liunx操作系统使之⽣效 |
| |
| setenforce |
| |
| getenforce |
| |
| """2.防⽕墙服务""" |
| 建议学习完毕之后,再开启使⽤ |
| 防护墙 |
| |
| centos6:iptables |
| /etc/init.d/iptables stop |
| /etc/init.d/iptables status |
| chkconfig iptables off |
| chkconfig iptables |
| centos7:firewalld |
| systemctl stop firewalld.service |
| systemctl status firewalld.service |
| systemctl disable firewalld.service |
| systemctl status firewalld.service |
| 应⽤防⽕墙场景 |
| 建议开启:服务器可以被外界访问(公⽹/外⽹ip) |
| 建议关闭:服务器可以被内部访问(私⽹/内⽹ip) |
| 建议关闭:服务器处于⾼并发状态(公⽹/外⽹ip) 软件防⽕墙 |
| 关闭 硬件防⽕墙进⾏安全控制 |
十、字符编码优化
| '''1.环境变量⽅式修改''' |
| echo $LANG |
| |
| export LANG=en_US.GBK |
| |
| echo "export LANG=en_US.GBK" >>/etc/profile |
| |
| source /etc/profile |
十一、上传下载(如何让linux和 windows系统之间传输数据信息)
| |
| """ |
| rpm查看安装的软件有时候可能查看不到(软件名称可能更⻓) |
| rpm -qa|grep vim |
| """ |
| 第⼀个历程: 安装和传输数据相关的软件 |
| yum install -y lrzsz |
| 第⼆个历程:利⽤lrzsz软件将数据进⾏传输 |
| |
| 传输给 widows主机 sz -y 数据信息 |
| |
| 传输给 linux主机 rz -y |
| PS:空⽂件是⽆法传递的 xshell⽀持拖拽上传 |
| |
| |
| ⽐较⼤的⽂件 如何查看信息 |
| less 逐⾏ 或者 ⼀⻚⼀⻚进⾏查看 |
| more 逐⾏ 或者 ⼀⻚⼀⻚进⾏查看 |
| 以上两个查看⽂件信息命令区别说明: |
| 1.是否可以使⽤快捷⽅式之间区别 |
| less 可以使⽤ |
| more 禁⽌使⽤ |
| 2.是否可以实现查看完毕⾃动退出 |
| less 不可以使⽤ |
| more 可以实现 |
| """ |
| 需求1: |
| 将⼀个⽂件前⼏⾏内容进⾏截取 |
| 将⼀个⽂件后⼏⾏内容进⾏截取 |
| 测试环境准备 |
| seq 10或seq -w 10 |
| 数据录⼊ seq -w 10 > /oldboy/seq.log |
| 前⼏⾏截取:前5⾏截取 |
| [root@02 ~]# head -n5 /oldboy/seq.log |
| 后⼏⾏截取:后3⾏截取 |
| [root@02 ~]# tail -3 /oldboy/seq.log |
| |
| 需求2:⼀直查看⽇志⽂件信息 |
| tail -f /var/log/secure --- 实时监控⽇志⽅法 |
| -f 谈恋爱 初恋 分⼿ 傻眼(⽂件消失⽴刻失效) |
| |
| tail -F /var/log/secure --- 实时监控⽇志⽅法 |
| -F 谈恋爱 ⽼司机 分⼿(⽂件消失、后续创建可继续监控) |
| """ |
| |
| 测试⽂本 |
| oldboy01 |
| oldboy02 |
| oldboy03 |
| oldboy04 |
| oldboy05 |
| 三剑客 ⽼三 grep 擅⻓过滤信息 |
| grep "01" /oldboy/oldboy.txt |
| 三剑客 ⽼⼆ sed 不擅⻓过滤信息 |
| sed '/01/p' /oldboy/oldboy.txt |
| sed -n '/01/p' /oldboy/oldboy.txt |
| 三剑客 ⽼⼤ awk 不擅⻓过滤信息 |
| awk '/01/' /oldboy/oldboy.txt |
| '''擅⻓过滤的原因''' |
| grep "03" -B 2 /oldboy/oldboy.txt |
| grep "03" -A 2 /oldboy/oldboy.txt |
| grep "03" -C 1 /oldboy/oldboy.txt |
| grep -n "03" /oldboy/oldboy.txt |
| grep -v "03" /oldboy/oldboy.txt |
| |
| 需求将⽂件中的oldboy信息替换为oldgirl |
| ⽅式1: |
| sed命令替换步骤:第⼀个历程 备份⽂件 |
| sed命令替换步骤:第⼆个历程 查看搜索 |
| sed -n '/oldboy/p' oldboy.txt |
| sed命令替换步骤:第三个历程 ⽂件信息模拟替换别名功能 |
| sed -n 's#oldboy#oldgirl#gp' |
| /oldboy/oldboy.txt |
| sed命令替换步骤:第四个历程 ⽂件信息真正替换 |
| sed -i 's#oldboy#oldgirl#g' |
| /oldboy/oldboy.txt |
| sed命令替换步骤:第五个历程 替换完成检查确认 |
| ⽅式2: |
| 在linux系统中,不是所有命令都可以直接编辑修改⽂件 |
| 可以直接编辑⽂件的命令 vi/vim sed xxxctl |
| tr企业应⽤:可以将指定字⺟⼤⼩写进⾏转换 1对1进⾏替换 |
| tr 'a-z' 'A-Z' < /oldboy/oldboy.txt |
十二、别名功能
| 1、如何查看别名设置 |
| alias 别名 |
| alias cp='cp -i' |
| alias mv='mv -i' |
| alias rm='rm -i' |
| -i 如要⼈为交互,有提示信息 |
| 问题:如何⾮交互的覆盖原有信息 |
| 1. \cp /tmp/oldboy.txt /oldboy/ --取消别名功能 |
| 2. 采⽤命令绝对路径⽅式 |
| [root@02 ~] |
| [root@02 ~] |
| alias cp='cp -i' |
| /usr/bin/cp |
| [root@02 ~] |
| 2、如何设置别名信息 |
| 设置rm命令别名提示:rm command not use |
| 第⼀步:临时设置别名 |
| alias rm='rm -i' |
| alias rm='echo rm command not use' |
| 问题:设置别名常⻅问题 |
| 1. 别名后⾯单引号中⼀定是完整命令信息 |
| 2. 别名后⾯单引号⼀定是英⽂的 |
| 永久设置别名(可以给某些常用的命令起别名,别起rm -rf的) |
| echo alias rm='echo rm command not use' >>/etc/profile |
| source /etc/profile |
| 第三步: 将~/.bashrc内容进⾏注释 |
| alias rm='rm -i' |
十三、文件属性信息
| ls -lhi /etc/ --- 查看数据属性信息 |
| 67683849 d rwxr-xr-x. 3 root root 101 Nov 30 12:13 abrt |
| |
| 67683849:第⼀列 |
| d rwxr-xr-x.:第⼆列 |
| 3:第三列 |
| root:第四列 |
| root:第五列 |
| 101:第六列 |
| Nov 30 12:13:第七列 |
| abrt:第⼋列 |
| |
| 第⼀列: inode信息 index node 索引节点 |
| 第⼆列: ⽂件类型 ⽂件权限 |
| 第三列: 硬链接数 |
| 磁盘(设备⽂件) == 超市 /mnt(挂载点) == 超市的⼊⼝ |
| 硬链接 === 超市的多⼊⼝ /oldboy |
| 第四列: 数据(⽂件 ⽬录)的所属⽤户信息 == 监护⼈(⽗亲 ⺟亲) |
| 第五列: 数据(⽂件 ⽬录)的所属⽤户组信息 == 家庭中亲⼈ |
| 第六列: ⽂件⼤⼩信息 |
| 第七列: ⽂件修改时间信息 |
| 第⼋列: ⽂件名称(不属于⽂件属性信息) |
| """详细说明""" |
| ⽂件类型: |
| windows系统中: 根据⽂件扩展名称信息决定⽂件类型 |
| linux系统中: 系统的⽂件类型和⽂件扩展名没有半⽑钱关系 |
| linux系统⽂件类型分类 ls -lhi /etc/ |
| d directory ⽬录类型的⽂件 |
| - file 普通类型的⽂件 |
| l softlink 连接类型的⽂件 |
| c character 字符类型的⽂件(会源源不断的产⽣字符信息) |
| b block 块设备类型的⽂件 设备⽂件 |
| s socket 和⽹络接⼝通讯相关(开发 ⽹络编程) |
| p pip 管道⽂件 |
十四、文件相关命令
| 1.显示⽂件信息类型命令 file |
| file jason.txt |
| 2.显示命令绝对路径信息 which |
| which cp |
| 3.显示命令路径以及⽂件 whereis |
| whereis cp |
| 4. 快速定位⽂件路径信息 locate |
| touch oldgirl1212.txt |
| updatedb |
| locate jason1.txt |
| 5.快速查找数据信息命令 find |
| 语法说明: find 区域 查找⼈的类型 具体的条件 |
| eg: |
| 1.寻找⼀个jason.txt |
| find /temp -type f -name "jason.txt" |
| 2.寻找⼀个以.txt扩展名结尾的⽂件 |
| find /temp -type f -name "*.txt" |
| 3.按照⽂件数据⼤⼩进⾏查找⽂件 查找⼤于10k的⽂件 但⼩于 |
| 10M |
| find /etc/ -type f -size +10k -size -10M |
| |
| find /etc/ -maxdepth 1 -type f -size +10k - size -10M |
| 6.对数据信息进⾏压缩处理 |
| 压缩数据的命令 tar |
| tar 参数信息 压缩包信息(箱⼦) 物品01(数据信息) 物品02(数据信息) |
| eg: |
| 1.压缩/jason、/etc/hosts⾄/jason/jason.tar.gz |
| tar -zcvf /jason/jason.tar.gz /jason /etc/hosts |
| z 利⽤gzip⽅式进⾏压缩数据 rar zip |
| c 创建压缩包 create |
| v 详细执⾏操作过程 verbose |
| f 指定需要压缩的⽂件信息 file |
| 2.如何检查确认压缩数据 |
| tar -tf /jason/jason.tar.gz |
| 3.解压数据⽂件 |
| tar -zxvf /jason/jason.tar.gz |
| tar -zxvf system.tar.gz -C /oldgirl |
十五、文件权限
准备知识:权限对象
权限对象共有三类:
属主:u
属组:g
其他人:o
特殊对象:所有人:a(u+g+o)
文件权限
| [root@jason /jason] |
| -rw-r--r--. 1 root root 0 2月 14 16:45 file1 |
| |
| 前面提到过最前面的-代表的是文件类型 |
| rw-r--r--:后面九个字符代表的是属主属组和其他人的权限,如果没有rwx三个权限,没有的地方就会用-替代 |
| |
| 1:这里的1表示的是链接,就相当于是一个网址一样 |
| |
| root:第一个root代表的是属主的名称 |
| |
| root:第二个root表示的是属组的名称 |
| |
| |
| r read 数值 4 是否可以读取⽂件: cat file |
| w write 数值 2 是否可以写⼊⽂件: echo vim sed |
| x execute 数值 1 是否可以执⾏⽂件: sh python |
| - 空了 数值 0 ⽂件没有相应权限: 没有权限 |
| eg:rwx r-x --x -w- |
| 7 5 1 2 |
| |
| 第⼀位: 只表示是否有读权限 |
| 第⼆位: 只表示是否有写权限 |
| 第三位: 只表示是否有执⾏权限 **** |
| rwxr-xr-x 9位信息表示⽂件权限 |
| |
| ⽂件(你) ⽂件的所属⽤户信息--属主信息(⽗⺟教育你) |
| 由9位权限位的前3位决定属主权限 |
| 属主信息: ⼀般创建⽂件的⽤户就是⽂件的属主信息 |
| ⽂件(你) ⽂件的所属⽤户组信息--属组信息(亲⼈) |
| 由9位权限位的中间3位决定属组权限 |
| ⽂件(你) ⽂件的其他⽤户信息(隔壁⽼王) |
| 由9位权限位的后3位决定其他⽤户权限 |
| |
| |
| |
| chmod (-R) u+r 1.txt |
| |
| chmod:命令关键词 |
| |
| (-R):可写可不写,写了就是表示这里是修改文件夹下所有文件的权限 |
| |
| u+r:对象(u/g/o/a)的权限设置,我们可以使用=(赋值符号)来改变对象的权限(r/w/x),如:u=rwx。还有一种方式就是写数字(权限数字加减) |
| |
| 1.txt:修改权限的文件或是目录 |
| |
| |
| |
| chown命令 |
| |
| 设置一个文件属于谁,谁是属主 |
| |
| 语法:chown |
| |
| |
| chogrp |
| 设置一个文件属于哪个组 |
| chogrp |
十六、所属用户及用户组
| 在linux系统中,多⽤户操作系统,⽂件数据,系统进程信息都要有⽤户管 |
| 理 |
| 创建⽤户: useradd oldgirl |
| |
| passwd oldgirl |
| 输⼊确认密码信息 |
| |
| useradd oldboy01 |
| echo "12345"|passwd --stdin oldboy01 |
| |
| useradd jason;echo "12345"|passwd --stdin jason |
| |
| 查看系统⽤户是否存在 |
| id oldboy |
| uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy) |
| |
| uid=1000(oldboy):⽤户id 1000 |
| gid=1000(oldboy):⽤户组id 所属的组 |
| groups=1000(oldboy):可能⽤户还属于哪些组 |
| |
| 到底系统中都有哪些⽤户(系统对⽤户进⾏分类) |
| 01. 超级管理员⽤户 --- 皇帝 |
| root id=0 |
| 02. 普通⽤户 --- 平⺠ |
| id 1000+ |
| 只能管理⾃⼰家⽬录下⾯数据 /tmp 临时⽬录 |
| 03. 虚拟⽤户 --- 傀儡 |
| id 1-999 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律