Mit:the missing semester 1

这篇文章是干嘛的?

这是用于记录我学习MIT:The missing semester课程的过程

什么是MIT:the missing semester?

这是一门由麻省理工大学的老师讲授的课程,教育学生们如何学习使用计算机专业常用工具。如Shell Vim Git 等一般课程不会讲授但是却对计算机学习十分有用的工具。

Shell常用指令

1
2
3
4
5
6
7
8
cd <folder> #打开folder文件夹
pwd #显示当前的工作目录
cd .. #打开上级目录
ls #显示当前目录下的所有文件
mv #重命名/移动文件
cp #拷贝文件
mkdir #新建文件夹
chmod #修改文件权限

程序间建立连接

在Shell中,程序有两个主要的流:输入流和输出流。

程序读取信息时,会从输入流读取,打印信息时,会将信息输出到输出流中。

通常输出流为终端,但可以重定向这些流,比如最简单的重定向 ‘< file’ 和 ‘> file’

比如:

1
2
3
4
5
6
echo hello > hello.txt
#echo hello 会输出hello,但由于输出流被重定向至hello.txt,所以终端无输出,hello.txt的内容变为hello
cat < hello.txt > hello2.txt
cat hello2.txt
hello
#hello.txt被cat接收,cat的输出被hello2.txt接收,所以终端无输出,且hello2.txt变为hello

还可以使用管道(pipes)更好的利用文件重定向。|操作符允许将程序的输出和另一个程序的输入连接起来

比如:

1
2
ps | grep process
#ps获取当前所有的进程,并传给grep,grep查找名称带有process的进程,并输出到终端

课后练习

环境为:WSL2 Ubuntu 20.04

  1. cd /tmp 打开’tmp’文件夹,mkdir missing 创建名称为 ‘missing’ 的文件夹

  2. man touch 查看程序‘touch’的使用手册

  3. touch semester 新建一个名为’semester’的文件

    1
    2
    echo '#!/bin/sh' > semester
    echo 'curl --head --silent https://missing.csail.mit.edu' >> semester
  4. 写入文件完成后 chmod +x semester 给予可执行权限

  5. ./semester 执行文件

    1
    2
    #WSL2指令:
    cat /sys/class/power_supply/BAT1/capacity
  6. 获取到笔记本电量信息,大功告成