网站建设资讯

NEWS

网站建设资讯

linux的链接命令 linux的链接文件

Linux压缩解压链接命令04

01.tar

成都创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元九江做网站,已为上家服务,为九江各地企业和个人服务,联系电话:18980820575

制作或释放归档文件

文件压缩格式

.gz

.bz2

.bz2压缩后的文件较.gz小,压缩时间长

02.链接文件

软链接可以跨分区,源文件不可删除,源删除后链接无法使用

硬链接不可以跨分区,源文件可删除,源删除后链接可以使用

Linux软链接和硬链接的区别之ln命令详解

1. 先来了解一下Linux数据是如何保存和查询的

对操作系统来说,数据分为两种:1. 用户数据 (user data) 2.元数据 (metadata)。用户数据就是保存和记录文件的内容。比如一个1M的ppt文件,500K的txt文件。这都属于用户数据。这个文件总有属性吧,比如大小、修改时间、访问时间、创建时间、存储的位置(文件所在的inode)、文件创建者等等信息。这些属性信息或者理解为汇总信息,我们称它为元数据。一句话,用户数据是文件的真实内容,而元数据则是汇总信息。

在 Linux 中,元数据中的 inode 号(inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。

2. 查看文件对应的inode号

134474678 latest.tar.gz

linux查看文件对应的inode号

可以看出latest.tar.gz这个文件, inode 号是134474678,Linux查找读写该文件时,以为个inode号码为标识,而不是文件名。文件名类似于网站域名,仅仅是方便人类记忆。

也就是说, inode134474678有一个硬链接,它就是latest.tar.gz。

3. 根据inode号查找对应的文件

那么,问题来了,系统上有没有第二个文件,它的inode号码也是13447467。

使用find查找一下:

查找结果如下:

/root/latest.tar.gz

/root/latest2.tar.gz

linux根据inode号查找对应的文件

硬盘上真的有第二个文件它的inode号码也是134474678,像这种情况,我们认为inode134474678有两个硬链接。当然,这是本文作者提前准备好的。

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。

4. 确认硬链接的数量

查看一下文件latest.tar.gz

输出结果如下:

-rwxr-xr-x. 2 root root 8743850 Oct 11 15:00 latest.tar.gz

请留意输出的结果中的数字2,表示该文件存在2个硬链接。

正常情况下,一个inode只有一个链接,如下例

输出结果:

-rw-r--r--. 1 root root 9 Nov 21 11:39 abc.txt

请留意输出的结果中的数字1,表示该文件只存在1个硬链接,默认情况下,文件都是只有一个硬链接的。

5. 查看软链接

再来看一个文件

lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout - /proc/self/fd/1

linux查看软链接

我们发现,/dev/stdout实际上指向另一个文件/proc/self/fd/1,这就是软链接。类似于Windows系统上的快捷方式。

6. 软链接与硬链接的区别

6.1 软链接特点

6.2 硬链接特点

ln链接符原理如下:

Linux ln链接符原理图

7. 创建文件的链接

Linux ln命令是一个非常重要而且常用命令,它用于为文件或者目录创建链接。

7.1 创建软链接

创建一个文件,用于演示软链接。

创建软链接示例:

检查结果:

输出文件属性

lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt - soft.txt

linux创建软链接

可以看出这个文件指向当前目录soft.txt,配置成功。7.2 创建硬链接

创建一个文件,用于演示硬链接。

创建硬链接,没有使用选项

检查结果:

输出文件属性:

-rw-r--r--. 2 root root 0 Nov 26 17:47 hard123.txt

linux创建硬链接

留意以上输出数字2,表明该文件有2个副本。

8. 总结

ln命令可以创建文件的副本,也可以创建软链接。

Linux常用命令之链接命令和权限管理命令

例子:

对于上面的语法 chmod 【{ugoa}{+-=}{rwx}】【文件或目录】,我们要知道ugoa分别是:u:表示所有者,g:表示所属组,o:表示其他人,a:表示所有人。而rwx表示的意思如下:

对于【mode=421】【文件或目录】,这是我们将权限用数字表示,其中 r 表示4,w表示2,x表示1,分别是2的0次方,1次方,2次方。那么我们可以这样理解:具有 rwx 权限的数字就是 7,具有 rw- 权限的数字是 6,具有 r-- 权限的数字是 4。

示例1:我们赋予 tmp 目录下的 tmp.log 所有者 x 的权限;赋予 所属组 w 权限,其他人 w 权限。

将上面例子改为用 数字来操作,也就是说我们要给 tmp.log赋予的文件权限是 rwxrw-rw-,用数字表示是766。

我们还可以递归赋予权限,也就是加上 -R 参数给指定目录下的所有文件或目录赋予指定权限。

示例2:给 tmp 目录下所有文件和目录赋予 776 的权限

这里我们通过useradd【用户名】命令创建用户,然后通过passwd【用户名】输入密码,这两个命令后面会将。我们通过这两个命令创建 vae 用户

然后我们将tmp.log的所有者更改为 vae 用户:chown vae tmp.log

其中umask 执行显示结果是 0022,第一个0表示特殊权限,后面我们会单独进行讲解有哪几种特殊权限。022表示权限的掩码值,我们用7 7 7 减去 0 2 2得到755(是每一位相减),表示的就是下面通过加上-S输出的rwxr-xr-x,这个值用数字表示就是755.

这个意思说明创建一个文件的默认权限所有者为rwx,所属组为rx,其他人为rx。也就是说创建一个新文件默认权限为 rwxr-xr-x,我们创建一个文件来验证一下:

我们发现使用touch命令创建了一个文件a.txt,然后发现权限并不是rwxr-xr-x,而是rw-r--r--。对比发现少了三个x,也就是少了可执行权限。这是为什么呢?

这是因为在Linux系统中,所有新创建的文件都是没有可执行权限的。这是出于Linux系统的一种自我保护,因为类似的病毒木马程序都是具有可执行权限的。所以在Linux系统中,新创建的文件是没有可执行权限的。

那么我们如何设置默认权限呢?比如我们想将新创建的文件权限设置为rwxr-xr--,也就是754。我们用777减去754得到023。也就是通过执行 umask 023 来完成默认权限设置。


当前题目:linux的链接命令 linux的链接文件
转载来于:http://njwzjz.com/article/dogsigc.html