学习The Missing Semester of Your CS Education (第一课)
第一堂课:
很多我已经很熟悉的命令
新命令:
1.date 查看日期
2.cut --delimiter=' ' -f2 把输入按照空格截断,打印出第二个token
3./sys/ 目录下有许多新奇好玩儿的东西,你可以用它们直接控制设备的硬件
4.symbolic link(符号链接、软链接):一个符号链接文件仅包含有一个文本字符串,其被操作系统解释为一条指向另一个文件或者目录的路径。它是一个独立文件,其存在并不依赖于目标文件。如果删除一个符号链接,它指向的目标文件不受影响。如果目标文件被移动、重命名或者删除,任何指向它的符号链接仍然存在,但是它们将会指向一个不复存在的文件。这种情况被有时被称为被遗弃。
5.hardlink(硬链接、或链接):硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
6. find 命令中
-P: 不跟随目录中的软链接
-L:跟随目录中的软链接,同时隐含地使用了-noleaf
-noleaf:意味着不优化。因为一旦跟随软链接,软链接此时相当于一个“目录”,那此时“当已经搜到的子目录数量 >= 被搜索目录的硬链接数量时,只检查剩余文件的文件名而不stat它们”这种优化就会出错。
-maxdepth:设置find的最大搜索深度,0表示只在当前目录下搜索,不跟进任何子目录,1表示跟进一层子目录
-name:把要搜索的文件的“基础文件名”(即,移除了前面的目录的path)放在后面,此外,加了-name能过滤掉不匹配expression的路径
NOTE:如果不加-name,直接用find . "expression"这种形式,在我的机器上,find会把它搜索过的路径全部打印出来