第三周课堂笔记

3.11

centos启动流程和内容编辑文件属性

目录

文件属性

一.第一列 索引节点 1

二.第二列 文件类型 2

三.第四列 属主 2

四.第五列 用户组 3

五用户与用户组的对应关系 3

六第789列 文件的最后修改时间 3





思想

勇于承担责任,才是能力变强的最佳捷径。————老男孩

要想比别人强,永远要比别人多做一点点,早做一点点。————老男孩

半步领先


文件属性

[root@oldboyedu /data]# ls -lhi

total 12K

33631841 -rw-r--r--. 1 root root   0 Oct  1 00:19 oldboy.txt

1        2        3   4    5    6  7   8    9    10

一.第一列 索引节点

表现形式是数字33631841叫做文件的索引节点(Index Node)

类似人的身份证,索引节点是文件在系统中的唯一标识。

找一个文件最终都要通过索引节点才能找到

索引节点的概念出在ext文件系统中(ext2 ext4 ext3).


索引节点是硬盘上的一块存储空间。大小256字节或512字节。


索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都

在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。


磁盘要想使用,先分区,格式化(创建文件系统)。

格式化创建文件系统时,就会生成大量的inode和block。

inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)

block作用是存放文件内容的。



Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,

特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。一个Block最多只能存一个文件的内容。


df -i看inode数量

df -h看block数量


磁盘满原因有两种:

(1)、inode满了。

(2)、block满了。


提示:

no space left on device报错,没有空间在设备上了。

磁盘满了。


检查步骤:

步骤1:df -h  

步骤2: df -i看是不是inode满了


为什么inode会满?

小文件太多

初始化时候block数量远大于inode数量。



二.第二列 文件类型

rwxr-xr-x

9个字符

r read可读取 4

w write可写   2

x execute可执行 1

-没有权限 0


字符分组:3个字符是一组

d  rwx             r-x       r-x    . 2 root root      6 Mar 13  2019 test

用户权限用户组权限其他权限



三.第四列 属主

用户:管理Linux系统而存在的。

用户一般分为用户名和用户ID(Identify)

相当于我们的名字和身份证,名字和学号。

用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)

user   UID

Linux里所有的用户和进程都要有用户对应。

文件存在必须对应用户

进程运行必须应用用户


Linux用户分三类:

1、超级管理员 root

权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。

[root@oldboyedu ~]# id root

uid=0(root) gid=0(root) groups=0(root)

2、虚拟用户(傀儡)

实际存在的用户,但是又不允许它登录。

价值何在?

满足文件或进程运行属主的要求。但是又不会带来管理风险。

UID 1-499


3、普通用户

实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。

大臣、臣民一起管理。

权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。

UID C7 1000起步 C6 500起步

[root@oldboyedu ~]# useradd oldgirl


四.第五列 用户组

用户组:集合、组织

Linux里每个用户都必须要有一个组织,这个组织就叫做用户组

用户组也是给人看,用户组也有唯一标识,Group ID简称GID

默认情况创建用户,并没有创建用户组啊,它会自动创建一个

和用户名相同的用户组以及相同的GID。

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)


五用户与用户组的对应关系

1、1对1

2、1对多个用户组

3、多个用户对应一个用户组

4、多对多



六第789列 文件的最后修改时间

文件时间有三种:

修改时间:modify,文件内容被改过之后的时间。

访问时间:access,文件内容被访问过的时间。

变化时间:change,文件属性发生改变的时间。

目录

一./usr目录 1

二./var目录 1

三./proc下的重要路径知识 2

四.vim内容编辑处理 3

五.cat:查看文件内容 5

六.head显示文件头部内容 5

七.tail显示文件尾部内容 5

八.centos启动流程 6




一./usr目录

1. /usr/local:源码编译安装软件默认的位置路径

软件安装(了解):

a.rpm安装

rpm -ivh软件包的包名.rpm(几乎不用)

b.yum安装,rpm包管理器,智能帮我们找一个软件包需要的依赖包(推荐)

本质就是rpm安装。自动解决依赖,自动使用rpm命令实现安装。

安装A,A需要B,先安装B。

c.源代码安装。


2. /usr/src:存放源码文件的目录


二./var目录

