文件的属性及类型
文件属性
root@localhost ~]# ll
total 176
d rwxr-xr-x 2 root root 6 Mar 28 01:22 family
- rw-r--r-- 1 root root 0 Mar 27 02:35 wc
- rw-r--r-- 1 root root 218 Mar 27 01:17 web.log
d rwxr-xr-x 2 root root 6 Mar 28 01:22 work
- rw-r--r-- 1 root root 0 Mar 27 01:16 wsh
# 第一列
文件的类型
-:普通文件 touch
d:directory 目录 mkdir
l:link 软链接文件(windows快捷方式)ln
c:设备文件(char字符设备文件)和字符相关的设备,举例:打印机,终端
b:设备文件(block块设备文件)和存储相关的设备,举例:硬盘,U盘,磁盘分区
s:socket安全套接字文件,网络编程
p:pipe管道文件,父进程与子进程之间的通信文件
# 第二列:
文件的权限:Permission denied(权限被拒绝)
rw- r-- r--
rwx rwx rwx
r:read 读
w:write 写
x:exec 执行
-:该权限位上没有权限
# 三列:
指该文件的硬链接数
# 第四列:
该文件的属主
# 第五列:
该文件的属组
# 第六列:
该文件的大小
# 第七列:
文件的创建时间
最后一列:
文件名
文件类型查看命令
file
## 语法:
file [选项] 文件...
## 举例
[root@localhost ~]# file 2.txt
2.txt: ASCII text
[root@localhost ~]# file web.log
web.log: ASCII text
[root@localhost ~]# file .bashrc
.bashrc: ASCII text
[root@localhost ~]# file /dev/sdb
/dev/sdb: cannot open (No such file or directory)
[root@localhost ~]# file /dev/pts/ptmx
/dev/pts/ptmx: character special
系统的链接文件
一个文件在Linux中,会被分为两部分:
- 真实数据:文件中的真实内容
- 元数据:用来形容一个文件数据
一个文件在Linux中,存储也会被分为两部分:
- inode:用来存储文件的元数据
- block:用来存储真实数据,一个block是4K大小
## 查看磁盘空间
df
## 选项
-h:方便阅读方式显示
-i:查看inode空间
## 举例
# 查看磁盘的block
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.5M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda3 18G 1.5G 17G 9% /
/dev/sda1 497M 135M 362M 28% /boot
tmpfs 182M 0 182M 0% /run/user/0
# 查看磁盘的inode
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 230199 383 229816 1% /dev
tmpfs 232878 1 232877 1% /dev/shm
tmpfs 232878 697 232181 1% /run
tmpfs 232878 16 232862 1% /sys/fs/cgroup
/dev/sda3 9180672 32078 9148594 1% /
/dev/sda1 256000 327 255673 1% /boot
tmpfs 232878 1 232877 1% /run/user/0
链接文件的种类
-
软链接文件
软链接相当于windows的快捷方式,软链接文件会将inode指向源文件的block
ls -i:查看该文件的inode号
## 创建软链接的命令
ln:link 链接,创建链接文件
-s:soft 软,创建软链接文件
ln -s 源文件 链接文件的位置
## 举例
[root@localhost ~]# ln -s /root/blog.driverzeng.com_access.log /opt/
[root@localhost ~]# ll /opt/
total 4
lrwxrwxrwx 1 root root 36 Mar 29 23:35 blog.driverzeng.com_access.log -> /root/blog.driverzeng.com_access.log
-rw-r--r--. 1 root root 396 Mar 24 02:15 ifcfg-ens33
[root@localhost ~]# ln -s /root/blog.driverzeng.com_access.log /opt/1.txt
[root@localhost ~]# ll /opt/
total 4
lrwxrwxrwx 1 root root 36 Mar 29 23:39 1.txt -> /root/blog.driverzeng.com_access.log
lrwxrwxrwx 1 root root 36 Mar 29 23:35 blog.driverzeng.com_access.log -> /root/blog.driverzeng.com_access.log
-rw-r--r--. 1 root root 396 Mar 24 02:15 ifcfg-ens33
# 软链接文件,会受到源文件的影响,如果源文件删除,软链接文件也无法使用
[root@localhost ~]# rm -rf /root/blog.driverzeng.com_access.log
[root@localhost ~]# ll /opt/
total 4
lrwxrwxrwx 1 root root 36 Mar 29 23:39 1.txt -> /root/blog.driverzeng.com_access.log
lrwxrwxrwx 1 root root 36 Mar 29 23:35 blog.driverzeng.com_access.log -> /root/blog.driverzeng.com_access.log
-rw-r--r--. 1 root root 396 Mar 24 02:15 ifcfg-ens33
[root@localhost ~]# cat /opt/blog.driverzeng.com_access.log
cat: /opt/blog.driverzeng.com_access.log: No such file or directory
- 硬链接文件
若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名
## 创建硬链接的命令
ln
ln 源文件 链接文件的位置
## 举例
[root@localhost ~]# ls -li
total 176
33582691 -rw-r--r-- 2 root root 68 Mar 27 02:35 2.txt
33575033 -rw-r--r-- 1 root root 164034 Mar 26 11:33 blog.driverzeng.com_access.log
33582690 -rw-r--r-- 1 root root 0 Mar 27 02:34 cat
[root@localhost ~]# ln /root/2.txt /opt/
[root@localhost ~]# ls -li /opt/
total 8
16784721 lrwxrwxrwx 1 root root 36 Mar 29 23:39 1.txt -> /root/blog.driverzeng.com_access.log
33582691 -rw-r--r-- 2 root root 68 Mar 27 02:35 2.txt
16784673 lrwxrwxrwx 1 root root 36 Mar 29 23:35 blog.driverzeng.com_access.log -> /root/blog.driverzeng.com_access.log
16784735 -rw-r--r--. 1 root root 396 Mar 24 02:15 ifcfg-ens33
## 查看文件内容
[root@localhost ~]# cat /root/2.txt
I'm jbs,22 years old QQ 123456789
I'm wsh,18 years old QQ 234567890
[root@localhost ~]# cat /opt/2.txt
I'm jbs,22 years old QQ 123456789
I'm wsh,18 years old QQ 234567890
## 特性
1.硬链接文件,不会受到原文件的影响
2.所有硬链接文件的inode号与源文件相同
3.修改一个文件,其他文件都会改变
4.不允许给目录创建硬链接
## 报错
[root@localhost ~]# ln /root/family/ /opt/
ln: ‘/root/family/’: hard link not allowed for directory
5.默认情况下,新创建的目录,有两个硬链接,一个是目录本身,一个是该目录下的.目录
[root@localhost ~]# ls -lai /root/family/
total 0
51468669 drwxr-xr-x 2 root root 6 Mar 28 01:22 .
33574977 dr-xr-x---. 4 root root 240 Mar 29 23:43 ..
硬链接和软链接的区别
区别 | 硬链接 | 软链接 |
---|---|---|
创建命令 | ln | ln -s |
对象 | 只能对普通文件创建 | 普通文件和目录 |
是否收到源文件影响 | 否 | 是 |
inode号 | 相同 | 不同 |
跨分区创建 | 不可以 | 可以 |