From 72634617d4bc0acb146bd6f8f0830aded3196e7f Mon Sep 17 00:00:00 2001 From: keke <567> Date: Wed, 19 Jun 2024 12:20:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\213\237\346\234\272\345\222\214Debain.md" | 0 ...57\345\242\203\345\217\230\351\207\217.md" | 205 ++++++++++++++++++ 2 files changed, 205 insertions(+) rename "05\346\237\257\346\230\200\345\220\253/2024-05-15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" => "05\346\237\257\346\230\200\345\220\253/2024-05.15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" (100%) create mode 100644 "05\346\237\257\346\230\200\345\220\253/2024-06.18-\347\216\257\345\242\203\345\217\230\351\207\217.md" diff --git "a/05\346\237\257\346\230\200\345\220\253/2024-05-15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" "b/05\346\237\257\346\230\200\345\220\253/2024-05.15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" similarity index 100% rename from "05\346\237\257\346\230\200\345\220\253/2024-05-15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" rename to "05\346\237\257\346\230\200\345\220\253/2024-05.15-\345\256\211\350\243\205\350\231\232\346\213\237\346\234\272\345\222\214Debain.md" diff --git "a/05\346\237\257\346\230\200\345\220\253/2024-06.18-\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/05\346\237\257\346\230\200\345\220\253/2024-06.18-\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000..f283d11 --- /dev/null +++ "b/05\346\237\257\346\230\200\345\220\253/2024-06.18-\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,205 @@ +## 环境变量 + +用户级: 存储在用户家目录的个人配置文件中(~~/.bashrc 、~~/.profile) 用于用户个性化的shell设置,如别名,路径等 + +系统级:存储在系统范围的配置文件中(/etc/environment、/etc/profile)用于所有用户和系统服务提供全局的环境设置 如java_home + +1. 配置文件的理论加载顺序通常是 `/etc/environment` > `/etc/profile` > `~/.profile` > `~/.bashrc` +2. export 变量名=值 环境变量是全局的,整个环境有效 + +#### 环境变量的设置和使用示例 + +1. 设置路径变量(PATH) + +``` +# 在 ~/.bashrc 中添加 +export PATH=$PATH:/path/to/your/scripts +``` + +1. 定义Java环境变量(JAVA_HOME) + +``` +# 在 ~/.bashrc 或 /etc/environment 中添加 +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 +export PATH=$JAVA_HOME/bin:$PATH #PATH 可执行文件的搜索路径 +``` + +1. 设置代理服务器(HTTP_PROXY、HTTPS_PROXY) + +``` +# 在 ~/.bashrc 中添加 +export HTTP_PROXY=http://proxy.example.com:8080 +export HTTPS_PROXY=http://proxy.example.com:8080 +``` + +1. 配置编辑器(EDITOR) + +``` +# 在 ~/.bashrc 中添加 +export EDITOR=/usr/bin/vim #默认文本编辑器 editor +``` + +1. 设置语言和地区(LANG、LC_系列变量) + +``` +# 在 ~/.bashrc 或 /etc/environment 中添加 +export LANG=zh_CN.utf8 #编辑文件不乱码 +export LANGUAGE=zh_CN.utf8 #设置消息语言的优先级 +``` + +1. 自定义命令别名(alias) + +``` +# 在 ~/.bashrc 中添加 +alias ll='ls -alF' +alias grep='grep --color=auto' +``` + +1. 设置临时环境变量 + +``` +# 临时设置变量(全局) +export MY_VAR="value" +``` + +1. 查看所有配置的环境变量 + +``` +env printenv +``` + +### 练习题 1: 显示当前所有的环境变量 + +* 使用`printenv`或`env`命令来显示所有的环境变量。 + + +```bash +keke@hecs-98453:~$ env +``` +### 练习题 2: 显示`HOME`环境变量的值 + +* 使用`echo`命令和`$`符号来显示`HOME`环境变量的值。 + + +```bash +keke@hecs-98453:~$ echo $HOME +/home/keke +``` +### 练习题 3: 临时设置一个新的环境变量 + +* 设置一个名为`MY_AGE`的环境变量,并将其值设置为`18`。 + + +```bash +keke@hecs-98453:~$ export MY_AGE=18 +keke@hecs-98453:~$ echo $MY_AGE +18 +``` +### 练习题 4: 显示新设置的环境变量 + +* 使用`echo`命令来显示`MY_AGE`的值。 + + +```bash +echo $MY_VARIABLE +keke@hecs-98453:~$ echo $MY_AGE +18 +``` +### 练习题 5: 在新的shell会话中检查环境变量 + +* 打开一个新的终端窗口或标签页,并尝试显示`MY_AGE`的值。你会看到什么?为什么? + +* ``` + 看不到哇。临时变量 + ``` + +### 练习题 6: 修改`PATH`环境变量 + +* 将`你当前用户的家目录`添加到你的`PATH`环境变量的末尾位置 + + +```bash +keke@hecs-98453:~$ echo $MY_AGE pwd +18 pwd +keke@hecs-98453:~$ export PATH=$PATH:/home/duoc +keke@hecs-98453:~$ echo $PATH +/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc +``` +将`/tmp`添加到你的`PATH`环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + +``` +keke@hecs-98453:~$ export PATH=$PATH:/home/duoc +keke@hecs-98453:~$ echo $PATH +/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc +keke@hecs-98453:~$ export PATH=/tmp/:$PATH +keke@hecs-98453:~$ echo $PATH +/tmp/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc +``` + +### 练习题 7: 验证`PATH`的修改 + +* 使用`echo`命令显示`PATH`的值,并确认`前面添加的目录`已经被添加到对应位置。 + + +```bash +家目录:keke@hecs-98453:~$ echo $PATH +/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc + +tmp位置:keke@hecs-98453:~$ echo $PATH +/tmp/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc +``` +### 练习题 8: 永久设置环境变量 + +* 在你的shell配置文件中(如`~/.bashrc`、`~/.bash_profile`、`~/.zshrc`等,取决于你使用的shell和配置)添加一行来永久设置`MY_NAME`,值设置为`奥德彪`。 + +例如,对于bash shell,你可以使用: + + +```bash +keke@hecs-98453:~$ vim .bashrc +export MY_NAME="雨霖铃" +``` +如何让`MY_NAME`生效,并验证 + +``` +keke@hecs-98453:~$ source .bashrc +keke@hecs-98453:~$ echo $MY_NAME +雨霖铃 +``` + +### 练习题 9: 清理 + +* 清除你之前设置的`MY_AGE`和`PATH`的修改(如果你不想永久保留它们)。 + + +```bash +keke@hecs-98453:~$ unset MY_AGE +keke@hecs-98453:~$ env | grep MY_AGE + +keke@hecs-98453:~$ unset PATH +keke@hecs-98453:~$ env | grep PATH +``` +### 练习题 10: 修改默认器 + +* 使用`EDITOR`变量,修改你默认的编辑器为nano。 + + +```bash +keke@hecs-98453:~$ export EDITOR=/usr/bin/nano +keke@hecs-98453:~$ nano .bashrc +``` + +### 练习题 11: 修改语言 + +* 使用`LANG`变量,让你的文件支持中文和utf8编码来避免乱码。 + +``` +keke@hecs-98453:~$ exprot LANG=zh_CN.utf8 +``` + +- 使用`LANGUAGE`变量,让你的命令提示为中文 + +``` +keke@hecs-98453:~$ exprot LANGUAGE=zh_utf8 +``` + -- Gitee