day9 2019年3月11日课堂笔记
Linux永远不需要也不能重启。
一、1.1/etc/hostname C7主机名配置文件
/etc/sysconfig/network C6主机名配置文件
临时改一下:
[root@oldboy ~]# hostname oldboyedu
[root@oldboy ~]# cat /etc/hostname
oldboy
C6:和C7永久生效:
vim /etc/sysconfig/network
hostname oldboyedu
1.2、/etc/sysctl.conf Linux内核参数信息文件※※※※※
调整Linux系统、优化需要配置这个文件
sysctl -p 让修改后的文件生效
三、/usr目录
1. 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文本编辑器
1.1、普通模式
1.1.1普通模式:移动光标:
行尾 $
行首 0
文件尾部 G
文件开头 gg
到指定行 阿拉伯数字gg
普通模式:搜索与替换操作
向下搜索 /3306 继续搜 按n,反向搜N
向上搜索 ?80 继续搜 按n,反向搜N
1.1.2普通模式:替换
:%s/A/B/g
:%s#world#oldgirl#g
/#还可以用@等特殊字符替换,实际就是分隔符。
s是替换 g表示全局(所有)
指定行号替换:
:4,6s/oldboy/oldgirl/g
1.1.3普通模式:复制、粘贴、删除等操作
删除单行 dd(剪切)
删除多行 ndd n用任意数字替换
撤销 u
单行复制 yy
多行复制 nyy n用任意数字替换
粘贴 p
1.2、编辑模式
i 插入*****
A 追加 行尾插入
o 下一行开头插入
O 上一行开头插入
a 光标下一个字符插入
1.3命令行模式
:wq 退出并保存
:wq! 退出并强制保存,“!”为强制的意思
:q! 强制退出,不保存
:set nu 显示行号
:set nonu 与set nu相反,取消行号
五、cat 查看文件内容
-n 显示行号查看文件内容
六、head 显示文件头部内容
tail 显示文件尾部内容
默认是文件前或尾10行的内容
-n 查看头或尾n的内容 n可省
七、more:分页显示文件内容
.less:分页显示文件内容
八、centos启动流程
1、开机bios自检;2、MBR引导;3、grum菜单;4、加载内核;5、运行init进程;6、读取系统运行级别;7、初始化系统;8、根据运行系统级别运行脚本;9、开机自启动;10启动显示登录界面
day10 2019年3月13日课堂笔记
一、老男孩思想
人体造血靠骨髓。
技术知识更新超快,快速学习知识靠自学。
老男孩Linux云计算58期
老男孩思想:如何提升自学能力?
1、养成主动看书的习惯。
2、养成预习的习惯。
这就是工作中领导分配任务,让你去搞定的模拟。
3、课堂上积极思考,对老师提问的问题主动回答,
对于不会的要主动发问。
4、对老师留的课后拓展的作业要能够完成。
5、对学习的内容要深度编码总结(思维导图总结,画图总结)等
抓重点:女浴室着火
知识==>短时记忆===>编码加工===>
长时记忆(存储大脑里)===>提取
6、课后遇到不会的不要轻易问别人,要学会自己解决问题。
笔记/书===查帮助文档==搜索引擎==>
加一些Linux交流群===身边人同学、项目经理、老师
7、提升阅读外语的能力。
通过计算机技术知识反向学习外语
a.学过的单词记录单词对应的意思的英文
fhs目录层次标准里去查或man cp看名字
b.总结100个报错的翻译
command not found
命令 没有 找到
二、tr 替换或者删除字符 修改文件内容 (linnux里严格区分大小写)
tr 字母或数字 新字母或字母 < 文件。txt
tr "a-z" "0-9" <文件 .txt
三、grep 过滤文件内容 --color=auto 过滤的内容加色
gtrep -v 过滤不需要的内容后的内容重点
gtrep -i 不区分大小写过滤需要的内容
gtrep -iv 不区分大小写过滤不需要的内容后的内容
grep -n 对输出的内容显示行号重点
grep -w 以单词为单位过滤重点
grep -o 只显示过滤的内容 重点
grep -E 扩展两个内容或者其以上的过滤=egrep命令
四、重定向符号的核心知识***** 超重点
1、 >重定向,
>>追加输出重定向 内容追加到文件尾部
>>或1>>追加输出重定向,内容追加到文件尾部。
标准输出重定向>和标准输出追加重定向>>:相当于把命令输出给文件进行操作
清空前备份:
[root@oldgirl ~]# cp test.txt{,.ori}
[root@oldgirl ~]# cp test.txt test.txt.ori
清空文件:
[root@oldgirl ~]# >test.txt
[root@oldgirl ~]# cat test.txt
2、<标注输入重定向,箭头方向就是数据流向
<<追啊输入重定向,箭头方向就是数据流向
<或0<标准输入重定向,箭头方向就是数据流向,
标准输入重定向<和标准输入追加重定向<<:相当于把字符串或文件里的内容输入给命令进行操作
固定定义
数字1 标准输出1> 1>>
数字0 标准输入0< 0<<
数字2 错误输出 2> 标准错误输出重定向,箭头方向就是数据流向,把左边的{报错}数据输出到右边覆盖
2>>标准错误追加输出重定向,箭头方向就是数据流向,
3、2> 标准错误输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(覆盖)。
2>> 标准错误追加输出重定向,箭头方向就是数据流向,把左边的【报错】输出到右边(追加)。
固定定义:
数字1 标准输出(standard output)
数字0 标准输入(standard input)
数字2 错误输出(error output)
4、<<用法;
cat>oldboy.txt<<EOF
I am oldboy
EOF
[root@oldboyedu ~]# cat>oldboy.txt<<EOF
> I am oldboy
> EOF
[root@oldboyedu ~]# cat oldboy.txt
I am oldboy
方法3:
cat>/data/oldboy.txt <<EOF
test
liyao
oldboy
EOF
#<==EOF成对出现,后面这个顶格。
此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有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
五 、文件属性
[root@oldboyedu ~]# ls -lhi
total 24K
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
共10列
第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);
系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
第二列:文件类型及权限。这一列共11个字符,
其中第一个字符为文件类型,
随后的9个字符为文件的对应权限,
最后一个字符点号“.”是和selinux有关的一个标识;
第三列: 硬连接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日
第九列: 时间
第十列: 文件名
day11 2019年3月14日课堂笔记
一、符号链接(symbolic link)文件,软链接(soft link)
快捷方式:
ln -s 软连接
in 硬链接
rm 删除链接
二、字符(character)/块(block)设备文件
以c开头的就是字符设备,猫等串口设备
以b开头的就是块设备 硬盘、光驱等都属于块设备
三、套接口(socket)文件
以s开头
.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如:我们可以启动一个程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。
用于进程之间通信的文件
四、which 查命令所在的路径
which cd
which ip
which ls
五、PATH 变量作用 超重点
命令行执行命令会从PATH 对应的路径中查找命令,
PATH 对应的路径中没有这个命令就会报command not found
设置命令的范例:
[root@oldboyedu ~]# cd /usr/local/sbin
[root@oldboyedu /usr/local/sbin]# vim ff
[root@oldboyedu /usr/local/sbin]# cat ff
echo $1
[root@oldboyedu /usr/local/sbin]# chmod +x ff
[root@oldboyedu ~]# ff
[root@oldboyedu ~]# ff oldboy
oldboy
[root@oldboyedu ~]# ff oldgirl
oldgirl
[root@oldboyedu ~]# echo oldgirl
oldgirl
六、whereis:显示命令、源码、说明文档等的路径
locate:[root@oldboyedu ~]# whereis -b cp
cp: /usr/bin/cp
七、locate:快速定位文件路径
locate查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询
更新A数据库用updatedb命令
C7默认没安装,不要学了
八、八、find 查找目录下的文件
查找原理:磁盘遍历,速度慢
find / -name 名称 模糊查找文件和目录
find / -type f -name 名称 查找文件
find / -type f -exec ls -l {} \;
find / -type f -mitime +n或n或-n +n n几天之前 n第n天 -n 最近n天
这里的类型和名字是取交集,两条件都满足。默认是交集,相当于有个-a
如果取并集即或者用-o分割查找的项
find / -type d -o -name "oldboy*"
了解:
-a and 并且
-o or 或者
! 取反
九、xargs 从标准输入执行命令
xargs -n 数字 <文件名称 将文件内容n个为一行进行显示
xargs -d 数字 <文件名称
xargs -i 把后面{}查找的结果
范例:
1、 将文件内容3个为一行进行显示
[root@oldboyedu /data]# echo {1..10} >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
10
2、-d 指定分隔符,不指定默认是空格
[root@oldboyedu /data]# xargs -d"." -n2 <test.txt
a b
c d
[root@oldboyedu /data]# cat test.txt
Oldboy
Oldgirl
Oldboedu
Oldboyedu
3、显示文件中某个内容
[root@oldboyedu /data]# cat test.txt|grep "boy"
Oldboy
Oldboyedu
[root@oldboyedu /data]# grep "boy" test.txt
Oldboy
Oldboyedu
4、过滤删除
[root@oldboyedu /data]# find /data -type f|xargs rm -f
[root@oldboyedu /data]# ll
total 0
drwxr-xr-x. 2 root root 6 Mar 14 10:40 a
drwxr-xr-x. 2 root root 6 Mar 14 10:40 b
drwxr-xr-x. 2 root root 6 Mar 14 10:40 c
drwxr-xr-x. 2 root root 6 Mar 14 10:40 d
5、大批量删除
find /data -type f -exec rm -f {} \;
相当于
rm -f oldboy1.txt
rm -f oldboy2.txt
rm -f oldboy3.txt
6、小批量删除
find /data -type f|xargs rm -f
只是一条命令
rm -f oldboy1.txt oldboy2.txt oldboy3.txt
十、date显示时间或修改时间
-s 修改系统时间 用clock -w
-d 指定过去或者未来显示时间
1、[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
2、[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 参数 包名称 文件名
集合参数:
data。tar。gz 表示打包名
tar -z压缩
tar -c 创建
tar -v输出打包过程
tar -f 文件
t查看文件
-C 指定解压路径
-x 解压
-h跟随软连接
day12 2019年3月15日课堂笔记
一、命令复习
1、man 查看普通命令的帮助
help 查看内置命令
info 查看命令的更多信息
2、关机、重启 shurdown -r reboot 重启
-h halt 关机
halt 关机CPU停止工作
poweroff 关机断电
init 切换运行级别 init 0关机
init 6重启
reboot 重启
systemtl reboot 重启
poweroff关机
3、ls --color=auto 显示文件颜色 属于隐藏的别名
4、pwd
5、cd - 上一次所在目录
。当前目录
。。上级目录
~ 家目录
6、tree以树形结构显示目录 -L 指定层数
-d只显示目录
7、mkdir -p 递归创建目录
8、touch 创建文件或者更新文件时间戳 {}生成字符xulie
9、cp -r复制目录
-P保持文件属性
-a相当于dpr 保持文件属性链接不变
-i确认是否覆盖
10、rm 删除文件或者目录 -f强制删除
-r递归删除
11、alias别名和设置别名
nualias 取消别名
12、mv 移动文件或改名
13、echo和
14、runlevel 查看运行级别
15、 init 切换运行级别
16、 hostname修改主机名
17、hostnamectl C7永久修改主机名
18、tac按行翻转内容
19、rev左右翻转内容
20、 tar --exclude 排除不打包的文件 打包时在加入参数和文件
-x从文件中排除不打包的文件
21、 grep -A 显示过滤的字符串和它之后的多少
-B 显示过滤的字符串和它之前的多少
-C 显示过滤的字符串和它之前之后的多少
二、用户:管理linux系统二存在的
用户一般分为用户名和用户ID
相当于我们的名字和身份证,名字和学号
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
user uid
linux里所有的用户和进程都要有用户对应
文件 存在别想对应用户
进程运行必须应用用户
三、linux用户分三类
1、超级管理员 root
权限称皇帝。UID为0,换句话UID为的都有皇帝对应的权限
id root 查看用户和用户组、UID信息
whoami 查看当前用户
2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
作用:满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499
3、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
大臣、臣民一起管理。
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步 C6 500起步
useradd oldgirl 创建oldboy用户
4、用户组:集合、组织
介绍:Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
groupadd sa 添加用户组
四、rwxr-xr-x
1、9个字符
r read 可读取 4
w write 可写 2
x execute 可执行 1
- 没有权限 0
2、字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 13 2019 test
用户权限 用户组权限 其他权限
五、789列:文件的最后修改时间
文件时间有三种:
修改时间:modify 文件内容被改过之后的时间
访问时间:access 文件内容被访问过的时间
变化实践:change文件属性发生
stat /etc/hosts 查看系统文件的三个时间
stat查看文件属性
-c 获取指定文件属性的单一部分 %A 查看文件的权限
ls --time-style 显示修改时间的格式 =iso -l 月日时分
long-iso年月日时分
-t查看修改时间
-c文件属性发生改变时间
-a文件内容被访问过的时间
六、第一列:
表现形式是数字 33631841 叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3).
索引节点是硬盘上的一块存储空间。大小256字节或512字节。
索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。
磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
1、inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用是存放文件内容的(大片)。
2、Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,
特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
3、df -i 看inode数量 df -h 看block数量
4、磁盘满原因有两种:
4.1、inode满了。
4. 2、block满了。
提示:
no space left on device 报错,没有空间在设备上了。磁盘满了。
4.。检查步骤:
步骤1:df -h
步骤2: df -i 看是不是inode满了
为什么inode会满?
小文件太多
初始化时候 block数量远大于inode数量。