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

相关推荐
未济15 小时前
linux 配置环境变量
linux
傲世仙尊15 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫16 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.17 小时前
进程间通信
linux
AI职业加油站17 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-0517 小时前
Linux IO编程——静态库、动态库
linux
wuyk55518 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
此冬歌咏18 小时前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz18 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅19 小时前
linux(8) 软硬链接
linux·运维·服务器