文件属性及类型
文件管理命令--替换tr
## tr只能按照字符 一一对应取替换,如果出现相同的字符,那么后面的赋值会将前面的赋值覆盖
tr '被替换的内容' '替换内容' < 文件名
[root@moban ~]# tr 'name' 'address' < 611.
addr=10.0.0.7
n == a..
a == d
m == d
e == r 一一对应
# sed 语法 ----------不一一对应,直接整体替换。
sed 's/被替换内容/替换内容/g' 文件名
[root@localhost ~]# sed 's///g' 2.txt
[root@localhost ~]# sed 's/name/address/g' 2.txt
address=10.0.0.100
文件的属性
文件类型字符 |
文件类型 |
- |
普通文件 |
d |
directory 目录文件 |
c |
char 字符设备 (键鼠,bash) |
b |
block 块设备 |
l |
link 链接文件 |
s |
socket 安全 (套接字)文件 用于网络连接通信 |
p |
pipe管道文件 |
文件类型 文件权限 se防护墙 硬链接数 创建用户 所属组 文件大小 文件创建(修改)时间 文件名
- rw-r--r-- . 1 root root 15 Apr 7 16:36 611.
r = = 读取
w = = 写入
x = = 执行
三个为一组,用户,组,全部用户
使用file命令来鉴别文件类型
## 使用方法
file 文件
## 查看文件类型
[root@localhost ~]# file /dev/null
/dev/null: character special
[root@localhost ~]# file /dev/sda1
/dev/sda1: block special
[root@localhost ~]# file /run/systemd/initctl/fifo
/run/systemd/initctl/fifo: fifo (named pipe)
[root@localhost ~]# file /dev/log
/dev/log: socket
[root@localhost ~]# file /root/zls
/root/zls: directory
## 文件拓展名在liunx中无意义。仅仅是作为区分
系统链接文件
# 元数据:用来描述数据的数据
# 真实数据:用户产生的数据(文件内容)
# 在Linux中,磁盘存储数据,被分为两部分
# 文件存储在磁盘上
## 磁盘存储数据,被分为两个部分
## 一个部分用来存储元数据:inode ---------- ll-i 查询inode号
## 一个部分用来存储真实数据:block ----------block 默认为4k一个单位
## inode号:文件元数据存储在磁盘中的房间号
# 总结
磁盘存储数据会被分为两个部分:
一部分存储元数据,存储元数据的部分叫做inode,每个文件都有一个自己的inode号,这个inode号可以理
解为文件存储在磁盘上的房间号
一部分存储真实数据,存储真实数据的部分叫做block,一个block默认是4k
软连接
软连接会创建一个文件的快捷方式,软连接的inode号是全新的,指向源文件 block
命令
ln -s 源文件 目标文件
[root@moban ~]# ln -s 611. 711.
[root@moban ~]# ll
total 4
16797782 -rw-r--r--. 1 root root 15 Apr 7 16:36 611.
16797774 lrwxrwxrwx. 1 root root 4 Apr 7 17:10 711. -> 611.
总结:
1)创建软链接时,直接接一个已存在的目录,以源文件名字来命名新的文件名创建到指定目录下
2)创建软链接时,指定一个目录下的文件,如果该文件不存在,则创建软链接并改名
2)创建软链接时,指定一个目录下的文件,如果该文件存在,则报错,无法创建
#应用场景
1)软件升级
2)代码发布
3)不方便移动的目录
4)数据回滚、版本回滚
5)程序读取
硬链接
若一个 inode 号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多
个别名,如下图所示 hard link 就是file的一个别名,他们有共同的 inode
## 创建硬链接方式
ln 源文件(要给谁创建硬链接) 目标文件(硬链接的位置)
[root@localhost ~]# ll -i
total 24
16797812 lrwxrwxrwx. 1 root root 11 Apr 7 23:35 123 -> /root/1.txt
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 1.txt
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 abc
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 abc1
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 abc2
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 abc3
16797823 -rw-r--r--. 6 root root 4 Apr 7 23:37 abc4
软连接与硬链接的对比
区别 |
软 |
硬 |
命令 |
ln -s |
ln |
inode |
不相同 |
相同 |
源文件丢失是否可用 |
不可 |
可 |
跨分区创建 |
支持 |
不支持 |
目录 |
支持 |
不支持 |
文件类型 |
l链接文件 |
普通文件 |
# 查看磁盘命令
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 8913920 1609880 7304040 19% /
devtmpfs 487048 0 487048 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 7748 490200 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sda1 508580 122216 386364 25% /boot
tmpfs 99592 0 99592 0% /run/user/0
# -h以人类可读的方式显示,磁盘大小加上了单位
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.6G 1.6G 7.0G 19% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
# -i 查看inode可用空间
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 4462080 34791 4427289 1% /
devtmpfs 121762 380 121382 1% /dev
tmpfs 124487 1 124486 1% /dev/shm
tmpfs 124487 699 123788 1% /run
tmpfs 124487 16 124471 1% /sys/fs/cgroup
/dev/sda1 256000 326 255674 1% /boot
tmpfs 124487 1 124486 1% /run/user/0
[root@localhost ~]# df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 4.3M 34K 4.3M 1% /
devtmpfs 119K 380 119K 1% /dev
tmpfs 122K 1 122K 1% /dev/shm
tmpfs 122K 699 121K 1% /run
tmpfs 122K 16 122K 1% /sys/fs/cgroup
/dev/sda1 250K 326 250K 1% /boot
tmpfs 122K 1 122K 1% /run/user/0