作者:Georgekai
归档:学习笔记
2017/12/22
day12
georgekai~~习惯:操作前备份,操作后检查
本章正题: linux文件属性、文件类型、linux用户和权限、软链接和硬链接
1.1 文件属性
1.1.1 查看文件属性的含义
[[email protected] ~]# ls -lhi
total 40K
791060 -rw-------. 1 root root 1.1K Dec 11 04:20 anaconda-ks.cfg
注: 791060 #是Inode号码(类似×××号)
-rw------ #文件的权限
. #这个点与SElinux有关
1 #这个1 是硬连接的数量
root #第一个root是文件的所有所有者
root #第二个root是文件的所属用户组
1.1k #文件的大小,默认为字节 B
Dec 11 04:20 #文件的修改时间
anaconda-ks-.cfg #文件名 ,这一部分不是文件的属性
1.1.2 Inode与block的作用
1) Inode作用:inode index node 索引节点 存放的是文件的属性信息,block的位置(Inode 号码)、大小、时间、类型、权限 .....不包括文件名。
2) block作用: 块 ,存放的是文件的内容,数据文件存放的空间。
1.1.3 Inode和block怎么来的?
1)硬盘===>分区===>格式化===>文件系统类型===>挂载
2)Inode和block是在格式化创建文件系统的时候回诞生的。
1.1.4 Inode与block的关系:
用户==>文件名==>Inode==>block==>文件内容
注:用户读取一个文件,后台执行的操作
1.1.5 Inode和block特点:
1)Inode 存放的是文件属性、和block的位置
2)创建一个非空文件至少要占用一个Inode和至少一个block
3)在同一个分区中,两个文件的Inode号码相同了,这俩个文件互为硬链接。
4)block是存放数据的空间
5)block的大小在CentOS中默认是4k,比较大的文件会占用多个block(如4k),比较小的文 件(如1k),剩余的空间无法使用
6)磁盘读取数据是按照block为单位读取的。
7)每读取一个block就会消耗一次磁盘的I/O(磁盘读写).
1.1.6 查看Inode数量
1)查看一个文件的Inode号
[[email protected] ~]# ls -lih
2)查看系统中的Inode数量
[[email protected] ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1250928 58342 1192586 5% /
注:Filesystem :文件系统类型
Inodes :Inode总数
IUsed :已使用的Inode
IFree : 剩余Inode数
1.1.7 查看block大小
1)查看一个文件的大小
[[email protected] ~]# ls -lh
2)系统中block的使用情况
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.6G 17G 9% /
注:-h :带单位显示大小
size :总大小
Used :已使用的大小
Avail :剩余的大小
Mounted :挂载点(这个分区或设备挂载到哪个目录下了)
实例1-1 企业案例:磁盘空间满了,No space left on device(磁盘空间不足)的二种情况!
1)模拟block满了
dd if=/dev/zero of=/data/kai.txt bs =8k count=10
解决:mv移动走磁盘内的文件,或rm删除不用的文件
2)模拟Inode满了
一般定时任务编写书写会导致产生大量的小文件时Inode用光。
touch {1..6}.txt
解决:mv移动走磁盘内的文件,或rm删除不用的文件
1.2 linux文件类型
1.2.1 扩展名
如:.log .txt .conf .avi .mp3 用来区分不同类型的文件.
windowns下 : 是系统通过扩展名区分不同文件类型的。
linux下 : 是我们人类通过扩展名来区分不同文件类型的。
1.2.2 linux常见的文件类型
1)- (在ls -l中) f(file):普通文件
普通文件的类型:▲纯文本文件 text /etc/hosts ▲二进制文件(命令)/bin/ls
▲数据文件(data)压缩包
查看文件的类型:file /tmp/etc.tar.gz
2)d (在ls -l中) d(dri ):目录
3)l (在ls -l中) l(link) :软连接,或者叫符号连接,快捷方式
1.3 linux用户
1.3.1 用户基础内容
1)UID == user id == 用户id
2)GID == group id == 用户组id
1.3.2 linux用户分类
1)root UID=0 皇帝
2)虚拟用户 UID=1-499 傀儡
注:1. linux下面每个程序/进程都要有个对应的用户和用户组
2. 无法登录系统
3)普通用户 UID=500-60000 百姓
1.3.3 查看用户的UID
[[email protected] wang]# id root
uid=0(root) gid=0(root) groups=0(root)
1.3.4 对于一个文件/目录,用户分为几种。
1)所有者(主人)
2)属组 (家庭、或者说属于哪个用户组)
3)其他用户 (陌生人)
1.3.5 查看用户属于哪个组
[[email protected] wang]# id george
uid=500(george) gid=500(george) groups=500(george)
注:属于哪些组,看groups后面有多少个组
1.3.6 查看组内包含哪些用户
[[email protected] wang]# groups george
george : kai
1.3.7 与用户相关的配置文件
1)/etc/passwd #用户的信息
需要注意的是:nologin是虚拟用户默认的登录shell,不能登录到系统。
2)/etc/shadow #用户的密码信息
3)/etc/group #用户组的信息
4)/etc/gshadow #用户组的密码信息
1.3.8 连接到服务器需要知道什么条件?
1)ip
2) 用户名root
3)密码
4)默认端口号22
如何避免被黑:1. 修改远程连接端口号52113
2. 禁止root用户远程登录系统
1.4 linux权限
1)r ==> 4 ==> read 读取
2)w ==> 2 ==> write 写入、修改
3)x ==> 1 ==> executed 可执行(如:命令、脚本)
4)- ==> 0 ==> 没有权限
权限的关系:主人 家庭 陌生人
rw- r-- r--
6 4 4
例:-rw-r--r--. 1 root root 61 Dec 11 04:18 shells
注:第一位是 - :表示是一个普通文件
第一位是d : 表示是一个目录
第一位是f :表示是一个链接文件
1.5 软链接与硬链接
1.5.1 硬链接:
1)硬链接作用:用于备份,防止误删除,误修改。
2)创建硬链接
[[email protected] wag]# ln 123.sh 123.txt
3)在同一个分区中,Inode号码相同的文件互为硬链接。
[[email protected] wang]# ls -lhi 123.*
523296 -rw-r--r--. 2 root root 0 Dec 22 10:43 123.sh
523296 -rw-r--r--. 2 root root 0 Dec 22 10:43 123.txt
注:可以发现他们的Inode号码一样
1.5.2 软连接:
1)软链接作用:相当于windows快捷方式,存放的是指向源文件的位置.
2)创建软连接
[[email protected] wang]# ln -s 123.sh 123.sh_soft
lrwxrwxrwx. 1 root root 6 Dec 22 12:41 123.sh_soft -> 123.sh
注:软链接默认的权限都是777