day12-linux 文件类型及查找命令实践——linux文件
|
Day12
|
|
作者:方维超
归档:课后笔记
时间:2019/3/15
|
|
快捷键:
Ctrl + 1 标题1
Ctrl + 2 标题2
Ctrl + 3 标题3
Ctrl + 4 标题4
Ctrl + 5 程序代码
Ctrl + 6 正文
Ctrl + 7 实例1-1
|
|
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意
|
[图片上传失败...(image-ee3a89-1552665045520)]
老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结
学无止境,老男孩教育成就你人生的起点!
联系方式:
|
网站运维****QQ****交流群:
|
|
Linux 385168604
|
架构师 390642196
|
|
Python 29215534
|
大数据 421358633
|
|
官方网站:
|
|
| |
<w:sdt sdtdocpart="t" docparttype="Table of Contents" docpartunique="t" id="46738663">目 录
未找到目录项。</w:sdt>
思想教育
1、相信可能你就无限可能,相信不可能,就是自废武功。
为什么缺乏自信?
对自己的能力不认可。
学历不高,既成事实。
不管别人怎么看,我们要有一些自信
自信是人成功的必备前提。——老男孩
自信一点,可能能力不够,但能获得机会。
祸从口出,病从口入。
永远不要在背后说别人坏话(当面直说)。
老板会怎么选择员工?
人品、态度、能力、价值
人品是根本
态度是原则
能力是基础
价值是砝码
价值是砝码:给老板赚钱。
作为运维人员怎么为老板赚钱?
1、会买设备、买带宽、云服务等,这些都花钱,但要学会省钱。
要有正确的价值观,作为人何为正确?
2、CDN网站加速,网站图片被盗链。
几个小时27T流量,500M的宽带,用到1-2G
损失10几万一个月。造成了100多万流水。
3、学会为公司创造价值。
(后期再讲)
tar
从文件中排除不被打包的文件:
[root@oldboy/data]# tar zcvf oldboy.tar.gz ./* --exclude=4.txt
./1.txt
./2.txt
./3.txt
./5.txt
./oldboy.tar.gz
[root@oldboy/data]# tar zcvf oldboy.tar.gz ./* --exclude={1..3}.txt
./4.txt
./5.txt
./oldboy.tar.gz
[root@oldboy/data]# tar zcvf oldboy.tar.gz ./* --exclude={2..4}.txt
./1.txt
./5.txt
./oldboy.tar.gz
排除打包:
(练习一下)
第九章****linuxx****文件更多核心属性知识
文件属性里的第四列
image.png image.png
image.png
一堆人上去干一堆事,相互不影响。
用户:是管理linux系统而存在的。
用户一般分为用户名和用户ID image.png(相当于名字和身份证)
用户名是为了方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
use——r用户 UID——用户ID
linux里所有的用户和进程都要有用户对应。
文件存在必须应对用户
进程运行必须对应用户
Linux****用户分三类:
1、超级管理员 root,权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。
[root@oldboy/data]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@oldboy~]# id
uid=0(root) gid=0(root) groups=0(root)
通过vim编辑权限
image.png
你不要修改ID为0变管理员。
whoami 查自己
作业:
root****密码丢失了如何找回来
2****、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID C7是1-499
3****、普通用户
实际存在的用户,又允许它登录。是管理员身份创建的,是帮助管理员管理系统的。
大臣、臣民一起管理。
权限仅限制在家目录,在一些系统级目录可读不可写,不可以进入/root
UID C7是1000起步
创建用户:
[root@oldboy~]# useradd oldgirl 创建
[root@oldboy~]# tail /etc/passwd 查看
image.png用户组****:集合、组织
相当于人的家庭
每个用户都必须要有一个组织,这个组织就叫做用户组。
用户组也是给人看的,用户组也有唯一标识,group ID简称GID
默认情况下创建用户,并没有创建用户组,它会自动创建一个和用户名相同的用户组以及相同的GID。
[root@oldboy~]# id oldgirl
uid=1000(oldgirl) gid=1000(oldgirl) groups=1000(oldgirl)
用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
image.pngHTML****:
image.png image.png练习:
[root@oldboy~]# useradd test
[root@oldboy~]# id test
uid=1001(test) gid=1001(test) groups=1001(test)
[root@oldboy~]# groupadd sa
[root@oldboy~]# su - test
[test@oldboy~]$ touch test.txt
[test@oldboy~]$ ls -l
total 0
-rw-rw-r-- 1 test test 0 Oct 1 22:48 test.txt
[test@oldboy~]$ logout
[root@oldboy~]# ls - l /data
文件权限:严格的权限,****linux****安全权限严格。
d rwx r-x r-x
用户的权限 用户组权限 其他权限
r read 可读 4
w write 可写 2
x execute 可执行 1
- 没有权限 0
789****列:文件的最后修改时间
文件时间有三种:
修改时间:****modify****,文件内容被改过之后的时间
访问时间:****access****,文件被访问过的时间
变化时间:****change****,文件属性发生改变的时间
查看文件属性:
[root@oldboy~]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16824726 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-10-01 00:00:33.824000569 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2019-03-04 18:54:46.078136356 +0800
Birth: -
获取指定文件属性的一部分并显示字符权限:
[root@oldboy~]# stat -c %A /etc/hosts
-rw-r--r—
练习查看文件的时间:
[root@oldboyedu /data]# echo oldboy>>test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:07:28.953508888 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# chmod +x test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:08:57.442505593 +0800
Birth: -
汉化显示文件时间属性:
[root@oldboy~]# ls --time-style=iso -l
total 12
-rw-------. 1 root root 1518 2019-03-04 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 2019-03-07 c.txt
drwxr-xr-x 2 root root 71 10-01 12:19 data
-rw-r--r-- 1 root root 1 2019-03-14 oldboy.txt
-rw-r--r-- 1 root root 21 2019-03-14 text.txt
image.pngls****参数: -t modify,文件内容被改过之后的时间。 -c change,文件属性发生改变的时间。 -a access,文件内容被访问过的时间。
image.png字符分组:****3****个字符一组
rw-------.
rw-r--r--
rwxr-xr-x
rw-r--r--
rw-r--r--
image.png######****索引节点****#####
第一列:
数字 3363841 叫做文件的索引节点(index node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点概念处在ext文件系统中(ext2 ext4 ext3)。
索引节点是硬盘上的一块存储空间。大小256字节或512字节。
索引节点里存放的是 数据是文件的属性(大小、时间、用户和组、权限等)都在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。
磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统的时候,就会生成大量的inode和block。
inode作用:用于存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用:存放文件的内容(大片)
读文件的过程:
读取/etc/oldboy.txt****的原理图:
inode****特点:
block****特点:
block****叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
image.png从读取速度看block****越大越好。
一个block****最多只能存一个文件的内容。
查看inode****数量
[root@oldboy~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 9358848 67493 9291355 1% /
devtmpfs 230178 359 229819 1% /dev
tmpfs 232903 1 232902 1% /dev/shm
tmpfs 232903 692 232211 1% /run
tmpfs 232903 16 232887 1% /sys/fs/cgroup
/dev/sda1 102400 327 102073 1% /boot
tmpfs 232903 1 232902 1% /run/user/0
查看block****数量:
[root@oldboy~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 5.1G 13G 29% /
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 197M 116M 82M 59% /boot
tmpfs 182M 0 182M 0% /run/user/0
磁盘满的原因有两种:
1、inode满了
2、block满了
image.png没有空间在设备上了。
检查步骤:
1、 df -h****,看是不是block****满了
2、 df -i****,看是不是inode****满了
为什么inode****会满?
小文件太多。
初始化的时候,block****数量会远大于inode****数量。
image.png image.png image.png