持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天
课程概览与shell
习题 1.本课程需要使用类Unix shell,例如 Bash 或 ZSH。如果您在 Linux 或者 MacOS 上面完成本课程的练习,则不需要做任何特殊的操作。如果您使用的是 Windows,则您不应该使用 cmd 或是 Powershell;您可以使用Windows Subsystem for Linux或者是 Linux 虚拟机。使用echo $SHELL命令可以查看您的 shell 是否满足要求。如果打印结果为/bin/bash或/usr/bin/zsh则是可以的。
使用VM虚拟机运行Ubuntu,打开终端输入echo $SHELL即可。
2.在 /tmp 下新建一个名为 missing 的文件夹。
mkdir ~/tmp/missing
3.用 man 查看程序 touch 的使用手册。
man touch
4.用 touch 在 missing 文件夹中新建一个叫 semester 的文件。
touch ~/tmp/missing/semester
4.将以下内容一行一行地写入 semester 文件:
#!/bin/sh curl --head --silent missing.csail.mit.edu
其实可以使用vim来写入echo '#!/bin/sh' >~/tmp/missing/semester echo 'curl -- head --silent missing.csail.mit.edu' >> ~/tmp/missing/semester
可参考 Bash quoting
5.尝试执行这个文件。例如,将该脚本的路径(./semester)输入到您的shell中并回车。如果程序无法执行,请使用 ls 命令来获取信息并理解其不能执行的原因。
输入./semester后提示权限不足,使用ls -l查看其权限> -rw-rw-r-- 1 xuqiuming xuqiuming 62 10月 14 09:33 semester 没有x权限,所以添加权限,可以用chmod 777 filename实现 chmod 777 semester ./semester
6.查看 chmod 的手册(例如,使用 man chmod 命令)
man chmod
7.使用 chmod 命令改变权限,使 ./semester 能够成功执行,不要使用 sh semester 来执行该程序。您的 shell 是如何知晓这个文件需要使用 sh 来解析呢?更多信息请参考:shebang
chmod 777 semester ./semester
8.使用 | 和 > ,将 semester 文件输出的最后更改日期信息,写入主目录下的 last-modified.txt 的文件中
stat ./semester | grep 最近更改 >last-modify.txt 使用“最近更改”的原因为系统语言为中文,英文使用"last-modify"
9.写一段命令来从 /sys 中获取笔记本的电量信息,或者台式机 CPU 的温度。注意:macOS 并没有 sysfs,所以 Mac 用户可以跳过这一题
如果使用虚拟机,应该是无法获取电量信息 我用虚拟机也无法查到cpu温度,所以下面放上官方答案吧 查询电量 cat /sys/class/power_supply/BAT1/capacity