文件的属性及类型

Posted wx622ea1d31aab0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件的属性及类型相关的知识,希望对你有一定的参考价值。

文件属性文件的类型查看命令 file系统的链接文件 df链接文件的种类 ln硬链接和软链接的区别企业面试题

文件的属性及类型


文件属性

0 ? 16:59:58 root@miaosen,10.0.0.100:~ # ll
total 64
- rw-r--r--. 1 root root 56479 Mar 24 20:12 blog.driverzeng.com_access.log
- rw-r--r--  1 root root    14 Mar 28 12:30 dgfzsdfzdkjf
- rw-r--r--  1 root root     1 Mar 28 12:29 jing,txt
# 以空格为分隔符第一列
文件类型
-:普通文件                              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 执行
-:该权限位上没有权限
# 以空格为分隔符第三列:
指该文件的硬链接数
# 以空格为分隔符的第四列
该文件的属主
# 以空格为分隔符的第五列
该文件的属组
# 以空格为分隔符的第6列
该文件的大小
# 以空格为分隔符的第7列
文件的创建时间
# 以空格为分隔符的第8列
文件名

文件的类型查看命令 file

file
## 语法
file  [选项] 文件。。。
## 举例
0 ✓ 17:13:50 root@miaosen,10.0.0.100:~ # file blog.driverzeng.com_access.log
blog.driverzeng.com_access.log: ASCII text, with very long lines   # ASCII text:普通文件
0 ✓ 17:16:14 root@miaosen,10.0.0.100:~ # file jing.sh
jing.sh: script text executable for bin/ls, ASCII text  ## script text:脚本
0 ✓ 17:18:55 root@miaosen,10.0.0.100:~ # file /bin/pwd
/bin/pwd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=263286fcf1a696af422a8599938baee81f3b5a40, stripped
## 可执行的文件
0 ✓ 17:19:04 root@miaosen,10.0.0.100:~ # file /dev/sda
/dev/sda: block special  #块设备文件
130 ✗ 17:20:19 root@miaosen,10.0.0.100:~ # file /dev/pts/0
/dev/pts/0: character special   ##字符设备文件

系统的链接文件 df


一个文件在linux中,会被分为两部分

  • 真是数据:文件中的真实内容

  • 元数据:用来形容一个文件数据

一个文件在linux中,存储也会被分为两部分:

  • inode:用来存储,文件的元数据

  • block:用来存储,文件的真实数据,一个block是4k

## 查看磁盘空间
df
## 选项
-h: human人类可读
-i: 查看inode空间
## 举例
# 查看磁盘的 block
0 ? 17:52:20 root@miaosen,10.0.0.100:~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.2G   18G   7% /
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
# 查看磁盘的inode
0 ✓ 18:08:25 root@miaosen,10.0.0.100:~ # df -hi
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda3        9.3M   29K  9.3M    1% /
devtmpfs         119K   373  119K    1% /dev
tmpfs            122K     1  122K    1% /dev/shm
tmpfs            122K   697  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

链接文件的种类 ln

  • 软连接文件

软链接相当于windows的快捷方式,软连接会将inode指向源文件的block

