HQS.Part1-Linux基础命令、gcc编译、2进制、8进制、16进制转换
一、Linux基础命令
命令 | 含义 |
---|---|
1.pwd | 显示用户主目录 |
2.cd 地址 | 进入地址 |
3.shutdown | 关机(sudo shutdown -Ph now 立刻关机) |
4.man 命令 | 查询命令用法及参数 |
5.ls | 打印文件夹目录 |
6.touch hello.c | 创建文件“hello.c” |
7.cp 源文件路径 目标文件路径 | 把源文件复制到目标文件路径下 |
8.mv 源文件路径 目标文件路径 | 把文件从源路径移动到目标路径 |
9.rm 文件路径 | 删除路径下文件 |
10.cat hello.txt | 打印hello.txt 中的内容 |
常用命令及相关参数
1. ls
ls | 查看当前目录下的文件夹及文件 |
---|---|
ls . | 当前目录 |
ls . . | 上一级目录 |
ls -l | 查看文件详细信息 |
ls -a | 查看所有文件的名字 ,包含 .打头的文件 |
ls -la | 查看所有文件的详细信息 |
2.cd
cd | 进入文件夹 |
---|---|
cd. | 进入当前目录 |
cd . . | 进入上一级目录 |
cd - | 返回上一次目录 |
cd | 进入用户主目录 |
3. cp
cp | 复制 |
---|---|
cp -f | 强制复制,有同名的直接覆盖 |
cp -i | 若有重复文件,询问师傅覆盖 |
cp -r | 递归复制,用于目录复制 |
4.rm
rm | 删除文件或文件夹 |
---|---|
rm -r | 删除文件夹 |
rm -rf | 删除文件夹 |
rm name.txt | 删除文件name.txt |
rm -f | 强制删除 |
二、gcc编译器使用
1.流程
2.以代码 hello.c 为例编译过程
①预处理阶段
预处理器(cpp)根据以字符#开头的命令,修改原始的C程序,通常以 hello.i 作为扩展名。
gcc -E hello.c -o hello.i
或者这样写
gcc -E -o hello.i hello.c
②编译阶段
编译器(ccl)将 hello.i 翻译成文本文件 hello.s,包含一个汇编语言程序。
gcc -S hello.i -o hello.s
③汇编阶段
汇编器(as)将 hello.s翻译成机器语言指令保存到hello.o中,hello.o是一个普通二进制文件,缺少程序运行的某些库。
gcc -c hello.s -o hello.o
④链接阶段
链接器(ld)链接底层库文件,生成可执行文件
gcc hello.o -o hello
三、vim 文本编辑器的使用
1. 三种模式:命令模式、插入模式、底层模式
2.命令模式基本命令
命令模式 | 功能 |
---|---|
i | 进入插入模式,在光标处开始编辑 |
I(i大写) | 进入插入模式,在光标移动到第一个非空格或tab字符处编辑 |
a | 进入插入模式,在光标之后开始编辑 |
A | 进入插入模式,在光标之后开始编辑 |
o | 进入插入模式,在当前光标下面添空行,并在空行行首编辑 |
O | 进入插入模式,在当前光标所在的上面添空行,并在所添空行行首编辑 |
yy | 拷贝光标所在行 |
nyy | 从当前光标所在行起连续n行复制 |
dd | 剪切光标所在行 |
ndd | 从当前光标所在行起连续n行剪切 |
p | 将复制或粘贴的内容复制或粘贴到光标所在下一行 |
u | 撤销上一步命令 |
nx | 删除从光标位置起向后连续n个字符 |
1G | 移动光标到文件第一行 |
G | 移动光标到文件的最后一行 |
3.底行模式
命令模式输入 ":"输入命令
底行模式 | 功能 |
---|---|
w | 保存 |
q | 推出 |
w 文件名 | 另存为 |
q! | 强制退出 |
r 文件名 | 导入文件内容到光标位置 |
n | 移动光标到指定行 |
set nu | 显示行号 |
set nonu | 不显示行号 |
m,ny | 复制m-n行 |
m,nd | 剪切m-n行 |
/字符串 | 查找/后面的字符串 |
%s/字符串1/字符串2/gc | 全文字符串1替换成字符串2 |
m,ns/字符串1/字符串2/gc | m-n行中将字符串1替换成字符串2 |
nohl | 取消高光 |
四、进制转换
1、 2进制转10进制
二进制:(1010)2
十进制:1x23+0x22+1x21+0x20=10
方法:累加法
把二进制数填入B栏,B栏各项与A栏对应栏相乘相加,和即为十进制数。
2、 十进制数转2进制数
十进制:125
二进制:1111101
3、2进制转8进制
二进制:1101 0001
八进制:0xd1
方法:从右往左一次取四位,化为 16进制数,直到取完,不够补0。
4、小数十进制转2进制
例1:
十进制:0.125
二进制:0.001(顺序排)
0.125 x2=0.25 --------0
0.25 x 2 = 0. 5 --------0
0.5 x2=1.0 -------------1
例2:
(0.625)10=(?)2
保留5位则取 0.10100
0.625x2 =1.3 ------1
0.3 x2 =0.6 --------0
0.6x2=1.2 ----------1
0.2x2=0.4 ----------0
0.4x2=0.8 ----------0
0.8x2=1.6 ----------1
0.6x2=1.2 ----------1
5、带小数十六进制转十进制
十六进制:(F8C.B)16
十进制:Fx162+8x161+Cx160+Bx16-1=3980.6875