3.11
centos启动流程和内容编辑文件属性
文件属性
思想
勇于承担责任,才是能力变强的最佳捷径。————老男孩
要想比别人强,永远要比别人多做一点点,早做一点点。————老男孩
半步领先
文件属性
[root@oldboyedu /data]# ls -lhi
total 12K
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 oldboy.txt
表现形式是数字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、多对多
文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。
目录
1. /usr/local:源码编译安装软件默认的位置路径
软件安装(了解):
a.rpm安装
rpm -ivh软件包的包名.rpm(几乎不用)
b.yum安装,rpm包管理器,智能帮我们找一个软件包需要的依赖包(推荐)
本质就是rpm安装。自动解决依赖,自动使用rpm命令实现安装。
安装A,A需要B,先安装B。
c.源代码安装。
2. /usr/src:存放源码文件的目录
1. /var/log:记录系统及软件运行信息文件所在的目录
log日志信息====计算机运行行为
/var/log/messages:Linux系统级别日志文件*****
记录Linux系统运行行为的文件,正常行为 非正常行为。
/var/log/secure:用户登录信息日志文件(安全日志文件)
/var/log/dmesg:记录硬件信息加载情况的日志文件
dmesg - print or control the kernel ring buffer
/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 当前设备挂载列表信息文件
普通模式:
: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相反,取消行号
[root@oldgirl /opt]# cat -n test.txt
1 hello world
2 hello world
3 hello world
[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演示 显示文件实时更新
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
文本过滤工具及重定向
人体造血靠骨髓。
技术知识更新超快,快速学习知识靠自学。
老男孩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" </data/oldboy.txt
<<或0<<追加输入重定向,箭头方向就是数据流向,
<<
用法;
cat>文件<<EOF
>内容
>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文件类型及查找命令
[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对应的路径中没有这个命令就会报command not found
[if !supportLists]三. [endif]whereis:显示命令、源码、说明文档等的路径
locate查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询
更新A数据库用updatedb命令
yum provides locate #《==查看命令对应的软件包
yum install mlocate -y
查找原理:磁盘遍历,速度慢。
[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
\;又仅代表自身,即分号。
-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 <test.txt
1 2 3
4 5 6
7 8 9
-d指定分隔符,不指定默认是空格
[root@oldboyedu /data]# xargs -d"." -n2 <test.txt
a b
c d
[root@oldboyedu /data]# xargs -n2 <test.txt
a.b.c.d
-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
文件属性
文件属性
思想
勇于承担责任,才是能力变强的最佳捷径。————老男孩
要想比别人强,永远要比别人多做一点点,早做一点点。————老男孩
半步领先
文件属性
[root@oldboyedu /data]# ls -lhi
total 12K
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 oldboy.txt
表现形式是数字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、多对多
文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。