linux 基础:::::

目录

常见指令和权限理解

vim 常用命令

linux 编译器 gcc—g++的如何编译完成的

linux 下的gdb的调试


常见指令和权限理解

1 xshell 下的复制跟粘贴 ctrl+insert shift+insert

1 mkdir 创建一个目录

2 rmdir rm 如果是空目录可以用rmdir 来删除 如果不是空目录 用 rm-rf 来删除

3 man man1 普通调用 man 2 系统调用如 open write man 3 库函数

Linux 权限的概念

文件类型::d 文件夹 - 普通文件 l 软文件 b块设备文件 p 管道文件 c 字符设备文件 s 套接口文件

改动权限的方法 chmod u+rwx 路径 chmod g-rwx 路径 chmod o-rw 路径 chmod a+rwx 路径 a是所有的 u 拥有者 g 所属组 o 是其他

粘滞位的概念 chmod + t 加入粘滞位后 只有 文件或者目录的拥有者可以删除

vim 常用命令

gg 文本开始 G 文末 nyy 复制n行 ndd删除n行 接着输入p 可以粘贴

u 输入错误 可以取消这一次操作 多次u多次操作可以取消 如果取消后发现取消错了 可以 ctrl+r 恢复

x 删除这个字符

linux 编译器 gcc—g++的如何编译完成的

1 背景(预处理、编译 汇编、链接)

预处理 gcc -E hello.c -o hello.i 条件编译 宏替换 去除注释 头文件展开

编译 gcc -S hello.i -o hello.s 生成汇编代码 语法检查语义检查 词法分析

汇编 gcc -c hello.s -0 hello.o 将汇编代码生成机器可识别的二进制代码

链接 gcc  hello.o -o hello   生成可执行文件或者是库文件

静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为“.a”
动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so”,gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件。

linux 下的gdb的调试

  gcc hello.c -o hello -std=c99  -g  (gdp 调试 必须加上-g 选项)

1. l 加行数 显示   再加 l  继续跟着显示  r  : run 运行

2  b  打断点  b+行数 就是在哪一行打上一个断点

3 info b 显示断点的信息   n 单条执行   s进入函数调用  finish 执行到当前函数的返回 

4   continue /c 从当前位置开始连续 而非单步的执行程序 

5 delete breakpoints  删除所有断点 delete breakpoints n  删除序号为n 的断点

6 disable breakpoints 禁用断电 enable breakpoints 启用断点

7 display 变量名:: 跟踪查看一个变量 每次停下来都显示它的值

8 undisplay 取消对先前设置的那些变量的跟踪

9 until x 跳转到第x 行 quit 退出gdb


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值