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

相关推荐
M78佐菲6 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx6 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做6 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata7 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667967 小时前
【无标题】
运维·服务器·网络
予昊8 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
一池秋_8 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇8 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
上海云盾-小余10 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠10 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器