Skip to main content

Command Palette

Search for a command to run...

Unix环境编程:第一章

Published
1 min read

1.1操作系统的介绍

1.2 计算机系统的分层

1.3 编译过程

  • ?上一个命令的运行结果 echo 就是输出上一个命令的运行结果

  • 哎linux环境下文件中查找一个元素 即在命令模式下 输入/+你要查找的字符 即/printf 这样 然后找到之后 n表示查找下一条 shift+n表示上一条

  • file+文件名 查=查看文件是否可运行

1.4 多模块开发

  • 变量的定义是为变量扩充作用域 而变量的声明需要为变量内存空间

  • gcc -c 文件 检验是否存在语法错误

  • nm 目标文件 可以知道目标文件的信息 是否有定义 T表示定义的 U表示未定义的

  • 后面加一个-v 表示展现预处理的过程

GDB调试器

环境变量

  • 子进程继承了父进程的环境变量 如果在子进程中修改该环境变量 父进程不会有变化

  • ¥PATH 查看程序运行的路径 一般我们想要运行当前文件夹下的a.out 一般使用./a.out 命令 但是如果想直接使用a.out 需要通过PATH=¥PATH:.命令 将程序运行的当前路径 加入PATH 这样我们的操作系统在运行程序时 就会在当前的文件夹下去找 这样比较省事(But:这只在当前bash 可用 )

  • 在终端进入文件之后 可以通过 /命令来搜索想要搜索的部分

  • 这种情况 可以在~/.bashrc 文件下编辑环境变量 这样在系统启动时就能够自动设置

  • 对于Linux终端打开文件 请一定使用wq来退出保存 不要使用x来退出保存 因为这样会自动加密 会损坏文件

More from this blog

Redis学习

1.什么是SSD HDD作为存储传统的数据库? SSD:固态硬盘---使用闪存芯片存储数据 无机械部件 特点:读写速度快(尤其是随机读写)、延迟低、抗震性好,但单位容量成本较高。 HDD:机械硬盘--传统机械硬盘 特点:容量大、成本低,但读写速度较慢(尤其是随机读写),延迟高。 2.什么是非易失性持久化 非易失性持久化 = 靠谱的硬件 (断电不丢数据的 SSD/PMEM) + 严谨的软件策略 (确

Mar 4, 20261 min read

分布式存储系统面试问题解析

共识算法剖析 raft共识算法 1.在你的 C++ 实现中,如果 Leader 发送 AppendEntries 给 Follower,但 Follower 的日志落后太多(比如中间缺了 100 条),Raft 论文建议是一个一个往前找(nextIndex--)。这种做法在高性能存储中显然是不可接受的,你会如何优化这个“回溯”过程? 在工程实现中,我会从两个维度优化日志冲突后的同步效率: 1. 快

Feb 9, 202613 min read

Unix环境编程:杂谈

动态加载 API 进程管理 什么是进程 进程的创建 进程的终止与遗言函数 进程资源回收 进程的映像更新 ps -o pid,ppid,pgrp,comm 这个linux命令是将当前终端上运行的进程打印出来 进程中使用环境变量 子进程环境变量改变 不会更改父进程的环境变量 进程间通信 有名管道不存储数据 其本身大小为 0 当一个进程写入数据进去时 如果没有进程读取数据那么该写进程就会堵塞在哪里 同理 如果读进程想要读取数据 但是却没有数据...

Jan 30, 20263 min read

C++ Stl杂项

迭代器特性 输入流的容器特性 迭代器对算法的影响 仿函数和函数对象 分配器 对于平常的我们内存的使用,直接使用new delete 即可 使用分配器的话还需要记住自己当时申请了多少的内存 很不方便 哈希表深度探索 哈希容器 哈希表在扩充时,会先将自身大小乘以2 然后在选择自身2倍距离最近的一个质数 作为新的大小 哈希函数 以哈希表为底层支撑的适配器 红黑树 容器 list容器 forward_list 对于标准库,其本身提供一个sort排序函数,但某些容器也提供sort服务...

Jan 29, 20261 min read

xianyu-sheng

29 posts

Unix环境编程:第一章