文件的Linux常用命令的相关知识概述

电子说

1.2w人已加入

描述

我们知道 Linux 下有非常多的命令,我们可以通过这些命令在 Shell 环境下与机器进行交互,那么 Linux 下有多少资源可以供我们调度呢?其实是非常多的,但所有资源都可以分为三大类型。

文件:Everything is file;

进程:文件的运行形态;

网络:特殊的文件。

接下来,我们来看文件,文件也可以理解为数据,在 Linux 环境下有一个很基本的设计原则,即 Everything is file,所有的内容都是以文件的形式来进行抽象的,比如:进程、网络、硬件等,都可以抽象成文件,可以对其进行打开、读取、写入等操作,所以文件便是我们入门的第一个知识点,文件又可以分为这样几类常见的命令。

本文选自:拉勾教育专栏《测试开发核心技术 46 讲》见文末了解更多

磁盘与目录

Shell

第一类,磁盘与目录,我们可以通过 df 或 df-h 命令,打印设备上挂载了多少个磁盘设备,以及磁盘里还有多少可用空间。比如我的机器总容量是 40G,已用 34G,使用率已达 91%。

Shell

第二个命令叫 ls,ls 可以打印当前目录下的所有文件和目录,你可以通过 ls 命令,把当前所有的目录和文件都打印出来了。

Shell

ls 有一个常用的参数叫 -l,-l 可以打印出每个文件的基本信息,比如第一个文件,这里打印出了它的文件权限 -rw-r--r--、文件归属 root、文件大小,以及何时被创建等信息。ls-l 在我们的日常工作中使用频率比较高。那如果我们想进入 battery-historian 这个移动端做电量分析的专用工具的子目录,该怎么做呢?

Shell

可以通过 cd 命令进入 battery-historian 的目录,进入目录后,通过 ls 查看目录下所有文件。

Shell

使用 ls、cd 命令可以让我们在不同目录之间进行切换,切换之后还可以通过 pwd 命令获取当前目录所在的路径。

文件编辑

以上就是磁盘与目录进行切换、读取、获取信息的一些常用命令,接下来,我们进入一个文件并对文件进行编辑。

Shell

我们通过 ls-l 获取文件列表后,你可以看到 README.md 文件,在文件列表中,有些文件权限以 d 开头的表示该文件是一个目录,没有 d 则表示它是一个文件。我们接下来进入 README.md,来看看 README.md 里面到底有什么?

我们可以使用三种方法阅读文件:

第一种方法是 cat,它可以阅读文件并查找文件内容,但缺点就是一页的内容非常长;

第二种方法是 more,可以实现翻页阅读,缺点就是不够灵活;

第三种方法是 less,它既可以实现上下滑动,还可以实现左右移动,可以实现交互式阅读,是三种阅读方法中最强大的。

Shell

但往往只能阅读文件是不能够满足需求的,我们需要有对文件有进行编辑的能力。我们可以通过 vi 或 vim 实现这样的能力,vi 是最早的一个编辑器,vim 是后期的一个变种,在很多系统上 vi 与 vim 是等价的。

比如 vi README.md,打开之后你会发现有光标,可以随意移动,也可以对内容进行修改。关于 vi 中的一些常用快捷键课后你可以自己搜索掌握。阅读完文件后通过 :q 进行退出,还有一个流式修改命令 sed,我会在下一课时“ Linux 三剑客”中重点介绍。

本文选自:拉勾教育专栏《测试开发核心技术 46 讲》见文末了解更多

文件权限

Shell

虽然我们掌握了如何编辑一个文件,但在编辑文件之前仍然需要管理文件的权限。那么如何对一个文件的权限进行管理呢?我们来看看。

Shell

我们通过 ls-l 进入文件目录,仍以 README.md 文件为例,它的权限是什么呢?我们看到文件权限中有三组内容,第一组内容(rw)表示该文件在当前用户下的权限,第二组内容(r)表示在同组下的权限,第三组内容(r)表示不在同组下其他方的权限。而 r 表示可读,w 表示可写,x 表示文件可执行。

Shell

你可以通过 chmod 命令修改一个文件的权限,也可以通过 chown 修改一个文件所归属的用户或组。

Shell

这里需要重点注意,ls-l 可以查看文件权限,我们以 README.md 为例,这个文件是当前用户可读可写,但其他用户能读不能写的。

Shell

那如果我们现在不想让任何用户看到文件该怎么办呢?可以通过 chmod o-r readme.md 命令进行权限的修改。重新进入该文件的权限后,我们发现第三组权限没有状态了,也就是其他用户不能看到该文件了。

Shell

关于 chmod 命令的更多用法,你通过 Linux 下的 man 查看它的命令帮助,你可以看到该命令的属性、参数,以及具体描述。如果你不了解 Linux 某些命令的用法,就可以通过 man 来查看使用方法。

关于文件,你还可以通过 find 命令搜索当前的目录并列出所有文件,也可以通过 find + name 的方式查找具体文件。对于特殊文件,比如软链、socket、管道等内容,你可以课下自己搜索知识,这里不再详细介绍。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分