linux基础梳理 2019.1.19(环境变量,scp,vim各种操作,gcc,静态库,动态库)
发布日期:2021-05-06 23:06:49 浏览次数:30 分类:精选文章

本文共 1334 字,大约阅读时间需要 4 分钟。

环境变量与Shell命令

在使用shell命令时,环境变量是非常重要的一部分。环境变量可以帮助shell找到可执行文件的路径,或者指定一些默认的设置。以下是一些常用的命令和方法。

查看环境变量

printenv命令可以用来查看全局的环境变量。

printenv

set命令可以用来查看当前shell的环境变量。

set

设置环境变量

要设置环境变量,可以使用export命令,使其在子shell中也可用。

export VAR=value

如果需要永久设置,可以将命令加入~/.bashrc文件中。

删除环境变量

unset命令可以用来删除环境变量。

unset VAR

scp命令与密钥传输

scp命令用于通过SSH协议传输文件。为了避免输入密码,可以使用密钥传输。

生成密钥

在本地生成密钥对:

ssh-keygen -t rsa

生成的公钥可以发送给目标服务器。

导入公钥

目标服务器运行ssh-agent并导入公钥:

eval $(ssh-agent)

然后在使用scp时,指定私钥:

scp -i ~/.ssh/id_rsa *

Vim编辑器使用手册

Vim是一个强大的文本编辑器,支持命令模式和编辑模式。

命令模式操作

在命令模式下,使用以下键盘操作:

  • 移动光标:shift + arrow
  • 删除字符:x/X
  • 复制行:yy
  • 粘贴:p/P

编辑模式操作

在编辑模式下,使用以下键盘操作:

  • 插入光标位置:i/I
  • 删除字符并进入编辑模式:s/S

查看函数原型

在Vim中查看函数原型,可以使用以下方法:

2shift + k

分屏使用

Vim支持分屏显示,可以使用以下命令:

  • 横向分屏:sp文件名
  • 竖向分屏:vsp文件名
  • 切换屏幕:Ctrl + w + w

GCC编译流程

GCC是一个常用的编译器,以下是常用的编译流程。

生成预处理文件

gcc -E hello.c > hello.i

生成汇编文件

gcc -S hello.i > hello.s

生成可执行文件

gcc -c hello.s > hello.o
gcc hello.o > hello

使用库文件

要使用库文件,可以使用以下参数:

  • -I指定头文件路径
  • -L指定库文件路径
  • -l指定库文件名

静态库与动态库制作

静态库制作

静态库将代码编译成可执行文件的一部分。

制作步骤

  • 编译生成.o文件:
  • gcc -c file.c
    1. 打包成静态库:
    2. ar rcs libxxx.a file.o

      动态库制作

      动态库可以被多个进程共享。

      制作步骤

    3. 编译生成与位置无关的.o文件:
    4. gcc -fPIC -c file.c
      1. 打包成动态库:
      2. gcc -shared -o libxxx.so file.o

        发布动态库

        将动态库文件复制到目标服务器的 /usr/lib 目录。

        使用动态库

        在使用时,需要在执行命令前设置环境变量:

        export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH

        静态库与动态库对比

        特性 静态库 动态库
        执行速度 较快 较慢
        执行文件大小 较大 较小
        发布时的依赖 无需发布库文件 需要发布库文件
        更新时的依赖 需要重新编译 一般不需要重新编译
    上一篇:linux基础梳理2019.01.22(makefile)
    下一篇:分门别类刷leetcode——栈、队列、堆(C++实现)

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月09日 12时46分33秒