11-文件的属性及类型-ln,df,ls-i

当筵意气临九霄,星离雨散不终朝。这篇文章主要讲述11-文件的属性及类型-ln,df,ls-i相关的知识,希望能为你提供帮助。
[TOC]

一、文件属性例如下列文件属性:

dr-xr-xr-x.5 root root 4096 Mar 29 07:41 boot

1、文件类型
第一列: 最左边第一个字符为“d"."d"代表文件的类型为目录。
【11-文件的属性及类型-ln,df,ls-i】?文件类型:?
  • -:普通文件
  • d: directory目录
  • l:link软连接
----
  • c: 设备文件。char,和字符相关的设备,如:打印机、终端
  • b:设备文件,block块设备文件,和存储相关的设备,如:硬盘、磁盘分区
  • s: socket安全套接文件,网络编程
  • p: pipe管道文件,父进程与子进程之间的通信文件
?文件权限?:
dr-xr-xr-x.
r-xr-xr-x
从第一列第2个字符开始,每三个字符一组,第一列第2个字符到第4个字符为该文件属主的权限
  • r: read读
  • w: write 写
  • x: execute 执行
  • -: 没有权限
?文件的硬链接数:?
dr-xr-xr-x.5 root root 4096 Mar 29 07:41 boot
第二列的数字”5“为硬链接数。
?文件属主:?
第三列为该文件属主,该例子中”root“为该文件属主。
?文件属组:?
第四列为该文件属组,该例子中”root“为属组。
?文件大小:?
第五列为文件大小,该例子中”4096“为该文件大小。
?文件创建时间?
6-8列为文件的创建时间,本例中”Mar 29 07:41“即为创建时间。
?文件名:?
最后一列,本例中”boot“
2、file-文件类型查看命令
0 ? 14:46:16 root@chuntian,10.0.0.101:< sub> # file 1.txt
1.txt: ASCII text
file
130 ? 14:55:24 root@chuntian,10.0.0.101:< /sub> # file /bin/touch
/bin/touch: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=63eec5813d2d873e23d5682351a82a83be24badf, stripped
130 ? 14:57:19 root@chuntian,10.0.0.101:~ # file /dev/zero
/dev/zero: character special

二、、系统链接文件1、真实数据与元数据
在Linux中,一个文件被分为两部分:
  • ?真实数据 :文件的真实内容?,例如:
1 ? 15:02:39 root@chuntian,10.0.0.101:~ # cat 1.txt
hlkadnvldanbkl
# hlkadnvldanbk 为文件 1.txt 的真实内容。

  • ?元数据:用来形容一个文件的数据,?如:
130 ? 15:03:15 root@chuntian,10.0.0.101:~ # ls -li 1.txt
33574991 -rw-r--r--. 1 root root 15 Mar 29 14:46 1.txt
# "33574991 -rw-r--r--. 1 root root 15 Mar 29 14:46 1.txt"文件的属性,如属主,类型,属组,权限,大小,创建时间等,用来形容一个文件即为元数
据。

2、inode 与block
在linux中,存储也被分为两个部分:
  • ?inode?:用来存储文件的元数据
  • ?block:?用来存储文件的真实数据,一个?block?大小为4K。
3、df-查看磁盘空间
df命令的英文全称即*?“Disk Free”?*,用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读,日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。
选项:
-h:human人类可读
-i:查看inode空间

① -h ,human人类可读
130 ? 15:07:56 root@chuntian,10.0.0.101:< sub> # df
Filesystem1K-blocksUsed Available Use% Mounted on
devtmpfs48706804870680% /dev
tmpfs49783604978360% /dev/shm
tmpfs49783678044900322% /run
tmpfs49783604978360% /sys/fs/cgroup
/dev/sda319008512 1283244177252687% /
/dev/sda148400412592835807627% /boot
tmpfs995680995680% /run/user/0

0 ? 15:22:25 root@chuntian,10.0.0.101:< /sub> # df -h
FilesystemSizeUsed Avail Use% Mounted on
devtmpfs476M0476M0% /dev
tmpfs487M0487M0% /dev/shm
tmpfs487M7.7M479M2% /run
tmpfs487M0487M0% /sys/fs/cgroup
/dev/sda319G1.3G17G7% /
/dev/sda1473M123M350M27% /boot
tmpfs98M098M0% /run/user/0

② -i,查看inode空间
130 ? 15:22:50 root@chuntian,10.0.0.101:< sub> # df -i
FilesystemInodes IUsedIFree IUse% Mounted on
devtmpfs1217673781213891% /dev
tmpfs12445911244581% /dev/shm
tmpfs1244597131237461% /run
tmpfs124459161244431% /sys/fs/cgroup
/dev/sda39509376 27345 94820311% /
/dev/sda12437123262433861% /boot
tmpfs12445911244581% /run/user

