用户管理
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)
2./etc/shadow
-
密码信息(密码为加密后的密文,单向加密,不可反向解码)
- /etc/group
- 组群信息(Group Database)
- 超级用户组群:GID == 0
- 系统组群: 0 < GID < 1000
-
普通组群:GID >= 1000
用户管理
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*
- 历史命令相关