“对于计算机教育来说,从操作系统到机器学习,这些高大上课程和主题已经非常多了。然而有一个至关重要的主题却很少被专门讲授,而是留给学生们自己去探索。 这部分内容就是:精通工具。在这个系列课程中,我们会帮助您精通命令行、使用强大的文本编辑器、使用版本控制系统提供的多种特性等等。”——【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 查看当前路径文件列表及详尽信息↓(有文件类型、读写权限、所有者、可使用者、时间戳、文件名、占用空间等信息);
mv 更改文件名命令(后面加“原名 新名”),及转移文件目录命令(后面加“原路经 新路径”);
cp 就是copy复制啦,后面加目标文件、要复制到的路径;
rm 就是remove删除,后面加路径及文件名;
rmdir 删除文件目录,但只有在该目录为空时才能执行;
mkdir 新建文件目录,可以在当前操作路径下,加目录名称来直接创建;
man 查看使用手册程序,后面加命令即可(如ls),类似于前面的--help,不过可读性可能更好,还有语法例子;
ctrl+l 清空shell当前的输入输出命令,并(光标)回到顶部行,和重开一个terminal似的~
先介绍了对输入输出流的控制操作,< 输入、> 输出;
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用户,即超级用户,有最高的系统控制权限。(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 教程(菜鸟编程这个基本都可以查到,各类命令,上面的都有哈~)