Linux指令入门目录结构和文件管理指令

Posted 冲冲冲冲冲冲!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux指令入门目录结构和文件管理指令相关的知识,希望对你有一定的参考价值。

什么是 Shell

在我们学习 Linux 指令之前,先来说一下什么是 Shell?Shell 把我们输入的指令,传递给操作系统去执行,所以 Shell 是一个命令行的用户界面。

早期程序员没有图形界面用,就用 Shell。而且图形界面制作成本较高,不能实现所有功能,因此今天的程序员依然在用 Shell。

你平时还经常会看到一个词叫作bash(Bourne Again Shell),它是用 Shell 组成的程序。这里的 Bourne 是一个人名,Steve Bourne 是 bash 的发明者。

我们今天学习的所有指令,不是写死在操作系统中的,而是一个个程序。比如rm指令,你可以用which指令查看它所在的目录。如下图所示,你会发现rm指令在/usr/bin/rm目录中。

我输入了which rm,然后获得了/usr/bin/rm的结果,最终执行这条指令的是操作系统,连接我和操作系统的程序就是 Shell。

Linux 对文件目录操作的指令就工作在 Shell 上,接下来我们讲讲文件目录操作指令。

Linux 对文件目录的抽象

Linux 对文件进行了一个树状的抽象。/代表根目录,每一节目录也用/分开,所以在上图所展示的/usr/bin/rm中,第一级目录是/根目录,第二级目录是usr目录,第三级是bin目录。最后的rm是一个文件。

路径(path)

像/usr/bin/rm称为可执行文件rm的路径。路径就是一个文件在文件系统中的地址。如果文件系统是树形结构,那么通常一个文件只有一个地址(路径)。

目标文件的绝对路径(Absolute path),也叫作完全路径(full path),是从/开始,接下来每一层都是一级子目录,直到定位到目标文件为止。

如上图所示的例子中,/usr/bin/rm就是一个绝对路径。

工作目录

为了方便你工作,Shell 还抽象出了工作目录。当用户打开 Shell 的时候,Shell 就会给用户安排一个工作目录。因此也就产生了相对路径。

相对路径(Relative path)是以工作目录为基点的路径。比如:

  • 当用户在/usr目录下的时候,rm文件的相对路径就是bin/rm;

  • 如果用户在/usr/bin目录下的时候,rm文件的路径就是./rm或者rm,这里用.代表当前目录;

  • 如果用户在/usr/bin/somedir下,那么rm的相对路径就是…/rm,这里用…代表上一级目录。

我们使用cd(change directory)指令切换工作目录,既可以用绝对路径,也可以用相对路径。 这里我要强调几个注意事项:

  • 输入cd,不带任何参数会切换到用户的家目录,Linux 中通常是/home/用户名。以我自己为例,我的家目录是/home/ramroll;

  • 输入cd .什么都不会发生,因为.代表当前目录;

  • 输入cd…会回退一级目录,因为…代表上级目录。

利用上面这 3 种能力,你就可以方便的构造相对路径了。

几种常见的文件类型

另一方面,Linux 下的目录也是一种文件;但是文件也不只有目录和可执行文件两种。常见的文件类型有以下 7 种:

1、普通文件;

2、目录文件;

3、可执行文件;

4、管道文件;

5、Socket 文件;

6、软链接文件;

7、硬链接文件。

你如果使用ls -F就可以看到当前目录下的文件和它的类型。比如下面这种图:

1、* 结尾的是可执行文件;

2、= 结尾的是 Socket 文件;

3、@ 结尾的是软链接;

4、| 结尾的管道文件;

5、没有符号结尾的是普通文件;

6、/ 结尾的是目录。

设备文件

Socket 是网络插座,是客户端和服务器之间同步数据的接口。其实,Linux 不只把 Socket 抽象成了文件,设备基本也都被抽象成了文件。因为设备需要不断和操作系统交换数据。而交换方式只有两种——读和写。所以设备是可以抽象成文件的,因为文件也支持这两种操作。

Linux 把所有的设备都抽象成了文件,比如说打印机、USB、显卡等。这让整体的系统设计变得高度统一。

至此,我们了解了 Linux 对文件目录的抽象,接下来我们看看具体的增删改查指令。

文件的增删改查

增加

创建一个普通文件的方法有很多,最常见的有touch指令。比如下面我们创建了一个 a.txt 文件。
touch指令本来是用来更改文件的时间戳的,但是如果文件不存在touch也会帮助创建一个空文件。

以上是关于Linux指令入门目录结构和文件管理指令的主要内容,如果未能解决你的问题,请参考以下文章

Linux指令入门目录结构和文件管理指令

linux目录结构,路径,系统目录作用及指令介绍,文件管理基本命令,查看文件内容命令,vim编辑器

nginx入门:配置文档结构

初识Nginx配置文件以及基本命令

linux入门基础指令大全(汇总)

Nginx实用教程:配置文件入门