ls
-i:查看该文件的inode号
0 ✓ 18:22:34 root@miaosen,10.0.0.100:~ # ll -i
total 68
33574982 -rw-r--r--. 1 root root 56479 Mar 24 20:12 blog.driverzeng.com_access.log
33575025 -rw-r--r--  1 root root    14 Mar 28 12:30 dgfzsdfzdkjf
33575031 -rw-r--r--  1 root root    14 Mar 30 17:16 jing.sh
33574987 -rw-r--r--  1 root root     1 Mar 28 12:29 jing,txt
## 创建软连接的命令
ln:link 链接,创建链接文件
-s:soft 软,创建软链接文件
ln-s 源文件,链接文件的位置
0 ✓ 18:23:02 root@miaosen,10.0.0.100:~ # ln -s /root/jing,txt /tmp/
0 ✓ 18:27:03 root@miaosen,10.0.0.100:~ # ll /tmp/
total 32
-rw-r--r--.  1 root root     0 Mar 25 17:22 dudu
drwxr-xr-x. 74 root root  8192 Mar 23 23:07 etc
lrwxrwxrwx   1 root root    14 Mar 30 18:27 jing,txt -> /root/jing,txt
0 ✓ 18:29:41 root@miaosen,10.0.0.100:~ # ln -s /root/jing,txt /tmp/jing2.txt
0 ✓ 18:30:22 root@miaosen,10.0.0.100:~ # ll /tmp
total 0
lrwxrwxrwx 1 root root 14 Mar 30 18:30 jing2.txt -> /root/jing,txt
lrwxrwxrwx 1 root root 14 Mar 30 18:27 jing,txt -> /root/jing,txt
0 ✓ 18:30:26 root@miaosen,10.0.0.100:~ #
# 软链接文件,会受到源文件的影响,如果源文件删除,软链接文件也无法使用
0 ✓ 18:37:47 root@miaosen,10.0.0.100:~ # cat /tmp/su.txt
sdas
0 ✓ 18:38:04 root@miaosen,10.0.0.100:~ # cat /tmp/jing.txt
sdas
0 ✓ 18:38:13 root@miaosen,10.0.0.100:~ # cat /root/jing.txt
sdas
0 ✓ 18:38:20 root@miaosen,10.0.0.100:~ # rm -f /root/jing.txt
## 删除源文件 ,再用软连接就会报错
0 ✓ 18:38:31 root@miaosen,10.0.0.100:~ # cat /tmp/jing.txt
cat: /tmp/jing.txt: No such file or directory
  • 硬链接文件

若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名

## 创建 链接文件的位置
## 举个栗子
1 ✗ 19:23:42 root@miaosen,10.0.0.100:~ # ln /root/lk.txt  /opt/
0 ✓ 19:23:51 root@miaosen,10.0.0.100:~ # ln /root/lk.txt  /opt/lk1.txt
## 查看
0 ✓ 19:25:06 root@miaosen,10.0.0.100:~ # ls -li /root/lk.txt
33574986 -rw-r--r-- 3 root root 7 Mar 30 19:23 /root/lk.txt
0 ✓ 19:25:17 root@miaosen,10.0.0.100:~ # ls -li /opt/lk.txt
33574986 -rw-r--r-- 3 root root 7 Mar 30 19:23 /opt/lk.txt
0 ✓ 19:25:23 root@miaosen,10.0.0.100:~ # ls -li /opt/lk1.txt
33574986 -rw-r--r-- 3 root root 7 Mar 30 19:23 /opt/lk1.txt
## 查看文件内容
0 ✓ 19:25:26 root@miaosen,10.0.0.100:~ # cat /opt/lk1.txt
poi
lu
0 ✓ 19:25:56 root@miaosen,10.0.0.100:~ # cat /opt/lk.txt
poi
lu
0 ✓ 19:26:04 root@miaosen,10.0.0.100:~ # cat /root/lk.txt
poi
lu
## 特性
1.硬链接文件,不会受到原文件的影响
2.所有硬链接文件的inode号与源文件相同
3.修改一个文件,其他文件都会改变
4.不允许给目录创建硬链接
5.默认情况下,新创建的目录,有两个硬链接,一个是目录本身,一个是该目录下的.目录
19:28:11 root@miaosen,10.0.0.100:~ # ls -lai /root/lk.txt -d
33574986 -rw-r--r-- 3 root root 7 Mar 30 19:23 /root/lk.txt
##保错
0 ✓ 19:35:11 root@miaosen,10.0.0.100:~ # ln /root/lqy /tmp/lqy
ln: ‘/root/lqy’: hard link not allowed for directory  # 不能硬链接目录

硬链接和软链接的区别

区别

硬链接

软链接

创建命令

ln

ln-s

对象

只能对普通文件创建

普通文件和目录

inode号

相同

不相同

跨分区创建

不可以

可以

企业面试题



以上是关于文件的属性及类型的主要内容,如果未能解决你的问题,请参考以下文章

linux 文件属性及类型

linux文件属性及类型

文件的属性及类型

文件的属性及类型

文件的属性及类型

文件属性及类型