系统编程-常用工具

2 linux常用工具

目录

2 linux常用工具

一、回顾指令

1、硬链接与软链接

1.1硬链接:

1.2软链接:

1.3硬链接和软连接之间的区别:

2、修改文件权限指令

3、修改文件的所属人

4、查找指定文件指令

二、linux下的常用工具

1、vim编辑器

1.1 vim的安装配置

1.2 vim的使用

tip1:

tip2:

2、gcc编译器

(1)预处理         -- 处理所有#开头的语句

(2)编译         -- 将c语言编译为汇编语言

(3)汇编         -- 将汇编语言转化为机器语言(二进制)

(4)链接         -- 链接函数库

-- gcc 指令的一些选项

3、函数库

3.1静态库 -- .a结尾

3.2动态库 -- .so结尾


一、回顾指令

1、硬链接与软链接

1.1硬链接:
  • 相当于创建了一个副本,新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用。 源文件与新建的文件的节点号一样"ln  源文件 链接文件"指令
1.2软链接:
  • 也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件."ln -s 源文件 链接文件"
1.3硬链接和软连接之间的区别:
  • 硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);
    而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。
  • 若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的
  • 由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性.
  • 软链接和硬链接,更改链接文件,目的文件也会改变

alt text

alt text

2、修改文件权限指令

  • 想将1.c的权限改为 rwx-w-r--                         -- chmod 0724 1.c

alt text

3、修改文件的所属人

  • chown 用户名 文件名                 -- chown kfc 1.c

4、查找指定文件指令

  • sudo find 路径  -name 文件名

alt text

二、linux下的常用工具

1、vim编辑器

                -- 编辑器                 - 编写代码的工具

1.1 vim的安装配置
  • sudo apt-get update
  • sudo apt install vim
1.2 vim的使用
  • 注:在vim中如果按下了 ctrl+s vim会直接卡住 此时必须按下ctrl+ q 才可以解除卡顿

  • 主要操作
    -- (1)进入vim的时候默认进入到命令模式,此时对键盘的所有输入都被识别为命令。在命令模式下能进行许多操作,例如:
     

    alt text

     -- (2)只能从命令模式进入到插入模式, 在命令模式下按下i按键可以进入插入模式。当然,也有其他按键可以进入 。
     

    alt text


    -- (3)从任何模式返回命令模式 需要按下esc
    -- (4)在命令模式下输入冒号就可以进入底行模式,在底行模式下可以输入指令,例如: 

    alt text


    -- (5)在命令模式下输入/也可以进入底行模式。指令 "/字符串" 是用来查找指定字符串,":%s /源字符串/新字符串/g" 是用来替换字符串的

  • -- (6)在命令模式下 用鼠标进行选中即可进入可视模式,或者按下v也可以进入可视模式。

    alt text

tip1:

-- 如果想每次用vim打开文件后,都会在.c文件中有一个初始的内容。就将我上传的文件复制在家目录下,就可以了。

注:该文件是一个隐藏文件,复制过去看不到 ,可以用“ls -a”指令看。

-- 主要更改的文件是将我发的文件的最后,更改如果打开.c文件就会显示的内容。

alt text

alt text

-- 将其更改为自己想要的效果就可以,我的效果如下:

alt text

-- 如果重复复制文件出现错误的时候或者想改变该文件的时候,解决方法:

alt text

tip2:

-- vim的功能有很多,基本上键盘上的每一个键,都有相对应的功能。想了解的可以去这个网站。

Linux vi/vim | 菜鸟教程Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 相关文章:史上最全Vim快捷键键位图 — 入门到进阶 什么是 vim? Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛..icon-default.png?t=N7T8https://www.runoob.com/linux/linux-vim.html

2、gcc编译器

-- c语言代码是让人类来阅读的 计算机是如何执行该程序呢? 计算机只认识二进制.
-- 主要目标:掌握 c 语言是如何一步一步变成机器语言的

  • C 语言-->汇编-->机器语言(二进制)
(1)预处理         -- 处理所有#开头的语句
  • #include 进行展开 #define 进行替换
  • gcc -E xxx.c -o xxx.i

    alt text

(2)编译         -- 将c语言编译为汇编语言
  • gcc -S xxx.i -o xxx.s

    alt text

(3)汇编         -- 将汇编语言转化为机器语言(二进制)
  • as xxx.s -o xxx.o 

    alt text

(4)链接         -- 链接函数库
  • 我们在程序中运行的函数 需要找到函数的定义,函数的定义就放在了别人写好的函数库中
  • gcc xxx.o -o xxx 

    alt text

-- gcc 指令的一些选项
  • -o 指定生成的文件名
  • -E 预处理
  • -I (大写 i)指定头文件路径
  • -S 编译 将预处理过的文件编译成汇编
  • -c 只编译不链接 会进行预处理 编译 汇编操作
  • -l (小写 L)用来指定链接的函数库 例如: -lmath
  • -lpthread
  • -L 指定链接的库路径

3、函数库

  • 库里面存放的是编译好的二进制代码
3.1静态库         -- .a结尾

-- 制作静态库的步骤

  • 1 将函数编译成二进制文件
    gcc -c xxx.c -o xxx.o

  • 2 将生成好的二进制文件进行打包 打包成静态库
    ar -rc lib 库名.a xxx.o xxx.o ....

  • 3 链接静态库
    gcc main.c 静态库
    gcc main.c -L 静态库所在路径 -l 库名

  • 生成的可执行文件会将静态库中的函数加载到可执行文件中去

  • 删除静态库 对可执行文件无影响

  • 用空间换时间

  • alt text

  • alt text

3.2动态库         -- .so结尾
  • 1 将函数编译成二进制文件
            gcc -fPIC -c xxx.c -o xxx.o

  • 2 将二进制文件制作成动态库
            gcc -shared -fPIC -o libxxx.so xxx.o xxx.o ......

  • 3 将制作好的动态库复制到/lib 目录下(必须要)
            sudo cp libxxx.so /lib

  • 4 链接动态库
            gcc main.c -lxxx

  • 动态库链接成功之后 当我们运行可执行程序的时候 才会去动态库中去查找我们所需的函数原型

  • 删除动态库 可执行文件无法执行

  • 用时间换空间

  • alt text

  • alt text

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值