1. /var/log:记录系统及软件运行信息文件所在的目录

log日志信息====计算机运行行为


/var/log/messages:Linux系统级别日志文件*****

记录Linux系统运行行为的文件,正常行为 非正常行为。


/var/log/secure:用户登录信息日志文件(安全日志文件)


/var/log/dmesg:记录硬件信息加载情况的日志文件

dmesg - print or control the kernel ring buffer



三./proc下的重要路径知识

/proc/meminfo查系统内存 free -m 查看内存

/proc/cpuinfo查看CPU

/proc/loadavg查看负载(系统繁忙程度的一个综合指标)  uptime

[root@oldgirl ~]# uptime

 09:28:14 up 51 min,  2 users,  load average:  0.00, 0.01, 0.05

当前时间开机多久哪些用户负载平均1分钟  5分钟  15分钟


负载的数字和CPU核数相当的时候就是负载一个临界点,例如 一颗两核 临界负载就是2

/proc/mounts 当前设备挂载列表信息文件



四.vim内容编辑处理

普通模式:

:set nu显示行号

普通模式:移动光标:

行尾$

行首0

文件尾部G

文件开头gg

到指定行阿拉伯数字ggcentos启动流程和内容编辑


普通模式:搜索与替换操作

向下搜索/3306继续搜 按n,反向搜N

向上搜索?80继续搜 按n,反向搜N


普通模式:替换

:%s/A/B/g

:%s#world#oldgirl#g

/#还可以用@等特殊字符替换,实际就是分隔符。


s是替换 g表示全局(所有)

指定行号替换:

:4,6s/oldboy/oldgirl/g


普通模式:复制、粘贴、删除等操作

删除单行dd(剪切)

删除多行ndd n用任意数字替换

撤销u

单行复制yy

多行复制nyy   n用任意数字替换

粘贴p


进入编辑模式命令

i插入*****

A追加 行尾插入

o下一行开头插入

O上一行开头插入

a光标下一个字符插入


命令行模式

:wq 退出并保存

:wq! 退出并强制保存,“!”为强制的意思

:q! 强制退出,不保存

:set nu 显示行号

:set nonu 与set nu相反,取消行号



五.cat:查看文件内容

[root@oldgirl /opt]# cat -n test.txt

     1 hello world

     2 hello world

     3 hello world


六.head显示文件头部内容

[root@oldgirl /opt]# seq 30 >test.txt

生成30行的txt文本


[root@oldgirl /opt]# head -n5 test.txt

[root@oldgirl /opt]# head -5 test.txt显示文件前五行内容


[if !supportLists]七. [endif]tail显示文件尾部内容

-f演示 显示文件实时更新



八.centos启动流程*****

centos6

1 BIOS开机自检

2 MBR引导

3 GRUB菜单

4加载内核

5启动init进程

6设定系统运行级别

7初始化

8根据运行级别执行对应运行级别下的脚本

9加载开机自启动程序

10显示登陆界面


centos7

1 BIOS开机自检

2 MBR引导

3 GRUB菜单

4加载内核

5启动systemd进程

6读取运行级别

7系统初始化

8并行启动各种服务

9显示登陆界面

3.13

文本过滤工具及重定向

目录

一.思想 1

二.重定向符号的核心知识 2

三.文件属性 2


一.思想

人体造血靠骨髓。

技术知识更新超快,快速学习知识靠自学。


老男孩Linux云计算58期

老男孩思想:如何提升自学能力?

1、养成主动看书的习惯。

2、养成预习的习惯。

这就是工作中领导分配任务,让你去搞定的模拟。

3、课堂上积极思考,对老师提问的问题主动回答,

对于不会的要主动发问。

4、对老师留的课后拓展的作业要能够完成。

5、对学习的内容要深度编码总结(思维导图总结,画图总结)等

抓重点:女浴室着火

知识==>短时记忆===>编码加工===>

长时记忆(存储大脑里)===>提取

6、课后遇到不会的不要轻易问别人,要学会自己解决问题。

笔记/书===查帮助文档==搜索引擎==>

加一些Linux交流群===身边人同学、项目经理、老师

7、提升阅读外语的能力。

通过计算机技术知识反向学习外语

a.学过的单词记录单词对应的意思的英文

