操作系统文件属性

ll -i

67326599 -rw-r--r-- 1 root root 194 Oct 28 18:21 /etc/hosts

① ② ③ ④ ⑤ ⑥ ⑦

  1. 文件属性 - inode 号码
    index node(索引节点) --- 类似于书的目录

  2. 文件类型 - 目录 文本 压缩包 ...
    文件权限 - r read 读 w write 写 x execute 执行

  3. 硬链接数 - 软连接 数据快捷方式
    硬链接 查看文件数据多个门

  4. 文件所属用户 - 文件创建者 (类似监护人)

  5. 文件所属组用户 - 文件所属组 (类似家人)

    其他用户 - (隔壁老王)

  6. 文件大小信息 - 默认显示占用磁盘字节信息 Byte

  7. 文件时间信息 - 文件修改时间 (文件访问时间信息 文件改变时间信息)

文件属性详细说明 - 文件类型

横杠 普通文件
文本文件
二进制文件(命令文件)
数据文件(压缩文件)
file 文件信息 --- 获取文件类型

d 目录文件
l 连接文件(软链接)
c 字符流文件 查看时会不断出现字符信息
/dev/urandom -- 生成随机数
思路01: 将乱码信息屏蔽, 只留下字母和数字
tr -cd "0-9a-zA-Z" < /dev/urandom
思路02: 输出随机数是有限制
tr -cd "0-9a-zA-Z" < /dev/urandom|head -c 6
b block块文件 存储设备文件信息
s socket文件(网络编程)

特殊扩展名标记文件

xxx.txt --- 文本文件
xxx.log --- 日志文件
xxx.conf --- 配置文件
xxx.sh --- shell脚本文件
xxx.py --- python脚本文件
xxx.zip/xxx.gz/xxx.tar.gz --- 压缩文件
xxx.db --- 数据库文件

补充: 和文件相关命令

which --- 查看命令文件保存路径 bin是/user/bin的软连接
whereis --- 查看命令文件保存路径 以及 查看命令相关文件保存路径
rpm -qf which cat ---直接就能查出软件包名称
locate --- 快速检索一个文件保存的路径
yum provides localte
yum install -y mlocate
updatedb 更新表

find命令的介绍

find --- 查找数据信息
根据名称信息
-name
find /oldboy -name "oldboy.txt"
find /oldboy -name "*.txt"
find /oldboy -iname "Oldboy.txt"

根据文件类型
-type
练习01. 将目录中所有普通文件查找出来
find /oldboy -type f
练习02. 将目录中所有目录文件查找出来
find /oldboy -type d
练习03. 将目录中所有链接(软链接)文件查找出来
find /oldboy -type l
练习04. 将目录中所有字符流文件查找出来
find /oldboy -type c/b/s

根据文件大小
-size
b' for 512-byte blocks (this is the default if no suffix is used) 按照一个数据块进行查找 ???c' for bytes
查找数据单位为字节
w' for two-byte words 查找数据单位为 双字节k' for Kilobytes (units of 1024 bytes)
查找数据单位为k
M' for Megabytes (units of 1048576 bytes) 查找数据单位为MG' for Gigabytes (units of 1073741824 bytes)
查找数据单位为G

-size 10k --- 找出10k大小的文件
-size +10k --- 找出大于10k大小的文件
-size -10k --- 找出小于10k大小的文件

根据文件权限
根据文件时间
根据文件inode号码查找
根据文件用户信息查找

find特殊查找数据方法:

根据目录层级查找数据: 放在要查的目录名字前面,否则不生效
-maxdepth 3: 查找数据层级最深深度会 会一层一层的查
-mindepth 3: 查找数据层级最浅深度 之前的不差从定的级别查

find多个查找条件参数组合方式

and方式: 多个条件是并且关系 (默认) -a
or 方式: 多个条件是或者关系 -o
not方式: 多个条件有取反操作 -not / !
练习01: 将old开头所有信息找出来, 但是不要显示oldgirl02信息
find /oldboy -name "old" ! -name "oldgirl02"
练习02: 请找出大小大于100K文件, 但是不要显示图片文件信息
find -size +100k ! -name "
.jpg"
联系03: 排除指定目录不进行数据查找
find ./ -path ./oldboy02 -prune -o -type f -name "oldboy.txt" -print

如何find将找出的数据进行删除

find /oldboy/ -type f -delete
find /oldboy/ -type f -exec rm -f {} ;
find /oldboy/ -type f |xargs rm
find /oldboy/ -type f |xargs -r rm {} ;

tree查看

tree -L 1 、2、3---level 层次 显示目录结构层集
tree -d ---只看目录
tree -f ---显示目录结构和文件 还附上目录数量和文件数量

tar压缩数据命令

压缩数据:
tar zcvf 压缩包 压缩数据信息
相对路径压缩
tar zcvf ./oldboy.tar.gz oldboy01.txt oldboy02.txt oldboy03.txt
绝对路径压缩

tar zcvf /oldboy/oldboy.tar.gz /oldboy/oldboy01.txt /oldboy/oldboy02.txt /oldboy/oldboy03.txt

