【MIT】The Missing Semester推荐+笔记实例:Lecture 1: Course Overview + The Shell (2020)

“对于计算机教育来说,从操作系统到机器学习,这些高大上课程和主题已经非常多了。然而有一个至关重要的主题却很少被专门讲授,而是留给学生们自己去探索。 这部分内容就是:精通工具。在这个系列课程中,我们会帮助您精通命令行、使用强大的文本编辑器、使用版本控制系统提供的多种特性等等。”——【MIT】The Missing Semester

官方中文站点:https://missing-semester-cn.github.io/

B站:https://www.bilibili.com/video/BV1x7411H7wa?t=2829


Lecture 1是对Shell的一个概览性介绍,Linux系统下terminal中敲命令行的框框就是它了~

在介绍完不同系统下的Shell的存在后,首先讲了一些关于路径的命令及介绍。

(在win系统下,貌似用git bash也可以当Linux的shell玩玩~)

简单命令介绍部分

目录与路径相关操作

$PATH  打印环境变量。系统为什么能找到你在命令行里要求运行的程序呢?因为它已经在环境变量里存着了~而环境变量下的路径会在执行程序的命令下达后,被直接检索,也就是这些程序的门牌号已经备好案啦!

echo程序,相关的简单操作,可以返回打印内容,而 which echo,则能找到echo这个程序的门牌号(路径)~

pwd  显示当前路径;

cd  转到...路径;   

./  相对路径;

../  上一级路径;

ls  查看当前路径下的文件列表;

(中间还穿插介绍了相对路径与绝对路径的概念、根目录/的概念);

cd -  返回前一个路径,可以方便地在两路径间转换;

cd ~  回到home目录下;

ls --help  查看ls命令(可替换)详细的说明文档;

ls -l  查看当前路径文件列表及详尽信息↓(有文件类型、读写权限、所有者、可使用者、时间戳、文件名、占用空间等信息);

【MIT】The Missing Semester推荐+笔记实例:Lecture 1: Course Overview + The Shell (2020)_第1张图片

文件与目录增改操作

mv  更改文件名命令(后面加“原名 新名”),及转移文件目录命令(后面加“原路经 新路径”);

cp  就是copy复制啦,后面加目标文件、要复制到的路径;

rm 就是remove删除,后面加路径及文件名;

rmdir  删除文件目录,但只有在该目录为空时才能执行;

mkdir  新建文件目录,可以在当前操作路径下,加目录名称来直接创建;

man  查看使用手册程序,后面加命令即可(如ls),类似于前面的--help,不过可读性可能更好,还有语法例子;

ctrl+l  清空shell当前的输入输出命令,并(光标)回到顶部行,和重开一个terminal似的~

shell上的进阶操作

【MIT】The Missing Semester推荐+笔记实例:Lecture 1: Course Overview + The Shell (2020)_第2张图片

输入与输出流操作

先介绍了对输入输出流的控制操作,<  输入、>  输出;

cat 命令可以查看文件内容,及执行内容的修改;

cat < xx.txt  则是把文件内容输入到cat程序,来实现打印输出其内容;

cat < a.txt > b.txt  先把a文档内容输入到cat,然后输出给b文档,相当于把a的内容复制给b(替换b的内容);

cat < a.txt >> b.txt  改一下输出流的操作符,用>>  增加输出流,则是把原来的a内容替换b内容,变成将a的内容追加到b文件内;

 |  符号可以把它两边的两条命令综合起来一起使用,从而实现更复杂的操作;

ls -l / | tail -n1  这个例子中,| 左边的是查看根目录下文件列表的详尽信息,右边的tail命令可以查看文件内容,tail -nx就是只看文件尾部x行的信息,用|把两句命令结合使用,就是只看原来ls -l / 返回的最后一条结果;

ls -l | tail -n1 > ls.txt  就是把上面说的最后一条结果输出(保存)到ls.txt文件中(若改文件不存在则会新建出来);

curl命令可以做互联网的上传与下载;

curl --head --silent goole.com  貌似是静默访问(不返回输出具体内容)谷歌搜索,获取返回的http头内容(一些参数);

然后是一个例子(不细说哩~)↓

root用户权限与修改控制命令

root用户,即超级用户,有最高的系统控制权限。(Linux和mac里特有,win系统对应的是admin用户) 

sudo  超级用户执行命令前缀,加在需要执行的命令前面

后面是大佬演示想在jon用户下进入系统目录,以修改当前屏幕亮度参数来控制屏幕操作,被拒绝;然后添加了sudo,还是拒绝;原来是命令前面还是jon用户,通过sudo su命令,并输入自己之前设置的访问密码,就可以转到root用户了;然后他用tee把前面的新的亮度参数写进系统文件,实现了屏幕亮度的控制调整。

后面展示了find操作,然后大佬cd(转到...目录)、ls(查看目录文件列表)随便逛到一个可以修改指示灯的文件目录哈哈,并且说明编程时可以结合某个操作并控制指示灯提醒用户; 

 最后提了一下xdg-open 这句linux命令,在适当的路径下加上要运行的文件名称,就可以自动适配程序打开该文件;然后有个小哥提问后面有些系统操作您这里可以响应,在win系统上(比如)会不会就不行咧?-答:不确定win系统会不会暴露一些这里展示的系统目录,I don't know~Check it up~

个人感觉win系统的命令操作出了名的不好用,好像都没人特别去用的哈哈,学好linux的常用操作命令叭~

Linux 教程(菜鸟编程这个基本都可以查到,各类命令,上面的都有哈~)

你可能感兴趣的:(课程&书籍的笔记与推荐)