1,环境变量设置目的:减少操作或减少命令输入
就像快捷方式一样,尽可能的减少你的操作或命令(字符)输入
2,一个例子
比如你要执行以下命令:
cd /home/mysql/bin
./mysql -uroot -p
# 也可以直接写成
./home/mysql/bin/mysql -uroot -p
# 但明显上面输入太多,环境变量设置的目的,就是取代“/home/mysql/bin”这部分输入
但明显上面输入太多,环境变量设置的目的,就是取代“/home/mysql/bin”这部分输入
3,系统环境变量
根据2可以看出,系统环境变量就是一组字符串,用来关联可执行程序,但具体怎么知道哪个系统变量对应哪个程序呢?推测是循环遍历执行(暂时没找到资料佐证系统具体的执行过程),比如:
# 我要执行 mysql -uroot -p
# 系统会默认去环境变量里边找,假设目前已配了3个
# /home/redis/bin
# /home/mysql/bin
# /home/oracle/bin
# 循环遍历
# 失败,继续下一个
./home/redis/bin/mysql -uroot -p
# 成功,停止,继续当前程序
./home/mysql/bin/mysql -uroot -p
4,系统环境变量延伸
# 环境变量配置方式
# 1
vi /etc/profile
# 添加
export JAVA_HOME=/usr/jdk/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
# 2
# 直接添加
export PATH=/usr/jdk/jdk1.8.0_60/bin:$PATH
# 对比1和2,不难发现,第一种更好,抽取了公共部分
5,service 与 systemctl
daemon命令 | systemctl命令 | 说明 |
---|---|---|
service [服务] start | systemctl start [unit type] | 启动服务 |
service [服务] stop | systemctl stop [unit type] | 停止服务 |
service [服务] restart | systemctl restart [unit type] | 重启服务 |
参考:service与systemctl命令比较 - Alick陈彬 - 博客园
6,mysql 与 mysqld
mysql -- mysql is a command-line client for executing SQL statements interactively or in batch mode.
mysqld -- mysqld is the MySQL server.
就是说:
mysql是一个命令行程序
mysqld是一个服务
Linux系统里一般服务都是以的结尾的,比如httpd,mysqld等
所以在开启服务时也要用服务的名字,这样:
systemctl start mysqld.service
service stop mysqld
d的全拼是daemon /ˈdiːmən/,也就是守护程序的意思,常驻与后台