Linux常用命令--(一)环境变量篇


1. ldd命令

ldd用来打印或者查看程序运行所需的共享库(访问共享对象依赖关系),常用来解决程序因缺少某个库文件而不能运行的一些问题。常用命令如下:

  • 查看ls命令所需的动态库:
$ which ls
  • 查看libstdc++.so.6动态库依赖的包的详细信息,缺少依赖包时后面会显示 not found:
$ whereis libstdc++.so.6

2. 设置环境变量

2.1 Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH

  • PATH
    PATH 是存储可执行文件搜索路径的系统环境变量,它包含了一组由冒号 “:” 分隔的目录列表。当运行一个命令时,操作系统会在这些目录中查找相应的可执行文件,并在找到后执行它。例如,在命令行中执行 ls 命令时,就会依次在 PATH 变量列出的目录中查找 ls 命令,如果找到则执行,否则会提示找不到该命令。可以通过以下方式修改 PATH 环境变量:
  1. 临时修改,退出后则不再生效:

export PATH=$PATH:/exe_path/bin

  1. 永久修改:
# 修改 ~/.bashrc 或 /etc/profile 
export PATH=$PATH:/exe_path/bin

# 或者修改 /etc/environment
PATH=$PATH:/exe_path/bin

# 生效
source ~/.bashrc
或者
source /etc/profile
或者
source /etc/environment

此命令将把 /exe_path/bin 目录添加到系统的 PATH 变量中。

  • LIBRARY_PATH
    LIBRARY_PATH 是存储编译器查找库文件搜索路径的系统环境变量。当编译源代码时,编译器会在这些目录中查找指定的库文件,以便将其链接到可执行文件中。可以通过以下方式修改 LIBRARY_PATH 环境变量:
  1. 临时修改:

export LIBRARY_PATH=$LIBRARY_PATH:/compile_lib_path/lib

  1. 永久修改:
# 修改 ~/.bashrc或系统级别的/etc/profile
export LIBRARY_PATH=/compile_lib_path/lib:$LIBRARY_PATH 
# 生效
source ~/.bashrc
或者
source /etc/profile

此命令将在系统的 LIBRARY_PATH 变量中追加 /compile_lib_path/lib 目录,以后编译程序时,编译器将会在 /compile_lib_path/lib 目录中进行库文件的搜索。

  • LD_LIBRARY_PATH
    LD_LIBRARY_PATH 是存储运行时共享库文件搜索路径的系统环境变量。当在运行可执行程序时,动态链接器 (ld.so) 会在这些目录中查找相应的共享库文件。一旦找到了这些库文件,就会将它们加载到程序中。可以通过以下方式修改 LD_LIBRARY_PATH 环境变量:
  1. 临时修改:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

  1. 永久修改:
修改 ~/.bashrc 或者 ~/.bash_profile文件
export LD_LIBRARY_PATH=/ld_path/bin:$path
# 同步
source ~/.bashrc
或者 
source ~/.bash_profile

此命令将在系统的 LD_LIBRARY_PATH 变量中追加 /ld_path/bin 目录,以后运行程序时,动态链接器将会在 /ld_path/bin 目录中进行共享库的搜索。

2.2 LD_LIBRARY_PATH与LIBRARY_PATH区别

LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。
LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。

2.3 注意事项

需要注意的是,如果在环境变量中设置了多个路径,操作系统会按照指定的顺序依次搜索动态链接库。因此,应该将最常用的路径放在最前面,以提高程序的运行效率。

2.4 查看当前使用的环境变量

可以使用如下命令,查看当前环境信息:

export

2.5 按指定顺序设置路径

待补充

3. 设置服务器字符集

3.1 什么是字符集

字符集(Character Set),也被称为编码(Encoding),是用于表示文本的一组字符和它们在计算机中的表示方式。不同的字符集包含的字符、表示方式以及支持的语言不同,因此在不同的字符集中使用同样的字符通常会得到不同的结果。在Linux系统中,默认的字符集是UTF-8,它是Unicode字符集的一种实现方式。

3.2 查看当前字符集

echo $LANG

3.3 修改当前字符集

常用字符集:

GB2312
GBK
UTF-16
UTF-32
UTF-8(常用)

3.3.1 临时修改字符集

LANG=zh_CN.UTF-8

3.3.2 持久化保存字符编码

  1. 修改配置文件:/etc/locale.conf
    在这里插入图片描述
  2. 通过命令的方式修改字符集编码

localectl set-locale LANG=zh_CN.utf8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值