2019年3月11日
day 1:
linux永远不要重启,也不需要重启
主机名
cetnos6及以前版本的配置文件 /etc/sysconfig/network
centos7/etc/hostname
systemctl set-hostname ** 登出当前用户生效默认永久
hostname ** 临时生效
/etc/sysctl.conf linux内核参数信息文件
调整linux系统、优化需要配置这个文件
/usr目录
1、/usr/local:编译安装软件默认文件路径
软件安装:rpm rpm -ivh 软件包名.rpm
yum rpm包管理器,智能帮我们找到一个软件包需要的依赖包(本质就是rpm安装)
源代码安装
2、/usr/src:存放源码文件的目录
/var目录
1、/var/log:记录系统及软件运行信息文件所在的目录
/var/log/messages 记录linux系统运行行为的文件,正常行为,非正常行为
/var/log/secure 用户登录信息
/var/log/dmesg 记录硬件信息加载情况的日志
dmesg
/proc下的重要路径知识
/proc/meminfo
/proc/cpuinfo
free 查内存 -m 以m为单位查看内存
/proc/loadavg 查看负载(系统繁忙程度的综合指标)
[root@oldboy_template-2 ~]# uptime
09:29:01 up 18:25, 1 user, load average: 0.00, 0.01, 0.05
[root@oldboy_template-2 ~]# uptime
09:29:01 up 18:25, 1 user, load average: 0.00, 0.01, 0.05
当前时间 开机多久 登录用户 负载 平均 1min 5min 15min
负载的数字和cpu核数相当的时候就是负载一个临界点,例如一颗两核 临界负载就是2
w 查看当前登录用户
/proc/mounts 查看当前挂载信息
centos7启动流程图
vi/vim:纯文本编辑器常用快捷键
$行尾
0行首
set nu显示行号
set nonu取消行号
G尾部或者Shift+g
gg开头
到指定行 ngg
搜索 向下搜索/* n 向上N
替换 :%s/a/b/g 不带g替换每行第一列, 数字代表列
替换4-6行 :4,6s/oldboy/oldgirl/
dd删除光标所在行
ndd删除光标下n行
yy复制
nyy复制光标下n行
p粘贴
u撤销
shift+j 删除下一个换行键
i 插入
A 追加行尾插入 a光标的下个字符
o下一行开头插入 O上一行编辑
echo
cat 查看内容 -n 对输出内容显示行号 tac 相反与cat 可以将内容按行反转
more 分页显示内容
less 分页显示内容
head 显示前n行 默认10
tail 显示后n行 默认10行 -f跟踪显示文件尾部的信息
echo 31 > text
seq 10 > txt 生成1-10个数字到txt
rev 可以将内容左右反转
PS1参数:
echo -e "\033[41;37m 红底白字 welcome to old2boy\033[0m"
echo -e "\033[42;37m 绿底白字 welcome to old3boy\033[0m"
echo -e "\033[43;37m 黄底白字 welcome to old4boy\033[0m"
echo -e "\033[44;37m 蓝底白字 welcome to old5boy\033[0m"
echo -e "\033[45;37m 紫底白字 welcome to old6boy\033[0m"
echo -e "\033[46;37m 天蓝白字 welcome to old7boy\033[0m"
echo -e "\033[47;30m 白底黑字 welcome to old8boy\033[0m"
2019年3月13日
day 2:
学习方法:自学能力:
养成主动看书的习惯
预习的习惯(工作中领导分配的任务,让你去搞定的模拟)
积极思考,对提问的问题要能够主动回答,对于不会的要主动发问
对拓展作业要能够完成
对学习能容要深度编码总结(思维导图,画图总结)
知识-->短时记忆-->编码加工-->长时记忆(存储)-->提取
遇到不会的问题不要轻易问别人,学会自己解决问题
笔记/书===搜索引擎===加一些群==身边的人/项目经理/老师
课后遇到不会的不要轻易问别人,要学会自己解决问题
提升阅读外语能力
在linux中所有字符都尽量加双引号
tr :translate or delete characters 替换或删除字符
"a""b" < txt
grep='grep --color=auto' 擅长取行
-v invert 去反
-i ignore(忽略)不区分大小写
-n number(数字) 对输出的内容进行显示行号
-w 只选择那些包含与整个单词匹配的行
-o 只显示匹配到的内容
-E 扩展的grep,即egrep
cp test.txt{,.ori}备份
>标准输入重定向
>filename 清空文件
>>追加输入重定向,内容追加到文件尾部
<标准输出重定向
<<追加输出重定向
固定意义:
数字0 标准输入(standard input)
数字1 标准输出(standard output)
数字2 错误输出(error output)
ls -i 显示inode节点
-h human人类可读的显示形式
索引节点:文件的唯一标识
身份证:人的唯一标识
进程号:进程的唯一标识
[root@oldboy_template-2 ~]# ll -i
total 24
33575921 -rw-r--r-- 1 root root 0 Mar 9 17:17 name.txt
33577154 ---------- 1 777 root 22 Mar 13 09:45 old
17538258 drwxr-xr-x 12 root root 141 Mar 11 13:36 oldboy
33575924 -rw-r--r-- 1 root root 105 Mar 11 20:37 oldboy.txt
33574978 -rw-r--r-- 1 root root 90 Mar 11 20:40 oldboy.txt1
33575923 -rw-r--r-- 1 root root 60 Mar 11 20:42 oldboy.txt2
33577163 ---------- 1 root root 22 Mar 13 10:27 old.ori
33577164 -rw-r--r-- 1 root root 18 Mar 13 11:32 test.txt
共10列
第一列:inode索引节点编号(相当于人类的身份证)
系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容
第二列:文件类型及权限。共11个字符
第一个字符为文件类型
后9个字符为文件的对应权限
最后一个“."是和selinux有关的一个标识
第三列:硬连接数
第四列:属主:文件的拥有者,用户
第五列:属组:文件属于的组,用户组
第六列:文件大小
第七列:文件修改月份
第八列:文件修改的日
第九列:文件修改的时间
第十列:文件名
文件类型:
一切皆文件。windows用扩展名区分文件,linux里有自己的文件类型,linux里的扩展面兼容windwos方便区分
- 普通文件
三种类型:
纯文本文件,字符数字等内容
数据文件,存放命令收集的信息
二进制文件,可执行命令
查看文件类型:file d.txt file /bin/cat file /var/log/lastlog
lastlog 查看当前哪些用户在线
d 目录(directory)
生成:mkdir -p
拷贝:cp -r 或者 a
删除:rm -fr
区分:文件权限列开头为d,ls -p 区分目录及文件,在目录结尾加斜线/,-F不同文件结尾不同标识,目录结尾加斜线 @为链接文件 绿色可执行文件 粉色软链接文件
2019年3月14日
day 3:
快捷方式
创建软链接:ln -s 不带-s 为硬链接
删除 rm
字符(character)块设备(block)
猫等串口设备 磁盘
以c开头的就是字符设备 character
以b开头的就是块设备 block
创建字符设备
mknod oldboy c 5 1
mknod oldboy_1 d 5 1
(1) oldboy是创建的设备的名字
(2)c表示创建字符设备,也可以用b
(3)5是该设备在major.h中定义的标记
(4)1是第一个子设备
套接口socket文件
.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如:我们可以启动一个程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。
以s开头的就是socket文件
用于进程之间通讯的一类文件
$PATH
命令行执行命令会从PATH 对应的路径中查找命令,PATH对应的路径没有这个命令就是报-bash: asd: command not found
-bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin: No such file or directory
whereis:显示命令及其相关文件全路径
-b 只查找二进制命令
find 查找目录下的文件 查找原理:磁盘遍历,速度慢
模糊查找 * 表示所有
这里的类型和名字默认取交集,两条件都满足,相当于有个-a
如果取并集即用-o
\转义
xargs < test.txt -n 分组数量 默认是空格
| 管道 把前面命令的结果,放入后面命令
find /data -type f -exec rm -f {} \; 相当于 rm -f oldboy;rm -f oldboy1 当文件有多少个,就会执行多少次这条命令
find /data -type f | xargs rm -f 相当于 rm -f oldboy oldboy1
只是一条命令
管道处理的是跟处理数据流的参数可以直接进行,比如cat结果
如果装的是文件名称之类的,需要添加xargs
find /data
find /data -type f | xargs -i cp {} /opt
打包 压缩
打包 筐 放文件 压缩体积降低
文件压缩,大小会降低
tar 参数 筐 苹果
打包 zcvf
解包zxvf
2019年3月15日
day 5:
选择员工:人品、态度、能力、价值
勇于承担责任,才是能力变强的最佳捷径。
半步领先:要想比别人强,永远要比别人多做一点点,早做一点点。
人品是根本
态度是原则
能力是基础
价值是砝码
作为运维人员是怎么为老板赚钱
1、买设备、带宽、云服务、花钱
省等于创造了大于十倍的流水,要有正确的价值观
2、CDN网站加速,网站图片被盗链
linux 多用户 多任务:不同用户可以同时登陆并处理不同任务
用户:管理linux系统而存在的。
用户一般分为用户名和用户ID。
相当于我们的名字和身份证
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
user identity UID
linux里所有的用户和进程都要有用户对应。
文件存在必须对应用户
进程运行必须应应用用户
linux用户分三类:
1、超级管理员 root 权限堪称皇帝。UID为0。换句话说UID为0的都有皇帝对应的权限
id 查看当前用户 id root查看root用户
/etc/passwd
查当前用户
whoami
2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
范围1-499
价值:满足文件或进程运行属主的要求,但是又不会带来管理风险
3、普通用户
实际存在的用户,又允许它登录。它是管理员身份创建的,帮助管理员管理系统的。
大臣
UID C7 1000起 C6 500起
useradd oldgirl
/etc/login.defs存放默认UID范围 默认为1000-60000
用户组
人的家庭
linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况下创建用户,并没有创建用户组,它会自动创建一个和用户名相同的用户组以及GID。
用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
文件权限:
rwx r-x r-x
r read读取 4
w write 写 2
x execute 1
- 没有权限
789列:文件的最后修改时间
文件时间有三种:
修改时间:modify,文件内容被修改之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变时间。
ls -l 得到的结果默认是修改时间
stat file路径
[root@oldboy_template-2 ~]# stat test123/
File: ‘test123/’
Size: 18 Blocks: 0 IO Block: 4096 directory
Device: 803h/2051d Inode: 51006511 Links: 3
Access: (0757/drwxr-xrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-03-15 11:32:51.954357543 +0800
Modify: 2019-03-15 08:51:52.677435980 +0800
Change: 2019-03-15 11:06:41.590236330 +0800
ls --time-style=iso -l
[root@oldboy_template-2 ~]# ls -ihl
total 0
6565 drwxr-xr-x 2 root root 35 Mar 15 09:53 opt
第一列:
数字 6565叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统中的唯一标识符。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3)
索引节点是硬盘上的一块存储空间。大小256字节(C5)或512字节(C6)
索引节点里存放的数据是文件的属性(大小、时间、用户和组、权限等)都在索引节点里。唯独不包含文件名(文件名在上级目录的block里)
磁盘要想使用,先分区,格式化(创建文件系统)
格式化创建文件系统的时候就会生成inode和block。
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
inode特点
总体来说,inode具有如下一些特点:
(1)ext3/ext4文件系统(centos5.x/6.x默认的文件系统)下,一个非空文件至少要占用一个inode和一个block
(2)inode节点号相同的文件,互为硬链接文件,可以认为是一个文件的不同入口
(3)inode在某一个文件系统(分区)内是唯一的
在ext文件系统下面,任何一个非空文件至少要占用一个inode和一个block,有且只有一个。
inode相同为硬链接,可以认为是一个文件不同的入口
block的特点如下:
(1)磁盘读取数据是按照block为单位读取的
(2)每读取一个block就会消耗一次磁盘的I/O(input/output磁盘读写)
(3)若文件比较大,一个文件可能会占用多个block
(4)若文件比较小,一个block剩余空间会被浪费,无论内容有多小
bloclk叫做磁盘块,是用来存放实际数据的实体单元(一般最大为4KB)
另一部分block叫做磁盘快,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个block块来存储,特别小的文件如果不能占满整个block块,剩余的空间也会被浪费无法利用。
一个block最多只能存一个文件的内容,一每个block大小 1、2、4k左右
查看inode
df -i
查看block
df -h
磁盘满的原因:
1、inode满了
2、block满了
no space left on device
为什么inode会满, 一般是系统生成的小文件太多
初始化的时候 block数量远大于inode数量