Linux文件属性及类型
[root@localhost ~]# ll anaconda-ks.cfg
文件类型 权限 硬连接数 文件的大小 文件的创建,修改时间
- rw-------. 1 root root 1379 3月 12 17:43 anaconda-ks.cfg
[root@localhost ~]# ll -d zls
文件类型 权限 硬连接数 所属用户 所属用户组 文件的大小 文件的创建修改时间 文件名
d rwxr-xr-x. 2 root root 6 3月 12 18:00 zls
-:普通文件
d:目录文件
rw- --- --- :权限
rwx r-x r-x :权限
r:读 read
w:写 write
x:执行权限 execute
Linux系统文件的类型
-:普通文件
d:directory 目录文件
c:char 字符设备文件
b:block 块设备文件(用来存储数据的设备)
s:socket,安全套接字文件
l:link 软链接文件(快捷方式)
p:pipe 管道文件
注意:通过颜色或者后缀判断文件类型不一定准确.
系统链接文件
一个文件分为两部分:
-
真实数据
-
元数据
-
block:真实数据占用的空间:19G
-
inode:元数据占用的空间 :9G
-
软链接
软链接相当于windows的快捷方式,软链接文件会将inode
指向源文件的block
1.那么当我们对一个文件创建多个软链接时,其实就是多个inode
指向同一个block
。
2.那么当我们删除软链接文件时,其实只是删除了一个inode
的指向,并不会对源文件造成影响。
3.如果我们删除的是源文件,那么该文件的所有软链接文件都会失效。
2.软链接的应用场景
1)软件升级
2)代码发布
3)不方便移动的目录
4)数据回滚
5)程序读取
- 硬链接
硬链接和软链接的区别
#1. 创建命令不同
硬链接: ln
软链接: ln -s
#2. 目录无法创建硬链接,可以创建软链接,硬链接不能跨系统的分区,软链接可以
#3. 硬链接文件与源文件的inode号相同,软链接不同
#4. 软链接如果删除源文件,所有软链接文件失效,硬链接如果删除源文件,其他硬链接文件均可以使用
练习题
01.如何查看磁盘的空间大小
df -h
02.如何查看磁盘的inode大小
df -i
03.linux内核引导时,从( /etc/fstab )文件中读取要加载的文件系统信息
linux文件属性中每个普通文件用 ( - ) 来标识
04.linux文件属性中权限都有哪些
r:读
w:写
x:执行
-:没有
05.解释如下每一项文件属性
文件类型 权限 硬连接数 所属用户 所属用户组 大小 创建修改时间 文件名
- rw-r--r-- 1 root root 102 Mar 25 08:48 oldboy.txt
06.系统文件有哪些文件类型
-:普通文件
d:目录文件
c:字符设备
b:块设备(存储数据的设备)
s:socket ,安全套接字文件
p:管道文件
l:软链接文件
07.如何创建一个软连接,请举例说明
ln -s /root/zls123 /tmp/
08.如何创建一个硬连接,请举例说明
ln /root/zls.txt /tmp/zls.doc
09.rwx -w- r-- zls root 请问对于相应管理用户都有哪些权限(分别写出用户和拥有的权限)
zls用户:rwx 7
root用户组:-w- 2
其他用户:r-- 4
10.请简述软链接和硬链接的区别
1)创建命令不同
- ln
- ln -s
2)创建多个软链接inode号不相同,硬链接inode号相同
3)软链接删除源文件会影响连接文件
4)硬链接删除源文件,其他连接文件依然可以使用
5)硬链接不能针对目录,软链接可以针对目录和文件
6)硬链接不能跨系统分区,软链接可以
11.inode和block是什么东西,请简述解释
inode:存储元数据
block:存储真实数据
查看文件时,会先查看文件的inode号,然后根据inode号找到存储文件的block
12.在什么情况下表示系统中的数据文件真正被删除了
1)inode被删除
2)block被覆盖
13.需要给/oldboy/oldboy.txt文件创建一个软链接文件/tmp/oldboy_link.txt ,如何进行,如果源文件删除了, 软链接文件是否会失效
ln -s /oldboy/oldboy.txt /tmp/oldboy_link.txt
会
14.如果向磁盘写入数据提示如下错误:No space left on device,通过df-h查看磁盘空间,发现没满,请问可能原因是什么?如何进行解决
磁盘没有空间,df -h 查看磁盘还有空间。inode满了呗。
1)找到磁盘中的没有用的小文件,并删除
2)扩展磁盘空间
15.已知拥有/oldboy目录,如何给/oldboy创建一个/tmp/oldboy硬链接目录(D)
A ln /oldboy /tmp/oldboy B ln -s /oldboy /tmp/oldboy
C ln /tmp/oldboy /oldboy D 抱头痛哭
16.创建一个目录的默认硬链接数,是多少,如果目录硬链接数为10,又是什么原因
目录默认硬连接数:2
下面有8个子目录
17. rwx r-x r-x,写出对应数字权限 (想想办法)
r:4
w:2
x:1
755
18. 641,写出对应字母权限 (想想办法)
rw-r----x
19.普通文件用_____符号表示,目录文件用____表示,链接文件用_____表示
-
d
l
20.关于软链接,下列说法错误的是(B)
A.删除原文件,软链接会失效,但不会消失
B.软链接是执行"ln -s [目标文件] [原文件]"创建
C.软链接是执行"ln -s [原文件] [目标文件]"创建
D.软链接和原文件的inode号不同
21.若要将鼠标从VM中释放出来,可按()键完成。ctrl + alt
22.输入df -h,取出当前系统根分区剩余可用磁盘空间
[root@localhost ~]# df -h|grep -w /|cut -d \' \' -f 14
[root@localhost ~]# df -h |awk \'NR==2{print $4}\'
[root@localhost ~]# df -h|sed -nr \'2s#.*G.*G(.*)G.*$#\\1G#gp\'
23.尝试使用sed命令的后向引用和awk命令取出ip地址,请分别使用ip和ifconfig命令取出。(有能力者做)
ip:
[root@localhost ~]# ip a |awk -F \'[ /]+\' \'NR==9{print $3}\'
10.0.0.200
[root@localhost ~]# ip a |sed -nr \'9s#.*inet (.*)/.*#\\1#gp\'
10.0.0.200
ifconfig:
[root@localhost ~]# ifconfig |awk \'NR==2{print $2}\'
10.0.0.200
[root@localhost ~]# ifconfig |sed -nr \'2s#.*inet (.*)net.*#\\1#gp\'
10.0.0.200
24.数据单位换算,1PB=(1024)TB=(1024^2)GB=(1024^3)MB=(1024^4)KB=(1024^5)B?
25./var/log目录下有哪两个重要的日志文件,分别表示什么作用
/var/log/message:系统日志
/var/log/secure:系统登录日志
26.如何统计/etc目录占系统多大的空间
[root@localhost ~]# du -sh /etc/
30M /etc/
27.利用df和grep,取出磁盘各分区大小(size),并从大到小排序
df | awk \'{print $2" ""\\t"$6}\' | grep -iv \'1K\' | sort -nr
28.如何统计/etc下有多少个目录,不包括隐藏目录,只显示目录个数。
[root@localhost ~]# tree -d /etc/|tail -1
610 directories
29.显示文件/etc/services的大小?
[root@localhost ~]# ls -lh /etc/services
-rw-r--r--. 1 root root 655K 6月 7 2013 /etc/services
[root@localhost ~]# du -sh /etc/services
656K /etc/services