第1章 ls -lhi 简介
135816 drwxr-xr-x 78 root root 4.0K Aug 23 09:24 etc
第一列 ---inode编号 (相当于人的身份证,家庭住址,全国唯一0);
系统读取文件时首先通过文件名找到inode好吗,然后才能读取文件内容。
第二列 ---文件的类型 + 权限
第三列 --- 硬链接的数量 ---- 超市的前后门
第四列 ---文件的所有者 ----属主
第五列 ---所有者属于的家庭 ---属组
第六列 ---文件或目录的大小
第七到九列---文件的时间戳----修改时间
最后一列 ---文件或目录名字 ---不属于文件的属性。
第2章 inode block
准备知识:
磁盘的使用过程:
磁盘(房子)-----分区(隔断)------格式化创建文件系统(装修 装修风格)---挂载(安装门窗)---存放文件(住人)
2.1 inode怎么来的?
格式化创建文件系统 生成的inode和block
2.2 inode含义
inode索引节点号码-----家庭住址----1020200
inode是一个小空间-----老家-----------文件属性和block的位置
block存放数据(文件内容)
2.3 显示oldboyfile文件内容过程
通过文件名找到inode号码 里面包含文件属性和block位置
2.4 inode 特点
1. 在系统中创建一个非空的文件 占用一个inode和至少一个 block
2.在同一个分区中(文件系统),如果两个文件的inode号码相同了,这两个文件互为硬链接。
3.inode大小256字节,centos6.x
2.5 怎么用/看inode
ls -lhi
-h 以人类可读的形式显示文件的大小
-i 显示文件/目录inode号码
系统中inode用了多少剩余多少?
df----系统中磁盘使用情况 (block)
df -i 查看inode使用情况
2.6 block内容
1.block怎么来的
格式化创建文件系统
2.block含义
存放数据(文件内容)
2.7 3.block特点
l 大小 block 4k
l 如果你的文件很大占用多个block,如果你的文件很小 1k 剩余的空间就浪费了 无法继续使用
l 磁盘进行读写 io 是按照block为单位的 读取一次block 就算一个io
2.8 4.block怎么看
查看文件的大小
ls -lh
查看系统中磁盘空间的使用情况
df -h
2.9 显示某个分区中 inode block大小
[root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3 |grep "inode size" -i
dumpe2fs 1.41.12 (17-May-2010)
Inode size: 256
[root@oldboyedu-40-nb ~]# dumpe2fs /dev/sda3 |grep "block size" -i
dumpe2fs 1.41.12 (17-May-2010)
Block size: 4096
2.10 企业故障案例:no space left on device(磁盘空间不足)
情况1---常见
500G硬盘中放入600G视频
情况2---inode用光了
通过 df -h 查看磁盘空间,发现没满,请问可能原因是什么?
inode用光了
##创建一个小文件 需要inode和block
##大量小文件
企业场景什么情况下会导致这个问题发生/
定时任务
第3章 linux中的文件类型
- 普通文件 file
d 目录 directory
l (小写字母L) 软连接(快捷方式) soft link
扩展名-----文件的尾巴 .txt .sh .log
windows:区分不同的文件类型
linux: 有没有都可以 给我们人类看的
纯文本文件可以使用cat,vim查看
二进制文件----命令
数据格式文件---需要通过特定的工具/软件才能查看
find -type
f ---file (普通文件)
d---dir
l---软连接
显示文件内容:
cat
less 向上 向下
head
tailgrep
more 只能向下看
第4章 初识linux权限
电脑-查看电脑里面的内容 向电脑里面添加内容 运行软件的权限
r(read)读 w(write)写 x(execte)执行
电脑还有别人在使用
使用电脑的人分类:主人rw 家人r 隔壁老王r
所有者 属于用户组 陌生人 其他人
rwx 与数字对应起来
r======4
w======2
x======1
-=======0
rw-r--r--
420400400
6 4 4
4.1 rwx含义
r读取文件内容
w修改文件内容
x执行/运行这个文件 命令/脚本
4.2 rwx对应数字
r--------- 4
w---------2
x---------1
4.3 linux权限分为3个部分
主人 家人 陌生人
所有者 用户组 其他人,隔壁老王
给出权限后可以计算
chmod +x 给执行权限
第5章 用户和用户组
linux是一个多任务 多用户(同时有多个用户 连接到你的系统中 他们之间的操作不干扰)
UID 用户的ID user id 数字 身份证号码
GID 用户组的ID group id 户口本上面的号码
5.1 linux下面用户的分类
1.root 皇帝 UID 0
禁止root远程登录 不让你以root用户的身份连接到系统中
更该sshd默认的端口
连接到一台服务器需要什么条件?
l ip地址
l 端口号码 22
l root
l 密码
2.虚拟用户 傀儡用户 UID 1-499
没有办法使用
满足一个需求:linux下面每个软件/服务运行的时候 都需要有一个用户
3.普通用户 贫民老百姓 UID 500-65535
5.2 与用户有关的文件
/etc/passwd 用户的信息 每一列的含义
root |
:x |
:0 |
:0 |
:root |
:/root |
:/bin/bash |
nobody |
:x |
:99 |
:99 |
:Nobody |
:/ |
:/sbin/nologin |
用户名 |
原来密码的位置 |
UID |
GID |
用户的说明信息 |
用户的家目录 |
命令解释器 shell 用户使用的shell |
命令解释器:
/bin/bash 默认,用户是普通用户 可以用
/sbin/nologin 无法登陆系统 傀儡 虚拟用户
第6章 软硬连接
6.1 硬链接
超市的前后门,多个文件拥有相同的inode号码 硬链接
6.1.1 作用
防止你误删文件
6.1.2 如何创建硬链接
ln==link
[root@oldboyedu-40 data]# ln oldboyedu.txt oldboyedu-hard.txt
[root@oldboyedu-40 data]# ll oldboyedu.txt
-rw-r--r-- 2 root root 0 Aug 29 21:06 oldboyedu.txt
[root@oldboyedu-40 data]# ls -lhi oldboyedu*
141199 -rw-r--r-- 2 root root 0 Aug 29 21:06 oldboyedu-hard.txt
141199 -rw-r--r-- 2 root root 0 Aug 29 21:06 oldboyedu.txt
6.2 软连接
快捷方式 省事
存放的是源文件的位置
软连接 softlink 符号链接 symbol link symlink
- 存放的是源文件的位置
- 方便使用
6.2.1 创建软链接
ln -s 源文件 软连接的名字
[root@oldboyedu-40 data]# ln -s oldboyedu.txt oldboyedu-soft.txt
[root@oldboyedu-40 data]# ls -lhi oldboy*
141199 -rw-r--r-- 2 root root 6 Aug 29 21:08 oldboyedu-hard.txt
141200 lrwxrwxrwx 1 root root 13 Aug 29 21:19 oldboyedu-soft.txt -> oldboyedu.txt
141199 -rw-r--r-- 2 root root 6 Aug 29 21:08 oldboyedu.txt
6.3 软连接与硬链接的区别
6.3.1 啥意思?
软:
软连接相当于是快捷方式
里面存放的是源文件的位置
硬:
在同一个分区中,多个文件拥有相同的inode号码
6.3.2 怎么来的
ln -s 软连接
ln 硬链接
6.3.3 特点
- 软连接可以随便创建,工作常用
- 不能对目录创建硬链接
- 对文件创建硬链接可以防止文件被误删除
- 删除文件的硬链接,文件还是可以继续使用的
- 只要这个文件的所有硬链接都删除,这个文件就被删除了
- 只删除源文件,软连接将无法使用 闪烁
- 只删除软连接 对文件没有任何影响
6.3.4 怎么没的
第7章 文件删除原理
一个文件被彻底删除-条件
- 硬链接数为0 与这个文件有关的所有硬链接都被删除 rm
- 进程调用数为0 没有人在使用这个文件
没有被彻底删除-硬链接数为0 进程调用数不为0
查看某个文件是否有人在使用
lsof
COMMAND |
PID |
USER |
FD |
TYPE |
DEVICE |
SIZE/OFF |
NODE |
NAME |
rsyslogd |
1268 |
root |
1w |
REG |
8,3 |
223474 |
260470 |
/var/log/messages |
[root@oldboyedu-40 data]# lsof /var/log/secure
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 1268 root 2w REG 8,3 5033 274171 /var/log/secure
重启对应的软件/服务
/etc/init.d/rsyslog restart
7.1 小结:
一个文件被彻底删除;
- 硬链接数为0
- 进程调用数为0
no space left no device (磁盘空间不在不足)
inode满了 -定时任务 查找出系统目录比较大(1m)
block 正常满了
block 文件没有被彻底删除-硬链接数为0,进程调用数不为零 lsof |grep delete
#detele 表示你这个文件的硬链接数为0 进程调用数不为0
第8章 扩展:
找出某个文件的其他的硬链接
touch oldboy.txt
ln oldboy.txt /tmp/oldboy-h.txt
[root@oldboyedu-40 /]# find /* -type f -inum 141204
/data/1.txt
find: `/proc/2455/task/2455/fdinfo/5': No such file or directory
find: `/proc/2455/fdinfo/5': No such file or directory
/tmp/1.txt-hard
第9章 linux中三种时间戳
mtime 修改时间 modify 文件的内容 增加 删除 修改
ctime 属性改变的时间 change 硬链接
atime 访问时间 access 看一次文件的内容 cat
本博文中所使用的系统版本为: CentOS release 6.9 (Final) 内核版本为: 2.6.32-696.10.1.el6.x86_64 linux正在持续学习中,如有雷同请见谅!!!