宇宙浩瀚,无边无界,地球也不过是太阳系八大行星之一,作为无数行星中的一枚,地球实在算不上特别....但...小编的博客,绝~对~特~别~~
(↑看过小编博客的同学回答)
好啦~~这周小编就不废话了,直接进入正题吧~~
上周小编讲了设置和取消别名 alias ualias ,使别名永久生效的配置文件 /etc/bashrc 以及 ~/.bashrc 查看当前所在的路径 pwd ,文本编译器 nano.小编这里就不做过多的演示啦,已经忘记的同学可以回顾一下第五章的内容~~
小编接下来就直接开始说这周的内容,这周的内容可能会有些杂乱...
(吐槽:你每次讲的都很乱!)
额...好吧~不要在意这些细节,虽然乱,但是小编自认为是讲的很清楚的
好啦,正题开始:小编在前面说了很多关于文件类型的,其实,之前的查看只是一个大概,对于有些文件,开头虽然是“-”但实际上用 ls 查看时,颜色却显示的是绿色。
比如小编上面这张图,此时,用前面小编说的方法就不太精准了,因为小编前面所介绍的,是文件系统可分为的类型,而这其中,以“-”开头(注意!小编说的以“-”开头,说的是用 ls -l 查看文件时,文件权限位前面的字符)的文件又有许多类型。那,查看这些类型的文件需要用什么方法呢?这就需要小编接下来要介绍的命令:
file:查看文件类型(注:该命令可查看任何文件包括目录的类型)
小编现在试着查看一下上面那个文件的类型
file 命令后面跟上所要查看的文件,即可查看该文件的类型~~什么??你说看不懂??没关系,小编也看不懂~~(害羞)嗯,这个时候,我们就需要用谷歌或者百度翻译~~总之,我们只需要知道 /usr/bin 目录下的 ls 这个文件,就是我们经常使用的命令就行啦~
file 命令比较简单,但是也有些选项:
file -b :文件类型输出时不显示文件名(无实用)
与之输入 file 命令的区别就是,在显示文件类型时候,前面的文件名不显示了
file -L :若查看的文件时软链接,则直接查看软链接所对应的文件
这句话什么意思呢?小编先随便去找一个软链接文件
所谓软链接,就是一个文件指向另一个文件。关于软链接的具体描述,小编以后再慢慢地跟同学们详谈~~~现在小编直接用 file 来查看这个文件
嗯,这次显示的内容就短了,内容清晰了~~~这里所显示的内容,大概是"该符号链接链接到soelim"文件,意思就是这是一个符号链接(也称作为软链接),该链接链接到 soelim 文件。
(敲黑板)注意,注意!链接文件后面显示的是一个文件的完整路径,而小编找的这个软链接所链接的文件刚好和这个软链接在同一个目录下,所以只有一个文件名称。
下面,小编用 file -L 来查看一下
这次显示的就基本和上面的一样了~~因为 /usr/bin 目录下所放置的文件都是所有用户都能使用的命令,所以在这个目录下查看文件类型时,所显示内容的基本相同~
那么,关于 file 命令,小编就介绍到这里,该命令还有许多选项,但是基本是用不到的,所以小编就不做过多的介绍了~~那么有兴趣想研究其他选项的同学,可以使用命令帮助来查看命令的功能及其描述。如何查看命令的使用帮助,小编接下来会跟同学们详细讲解(哇~~小编终于成功的扯到这上面了,哼哼~~完美的衔接上下文~~)
我们现在所使用的每一条命令,都有它们的使用帮助,这些使用帮助里包含命令的解释(描述),命令的选项,每个选项的作用,作者信息,等等....
我们如何获取这些使用帮助呢?
(敲黑板!)注意了!!注意!!下面小编讲的很重要!超级重要!!
whatis:显示命令的简要说明,也可显示命令帮助文档的章节
这个命令的前半部分相信就不需要小编解释了,而后面“显示命令帮助文档的章节”这个具体是什么,等小编讲完同学们就会明白啦~~
使用格式 whatis 后面直接跟上想查看的命令即可。显示出来的 whatis 对 ls 命令的解释为“列出目录的内容”。ls 命令经过我们的实际验证,确实是列出目录的内容,但 whatis 命令是如何查找这些命令的描述的呢??小编现在先去删除一个文件,再来试一下用whatis命令
what??居然查不出来了~~小编刚才删除的文件是 /var/cache/man/ 目录下的 index.db 文件,这个文件是 whatis 命令的数据库文件(仅在Centos7中),whatis命令会将所有搜集到的命令的描述转成二进制存放在 index.db 文件中。如何重建 whatis 命令的数据库呢?
mandb:更新命令信息,将其存放在whatis数据库中(Centos7中)
这是重建 whatis 数据库时候小编截到的两张图,注意看最后一行,“Updating index cache for path`/usr/share/man/man3`”和第二张图的 man5 ,这就是命令所对应的帮助文档的章节,whatis所搜集的数据库,实际上是查看这些帮助文档,然后将每条命令的描述记录下来,将这些命令的描述记录下来之后,没查看一条命令,whatis就会在其存放的数据库中去查看。所以,使用 whatis 来查找一个命令并非实时性的,而此时,我们若新安装了一个命令,whatis 命令的数据库并不会跟着更新,而是需要我们手动去更新,否则使用 whatis 是查不到新安装的命令的。而更新数据库Centos7和Centos6中有些区别:
Centos6中 whatis 数据库位置:/var/cache/man/whatis
手动更新其数据库:makewhatis
Centos7中 whatis 数据库位置:/var/cache/man/index.db
手动更新其数据库:mandb
whatis这条命令需要更新数据库,而每次更新都会去帮助文档中一个一个的查,这过程需要消耗时间,并且,我们要获取命令的帮助,不仅要获取命令的描述,还要获取命令如何使用,和其选项,功能等等,显然,whatis命令是不能满足我们的需求
我们在不知道如何使用命令时,想快速的获取该命令的选项及其功能,此时,有些命令中会有自带的长选项来帮我们快速的获取帮助
--help
命令后面跟上 --help 选项,就会出现该命令的使用帮助。小编再试一个~
啊咧??居然没有,不能获取 pwd 命令的帮助么?
对于有些命令来说, help 的使用是不一样的,那究竟是哪些命令呢?
注意咯~~小编这里要延伸一个内容:内部命令;外部命令
那,什么是内部命令,什么是外部命令呢??
嗯...这个就当成作业吧~~同学们私下了解一下内部命令和外部命令(吐槽:你果然是解释不清楚吧!怎么会有这样的小编!)
(↑小编此时的心情)
使用 help 来获取命令的帮助,对于不同的命令来说,格式为:
COMMAND(命令) --help:外部命令获取帮助
help - COMMAND:内部命令获取帮助
那么,使用 help 对于不同类型的命令,获取命令帮助的方式不同,我们要如何识别这些命令是外部命令还是内部命令呢?
路人甲:“获取帮助的时候两种格式都试一下,第一个不行就用第二个~~”
小编怎么会有这么笨的学生...不过...好像并没有错...
(↑气愤的路人甲)
好啦好啦~~小编开个玩笑~~用路人甲的方法也是可以的~~但是,我们现在可是专业人士,嗯,专业人士,所以还是用专业一点的方法吧~~
type:查看命令类型
type COMMAND 可以查看一个命令的类型,小编这里用 type 查看 pwd 命令看到,pwd 是shell的内嵌命令。
小编这里又涉及到一个内容~什么是 shell 嗯...这个也当成作业吧~~(吐槽:别拦我,我要打死小编!!)嘛~~淡定淡定~~总要给同学们留点思考的空间嘛~~所谓shell内嵌命令,就是小编所说的内部命令,而使用内部命令获取帮助的方法:
成功获取了 pwd 命令的帮助。
但是,用 help 命令只显示命令的简要帮助,有时候我们希望获得更详细的信息,比如,即想看命令的帮助,又想看命令的描述,怎么办呢?
路人丙:“先用 whatis 命令查看描述,再用 help 获取帮助~~”
(↑这次打人的是小编)
路人丙:“我也没有说错...为什么打我...刚才你都没打路人甲”
没办法,谁叫人家路人甲是女生,而你是男生呢
(↑路人乙用嘲讽的脸看着路人丙)“可怜的男人”
好啦~~至于如何获取更加更加详细的命令帮助~~小编就下期再跟大家讲解吧~~
不要忘记小编留的作业!!两个作业!!
(滑稽)那么,又到了放松的时间~~就让刚刚受过伤的路人丙给大家唱一首【男人花】吧
【男人花】
--被嘲讽后的路人丙
【当保护你的她】
【变成要你保护的她】
【...............】
【男人 也是一朵花~】
【也害怕风吹雨打~】
【.............】