Linux文件处理命令(下)

文件处理命令

1.touch:创建空文件

touch [文件名]

touch rainy:创建文件rainy

touch也可以同时创建多个文件,如:

touch hello world:表示同时创建空文件hello和world

 

 

 也可以创建带空格的文件,在创建时给文件加上引号即可,touch "hello world"

但不建议这样创建文件,在后期对文件进行操作的时候都要给文件加上引号,才能进行操作,会大大的增加工作量。

 

 

 2.cat :显示文件内容

cat [文件名]

  -n 显示行号

cat -n [文件名]

 

 

 cat一般用来查看内容较短的文件,较长的文件也可以使用cat来查看,但当执行完屏幕只显示最后一页的内容。

 

 

3.tac:显示文件内容(反向显示)

tac [文件名]

tac与cat一样,都是用来查看文件内容的,但tac是倒置的查看,即第一行变为最后一行,最后一行变为第一行。

-n 参数在这里不生效

 

 4.more:分页显示文件内容

more [文件名]

  空格或f   翻页,一页一页的往下翻

  enter      换行,一行一行的往下翻

  q/Q         退出

 

 

 

若我们刚好错过我们查找的内容,怎么往回翻页儿呢?

more对文件进行操,只能向下翻页,向下一行一行的查看,那我们要往上翻页,该怎么做呢?

5.less:分页显示文件内容

less [文件名]

less hello.txt :分页查看hello.txt

注:文件开始方向为上,末尾方向为下

  空格或f /pageup    翻页,一页一页的往下翻

  enter/向下箭头      换行,一行一行的往下翻

  向上箭头          换行,一行一行的往上查看

  搜索        /关键词

  PgUp        一页一页地往回上

  q/Q              退出

处于less状态下,适合more查看的都适合less.less也可以使用空格,f键来翻页,也可以使用enter键,向下箭头一行一行的向下查看,也可以使用向上箭头向上一行一行的查看等,还可以输入关键词对文件内容进行搜索。

 

 6.head:显示文件前几行

head [文件名]

  -n指定函数

不写参数默认显示文件前10行数据

 

 7.tail:显示文件后面几行

tail [文件名]

  -n 指定行数

  -f 动态显示文件末尾内容

 

 tail -f 动态显示文件末尾内容,则文件末尾的数据会时刻发生变化,因此可使用tail -f常用来查看正在改变的日志文件。

 

 

 

链接命令

ln:生成链接文件

ln -s [源文件] [目标文件]

  -s 创建软连接

 

软链接:

ln -s beauty beautifully: 创建文件beauty的软连接beautiful

 

 软连接的特征:类似Windows快捷方式

1. lrwxrwxrwx  所有软连接前都有l,且用户权限,所属组权限,其他用户权限均为rwx

2.文件大小:只是符号链接,因此文件较小

3.生成的软连接箭头指向原文件

 

硬链接:

给文件rainy生成硬链接melancholy

ln rainy melancholy

 

 硬连接的特征:

1.拷贝cp -p +同步更新

  从生成硬链接,可以看出,硬链接的文件类型,权限,文件大小,操作时间都与原文件一样,这相当于时保持文件属性的复制。同步更新如下所示:

 

   当我们在文件rainy写入数据,还是在文件melancholy写入数据,最后连个文件的数据都会同时更新。这是因为两个文件对应的 i 节点是一样的,指向的都是同一硬盘的资源,所以数据会同时更新。

2.通过i节点识别(即上一节提到的文件id):

  原文件和创建的硬链接文件的节点是相同的。一个文件一定有一个 i 节点,但一个 i 节点不一定只对应一个文件。

3.硬链接不能跨分区:

  可以分区建立软连接,而不能分区建立硬链接。

 

 

 

 

4.不能针对目录使用:

  可以对目录建立软连接,但是不可以对目录建立硬链接。

 

 

删除了文件的软连接,相当于删除了文件的快捷方式,两者对应的指向关系也会消失

 

 

软连接和硬连接的区别总结:

1.原文件生成软连接后,软链接会生成一个箭头指向原文件,而硬链接没有指向的这种关系。melancholy是rainy的硬链接,struggler是struggle的软链接。

 

 

 

 2.原文件生成软链接后,其文件类型变为软链接,用 l 标识,文件权限均为rwx,而硬链接相当于是保持原文件属性的复制,其权限,大小,用户,所属组,最后一次更改的时间都是一样的。

3.软链接文件也可以实现同时更新,但没有实现cp -p,而硬链接文件都实现了。

 

 4.可以跨分区创建软链接,而硬链接不可以

5.可以对目录,文件创建软连接,而不可以给目录创建硬链接,只可以给文件创建硬链接。

6.原文件和硬链接的 i 节点一样,但原文件与软连接的节点不一样。

 

 7.把原文件删除,查看软链接文件,显示找不到文件;而硬链接可以。

 

 8.硬链接类似于拷贝,而软链接类似于创建快捷方式。

 

提出问题:

为什么硬链接可以实现数据同步,硬连接在实际工作中的应用?

  Linux的每一个设备都是以文件的方式进行读取的,i 节点记录了该文件的存储位置,以及该文件所有的必须信息,当一个文件更改后其他文件就会同同时更新。使用硬链接,可以节省磁盘空间,因为原文件和硬链接文件的 i 节点都是一样的,因此一个文件在多个目录下重复出现,但只占用一份文件的空间。

  针对一块资源来说,如果我们想要给不同的用户分配不同的权限,使用硬链接就可以实现该功能,当我们给原文件建立硬链接后,可以使用chmod命令对链接文件的权限进行修改,从而实现给不同的用户分配不同的权限。

 

 i 节点相同,即使对应不同的文件,但指向的都是同一硬盘的资源。

 

posted @ 2021-07-25 10:02  倾尽年华  阅读(81)  评论(0编辑  收藏  举报