全部学习汇总: GreyZhang/little_bits_of_raspberry_pi: my hacking trip about raspberry pi. (github.com)
拿到一份树莓派早期的宣传电子杂志资料,看了一下感觉还是有一些帮助。针对里面多少有一些共鸣的地方,做一个简单的整理。
1. 命令行适合文字交互、复杂处理以及模糊的表达,这是其相比GUI的一些优势。
树莓派的桌面版本中,提供了 C-M-加上F1-F7几种对话窗口的切换快捷方式。其中,前六个是终端,第7个是图形化界面。其实我觉得这种功能用处不是很大,因为现在的桌面操作可以提供很方便的窗口切换模式。而到了单个终端的交互模式下,也有tmux等软件可以提供一些便捷的交互切换。相比这种切换,还多了一些后台等处理方式。
这里介绍了在桌面中启动中断的方法,每一种系统或者桌面环境都有自己的交互方式。而这里面,我觉得ubuntu的C-M-t的快捷键是最好用的。
这一页主要介绍了ls以及pwd两个命令,这个基本上是很多人刚接触linux的时候课程中所接受的一些介绍。而一个好的bash交互设计,会提供自动补全等功能。
1. 这一页首先介绍了ls的一些参数的使用,其中-al也是我自己非常常用的一种操作。
2. 其次,介绍了目录的切换命令cd。
这一页介绍了目录的创建命令,mkdir。
1. 这一页首先介绍了拷贝的命令cp,这个也是非常常用的一个操作。
2. 接下来的一部分篇幅介绍了通配符,其实如果掌握过正则表达式那么这部分的理解会很自然。这部分的阅读,我其实是字节跳过了的。但是如果是入门linux,我还是推荐做这方面的学习的。
这部分首先承接上一页,介绍了nano编辑器。接下来,介绍了cat、less、more几个命令。
这一个介绍了head、tail以及rm的用法。前面两个我用到的一直不多,但是文件的删除操作使用还是很频繁的。
这一页介绍了apt包管理以及软件升级,apt也是我用的最多的linux包管理工具。这主要是因为我使用的linux基本都是ubuntu或者debian。
1. sudo可以提供伪root的功能。
2. 并不是每一个用户都可以升级系统软件,这里给出了使用伪root的方式进行软件升级的方法。
3. 如果使用&&进行操作的级联,那么前面的操作失败后后面的不会执行。相当于多了一个检查。
这一页的几个命令可以看到如何进行软件安装、软件包搜索、清除缓存下来的软件包等操作。
这一页主要介绍了两个命令,第一个是chgrp,第二个是chown。前者可以修改文件归属的组,后者可以用来修改文件的拥有者。
这里提到了一个比较关键的常识:unix以及类unix处理的都是文本数据流。同时,这里介绍了stdin、stdout、stderr等三个比较重要的文件标识符。也给出来了unix中比较重要的一个思想:一切都是文件。
这一页介绍了管道、wc、grep以及sort命令。从我长时间使用树莓派作为一个文件服务器的经验来看,其实这几个命令使用的都不是很多,grep算是使用的最多的一个。
这里介绍了uniq、重定向以及echo等操作。其中,重定向的使用还是有的。其他的,对应的操作单词操作可能实现的功能有限,组合的操作我现在一般都用perl或者python替代掉了。
重定向输出还有一个特别的用法,两个大于号,>>,实现的是追加功能。
如果要创建用户,只需要adduser命令即可。
这里介绍了passwd、whoami以及su三个命令。基本都是我围绕用户以及密码安全的,如果在自家的局域网中,只是简单的小文件服务器,这些基本都是用不上的。不过,折腾各种服务框架的时候,这些都是避不开的一些处理。通常,我们会设置一个测试账户来做类似的事情。
Alias是实现别名的一个处理方式,我一般会用到,但是使用也会比较有限。
这一页介绍了mount,主要是一个磁盘挂载操作命令。
接着前面的mount,这里又介绍了umount,它的反操作。
按照这里面的介绍,树莓派的图形桌面下USB存储是会自动挂载的。
这一页还介绍了fdisk的功能,但是类似的功能我一般会用lsblk来替代。
这里介绍了一种让NTFS的磁盘挂载后自动挂载到指定的挂载点的方法,我自己也做了尝试。
这里详细介绍了nano编辑器的用法,但是我现在基本是在vim以及emacs下进行各种编辑的,类似的处理操作也可以直接跳过了。
这里提到了一个广告拦截的方法,其实技术上是采用了VPN。不过,让我觉得十分有趣的是难道广告拦截依据的是地址信息?
这里介绍了树莓派网络访问的一些配置,如果没有固定IP的话,这种处理只能是作为局域网内的操作使用或者得考虑内网穿透。
Sudo root其实是sudo shutdown –r 0的缩写,这个我还是第一次知道。主要也是因为我的树莓派开机基本就不会有关的过程,而关机一般就是shutdown –h now。
这一页介绍了ps命令查看进程,这个在功能上有点类似于windows的资源管理器了。
关于kill的使用,我的使用方式一般就是一个kill -9。
1. 这一页提到的htop软件我是一直在用的,但是我的确还不知道这个是可以提供直接杀死进程等操作的。之前用这个,最主要的原因其实还是觉得这个好看,信息多。
2. 关于后台的操作处理,我一般也是很简单,直接tmux解决一切。
1. 这里稍微详细的介绍了kill的参数用法,而我用的-9其实是比较粗暴的一种使用方式。
2. 关于网络断了之后,复原后可以继续之前的工作的配置,后面值得尝试一下。
1. 看起来,曾经的树莓派默认是开启ssh的。不过,现在应该不是了,我用过的系统基本上都得自己去配置。
2. 在进行ssh访问的时候,这里推荐的软件居然是putty。看起来这个小巧的工具还是很受大家推崇的。
曾经有一些免费的DNS可以提供域名与变化的IP的映射服务,现在也有关闭的。在远程访问上,我觉得还是内网穿透的方案会好一些。
这里介绍了scp的命令,在不同的linux文件服务器之间进行大量文件搬运的时候我通常就是采用这个工具。
Samba共享,这个也是我现在的树莓派提供的很重要的一个功能。以此,为我的计算机扩展存储。
这里介绍了如何给系统换源,这通常是我处理完树莓派系统安装并开启ssh后的第一件事情。
这一页介绍的vi、wget以及curl都是很常用的工具。前者是编辑器,大部分的vi现在其实已经都是vim了,而后面两个工具提供了很好的根据链接下载的功能。
这一页介绍了tar的功能,而这个也是我收录到我自己的工具箱中的一个工具。
Dd,可以用来创建镜像。不仅如此,在我们通过各种模拟器学习内核设计的时候,dd其实也是很好的辅助工具。
根据树莓派甚至说是linux,我自己收集了一个我自己常用的工具箱。但是我发现,其实这一份资料中覆盖了我工具箱中很大的一部分。如果早期就看了这一份资料,或许在折腾树莓派的路上我不会像当初一样走的那么艰辛。