课后笔记3.11-3.15
作者:郭浩祥
归档:课后笔记
时间:2019.03.16.
3月11号
linux永远不要也不能重启
/etc/hostname 7代主机名配置文件
/etc/sysconfig/network 6代主机名配置文件
/etc/sysctl.conf Linux内核参信息文件
调整;linux系统、优化需要配置这个文件
sysctl -p让修改后的文件生效
1、/usr/local 源码编译安装软件默认的位置路径软件安装
a、rpm -ivh 软件包的包名.rpm
b、yum安装,rpm包管理器,只能帮我们找一个软件包需依赖要的
本质九四hirpm安装。自动解决依赖,自动使用rpm命令实现安装。
安装A,A需要B,所以先安装B。
c、源代码安装。
2、/usr/src:存放源代码文件的目录
3、/var目录
a、 /var/log:记录系统及软件运行信息所在文件目录
log日志信息====计算机运行行为
b、/var/log/secure:用户登录信息日志文件(安全日志文件)
c、/var/log/messages:linux系统级别日志文件
d、/var/;log/dmesg:记录硬件信息加载情况的 日志文件
4、/peoc下的重要路径知识
/proc/meminfo查系统内存 free -m 查看内存
/proc/cpuinfo查看cpu
/proc/loadavg查看负载(系统繁忙程度的一个综合指标)uptime
09:31:45 up 1:13, 2 users, load average: 0.00, 0.01, 0.05
当前时间开机多久哪些用户 负载 平均1分钟 5分钟 15分钟
负载的数字和cpu合数相当的时候就是负载一个临界点,例如 一颗两核 临界负载就是2。
/proc/mounts当前设备挂载信息
linux的系统启动流程(非常重点)
6代启动流程
开机BIOS自检==》读硬盘上的引导程序==》加载 ==>加载内核==》运行INIT进程
先是MBR来设定系统运行级别然后读取/etc/init/rc.conf文件在就是执行/etc/rc.d/rc3脚本同时读取/etcinit/rcS.conf文件
Cents6的启动流程
1、开启BIOS自检
2、读取MBR引导
3、加载GRUB菜单
4、加载内核
5、运行init进程
6、设置运行级别
7、初始化系统
8、运行对应级别下的对应脚本
9、开机自启动程序
10、显示用户登录界面
Cents7的启动流程
1、开启BIOS自检
2、读取MBR引导
3、加载GRUB菜单
4、加载内核
5、运行systemd进程
6、初始化系统
7、并行运行各种程序
8、显示用户登录界面
介绍/etc/的命令介绍、功能作用
cents6和7的启动流程
vi/vim 纯文本编辑器 set nu 显示行号
行首:$
行尾:0
文件尾部:G
文件开头:gg
到指定行:就用指定行的数字加gg
linux里面的vi相当于windows里面的记事本
普通模式:搜索和替换操作
向下搜索:/
继续搜:按n,反向搜N
向上搜索:用?按n,反向搜N
替换:%s/想要替换什么东西/用什么替换/g
/可以用特殊符号,分隔符就行
s是替换 加g表示全局(所有)不加就只替换第一行。
删除单行:dd (表现是删除实际上是剪切)
删除多行:ndd (n用任意数字代替)
撤销:u
单行复制:yy
粘贴:p
多行复制:nyy (n用任意数字代替)
粘贴;p
进入编辑模式
i:插入
A:追加 行尾插入
o:下一行开头插入
大o:上一行开头插入
a:光标的下一个字符插入
取消行号:set nonu
cat 查看文件内容tac按行反转文件内容
rev左右
cat -n 对输出的内容显示行号。
more命令:分页显示内容(只能向下)
less:分页显示内容(可以上下找)
head:显示文件内容头部
tail:显示文件尾部内容
head -n加指定数字就能来看到指定数字多少行。(默认显示10行,不能显示5到10行)
tail -加指定数字就能看到指定数字后多少行(默认显示10行,不能显示1到5行)
tail -f 跟踪文件尾部的变化信息(实时跟踪)
3月13号
老男孩思想:
[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]提升阅读外语的能力(通过计算机知识反响学习外语)
学习过的单词记录单词对应的意思的英文(fhs目录层次标准里去查或man cp看名字)
总结100个报错的翻译。
养成操作后检查的习惯,才能提升正确率
学习的时候重视过程,工作的时候重视结果
命令
tr 替换或删除的意思 Linux里面严格区分大小写,所有字符都尽量加双引号
养成操作后检查的习惯,擦能提升正确率
Grep 文本过滤器(非常重要)
-v (invert) 取反(grep过滤剩下的东西)
-i 不区分大小写
-n 对原文件的内容显示行号
-w 以单词为单位过滤
-o 只显示过滤的的内容
-E =egerp 扩展的gerp
重定向符号的核心知识
> 标准输出重定向 箭头方向就是数据流向,把左边的数据流向到右边会清空右边之前的数据(清空前备份)
>> 追加输出重定向内容追加到文件尾部。
< 标准输入重定向,箭头方向就是数据流向
<< 追加输入重定向
Tr命令只能标准输入
固定定义
数字0: 标准输入
数字1: 标准输出
数字2: 错误输出
[if !supportLists]2> [endif]错误输出重定向,箭头方向就是数据流向,把左边的{报错}输出到右边(覆盖)
2>>追加错误内容重定向,箭头方向就是数据流向
#>==EOF成对出现
此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有3种实现命令方法。方法1:echo "I am oldboy" 1>>oldboy.txt 2>>oldboy.txt方法2:echo "I am oldboy" &>>oldboy.txt方法3:echo "I am oldboy" >>oldboy.txt 2>&1
文件属性就是文件的大小时间类型权限属主
索引节点:文件的唯一标识
进程号的唯一标识
第一列:inode索引节点编号
第二列:文件类型及权限。这一列共个字符
其中一个字符为文件类型,
随后的9个字符为文件的对应权限,最后一个字符点号“.”是和selinux有关的一个标识;
第三列:硬连接数
第四列:属主:文件的拥有者,用户
第五列:属组:文件属于的组,用户组
第六列:大小
第七列:月份
第八列:日
第九列:时间
第十列:文件
7、8、9列 文件内容最后修改时间
第二列第一个字符:文件类型
Linux一切都是文件windows用扩展名区分文件,linux里有自己的文件类型linux里的扩展名兼容windows方便区分文件
[if !supportLists]1、[endif]-文件(图片 视频 文档 )都是文件
创建:touch、vim、echo、cat
拷贝移动:cp、mv
删除:rm
三种类型:
[if !supportLists]A、[endif]纯文本文件:字符数字等内容
[if !supportLists]B、[endif]数据文件:存放命令收集的信息
[if !supportLists]C、[endif]二进制文件:
[if !supportLists]2、[endif]目录(directory)
生成目录:mkdir -p
复制目录:cp -a/-r
删除目录:rm -rf
A、区分目录
B、开头为d
C、颜色为蓝色
D、Ls -p目录结尾加斜线,斜线结尾
软连接相当于
软连接不可独立存在(原文件删除,文件失效)
软连接不可移动
1、硬链接相当于原文件的备份与原文件索引节点号相同
2、硬链接可以独立存在
3、可以通过硬链接找回源文件,可以移动
3月14号
如何才能高效记忆?
[if !supportLists]1、[endif]看书圈点勾画
[if !supportLists]2、[endif]理解性记忆
[if !supportLists]3、[endif]画图记忆
[if !supportLists]4、[endif]想像记忆(1.要有图或者有思维导图
[if !supportLists]5、[endif]及时复习,及时复述
[if !supportLists]6、[endif]分类记忆
[if !supportLists]7、[endif]四个动作:做、写、想、讲
1、符号链接(Symbolic link)文件,软连接、
In make links between files创建软连接
快捷方式ln -s(创建) rm(删除)
2、字符(character)/块(bblock)设备文件
以C开头的是字符设备
以B开头的是块设备
5、套接口(socket)文件
以s开头
Sock文件也是一类的文件,这类文件通常用在网络直间,
Which:查命令所在的全路径
[root@guohaoxiang~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@guohaoxiang~]# whi
which while whiptail
[root@guohaoxiang~]# which cp
alias cp='cp -i'
/usr/bin/cp
[if !supportLists]6、[endif]$PAPH的作用:(命令行命令会从PAPH对应的路径中查找命令,PAPH路径中没有这个命令就会报cnmmand and found)
[if !supportLists]7、[endif]Whereis:显示命令、源码、说明文档及其相关文件全路径
-b:只查找二进制命令
Locate:快速定位文件路径
查找文件路径,是从数据库里面查询。
Yum provides(查看命令对应的软件包)
Find:查找目录下的文件
查找原理:在硬盘里慢慢查找
find ~ -name "oldboy.txt"
路径名字参数具体文件*表示所有
find / -name “ifcfg-eth0”模糊查找
按文件类型查找-type
-name按文件名查找
默认是集,相当于有个-a如果取并集即或者用-o分割查找的项。
-esec对查找的结果在处理
Find/var/ -type -exec ls -l {} \;
-mtime按修改时间查找
Xargs:分组
-n:几个东西一组例如
[root@guohaoxiang~]# xargs -n 3 <test.txt
1 2 3
4 5 6
7 8 9
10
[root@guohaoxiang~]# xargs -n 4 <test.txt
1 2 3 4
5 6 7 8
9 10
[root@guohaoxiang~]# xargs -n 5 <test.txt
1 2 3 4 5
6 7 8 9 10
[root@guohaoxiang~]#
-d:指定分隔符
-i:把大括号当作前面找到的内容
[root@oldboyedu /data]# find /data -type f|xargs -i cp {} /opt[root@oldboyedu /data]# ls /opt/oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt
特殊字符
.:当前目录
..:上一级目录
-:上一次所在的目录
~:家目录
\:转义字符
#:表示所有字符
!:取反
|:管道 作用:把前面命令的结果
find /data -type f -exec rm -f {} \;相当于rm -f oldboy1.txtrm -f oldboy2.txtrm -f oldboy3.txt效率低。find /data -type f|xargs rm -f只是一条命令rm -f oldboy1.txt oldboy2.txt oldboy3.txt
两条命令的不同之处
data:显示系统和时间
-s:修改系统时间
+%F:后面接
-d:指定相关格式
[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
Tar(打包压缩)
打包:
语法:
Tar -参数 接 包 再接 文件
-z:压缩
-c:创建
-v:输出打包过程
-f:文件
-t:查看
-tf:查看文件
-C:指定解压的目录
-x:解压
-h:跟随软连接
3月15号
Tar的命令
- -exclude:排除
Linux是一个多用户 多任务的系统
思想:
用户:是用来管理linux系统而存在的,用户一般分为用户名和用户ID
相当于我们的名字、身份证和学号
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
User uid
Linux里所有的用户和进程都要有用户对应。
文件存在必须对应用户。
进程运行必须对应用户。
Linux用户分为三类
第一类:超级管理员root uid为0,uid为0的都有对应权限
不要修改ID为0变管理员。
第二类:虚拟用户(傀儡)实际存在的用户,但是又不允许它登录。
价值就是满足文件或进程运行属主的需求。但是又不会带来管理风险。
UID 1——499
第三类:普通用户:实际存在的用户,又允许他登陆。管理员创建的帮助管理员管理系统的用户,在一些系统及目录可读不可写
用户组:集合、组织
Linux里每个用户要有一个组织,这个组织就叫做用户组用户组也是给人看的,用户组也有一个标识,Group ID 简称GID默认情况创建一个和用户名相同的用户组以及相同的UID。
用户和用户组的对应关系
1、1个用户
2、1个用户可以对应多个用户组
3、多个用户对应一个用户组
4、多对多
文件权限:严格的权限,linux安全权限严格
drwxr-xr-x.
9个字符
R read 可读取
W write 可写
X excute 可执行
- 没有权限
字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 14 19:23 data
d 用户的权限 用户组权限 其他权限
789列
文件是时间有三种
修改时间:modify ,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change ,
Access: 2019-03-14 11:50:03.028492575 +0800修改时间
Modify: 2013-06-07 22:31:32.000000000 +0800访问时间
Change: 2019-03-13 11:38:10.473683327 +0800变化时间
索引节点
33609106 -rw-r--r--. 1 root root 0 Mar 14 09:19 oldb
数字33609106 叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统
索引节点是出在ext文件系统中(ext2 ext4 ext3)
索引节点是硬盘上的一块存储口空间。大小256字节或512字节
索引节点里存放是数据是文件的属性(大小、时间、用户组、权限等都在索引节点里,唯独不包含文件名(文件名在上一届目录的block里)
磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统的时候就会生成inode和block。
Inode作用用于存储文件的属性信息,同时存放指向文件的指针(类似软连接)
Block作用是存放文件内容的。
Block特点:
叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,
Block:特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
最多只能存一个文件内容
磁盘满了两个原因:
[if !supportLists]1、[endif]inode:满了
[if !supportLists]2、[endif]Blcok:满了
检擦步骤:
步骤一:df -h
步骤二:df -i看看磁盘是不是inode满了
为什么inode会满
小文件太多
初始化的时候black数量远大于inode数量。