130 ? 15:26:53 root@chuntian,10.0.0.101:< /sub> # df -ih
FilesystemInodes IUsed IFree IUse% Mounted on
devtmpfs119K378119K1% /dev
tmpfs122K1122K1% /dev/shm
tmpfs122K713121K1% /run
tmpfs122K16122K1% /sys/fs/cgroup
/dev/sda39.1M27K9.1M1% /
/dev/sda1238K326238K1% /boot
tmpfs122K1122K1% /run/user/0

4、链接文件的种类
  • ?创建硬链接还是软链接,文件路径和目标路径都要用绝对路径?
  • ?软链接文件?
软链接相当于windows的快捷方式,软链接文件会将?inode?指向源文件的?block?
(1)ls -i-查看”inode“号
# ls -i查看文件的inode号
130 ? 15:28:37 root@chuntian,10.0.0.101:~ # ls -i
33574991 1.txt33574978 anaconda-ks.cfg51470858 moom
# 33574991 即为该文件的inode号

(2)ln-创建链接
ln
① link 链接,创建链接文件,不加选项创建硬链接,硬链接只能是普通文件才能创建,不能为目录
② ln -s ,soft软件,创建软链接文件,创建软链接的可以为目录或普通文件

(3) 软链接
0 ? 16:21:24 root@chuntian,10.0.0.101:< sub> # ll /tmp
total 4
drwx------. 3 root root17 Mar 29 07:43 systemd-private-b994917a54594b6ea1fd293b8114240c-systemd-hostnamed.service-AVQt7i
drwx------. 2 root root6 Mar 29 07:47 vmware-root_540-2999591780
drwx------. 2 root root6 Mar 29 07:45 vmware-root_541-4248680634
drwx------. 2 root root6 Mar 29 07:43 vmware-root_554-2965906763
-rw-------. 1 root root0 Mar 29 07:36 yum.log
0 ? 16:22:01 root@chuntian,10.0.0.101:< /sub> # ln -s /tmp/yum.log./yum.log2.0
0 ? 16:22:54 root@chuntian,10.0.0.101:~ # ll
total 12
-rw-r--r--. 1 root root15 Mar 29 14:46 1.txt
-rw-------. 1 root root 1435 Mar 29 07:41 anaconda-ks.cfg
-rw-r--r--. 1 root root41 Mar 29 15:53 a.txt
drwxr-xr-x. 2 root root6 Mar 29 11:32 moom
drwxr-xr-x. 2 root root6 Mar 29 15:55 qqq
drwxr-xr-x. 2 root root32 Mar 29 16:02 star
lrwxrwxrwx. 1 root root31 Mar 29 16:14 vmare-540 -> /tmp/vmware-root_540-2999591780
lrwxrwxrwx. 1 root root12 Mar 29 16:22 yum.log2.0 -> /tmp/yum.log

?软链接会受到原文件的影响,原文件删除,软链接也无法使用。?

(4)硬链接
  • 硬链接
如果多个文件使用同一个inode号,我们称这些文件为硬链接.
创建硬链接:
ln 创建硬链接
0 ? 17:23:06 root@chuntian,10.0.0.101:< sub> /moom # ll
total 8
-rw-r--r--. 2 root root 31 Mar 29 17:11 2.txt
-rw-r--r--. 1 root root 14 Mar 29 17:22 3.txt
0 ? 17:23:14 root@chuntian,10.0.0.101:< /sub> /moom # ln 3.txt/opt/3.txt.1.2
0 ? 17:23:44 root@chuntian,10.0.0.101:< sub> /moom # ll /opt
total 8
-rw-r--r--. 2 root root 31 Mar 29 17:11 2.txt.1.2
-rw-r--r--. 2 root root 14 Mar 29 17:22 3.txt.1.2

# 硬链接不会受原文件影响,删除原文件,仍然存在。但修改任意硬链接文件,所有的硬链接文件都会随之改变。
0 ? 17:38:19 root@chuntian,10.0.0.101:< /sub> /moom # cat cat.txt

111111111111111111111111111111111111111
222222222222222222222222222222222222222
q
q
q

0 ? 17:39:33 root@chuntian,10.0.0.101:< sub> /moom # echo123456 > > cat.txt
0 ? 17:40:56 root@chuntian,10.0.0.101:< /sub> /moom # cat cat.txt

111111111111111111111111111111111111111

    推荐阅读