一、linux的文件创建、修改和删除
1、创建源文件
普通文件:
touch 目录/文件名
列如 touch a --- 创建一个文件:a.txt文件
目录文件:
mkdir 目录/文件名
---- 不能连续创建父子目录,但是可以连续创建同级的目录,注意不能同时创建同名文件
2、修改文件
写入内容到普通文件:
echo this > a ---- 在文件a.txt中写入this
查看inode的节点号:
ls -i 文件名
创建软硬连接:
ln 源文件 硬连接文件名称
---- 默认创建出是硬链接
ln -s 源文件 软连接文件名称
---- 创建出软链接查看整个文件的属性:
stat 文件名
3、删除文件
rm 文件名
rm (-r)
----- 加上-r是为了删除目录文件(无论里面是否有文件), -d只能删除空目录文件
二、软硬连接的介绍
一个文件是由目录块、inode表、数据块三部分组成。
1、软链接
软链接与硬链接有所不同,软链接就是一个普通文件,并且有着自己的 inode 号以及数据块,只不过对应的数据块里的内容存储的是另一文件的路径名的指向。删除源文件就不能访问了,并且再创建一个同名同位置的新文件,这个软连接就直接指向新文件了。
2、硬链接
若一个 inode 号对应多个文件名,则称这些文件为硬链接,即一个 inode 节点对应两个不同的文件名,两个文件指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
三、软硬连接的实验
1、创建目录,文件以及软硬连接
在根目录创建一个练习用的test目录文件。
并且在test下创建一个zuoye/001的文件目录,并且在001下创建lianxi.txt,并且为他加上内容“I am zuoye ” ----- 11(字母加空格一共是11个字符)
mkdir -p test/zuoye/001
之后创建软连接、硬链接。并且通过ls-i命令查看各自的inode。发现软连接的inode和其他都不相同,并且硬链接和源文件的inode是一样的。
2、查看他们的详细属性,以及硬链接次数
你会发现源文件大小为11,并且硬文件也是11。两者的inode一模一样 ,根上文说的内容一致。并且通过ls -l查看硬链接数你会发现硬链接文件和源文件的硬连接数都为2。而软文件里面存的是指向源文件的目录信息,因为再同一个目录下,所以位置信息是直接指向lianxi.txt,所以大小为lianxi的6个字符。
3、删除源文件
通过rm lianxi删除源文件,查看删除前后的目录文件信息。你会发现删除前软硬连接都可达,但是删除之后软连接变红了,即不可访问了。但是硬链接仍然可达,并且硬连接数变为1了,说明没用公用inode的文件了。
4、创建同名的源文件
新创建一个同名的普通文件,再次查看目录文件信息。你会发现,软连接可以访问到了,并且大小没有变化(这是因为两次普通文件名字一样)。
5、再次查看他们的inode,以及硬链接次数
再次通过stat的命令查看文件详细信息,你会发现三者的inode都不相同。再看硬链接大小不变,并且所有的硬连接数都是1。