• HQS.Part1-Linux基础命令、gcc编译、2进制、8进制、16进制转换


    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
    
    • 1

    或者这样写

    gcc -E -o hello.i hello.c
    
    • 1

    ②编译阶段

    编译器(ccl)将 hello.i 翻译成文本文件 hello.s,包含一个汇编语言程序。

    gcc -S hello.i -o hello.s
    
    • 1

    ③汇编阶段

    汇编器(as)将 hello.s翻译成机器语言指令保存到hello.o中,hello.o是一个普通二进制文件,缺少程序运行的某些库。

    gcc -c hello.s -o hello.o
    
    • 1

    ④链接阶段

    链接器(ld)链接底层库文件,生成可执行文件

    gcc hello.o -o hello
    
    • 1

    三、vim 文本编辑器的使用

    1. 三种模式:命令模式、插入模式、底层模式

    Esc
    :
    i
    插入模式
    命令模式
    底行模式

    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/gcm-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

    五、计算机编码

    1、计算机内数据存储使用补码的形式最高位为符号位,负数 为1, 非负数为0。

    2、原码

    ①非负数原码为其本身;

    ②负数原码为符号为1,其他和正数相同;

    3、反码 :除符号位不变,其它位取反;

    4、补码:

    ①非负数和原码相同;

    ②负数的补码为反码+1(从右往左找到第一个 1,保持不变,符号位不变,之间的其他各位取反);

  • 相关阅读:
    MySQL数据库
    SpringBoot+Vue项目计算机等级考试报名系统
    PID学习笔记:模拟加热系统的PID控制
    时间序列-AR MA ARIMA
    分享 2022 年最受欢迎的黑科技工具(一)
    k8s教程(17)-pod之优先级调度
    CTFHUB SSRF
    鸿蒙Harmony应用开发—ArkTS声明式开发(鼠标事件)
    docker版jxTMS使用指南:数据总线
    实用调试技巧
  • 原文地址:https://blog.csdn.net/jun8086/article/details/126488557