Linux | 02用户环境变量

用户管理

Linux系统用户类型

1.root
超级用户,UID == 0 & GID == 0
2.系统用户
安装Linux或应用软件时自动创建
0 < UID < 1000
例如"mysql!sshd!apache
3.普通用户
超级用户root创建
UID >= 1000

Linux系统用户信息文件

1./etc/passwd

  • 用户信息(User Database)


    passwd文件

    2./etc/shadow

  • 密码信息(密码为加密后的密文,单向加密,不可反向解码)


    shadow文件
  1. /etc/group
  • 组群信息(Group Database)
  • 超级用户组群:GID == 0
  • 系统组群: 0 < GID < 1000
  • 普通组群:GID >= 1000


    group文件
用户管理

Linux环境变量的概念

  • 环境变量是在操作系统中一个具有特定名字的对象,它包含了所有应用程序所将使用到的信息。
    (可被shelI解读)
    (系统自带/用户创建)
  • Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一-组环境变量的定义。用户可以对自己的运行环境进行自定义,其方法就是修改相应的系统环境变量
  • Shell变量=环境变量(全局变量) +普通变量(局部变量,程序里用)

系统环境变量修改

显示变量

echo $VARIABLE

临时添加新变量

export VARIABLE=value

永久添加新变量

# 修改所有用户配置文件/etc/profile
export VARIABLE=value
# 修改单个用户配置文件
export VARIABLE=value

变量配置文件

系统启动后(登录shell)
# 系统文件(适用于所有用户)
 /etc/profile
 /etc/profile.d/*
# 用户文件
 ~/.bash_profile
 ~/.bash_login
 ~/.profile

shell/terminal启动后
# 交互式shell
 ~/.bashrc

bash相关文件

 /bin/bash
# The bash executable
 /etc/profile
# The systemwide initialization file, executed for login shells
 ~/.bash_profile
# The personal initialization file, executed for login shells
 ~/.bashrc
# The individual per-interactive-shell startup file
 ~/.bash_logout
# The individual login shell cleanup file, executed when a login shell exits
 ~/.inputrc
# Individual readline initialization file

常用环境变量

env/printenv/export
  • 显示(设置)用户环境变量
  • env/printenv:用户变量
  • export:当前导出成用户变量的shell变量
set/declare
  • 显示(设置)本shell私有变量和用户环境变量
  • 不同类的shell有不同的私有变量
unset
  • 清除环境变量

比较以下5个命令的区别

env > env
export > export
printenv > printenv
set > set
declare > declare
# 统计文件行数
❯ wc -l ./*

  7938 ./declare
    47 ./env
    44 ./export
    47 ./printenv
  7938 ./set
 16014 total

$HOME

用户主目录

$SHELL

默认shell类型的路径

$PATH
  • 命令搜索路径,以:分隔
  • $PS1
  • shell命令提示符
$LANG
  • 语言环境
$HIST*
  • 历史命令相关
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容