fhs目录层次标准里去查或man cp看名字

b.总结100个报错的翻译

command not found

命令没有找到

老男孩思想:操作后检查的习惯,才能提升正确率。

老男孩思想:学习的时候重视过程,工作的时候重视结果。




二.重定向符号的核心知识


>或1>标准输出重定向,箭头方向就是数据流向,

把左边的数据流向到右边,会清空右边之前的数据。

清空前备份:

[root@oldgirl ~]# cp test.txt{,.ori}

[root@oldgirl ~]# cp test.txt test.txt.ori

清空文件:

[root@oldgirl ~]# >test.txt


echo "I am studying linux." >/data/oldboy.txt

>>或1>>追加输出重定向,内容追加到文件尾部。

[root@oldgirl ~]# echo "I am studying linux." >>/data/oldboy.txt


<或0<标准输入重定向,箭头方向就是数据流向,

standard input, writing to standard output.

标准输入写到标准输出

[root@oldboyedu ~]# tr "am" "01"


<<或0<<追加输入重定向,箭头方向就是数据流向,

<<

用法;

cat>文件<

>内容

>EOF

#<==EOF成对出现,后面这个顶格


2>标准错误输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(覆盖)。

2>>标准错误追加输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(追加)。


固定定义:

数字1标准输出(standard output)

数字0标准输入(standard input)

数字2错误输出(error output)


此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有3种实现命令方法。

方法1:echo "I am oldboy" >oldboy.txt  2>oldboy.txt

方法2:echo "I am oldboy" &>oldboy.txt

方法3:echo "I am oldboy" 1>oldboy.txt 2>&1



[if !supportLists]三.[endif]文件属性

文件的大小时间类型权限属主

索引节点:文件的唯一标识

身份证:人的唯一标识

进程号:进程的唯一标识



[root@oldboyedu ~]# ls -lhi

total 24K

16964029 drwxr-xr-x. 2 root root   6 Mar  7 10:56 test

33631864 -rw-r--r--. 1 root root  54 Mar 13 10:26 test.txt.ori

 1          2        3   4    5    6  7   8   9    10

共10列

第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);

第二列:文件类型及权限。这一列共11个字符,

第三列:硬连接数

第四列:属主:文件的拥有者,用户

第五列:属组:文件属于的组,用户组

第六列:大小

第七列:月份

第八列:日

第九列:时间

第十列:文件名


第一列:系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容

第二列:其中第一个字符为文件类型,

随后的9个字符为文件的对应权限,

最后一个字符点号“.”是和selinux有关的一个标识;

1.-普通文件(regular file)

图片视频文档都是文件

创建:touch vim echo cat

拷贝、移动:cp、mv

删除:rm

三种类型:

a.纯文本文件:字符数字等内容

b.数据文件:存放命令收集的信息。

c.二进制文件:可执行的命令。


2.d目录(directory)

生成: mkdir -p

复制:cp -a/-r

删除: rm -fr

区分:

a.开头为d

b.颜色为蓝色

c.ls -p,目录结尾加斜线,斜线结尾

3.14

linux文件类型及查找命令

目录

一.文件类型及权限。 1

二.PATH变量作用 1

三.whereis:显示命令、源码、说明文档等的路径 2

四.locate:快速定位文件路径 2

五.find:查找目录下的文件 2

六.转义: 3

七.xargs分组 3

八.data显示系统时间和日期 4

九.打包 压缩 4


一.文件类型及权限。

[root@oldboyedu ~]# ls -lhi以人类可读的方式详细显示索引节点的信息


total 24K

16964029 drwxr-xr-x. 2 root root   6 Mar  7 10:56 test

33631864 -rw-r--r--. 1 root root  54 Mar 13 10:26 test.txt.ori

 1          2        3   4    5    6  7   8   9    10

第二列

3以l (link)开头

符号链接(symbolic link)文件,软链接(soft link)


快捷方式:

ln -s


4.字符(character)/块(block)设备文件

以c开头的就是字符设备,猫等串口设备

以b开头的就是块设备 硬盘、光驱等都属于块设备



5.套接口(socket)文件

以s开头

.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如:我们可以启动一个程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。

用于进程之间通信的文件。


[if !supportLists]6. [endif]p (named pipe)管道文件




