diff --git "a/\345\247\234\344\274\237\345\261\261/20240619 \345\221\250\346\234\237\344\273\273\345\212\241\345\222\214\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/\345\247\234\344\274\237\345\261\261/20240619 \345\221\250\346\234\237\344\273\273\345\212\241\345\222\214\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..53bc5bcef7b4bd8169aa9f319184d9107c5b0d4d --- /dev/null +++ "b/\345\247\234\344\274\237\345\261\261/20240619 \345\221\250\346\234\237\344\273\273\345\212\241\345\222\214\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,240 @@ +## 周期任务练习 + +执行在家目录touch a.txt + +1. 每天3:00执行一次 + + ``` + 0 3 * * * touch ~/a.txt + ``` + +2. 每周六2:00执行 + + ``` + 0 2 * * 6 touch ~/a.txt + ``` + +3. 每周六1:05执行 + + ``` + 5 1 * * 6 touch ~/a.txt + ``` + +4. 每周六1:25执行 + + ``` + 25 1 * * 6 touch ~/a.txt + ``` + +5. 每天8:40执行 + + ``` + 40 8 * * * touch ~/a.txt + ``` + +6. 每天3:50执行 + + ``` + 50 3 * * * touch ~/a.txt + ``` + +7. 每周一到周五的3:40执行 + + ``` + 40 3 * * 1-5 touch ~/a.txt + ``` + +8. 每周一到周五的3:41开始,每10分钟执行一次 **★** + + ``` + 41-59/10 3 * * 1-5 touch ~/a.txt + ``` + +9. 每天的10:31开始,每2小时执行一次 + + ``` + 31 10-23/2 * * * touch ~/a.txt + ``` + +10. 每周一到周三的9:30执行一次 + + ``` + 30 9 * * 1-3 touch ~/a.txt + ``` + +11. 每周一到周五的8:00,每周一到周五的9:00执行一次 + + ``` + 0 8,9 * * 1-5 touch ~/a.txt + ``` + +12. 每天的23:45分执行一次 + + ``` + 45 23 * * * touch ~/a.txt + ``` + +13. 每周三的23:45分执行一次 + + ``` + 45 23 * * 3 touch ~/a.txt + ``` + +14. 每周一到周五的9:25到11:35、13:00到15:00之间,每隔10分钟执行一次**★** + + ``` + 25-35/10 9-11 * * * touch ~/a.txt + 0-50/10 13-15 * * * touch ~/a.txt + ``` + +15. 每周一到周五的8:30、8:50、9:30、10:00、10:30、11:00、11:30、13:30、14:00、14:30、5:00分别执行一次 + + ``` + 50 8 * * 1-5 touch ~/a.txt + 0 5,10,11,14 * * 1-5 touch ~/a.txt + 30 8,9,10,11,13,14 * * 1-5 touch ~/a.txt + ``` + +16. 每天16:00、10:00执行一次 + + ``` + 0 10,16 * * * touch ~/a.txt + ``` + +17. 每天8:10、16:00、21:00分别执行一次 + + ``` + 10 8 * * * touch ~/a.txt + 0 16,21 * * * touch ~/a.txt + ``` + +18. 每天7:47、8:00分别执行一次 + + ``` + 47 7 * * * touch ~/a.txt + 0 8 * * * touch ~/a.txt + ``` + +## 环境变量 + +### 练习题 1: 显示当前所有的环境变量 + +- 使用`printenv`或`env`命令来显示所有的环境变量。 + +``` +printenv env set +``` + +### 练习题 2: 显示`HOME`环境变量的值 + +- 使用`echo`命令和`$`符号来显示`HOME`环境变量的值。sh + +``` +echo $HOME +``` + +### 练习题 3: 临时设置一个新的环境变量 + +- 设置一个名为`MY_AGE`的环境变量,并将其值设置为`18`。 + +``` +export MY_AGE=18 +#显示环境变量的值 +``` + +### 练习题 4: 显示新设置的环境变量 + +- 使用`echo`命令来显示`MY_AGE`的值。 + +``` +echo $MY_AGE +``` + +### 练习题 5: 在新的shell会话中检查环境变量 + +- 打开一个新的终端窗口或标签页,并尝试显示`MY_AGE`的值。你会看到什么?为什么? + + ``` + #会看到空白,因为MY_AGE是在当前shell中设置的临时变量,不会传递到新的shell会话中。 + ``` + +### 练习题 6: 修改`PATH`环境变量 + +- 将`你当前用户的家目录`添加到你的`PATH`环境变量的末尾位置 + +``` +PATH=$PATH:$HOME +``` + +将`/tmp`添加到你的`PATH`环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + +``` +PATH=/tmp:$PATH +``` + +### 练习题 7: 验证`PATH`的修改 + +- 使用`echo`命令显示`PATH`的值,并确认`前面添加的目录`已经被添加到对应位置。 + +``` +echo $PATH +``` + +### 练习题 8: 永久设置环境变量 + +- 在你的shell配置文件中(如`~/.bashrc`、`~/.bash_profile`、`~/.zshrc`等,取决于你使用的shell和配置)添加一行来永久设置`MY_NAME`,值设置为`奥德彪`。 + +例如,对于bash shell,你可以使用: + +``` +echo 'export MT_NAME="奥德彪"' >> ~/.bashrc +``` + +如何让`MY_NAME`生效,并验证 + +``` +source ~/.bashrc +echo $MY_NAME +``` + +### 练习题 9: 清理 + +- 清除你之前设置的`MY_AGE`和`PATH`的修改(如果你不想永久保留它们)。 + +``` +unset MY_AGE +PATH=$(echo $PATH | sed -e 's/:\/tmp//g') +# echo $PATH:首先通过echo $PATH命令输出当前PATH环境变量的值,$PATH是一个存储路径的环境变量,多个路径之间用冒号分隔。 + +# |:管道符号|将echo $PATH的输出作为下一条命令的输入。 + +# sed -e 's/:\/tmp//g':sed是流编辑器,-e表示后面跟着一个编辑动作。's/:\/tmp//g'是一个替换操作的命令: +# s/表示替换的操作 +# :/tmp是要替换的目标字符串,即要删除的路径/tmp +# /是分隔符,用来区分不同的部分 +# //为空,表示目标字符串删除后不留空格 +# g表示全局替换,即一行中的所有匹配项都会替换。 +# 因此,整句命令的作用是将PATH中包含的/tmp路径删除,从而清除PATH中之前添加的/tmp目录,确保环境变量PATH不包含/tmp路径。 +``` + +### 练习题 10: 修改默认器 + +- 使用`EDITOR`变量,修改你默认的编辑器为nano。 + +``` +export EDITOR=nano +``` + +### 练习题 11: 修改语言 + +- 使用`LANG`变量,让你的文件支持中文和utf8编码来避免乱码。 + +``` +export LANG=zh_CN.UTF-8 +``` + +- 使用`LANGUAGE`变量,让你的命令提示为中文 + +``` +export LANGUAGE=zh.CN.UTF-8 +``` \ No newline at end of file