老男孩Linux运维58期课堂笔记
作者:于冬
归档:课堂笔记
日期:3.11
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意
修改主机名配置文件
/etc/hostname C7主机名配置文件
/etc/sysconfig/network C6主机名配置文件
修改方法:
CentOS7:
输入nmtui进行修改
[root@oldboyedu~]#hostnamectl set-hostname (oldboy)#<==永久生效
临时改一下:
[root@oldboy ~]# hostname oldboyedu
[root@oldboy ~]#
cat /etc/hostname
Oldboy
CentOS6:
[root@oldboy ~]#
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboy
C6:和C7永久生效:
vim
/etc/sysconfig/network
hostname
oldboyedu
2、/usr 目录的重要知识介绍
1./usr/local 源码编译安装软件默认的位置路径
2./usr/src:存放源码文件的目录
3、/var 目录下的路径知识
1./var/log:记录系统及软件运行信息文件所在的目录
2./var/log/messages:Linux系统级别日志文件.。记录Linux系统运行行为的文件,正常行为和非正常行为
3./var/log/secure:用户登录信息日志文件(安全日志文件)
4./var/log/dmesg:记录硬件信息加载情况的日志文件
4、/proc下的重要路径知识
/proc/meminfo 查系统内存 free -m 查看内存
/proc/cpuinfo 查看CPU
/proc/loadavg 查看负载(系统繁忙程度的一个综合指标)
[root@oldgirl ~]# uptime
09:28:14 up 51min, 2 users, load average: 0.00, 0.01, 0.05
当前时间 开机多久 哪些用户 负载 平均 1分钟 5分钟 15分钟
负载的数字和CPU核数相当的时候就是负载一个临界点,例如一颗两核 临界负载就是2
/proc/mounts 当前设备挂载列表信息文件
5、Linux(CentOS6)系统启动流程说明(重点)
1.第一步:开启开机按钮,计算机加载BIOS自检
2. 第二步:读取MBR信息
3. 第三步:加载Grub菜单(Boot Loader,引导加载程序)
4. 第四步:加载Kernel内核以及驱动程序
5. 第五步:启动init进程,读取inittab文件
6. 第六步:Init进程执行rc.sysinit初始化系统
7. 第七步:Init进程加载内核相关模块
8. 第八步:Init进程执行对应运行级别下的脚本
9. 第九步:加载/etc/rc.local
10.第十步:启动mingetty,进入登入前的状态
6、Linux(CentOS7)系统启动流程说明(重点)
1.第一步:开启开机按钮,计算机加载BIOS自检
2.第二步:读取MBR信息
3.第三步:加载Grub菜单
4.第四步:加载Kernel内核以及驱动程序
5.第五步:运行systemd进程
6.第六步:读取运行级别
7.第七步:系统初始化
8.第八步:并行启动各种服务
9.第九步:启动login显示登录界面
7、vi / vim 文本编辑器的三种模式
[if !supportLists]l [endif]1、普通模式
移动光标的操作
G或(shift+g)(文件尾部)将光标移动到文件的最后一行
gg(文件开头)将光标移动到文件的第一行,等价于1gg或1G
0(行首)数字0。将光标从所在位置移动到当前行的开头
$(行尾)从光标所在位置将光标移动到当前行的结尾
搜索与替换操作
/oldboy从光标位置开始,向下寻找名为oldboy的字符串
?oldboy从光标位置开始,向上寻找名为oldboy的字符串
n从光标位置开始, 向下搜索
N从光标位置开始, 向上搜索
:%s/A/B/g把符合A的内容全部替换为B。/#还可以用@等特殊字符替换,实际就是分隔符。s是替换 g表示全局(所有)。指定行号替换 :4,6s/oldboy/oldgirl/g
复制、粘贴、删除等操作
yy(单行复制) 复制光标所在的当前行
nyy(多行复制)n为数字,复制光标开始向下共n行
dd(删除单行)删除光标所在当前行 (剪切)
ndd(删除多行)n为数字,删除从光标开始向下共n行
p/P (小p)将已复制的数据粘贴到光标的下一行 (大P)是上一行
[if !supportLists]l [endif]2、编辑模式
i 在当前光标所在处插入文字
a在当前光标所在下一个字符处插入文字
A当前行追加,行尾插入。 和(大I)相反
o下一行开头插入
O上一行开头插入
[if !supportLists]l [endif]3、命令模式
:wq退出并保存
:wq!退出并强制保存 “ !”为强制的意思
:q!强制退出。不保存
:set nu显示行号
:set nonu取消行号
8、echo:显示输出文本内容
echo 输出和打印(help)
-n不换行输出
-e支持转义字符
\t代表tab \n回车换行
改变字体颜色操作
[root@oldgirl
/opt]# echo -e "\033[30m 黑色字oldboy trainning
\033[0m"
黑色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[31m 红色字oldboy trainning
\033[0m"
红色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[32m 绿色字oldboy trainning
\033[0m"
绿色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[33m 黄色字oldboy trainning
\033[0m"
黄色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[34m 蓝色字oldboy trainning
\033[0m"
蓝色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[35m 紫色字oldboy trainning
\033[0m"
紫色字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[36m 天蓝字oldboy trainning
\033[0m"
天蓝字oldboy trainning
[root@oldgirl
/opt]# echo -e "\033[37m 白色字oldboy trainning
\033[0m"
白色字oldboy training
9、Cat:合并文件或查看文件内容
Cat参数
-n从1 开始对所有输出的内容按行编号
[root@oldgirl
/opt]# cat -n test.txt
1 hello world
2 hello world
3 hello world
[if !supportLists]l [endif]more:分页显示文件内容
[if !supportLists]l [endif]less:分页显示文件内容
[if !supportLists]l [endif]head:显示文件内容头部
默认显示前10行,显示前N行,-n 数字 n可以省略 -数字
[if !supportLists]l [endif]tail:显示文件尾部内容
默认显示后10行,显示后N行,-n 数字 n可以省略 -数字
-f跟踪显示文件尾部的信息
老男孩Linux运维58期课堂笔记
作者:于冬
归档:课堂笔记
日期:3.13
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意
[if !supportLists]1、 [endif]老男孩思想:如何提升自学能能力
[if !supportLists]1、 [endif]养成主动看书的习惯。
[if !supportLists]2、 [endif]养成预习的习惯。
这就是工作中领导分配任务,让你去搞定的模拟.
[if !supportLists]3、 [endif]课堂上积极思考,对老师提问的问题主动回答,对于不会的要主动发问。
[if !supportLists]4、 [endif]对老师留的课后拓展的作业要能够完成。
[if !supportLists]5、 [endif]对学习的内容要深度编码总结(思维导图总结,画图总结)等抓重点。
[if !supportLists]6、 [endif]课后遇到不会的不要轻易问别人,要学会自己解决问题。
笔记/书==查帮助文档==搜索引擎==加一些Linux交流群或
身边人同学,项目经理,老师
[if !supportLists]7、 [endif]提升阅读外语的能力。通过计算机技术知识反向学习外语
[if !supportLists]A. [endif]学过的单词记录单词对应的意思的英文目录层次标准里去查或看名字
[if !supportLists]B. [endif]总结100个报错的翻译
[if !supportLists]2、 [endif]grep:文本过滤器工具
grep的常用参数
-v显示不匹配的行,
-n显示匹配行及行号
-i不区分大小写(只适合于单字符)默认是区分大小写的
-E使用扩展的egrep命令
-w只匹配过滤单词(不匹配数字)
o只输出匹配的内容
[if !supportLists]3、 [endif]tr:替换或删除字符
-d删除字符
[if !supportLists]4、 [endif]重定向符号的核心知识
重定向符号总结
名 称文件描述符简介
标准输入(stdin)代码为0,配合<或<<使用数据流从右向左
标准输出(stdout)代码为1,配合>或>>使用数据流从左向右
标准错误输出(stderr)代码为2,配合>或>>使用数据流从左向右
重定向符号,数据流是箭头方向
标准输入重定向0<或<清空已有内容,数据一般从文件流向处理的命令
追加输入重定向0<<或<<追加内容到底部,数据一般从文件流向处理命令
标准输出重定向1>或>正常输出重定向到文件,会清空已有内容
标准输出追加重定向1>>或>>将内容追加重定向到文件底部,不会清空已有内容
标准错误输出重定向2 >将标准错误内容重定向到文件,如果文件存在内容则清空
标准错误输出追加重定向2>>将标准错误内容追加到文件底部,不会清空已有内容
[if !supportMisalignedColumns]
[endif]
[if !supportLists]5、 [endif]Linux文件属性概述
第一列:inode索引节点编号
第二列:文件类型及权限
第三列:硬链接个数
第四列:文件或目录所属的用户
第五列:文件或目录所属的组
第六列:文件或目录的大小
第七列~第九列:文件或目录的修改时间,默认为:月、日、时、分
第十列:实际的文件名或目录名
33631870 -rw-r--r--. 1 root root 4 Mar 13 11:29 a.txt
33631871 -rw-r--r--. 1 root root 30 Mar 13 11:28 b.txt
16777289 drwxr-xr-x. 2 root root 64 Mar 7 11:57 data1
33631866 -rw-r--r--. 1 root root 712 Mar 11 15:58 grep.txt
33631863 -rw-r--r--. 1 root root 12 Mar 13 11:23 oldboy.txt
16964029 drwxr-xr-x. 2 root root 6 Mar 7 10:56 test
33631865 -rw-r--r--. 1 root root 24 Mar 13 11:46 test.txt
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
老男孩Linux运维58期课堂笔记
作者:于冬
归档:课堂笔记
日期:3.14
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意
1、将左脑的知识进行持久化到右脑记忆
[if !supportLists]1、 [endif]学习知识后及时复习,总结,复述,表达,可以维持一天的记忆
[if !supportLists]2、 [endif]第二天复习,总结可以维持未来一周的记忆
[if !supportLists]3、 [endif]一周内保持复习就可以维持未来一个月的记忆
[if !supportLists]4、 [endif]一个月内保持复习就可以维持长期的记忆
[if !supportLists]5、 [endif]一个季度内保持复习就可以维持长期的记忆
2、字符(character)/快(block)设备文件
以c开头的就是字符设备
以b开头的就是块设备,硬盘,光驱等都属于块设备
3、套接口(socket)文件
Sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接。
4、find:查找目录下的文件
-mtime按照文件的修改时间来查找文件
-n表示文件更改时间距n天以内
+n表示文件更改时间距n天以前
n 是距现在第n天
-name按照文件名查找文件,只支持 * ? [ ] 等特殊通配符
-type查找某一类型的文件
B (块设备文件)
c (字符设备文件)
d (目录)
p (管道文件)
l (符号链接文件)
f (普通文件)
s (socket文件)
D(door)
-exec对匹配的文件执行该参数所给出的shell命令
具体说明
[if !supportLists]n [endif]-4表示文件更改时间现在4天以内
[if !supportLists]n [endif]+4表示文件更改时间距现在4天以前
[if !supportLists]n [endif]4 是距现在第4天
5、xargs:将标准输入转换成命令行参数
-n指定每行最大参数n,可以将标准输入的文本划分多行,每行n个参数,默认以空格分隔。
-d定义自定义分隔符
[if !supportLists]6、 [endif]tar:打包压缩命令
z通过gzip压缩或解压
c创建新的tar包
v显示详细的tar命令执行过程
f指定压缩文件的名字
x解开tar包
C指定解压的目录路径
-h打包软连接文件指向的真实源文件
[if !supportLists]7、 [endif]data:显示与设置系统时间
-d时间字符串显示指定字符串所描述的时间,而非当前时间
-s日期时间设置系统时间
%F完整日期格式,等价于%Y-%m-%d(2019-01-20)
老男孩Linux运维58期课堂笔记
作者:于冬
归档:课堂笔记
日期:3.15
格式说明:
蓝色字体:注释
黄色背景:重要
绿色背景:注意
[if !supportLists]1、 [endif]相信可能你就无限可能,相信不可能,就是自废武功
1、为什么会缺乏自信
[if !supportLists]2、 [endif]对自己的能力不认可
[if !supportLists]3、 [endif]学历不高,既成事实
[if !supportLists]4、 [endif]现在不自信,一辈子背着不自信加锁
不管别人怎么看我们,我们要有一些自信,自信是人成功的必备前提。——老男孩
自信一点,能力不够,就获得机会了。
后从口出,病从口入
永远不要在背后说别人坏话(当面直说),如果非要说就当面说
你是老板你会怎么选择员工:人品,态度,能力,价值 。
勇于但当责任,才是能力变强的最强捷径。——老男孩
要想比别人强,永远要比别人多做一点点,早做一点点。——老男孩
[if !supportLists]2、 [endif]用户及用户组
Linux单用户,多任务
Linux多用户,多任务
[if !supportLists]1、 [endif]Linux系统中用户角色划分
[if !supportLists]l [endif]UID(User Identify),即用户相当于各位的身份证,在系统中是唯一的
[if !supportLists]l [endif]GID(group Identify),即组ID,相当于各位的家庭住址或者你们的学校ID户口本的“号码”
[if !supportLists]2、 [endif]用户和用户组的对应关系
1、超级管理员 root
2、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系的。大臣、臣民一起管理。
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步 C6 500起步
权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。
2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499
Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
1、1对1
2、1对多个用户
3、多个用户对应一个用户组
4、多对多
3、文件的权限列
其中表示权限的字符rwx-分别代表着特定的含义
[if !supportLists]l [endif]R(read)可读权限,对应数字4
[if !supportLists]l [endif]w(write)可写权限,对应数字2
[if !supportLists]l [endif]x (Execute)可执行权限,对应数字1
[if !supportLists]l [endif]没有任何权限,对应数字0
字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 13 2019 test
用户权限 用户组权限 其他权限
3、磁盘存储数据描述
磁盘要想使用,先分区,格式化(创建文件系统)格式化创建文件系统时,就会产生大量的inode和block。
[if !supportLists]3、 [endif]索引节点的概念
索引节点是硬盘上的一块存储空间。大小256字节或512字节。
索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)
4、Inode和Block的特点
Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。一个Block最多只能存一个文件的内容,一个block 4K,放了0.1K文件,剩3.9K浪费了
磁盘满原因有两种:
1、inode满了。
2、block满了。
检查步骤:
步骤1:df -h
步骤2: df -i 看是不是inode满了
为什么inode会满?
小文件太多
初始化时候 block数量远大于inode数量
ls参数:
-t modify,文件内容被改过之后的时间。
-c change,文件属性发生改变的时间。
-a access,文件内容被访问过的时间。