From 286441b5b3a1055bb9a40d9f1512c8a3825eb6c5 Mon Sep 17 00:00:00 2001 From: zz <223355> Date: Tue, 18 Jun 2024 21:35:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...73\345\212\241\347\256\241\347\220\206.md" | 2 +- ...57\345\242\203\345\217\230\351\207\217.md" | 213 ++++++++++++++++++ 2 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 "20\346\234\261\347\216\211\346\225\217/20240618-\347\216\257\345\242\203\345\217\230\351\207\217.md" diff --git "a/20\346\234\261\347\216\211\346\225\217/20240615-\345\221\250\346\234\237\344\273\273\345\212\241\347\256\241\347\220\206.md" "b/20\346\234\261\347\216\211\346\225\217/20240615-\345\221\250\346\234\237\344\273\273\345\212\241\347\256\241\347\220\206.md" index 3a19ab6..247905d 100644 --- "a/20\346\234\261\347\216\211\346\225\217/20240615-\345\221\250\346\234\237\344\273\273\345\212\241\347\256\241\347\220\206.md" +++ "b/20\346\234\261\347\216\211\346\225\217/20240615-\345\221\250\346\234\237\344\273\273\345\212\241\347\256\241\347\220\206.md" @@ -74,7 +74,7 @@ crontab -u username -e 12. 54 23 * * * 用户名 touch a.txt 13. 54 23 * * 3 用户名 touch a.txt 14. 25,35,45,55 9 * 1-5 用户名 touch a.txt - 5-59,10 * * * 用户名 touch a.txt + 5-59/10,10 * * * 用户名 touch a.txt 5,15,35 11 * * * 用户名 touch a.txt 0 13-15 * * * 用户名 touch a.txt 15. 03 8,9,10,1,13,14 * * 1-5 用户名 touch a.txt diff --git "a/20\346\234\261\347\216\211\346\225\217/20240618-\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/20\346\234\261\347\216\211\346\225\217/20240618-\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000..5733afa --- /dev/null +++ "b/20\346\234\261\347\216\211\346\225\217/20240618-\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,213 @@ +## 环境变量 + +用户级: 存储在用户家目录的个人配置文件中(~/.bashrc 、~/.profile) 用于用户个性化的shell设置,如别名,路径等 + +系统级:存储在系统范围的配置文件中(/etc/environment、/etc/profile)用于所有用户和系统服务提供全局的环境设置 如java_home + +1. 配置文件的理论加载顺序通常是 `/etc/environment` > `/etc/profile` > `~/.profile` > `~/.bashrc` +2. export 变量名=值 环境变量是全局的,整个环境有效 + +#### 环境变量的设置和使用示例 + +1. 设置路径变量(PATH) + +```bash +# 在 ~/.bashrc 中添加 +export PATH=$PATH:/path/to/your/scripts +``` + +2. 定义Java环境变量(JAVA_HOME) + +```bash +# 在 ~/.bashrc 或 /etc/environment 中添加 +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 +export PATH=$JAVA_HOME/bin:$PATH #PATH 可执行文件的搜索路径 +``` + +3. 设置代理服务器(HTTP_PROXY、HTTPS_PROXY) + +```bash +# 在 ~/.bashrc 中添加 +export HTTP_PROXY=http://proxy.example.com:8080 +export HTTPS_PROXY=http://proxy.example.com:8080 +``` + +4. 配置编辑器(EDITOR) + +```bash +# 在 ~/.bashrc 中添加 +export EDITOR=/usr/bin/vim #默认文本编辑器 editor +``` + +5. 设置语言和地区(LANG、LC_系列变量) + +```bash +# 在 ~/.bashrc 或 /etc/environment 中添加 +export LANG=zh_CN.utf8 #编辑文件不乱码 +export LANGUAGE=zh_CN.utf8 #设置消息语言的优先级 +``` + +6. 自定义命令别名(alias) + +```bash +# 在 ~/.bashrc 中添加 +alias ll='ls -alF' +alias grep='grep --color=auto' +``` + +7. 设置临时环境变量 + +```bash +# 临时设置变量(全局) +export MY_VAR="value" +``` + +8. 查看所有配置的环境变量 + +```bash +env +``` + +#### 练习 + +### 练习题 1: 显示当前所有的环境变量 + +* 使用`printenv`或`env`命令来显示所有的环境变量。 + + +```bash +duoc@debian:~$ env +duoc@debian:~$ printenv +``` + +### 练习题 2: 显示`HOME`环境变量的值 + +* 使用`echo`命令和`$`符号来显示`HOME`环境变量的值。 + + +```bash +duoc@debian:~$ echo $HOME +/home/duoc +``` + +### 练习题 3: 临时设置一个新的环境变量 + +* 设置一个名为`MY_AGE`的环境变量,并将其值设置为`18`。 + + +```bash +duoc@debian:~$ export MY_AGE=18 + +``` + +### 练习题 4: 显示新设置的环境变量 + +* 使用`echo`命令来显示`MY_AGE`的值。 + + +```bash +duoc@debian:~$ echo $MY_AGE +18 +``` + +### 练习题 5: 在新的shell会话中检查环境变量 + +* 打开一个新的终端窗口或标签页,并尝试显示`MY_AGE`的值。你会看到什么?为什么? + +```bash +duoc@debian:~$ echo $MY_AGE +18 +``` + + + +### 练习题 6: 修改`PATH`环境变量 + +* 将`你当前用户的家目录`添加到你的`PATH`环境变量的末尾位置 + + +```bash +duoc@debian:~$ pwd +/home/duoc +duoc@debian:~$ export PATH=$PATH:/home/duoc +duoc@debian:~$ echo $PATH +/tmp:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/duoc + +``` + +将`/tmp`添加到你的`PATH`环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + +```bash +duoc@debian:~$ export PATH=/tmp:$PATH +duoc@debian:~$ echo $PATH +/tmp:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games +``` + +### 练习题 7: 验证`PATH`的修改 + +* 使用`echo`命令显示`PATH`的值,并确认`前面添加的目录`已经被添加到对应位置。 + + +```bash +看上面 +``` + +### 练习题 8: 永久设置环境变量 + +* 在你的shell配置文件中(如`~/.bashrc`、`~/.bash_profile`、`~/.zshrc`等,取决于你使用的shell和配置)添加一行来永久设置`MY_NAME`,值设置为`奥德彪`。 + +例如,对于bash shell,你可以使用: + + +```bash +duoc@debian:~$ vim .bashrc +export MY_NAME="奥德彪" + +``` + +如何让`MY_NAME`生效,并验证 + +```bash +duoc@debian:~$ source .bashrc +duoc@debian:~$ echo $MY_NAME +奥德彪 +``` + +### 练习题 9: 清理 + +* 清除你之前设置的`MY_AGE`和`PATH`的修改(如果你不想永久保留它们)。 + + +```bash +duoc@debian:~$ unset MY_AGE +duoc@debian:~$ env |grep MY_AGE + +duoc@debian:~$ unset PATH +duoc@debian:~$ env |grep PATH + +``` + +### 练习题 10: 修改默认器 + +* 使用`EDITOR`变量,修改你默认的编辑器为nano。 + + +```bash +duoc@debian:~$ export EDITOR=/usr/bin/nano +duoc@debian:~$ nano .bashrc +``` + +### 练习题 11: 修改语言 + +* 使用`LANG`变量,让你的文件支持中文和utf8编码来避免乱码。 + +```bash +export LANG=zh_CN.utf8 +``` + +- 使用`LANGUAGE`变量,让你的命令提示为中文 + +```bash +export LANGUAGE=zh_CN.utf8 +``` + -- Gitee