二.PATH变量作用

命令行执行命令会从PATH对应的路径中查找命令,

PATH对应的路径中没有这个命令就会报command not found


[if !supportLists]三. [endif]whereis:显示命令、源码、说明文档等的路径



四.locate:快速定位文件路径

locate查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询

更新A数据库用updatedb命令


yum provides locate #《==查看命令对应的软件包

yum install mlocate -y




五.find:查找目录下的文件

查找原理:磁盘遍历,速度慢。


[root@oldboyedu ~]# find ~      -name    "oldboy.txt"

路径名字参数具体文件

/root/oldboy.txt



模糊查找*表示所有

[root@oldboyedu ~]# find / -name "*y*"


按文件类型查找-type

[root@oldboyedu ~]# find / -type f -name "oldboy*"

       -type c

              File is of type c:


              b      block (buffered) special


              c      character (unbuffered) special


              d      directory


              p      named pipe (FIFO)


              f      regular file


              l      symbolic link; this is never true if the -L option or the -follow


find / -type d -name "oldboy*"

这里的类型和名字是取交集,两条件都满足。默认是交集,相当于有个-a

如果取并集即或者用-o分割查找的项

find / -type d -o -name "oldboy*"


-a and并且

-o or或者

!取反

find /data -type f -exec rm -f {} \;

相当于

rm -f oldboy1.txt

rm -f oldboy2.txt

rm -f oldboy3.txt

效率低。


find /data -type f|xargs rm -f

只是一条命令

rm -f oldboy1.txt oldboy2.txt oldboy3.txt

效率高


find /data -type f|rm -f

相当于:

find /data -type f

rm -f



六.转义:

普通国家公民

A当了省长

\省长 返回来代表普通国家公民


已知;代表oldboy

\;又仅代表自身,即分号。




七.xargs分组

-n   n个为一组输出

[root@oldboyedu /data]# echo {1..9} >test.txt

[root@oldboyedu /data]# cat test.txt

1 2 3 4 5 6 7 8 9 10

[root@oldboyedu /data]# xargs -n 3

1 2 3

4 5 6

7 8 9


-d指定分隔符,不指定默认是空格

[root@oldboyedu /data]# xargs -d"." -n2

a b

c d


[root@oldboyedu /data]# xargs -n2

a.b.c.d




八.data显示系统时间和日期

-s修改时间


[root@oldboyedu /data]# clock -w


[root@oldboyedu /data]# date +%F

2020-10-01

[root@oldboyedu /data]# date +%Y   #year年

2020

[root@oldboyedu /data]# date +%y   #year年

20

[root@oldboyedu /data]# date +%m   #month月

10

[root@oldboyedu /data]# date +%d   #day日

01

[root@oldboyedu /data]# date +%H   #hour时

00

[root@oldboyedu /data]# date +%M   #minute分

02

[root@oldboyedu /data]# date +%S   #second秒

46



-d根据你的描述显示时间

[root@oldboyedu /data]# date +%F -d "-1day"

2020-09-30

[root@oldboyedu /data]# date +%F -d "+1day"

2020-10-02

[root@oldboyedu /data]# date +%F -d "+1month"

2020-11-01

[root@oldboyedu /data]# date +%F -d "+1Y"

date: invalid date‘+1Y’

[root@oldboyedu /data]# date +%F -d "+1year"

2021-10-01



九.打包压缩

文件压缩,大小会降低。

tar

打包:

语法:

tar参数  筐(压缩包)  苹果(被打包的文件)

打包集合参数zcvf:v可以不加

压缩包名字:data.tar.gz  #tar表示打包,gz表示gzip格式压缩。

例子:

[root@oldboyedu ~]# mkdir /data

[root@oldboyedu ~]# cd /data

[root@oldboyedu /data]# touch {1..5}.txt

[root@oldboyedu /data]# ls

1.txt  2.txt  3.txt  4.txt  5.txt

[root@oldboyedu /data]# cd ..

[root@oldboyedu /]# tar zcvf /opt/data.tar.gz ./data

./data/

./data/1.txt

./data/2.txt

./data/3.txt

./data/4.txt

./data/5.txt

查看压缩包里的内容:-t

[root@oldboyedu /]# tar tf /opt/data.tar.gz

