diff --git "a/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..240e00213c88dfddc908f67af895ba6bd7f66995 --- /dev/null +++ "b/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,68 @@ +### 环境变量 + +``` bash +1.环境变量的类型和作用 + 用户级别环境变量 + 存储在用户家目录的个人配置文件中,例如 ~/.bashrc ~/.profile + 用于定义用户个性化的Shell设置,如别名,路径等 + 系统级别环境变量 + 存储在系统范围的配置文件中,如/etc/environment /etc/profile + 为所有用户和系统服务提供全局的环境设置 java_home + +2.环境变量的加载顺序和文件 + 系统启动加载: /etc/environment + 登录Shell加载顺序: + 首先加载/etc/profile 然后根据用户登录方式加载 ~/.profile(存在性依次加载) + 非登录shell:su 切换用户等 source + 交互式Shell加载顺序: + 加载~/.bashrc 或类似文件,用于设置用户个性化的Shell环境 + 不同的shell加载不同的文件,bash才加载.bashrc, zsh加载.zshrc + 交互式:提供命令行窗口,非交互式:直接写在脚本里 + 总结来说 + 配置文件的理论加载顺序通常是 /etc/environment > /etc/profile > ~/.profile > ~/.bashrc + +3.设置环境变量的方法 + 设置变量的位置:命令行(临时),脚本文件(永久) + + 3.1 临时设置环境变量:临时变量(局部),临时环境变量(全部) + 可以使用export 命令来临时设置一个环境变量,例如: + export MY_VAR="value" # export 变量名=值 环境变量是全局的,整个环境有效 + MY_VAR="value" # 少了export就是临时变量,不是全局的 + 这种设置只在当前Shell会话中有效,关闭Shell会话后会失效 + + 3.2 永久设置环境变量 + 用户级别的: 编辑用户的~/.bashrc 或~/.profile文件,并添加如下行: + export MY_VAR="value" + 保存文件后,新的设置会在下次登录时生效 + 系统级别的:编辑/etc/environment 或 /etc/profile文件,并添加行: + MY_VAR="value" + 这里不需要使用export命令,保存文件后,变量会在系统启动时生效 + + 3.3环境变量的设置和使用示例 + a.设置路径变量(PATH) + # 在 ~/.bashrc 中添加 + export PATH=$PATH:/path/to/your/scripts + b.定义Java环境变量(JAVA_HOME) + # 在 ~/.bashrc 或 /etc/environment 中添加 + export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 + export PATH=$JAVA_HOME/bin:$PATH + c.设置代理服务器(HTTP_PROXY、HTTPS_PROXY) + # 在 ~/.bashrc 中添加 + export HTTP_PROXY=http://proxy.example.com:8080 + export HTTPS_PROXY=http://proxy.example.com:8080 + d.配置编辑器(EDITOR) + # 在 ~/.bashrc 中添加 + export EDITOR=/usr/bin/vim + e.设置语言和地区(LANG、LC_系列变量) + # 在 ~/.bashrc 或 /etc/environment 中添加 + export LANG=en_US.UTF-8 + export LC_ALL=en_US.UTF-8 + f.自定义命令别名(alias) + # 在 ~/.bashrc 中添加 + alias ll='ls -alF' + alias grep='grep --color=auto' + g.设置临时环境变量 + # 临时设置变量 + export MY_VAR="value" +``` + diff --git "a/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217\347\273\203\344\271\240.md" "b/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..9131d56132d996d2cbb13ed1d715cd295683c545 --- /dev/null +++ "b/02\350\265\265\345\206\254\350\216\271/2024-06-18\347\216\257\345\242\203\345\217\230\351\207\217\347\273\203\344\271\240.md" @@ -0,0 +1,128 @@ +### 练习题 1: 显示当前所有的环境变量 + +* 使用`printenv`或`env`命令来显示所有的环境变量。 + + +```bash +printenv或env +``` +### 练习题 2: 显示`HOME`环境变量的值 + +* 使用`echo`命令和`$`符号来显示`HOME`环境变量的值。 + + +```bash +zdy18@hecs-235925:~$ echo $HOME +/home/zdy18 +``` +### 练习题 3: 临时设置一个新的环境变量 + +* 设置一个名为`MY_AGE`的环境变量,并将其值设置为`18`。 + + +```bash +zdy18@hecs-235925:~$ export MY_AGE=18 +``` +### 练习题 4: 显示新设置的环境变量 + +* 使用`echo`命令来显示`MY_AGE`的值。 + + +```bash +zdy18@hecs-235925:~$ echo $MY_AGE +18 +``` +### 练习题 5: 在新的shell会话中检查环境变量 + +* 打开一个新的终端窗口或标签页,并尝试显示`MY_AGE`的值。你会看到什么?为什么? + + 空的 因为这种设置只在当前Shell会话中有效,关闭Shell会话后会失效 + +### 练习题 6: 修改`PATH`环境变量 + +* 将`你当前用户的家目录`添加到你的`PATH`环境变量的末尾位置 + + +```bash +zdy18@hecs-235925:~$ export PATH=$PATH:/home/zdy18 +zdy18@hecs-235925:~$ echo $PATH +/usr/local/python3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/zdy18 + +``` +将`/tmp`添加到你的`PATH`环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + +```bash +zdy18@hecs-235925:~$ export PATH=/tmp$PATH:/home/zdy18 +zdy18@hecs-235925:~$ echo $PATH +/tmp/usr/local/python3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/zdy18:/home/zdy18 + +``` + +### 练习题 7: 验证`PATH`的修改 + +* 使用`echo`命令显示`PATH`的值,并确认`前面添加的目录`已经被添加到对应位置。 + + +```bash +zdy18@hecs-235925:~$ echo $PATH +/usr/local/python3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/zdy18 +zdy18@hecs-235925:~$ echo $PATH +/tmp/usr/local/python3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/zdy18:/home/zdy18 + +``` +### 练习题 8: 永久设置环境变量 + +* 在你的shell配置文件中(如`~/.bashrc`、`~/.bash_profile`、`~/.zshrc`等,取决于你使用的shell和配置)添加一行来永久设置`MY_NAME`,值设置为`奥德彪`。 + +例如,对于bash shell,你可以使用: + + +```bash +zdy18@hecs-235925:~$ vim ~/.bashrc +添加: +export MY_NAME="奥德彪" +``` +如何让`MY_NAME`生效,并验证 + +```bash +zdy18@hecs-235925:~$ source ~/.bashrc +zdy18@hecs-235925:~$ echo $MY_NAME +奥德彪 +``` + +### 练习题 9: 清理 + +* 清除你之前设置的`MY_AGE`和`PATH`的修改(如果你不想永久保留它们)。 + + +```bash +vim ~/.bashrc +# MY_AGE=18 +# export PATH=$PATH:/home/zdy18 +# export PATH=/tmp$PATH:/home/zdy18 +source ~/.bashrc + +``` +### 练习题 10: 修改默认器 + +* 使用`EDITOR`变量,修改你默认的编辑器为nano。 + + +```bash +export EDITOR=/usr/bin/nano +``` + +### 练习题 11: 修改语言 + +* 使用`LANG`变量,让你的文件支持中文和utf8编码来避免乱码。 + +``` +export LANG=zh_CN.utf8 +``` + +- 使用`LANGUAGE`变量,让你的命令提示为中文 + +``` +export LANGUAGE=zh_CN.utf8 +``` + diff --git "a/02\350\265\265\345\206\254\350\216\271/2024-06-19Linux\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206.md" "b/02\350\265\265\345\206\254\350\216\271/2024-06-19Linux\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..34315d167eaae55accd85e255e933f48e7205a9a --- /dev/null +++ "b/02\350\265\265\345\206\254\350\216\271/2024-06-19Linux\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206.md" @@ -0,0 +1,13 @@ +### Linux系统服务管理 + ++ systemctl + + 启动服务 : systemctl start 服务名 + + 停止服务 : systemctl stop 服务名 + + 重启服务 : systemctl restart 服务名 + + 查看服务 : systemctl status 服务名 + + 重新加载配置文件 : systemctl reload 服务名 ++ service + + 启动服务 : service 服务名 start + + 停止服务 : service 服务名 stop + + 重启服务 : service 服务名 restart + + 查看服务 : service 服务名 status \ No newline at end of file