一.软链接和硬链接画图,以及代码
软连接硬链接是在文件之间的
注:不能给目录创建硬链接。原因就是允许目录的硬链接可能会打破文件系统目录的有向无环图结构,可能创建目录循环,这可能会导致fsck以及其他一些遍历文件树的软件出错。这可能会出现一种你的父目录是你的子目录这种及其奇怪的事情出现,其实就是硬链接以后的目录可能是你的父目录,这导致很多遍历系统的命令如果不跟踪inode的话就没办法用了,因为可能会导致无限循环
1.文件
文件里面包括 inode和block
inode:记录文件属性,一个文件占一个inode编号
block:记录文件内容
所以查找文件先会到inode然后到block上
2.软链接和硬链接示意图
软链接:
类同与windos的快捷方式,给文件创建一个快速的访问路径,它依赖于原文件,与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块。当原文件出现问题后,该链接不可用。
硬链接:
在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。
3.建立软链接 ln -s
先创建一个文件并查看
[rhcsa@servel ~]$ touch file2
[rhcsa@servel ~]$ stat file2
在建立一个软链接并查看
[rhcsa@servel ~]$ ln -s file2 file2_soft
[rhcsa@servel ~]$ stat file2_soft
此时两个文件的inode不同,所以是两个不同的文件;links 只有一条
删除file2,再查看软链接
[rhcsa@servel ~]$ more file2_soft
[rhcsa@servel ~]$ rm file2
[rhcsa@servel ~]$ more file2_soft
找不到来源
4.建立硬链接 ln
先创建一个文件并查看
[rhcsa@servel ~]$ touch file1
[rhcsa@servel ~]$ stat file1
在建立一个软链接并查看
[rhcsa@servel ~]$ ln file1 file1_hard
[rhcsa@servel ~]$ stat file1
此时file1中有两条路径并且inode相同,所以是同一文件
删除file1,在查看硬链接
[rhcsa@servel ~]$ rm file1
[rhcsa@servel ~]$ stat file1_hard
可以继续访问源文件
二.一级目录的解释(存储什么东西,英文)
![](https://img-blog.csdnimg.cn/d4087059944040a588bf5c3242f02ac3.png)
一级目录的解释及存放类型:
/var :
四.创建文件,删除文件,创建目录,删除目录
删除普通文件:rm [-f] 文件名
创建目录:mkdir
删除目录:rmdir
5.cp命令:
复制文件粘贴重命名
创建文件
重命名进行拷贝
复制文件到目录重命名
复制目录到目录
把目录拷贝过去,不包含目录里面的文件
把目录拷贝过去,包含目录里面的文件
复制文件到目录且不改变文件属性
mv命令的使用
对文件的一个剪切/重命名: mv - move (rename) files
重定向:
输出重定向操作符: > (覆盖)、 >>(追加)
输入重定向操作符: < 、 <<(不存在追加和覆盖)
标准输出重定向: 1> 或 > 、 1>> 或 >>
![](https://img-blog.csdnimg.cn/16c4c0f0bbd244afbd8f02bdb15972c1.png)
将1重定向到文件,将2重定向到1
将2重定向到文件,将1重定向到2
![](https://img-blog.csdnimg.cn/a4a207d1ea05444fa56e034c2ce3b3a9.png)
将文件重定向到0