./data/

./data/1.txt

./data/2.txt

./data/3.txt

./data/4.txt

./data/5.txt


解压:

[root@oldboyedu /opt]# tar zxvf data.tar.gz

./data/

./data/1.txt

./data/2.txt

./data/3.txt

./data/4.txt

./data/5.txt

[root@oldboyedu /opt]# ls

data  data.tar.gz

[root@oldboyedu /opt]# ls data

1.txt  2.txt  3.txt  4.txt  5.txt

[root@oldboyedu /opt]# tar xf data.tar.gz


[root@oldboyedu /opt]# tar xf data.tar.gz -C /tmp/

[root@oldboyedu /opt]# ls /tmp/data

1.txt  2.txt  3.txt  4.txt  5.txt

3.15

文件属性

目录

文件属性

一.第一列 索引节点 1

二.第二列 文件类型 2

三.第四列 属主 2

四.第五列 用户组 3

五用户与用户组的对应关系 3

六第789列 文件的最后修改时间 3





思想

勇于承担责任,才是能力变强的最佳捷径。————老男孩

要想比别人强,永远要比别人多做一点点,早做一点点。————老男孩

半步领先


文件属性

[root@oldboyedu /data]# ls -lhi

total 12K

33631841 -rw-r--r--. 1 root root   0 Oct  1 00:19 oldboy.txt

1        2        3   4    5    6  7   8    9    10

一.第一列 索引节点

表现形式是数字33631841叫做文件的索引节点(Index Node)

类似人的身份证,索引节点是文件在系统中的唯一标识。

找一个文件最终都要通过索引节点才能找到

索引节点的概念出在ext文件系统中(ext2 ext4 ext3).


索引节点是硬盘上的一块存储空间。大小256字节或512字节。


索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都

在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。


磁盘要想使用,先分区,格式化(创建文件系统)。

格式化创建文件系统时,就会生成大量的inode和block。

inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)

block作用是存放文件内容的。



Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,

特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。一个Block最多只能存一个文件的内容。


df -i看inode数量

df -h看block数量


磁盘满原因有两种:

(1)、inode满了。

(2)、block满了。


提示:

no space left on device报错,没有空间在设备上了。

磁盘满了。


检查步骤:

步骤1:df -h  

步骤2: df -i看是不是inode满了


为什么inode会满?

小文件太多

初始化时候block数量远大于inode数量。



二.第二列 文件类型

rwxr-xr-x

9个字符

r read可读取 4

w write可写   2

x execute可执行 1

-没有权限 0


字符分组:3个字符是一组

d  rwx             r-x       r-x    . 2 root root      6 Mar 13  2019 test

用户权限用户组权限其他权限



三.第四列 属主

用户:管理Linux系统而存在的。

用户一般分为用户名和用户ID(Identify)

相当于我们的名字和身份证,名字和学号。

用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)

user   UID

Linux里所有的用户和进程都要有用户对应。

文件存在必须对应用户

进程运行必须应用用户


Linux用户分三类:

1、超级管理员 root

权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。

[root@oldboyedu ~]# id root

uid=0(root) gid=0(root) groups=0(root)

2、虚拟用户(傀儡)

实际存在的用户,但是又不允许它登录。

价值何在?

满足文件或进程运行属主的要求。但是又不会带来管理风险。

UID 1-499


3、普通用户

实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。

大臣、臣民一起管理。

权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。

UID C7 1000起步 C6 500起步

[root@oldboyedu ~]# useradd oldgirl


四.第五列 用户组

用户组:集合、组织

Linux里每个用户都必须要有一个组织,这个组织就叫做用户组

用户组也是给人看,用户组也有唯一标识,Group ID简称GID

默认情况创建用户,并没有创建用户组啊,它会自动创建一个

和用户名相同的用户组以及相同的GID。

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)


五用户与用户组的对应关系

1、1对1

2、1对多个用户组

3、多个用户对应一个用户组

4、多对多



六第789列 文件的最后修改时间

文件时间有三种:

修改时间:modify,文件内容被改过之后的时间。

访问时间:access,文件内容被访问过的时间。

变化时间:change,文件属性发生改变的时间。

你可能感兴趣的:(第三周课堂笔记)