diff --git "a/52\351\231\206\345\207\257/2024-06-18 \347\216\257\345\242\203\345\217\230\351\207\217.md" "b/52\351\231\206\345\207\257/2024-06-18 \347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..8a82a93e1eb4c4635bd01e0b9f586626ea1f83df --- /dev/null +++ "b/52\351\231\206\345\207\257/2024-06-18 \347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,65 @@ +### 环境变量 + +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" \ No newline at end of file diff --git "a/52\351\231\206\345\207\257/2024-06-18 \347\216\257\345\242\203\345\217\230\351\207\217\347\273\203\344\271\240.md" "b/52\351\231\206\345\207\257/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..8acfcddb1ee7daee0c3dcea6dfd6c92f47a91429 --- /dev/null +++ "b/52\351\231\206\345\207\257/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,71 @@ + 练习题 1: 显示当前所有的环境变量 + 使用printenv或env命令来显示所有的环境变量。 + printenv或env + + 练习题 2: 显示HOME环境变量的值 + 使用echo命令和$符号来显示HOME环境变量的值。 + zdy18@hecs-235925:~$ echo $HOME + /home/zdy18 + + 练习题 3: 临时设置一个新的环境变量 + 设置一个名为MY_AGE的环境变量,并将其值设置为18。 + zdy18@hecs-235925:~$ export MY_AGE=18 + + 练习题 4: 显示新设置的环境变量 + 使用echo命令来显示MY_AGE的值。 + zdy18@hecs-235925:~$ echo $MY_AGE + 18 + + 练习题 5: 在新的shell会话中检查环境变量 + 打开一个新的终端窗口或标签页,并尝试显示MY_AGE的值。你会看到什么?为什么? + + 空的 因为这种设置只在当前Shell会话中有效,关闭Shell会话后会失效 + + 练习题 6: 修改PATH环境变量 + 将你当前用户的家目录添加到你的PATH环境变量的末尾位置 + 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环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + + 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的值,并确认前面添加的目录已经被添加到对应位置。 + 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,你可以使用: + + zdy18@hecs-235925:~$ vim ~/.bashrc + 添加: + export MY_NAME="奥德彪" + 如何让MY_NAME生效,并验证 + + zdy18@hecs-235925:~$ source ~/.bashrc + zdy18@hecs-235925:~$ echo $MY_NAME + 奥德彪 + + 练习题 9: 清理 + 清除你之前设置的MY_AGE和PATH的修改(如果你不想永久保留它们)。 + vim ~/.bashrc + # MY_AGE=18 + # export PATH=$PATH:/home/zdy18 + # export PATH=/tmp$PATH:/home/zdy18 + source ~/.bashrc + + 练习题 10: 修改默认器 + 使用EDITOR变量,修改你默认的编辑器为nano。 + export EDITOR=/usr/bin/nano + + 练习题 11: 修改语言 + 使用LANG变量,让你的文件支持中文和utf8编码来避免乱码。 + export LANG=zh_CN.utf8 + 使用LANGUAGE变量,让你的命令提示为中文 + export LANGUAGE=zh_CN.utf8 \ No newline at end of file diff --git "a/52\351\231\206\345\207\257/2024-06-19 Linux\346\234\215\345\212\241\344\270\216\347\256\241\347\220\206.md" "b/52\351\231\206\345\207\257/2024-06-19 Linux\346\234\215\345\212\241\344\270\216\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..e9124132ad6f69c82213f9ddb63c64d1ee873e85 --- /dev/null +++ "b/52\351\231\206\345\207\257/2024-06-19 Linux\346\234\215\345\212\241\344\270\216\347\256\241\347\220\206.md" @@ -0,0 +1,42 @@ +### Linux系统服务管理 + + systemctl + 启动服务 : systemctl start 服务名 + 停止服务 : systemctl stop 服务名 + 重启服务 : systemctl restart 服务名 + 查看服务 : systemctl status 服务名 + 重新加载配置文件 : systemctl reload 服务名 + service + 启动服务 : service 服务名 start + 停止服务 : service 服务名 stop + 重启服务 : service 服务名 restart + 查看服务 : service 服务名 status + ps命令:用于列出当前正在运行的进程 + ps -aux:显示所有用户的所有进程 + ps -ef :以完整格式显示所有进程 + ps -e --forest :以树形结构显示进程关系 + + kill命令:用于终止指定进程 + kill PID(是一个数字的PID) + 例 kill 1234 (该命令将向PID为1234的进程发送默认的终止信号) + + -1 或 -hangup + 例 kill -1 PID (挂起信号,通常用于重启或重新加载进程) + + -2 或 -interrupt + 例 kill -2 PID (中断信号,通常由Ctrl+C 发送给前台进程) + + -3 或 -quit + 例 kill -3 PID (退出信号,通常由Ctrl+\0发送给前台进程) + + kill -9 PID + 例 kill -9 5678 (使用强制终止信号,终止进程) + + -15 或 -terminate + 例 kill -15 PID (终止信号) + + -17 或 -stop + 例 kill -17 PID (暂停进程的执行) + + -18 或 -continue + 例 kill -18 PID (继续信号,恢复被停止的进程的执行) \ No newline at end of file