tar: Removing leading `/' from member names
z --- 压缩数据方式 gzip
c --- 创建一个压缩包
v --- 显示压缩数据过程
f --- 指定压缩文件路径信息 以及 压缩文件名称信息

解压数据:
tar xf 压缩包
x extract --- 提取压缩的数据 == 解压
tar xf oldboy.tar.gz
tar xf /oldboy/oldboy.tar.gz -C /oldboy/
-C --- 将压缩包解压后的数据保存到指定目录中
--exclude=PATTERN exclude files, given as a PATTERN
排除指定文件数据不要进行压缩

查看压缩数据:
tar tf 压缩包

文件属性详细说明

属主: 用户信息 文件数据创造者
属组: 用户组信息 给一个组赋予相应权限
其他用户: 不是属主 不属于属组成员的用户信息

系统用户分类:
超级管理员 皇帝 root user id uid信息: 0
虚拟用户 傀儡 nobody uid: 1-999 centos7 特点01: 不能登录系统
uid: 1-499 centos6 特点02: 没有家目录
普通用户 平民 oldboy uid: 1000+ centos7
uid: 500+ centos6

用户 和 用户组关系:
1 vs 1 关系: 一个用户组中 只有 一个用户
1 vs n 关系: 一个用户可以属于多个用户组
n vs 1 关系: 一个用户组中 可以有多个用户

文件属性详细说明

访问时间: access time - atime 查看文件时间
修改时间: modify time - mtime 文件内容被修改编辑时间
改变时间: change time - ctime 修改文件属性信息

初始状态时间信息:
Access: 2019-10-31 17:35:36.666225006 +0800
Modify: 2019-10-31 17:35:36.666225006 +0800
Change: 2019-10-31 17:35:36.666225006 +0800

查看文件信息操作:
cat oldboy.txt
Access: 2019-10-31 17:36:30.902225627 +0800
Modify: 2019-10-31 17:35:36.666225006 +0800
Change: 2019-10-31 17:35:36.666225006 +0800

编辑文件内容信息:
Access: 2019-10-31 17:36:30.902225627 +0800
Modify: 2019-10-31 17:37:36.073226374 +0800
Change: 2019-10-31 17:37:36.073226374 +0800

修改文件权限信息:
Access: 2019-10-31 17:36:30.902225627 +0800
Modify: 2019-10-31 17:37:36.073226374 +0800
Change: 2019-10-31 17:38:52.448227249 +0800

时间相关命令 - date (显示时间信息/修改时间信息)
显示时间信息:
a 按照指定格式信息显示
date "+%Y-%m-%d %H:%M:%S"
2019-10-31 17:47:02
b 按照指定格式显示未来或过去时间

date +%F_%A -d "-10 day" 显示过去时间信息
date +%F_%A -d "+10 day" 显示未来时间信息
%y : 年份
%m : 月份 --> %F : 显示年月日
%d : 日期
%H : 小时
%M : 分钟 --> %T : 显示小时分钟秒
%S : 秒

设置时间信息:
date -s "2019-11-11"
date -s "12:00:00"
date -s "2019-11-12 03:10:20"
ntpdate ntp1.aliyun.com ---t同步阿里云

日志文件需要做切割处理

日志文件需要做切割处理:
按照时间进行切割: 1天 100M
mv /var/log/message /var/log/message_2019-10-10
systemctl restart rsyslog.service
mv /var/log/messages /var/log/messages_date +%F

根据时间条件查找数据

find /oldboy -mtime +3/-3/3

image.png

-mtime: 按照天进行查找数据
-mmin: 按照分钟查找数据信息
实际用途: 查询系统中历史数据, 批量删除, 节省磁盘空间
例如:find /oldboy -type f -name "*.txt" -mmin -10
根据文件权限查找数据
find /oldboy/ -type f -perm 666

文件索引信息

inode:
概念介绍: 文件索引信息 目录
特点说明:

  1. 存储一个数据属性信息 (类型 权限 链接数 属主/属组 大小 时间)
  2. 存储指向相应block指针信息
  3. 数据存储会占用一个inode
    诞生过程:
    操作磁盘进行格式化--> 创建文件系统--> inode
    查看方法:

df -i

Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 51379712 63429 51316283 1% /

block:
概念介绍: 文件数据信息 内容
特点说明:

  1. 存储文件数据真实内容(文件)
  2. 存储目录下面文件名称(目录)
  3. 数据存储会占用多个block
    诞生过程:
    操作磁盘进行格式化--> 创建文件系统--> block
    查看方法:

df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 102709252 3665740 99043512 4% /
xfs_info 挂载点

block大小调整方案:
影响数据存储效率 : 5M -5s- U盘 500M - 10m - U盘
5M -- 拆分 -- 多个4K数据 -- 占用多个block 较少 更快 磁盘IO=input/output
每读取/写入一个block 消耗一定IO=1s
500M -- 拆分 -- 多个4k数据 -- 占用多个block 更多 稍慢

实验:
10G -- 打包
5M
第一次实验: 10G数据保存 5M保存(多久保存完)
第二次实现: 5M保存(多久保存完)

xfs文件系统默认block=4k
根据应用场景而定:
调整大一些 都是大文件数据10G --> block 8k 节省IO, 提升数据存储/读取效率
调整小一些 都是小文件数据1K --> block 8K 提高磁盘存储利用率, 避免磁盘空间浪费
研究存储方面

文件链接信息

软连接:
概念介绍: 文件数据快捷方式
特点介绍:

  1. 软链接文件会指向到源文件
  2. 源文件删除链接文件失效
  3. 可以给目录创建软链接
    诞生过程:
    ln -s 源文件 链接文件
    作用说明:
    操作方便

硬链接:
概念介绍: 查看数据内容多个门/inode号码相同文件数据称为硬链接
特点介绍:

  1. 硬链接文件指向相同inode
  2. 源文件删除不会影响硬链接文件
  3. 只能给普通文件创建硬链接
    诞生过程:
    ln 源文件 链接文件
    作用说明:
    防止文件误删除
    问题:
    创建一个文件: 默认硬链接数是多少? 1
    创建一个目录: 默认硬链接数是多少? 2
    image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341