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编程

相关推荐
zh路西法10 小时前
【navigation2全局路径更新频率修正】行为树框架的巧妙利用
linux
苏宸啊10 小时前
IPC管道
linux·c++
bush410 小时前
嵌入式linux学习记录十,定时器
linux·嵌入式
峥无11 小时前
Linux进程信号:从基础概念到内核底层原理
linux·运维·服务器·信号处理
广州灵眸科技有限公司11 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 开发(编译)方式说明
linux·服务器·单片机·嵌入式硬件·电脑
北山有鸟11 小时前
用开发板的.config替换ubuntu中内核源码目录的.config
linux·运维·ubuntu
张忠琳11 小时前
【SR-IOV cni】(Part 4) SR-IOV Network Device Plugin 3.11.0 — 超深度架构分析
网络·云原生·kubernetes·cni·sriov
qq_4523962312 小时前
第二十篇:《Docker 故障排查常用命令与技巧》
运维·docker·容器
jcbut12 小时前
离线安装dify 1.7
linux·运维·dify
云计算磊哥@12 小时前
运维开发宝典024-Linux云计算运维入门阶段总结
linux·运维·运维开发