创建链接文件
Linux系统中硬盘文件存储原理
硬盘数据分类
-
用户数据(user data):即文件的数据块(data block),存储数据真实空间
-
元数据(metadata):存储文件附加属性,如:文件的大小、创建的时间、所有者等信息
硬连接
原理:
-
linux系统允许多个文件指向同一个inode,即允许一个文件拥有多个有效地路径名
-
理解:硬连接就是指向原始文件inode的指针
查看方法
-
ll 文件名
-
stat 文件名
建立硬连接
-
格式:
注意
-
硬连接建立后,删除其中的一个后数据依然可以访问,只有硬连接为0时,数据旧无法访问了
硬连接不能给目录建立
目录自带2个硬连接,即目录中的 . .. ,表示当前目录和上一级目录
不可以在不同的文件系统内建立硬连接,由于inode是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统
软连接
原理:
-
软连接是一种符号连接,类似于windows的“快捷方式”,仅包含所连接的路径名
格式
注意
-
软连接只是一种指向关系,删除源文件则数据不可访问
-
可以通过ll命令查看软连接实际执行文件及位置
-
更改软连接方法:ln -snf 新文件名 软连接名
-
删除软连接,只是删除指向关系,源数据依然可以访问
软硬连接的区别
-
硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
-
软连接的指向关系可以查看,硬连接不可以查看
-
连接数不同,软连接数不会增加
-
文件大小不同,硬连接文件大小与源文件一样
-
软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
目录操作命令
创建目录(make directory)
格式:
参数
-
-p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
-
-v 显示创建目录的详细过程
例:
参数
-
-p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
-
-v 显示创建目录的详细过程
例:
du命令
-
作用:统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数。
-
命令格式: du [参数] [目录名]
-
参数:
新建文件
创建普通文件
touch用法1:
-
如果文件已存在,更新文件的三个时间,
stat
可以查看文件的详细信息touch用法2
-
如果文件不存在,则表示创建文件
-
格式:
删除文件
格式:
用法:
-
删除文件: rm 文件名
-
删除目录:rm -r 目录名
-
强制删除不确认:rm -f 文件名
注意
-
删除前必须确认路径及名称
-
删除文件时必须将文件名及扩展名写全
数据流和重定向
数据流
-
标准输入(standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入
-
标准输出(standard output,简称stdout):默认情况下,命令执行所回传正确的信息会输出到屏幕上
-
标准错误输出(standard error output,简称stderr):默认情况下,标准错误输出可理解为命令执行失败后,所回传的错误信息会输出到屏幕上
-
不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分别传送所用的特殊字符如下所示:
-
标准输入(stdin):代码为0
-
标准输出(stdout):代码为1
-
标准错误输出(stderr):代码为2
重定向操作符
概念
-
重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。
-
重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
符号
-
输出重定向操作符:
>
>>
-
输入重定向操作符:
<
<<
用法
输出重定向案例
例1:输出重定向(覆盖)
例2:输出重定向(追加)
例3:错误输出重定向
例4: 正确和错误都输入到相同位置
例5: 正确和错误都输入到相同位置
例6:重定向到空设备/dev/null
输入重定向案例
-
例1:从文件读取数据作为cat命令的输入
例2:标准输入重定向<<
并不表示追加,而是表示输入结束的意思,即作为一个结束符。