Ubuntu(乌班图)基础指令

一、网络相关命令

命令 特点 适用场景
ifconfig 老牌、简单直接,部分新系统默认未安装 兼容旧系统,快速查看基础信息
ip addr 现代、功能强,支持更多配置与状态 所有主流 Linux 发行版,推荐使用
netstat -i 侧重接口统计与流量状态 排查网络丢包、错误时的辅助工具
nmcli 与 NetworkManager 集成,适合图形 / 桌面环境 管理 NetworkManager 控制的网络设备

GCC具体编译流程

gcc 编译分为四步,每步作用及输出如下:

预处理(Preprocessing)

作用:处理#include、#define等预处理指令,插入头文件内容,替换宏定义。

输出:.i文件(预处理后的源代码)。

编译(Compilation)

作用:将预处理后的代码转为汇编语言,进行语法、语义分析及优化。

输出:.s文件(汇编代码)。

汇编(Assembly)

作用:将汇编代码转换为目标机器码,生成中间文件。

输出:.o文件(目标文件)。

链接(Linking)

作用:合并目标文件与库文件,解决函数和变量引用,生成可执行程序。

输出:可执行文件(默认a.out,或自定义名称)。

GDB如何调试

示例:

查看环境变量的方法

环境变量的概念

、\[ ]、(( )) 三者对比表

特性 [ ](test 命令) [[ ]](Bash 关键字) (( ))(算术运算)
本质 外部可执行程序 /usr/bin/[ Bash/Zsh 内置关键字 Shell 内置算术扩展
POSIX 兼容性 ✅ 兼容所有 Shell(POSIX 标准) ❌ 仅 Bash/Zsh 支持 ❌ 仅 Bash/Zsh 支持
适用场景 通用文件 / 字符串 / 数字条件判断 增强的字符串 / 文件 / 逻辑判断 纯整数算术运算与比较
空格要求 极其严格,括号前后、运算符前后都必须有空格 宽松,括号前后建议加空格,运算符可省略 宽松,完全可以不写空格(如 ((a>10)))
逻辑运算符 -a(与)/ -o(或) &&(与)/ ` `(或) &&(与)/ ` `(或)
字符串比较 =/!=,不支持模式匹配 =/== 支持通配符 / 正则匹配 不支持字符串比较
数字比较 -eq/-ne/-gt/-lt 等 不支持数字比较 直接用 >/</==/+/-/*// 等
文件测试 -f/-d/-e 等全部支持 全部支持 不支持文件测试
空值处理 变量为空时容易报错,需加双引号 变量为空时更安全,无需额外引号 不处理字符串变量

赋值方式对比:

赋值方式 展开时机 核心特性 典型用途
= 使用时(延迟展开) 递归引用,易产生死循环 引用后续定义的变量
:= 定义时(立即展开) 静态值,不受后续修改影响 固定不变的常量
+= 保持原变量的展开方式 在原值末尾追加内容 拼接编译选项、源文件列表
?= 定义时(仅未定义时生效) 提供默认值,支持外部覆盖 定义可被重写的配置项

Linu操作系统命令

Linux操作系统下的文本编辑

gcc与gdb的使用

环境变量配置

shell编程

相关推荐
wuminyu4 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
海宇AI4 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
IMPYLH5 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
2601_963282775 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
叼烟扛炮6 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
是真的小外套6 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb7 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
我要见SA姐17 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
QXWZ_IA9 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库