3月11日
Linux永远不需要也不能重启。
/etc/hostname C7主机名配置文件
/etc/sysconfig/network C6主机名配置文件
[root@oldboy~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboy
更改主机名
hostnamectl set-hostname oldboy
#<==永久生效
[root@oldboyedu~]# cat /etc/hostname
Oldboy
C6:和C7永久生效:
vim/etc/sysconfig/network
hostnameoldboyedu
临时改一下 # hostname oldboyedu
# cat /etc/hostname
oldboy
图形改 nmtui
/etc/sysctl.conf Linux内核参数信息文件
调整Linux系统、优化需要设置这个文件
sysctl
-p 让修改后的文件生效
/usr目录的重要知识介绍
/usr/local:源码编译安装软件默认的位置路径
软件安装
a.rpm安装(rpm -ivh 安装包的包名.rpm)
b.yum安装,rpm包管理包,智能帮我们找一个软件包需要的依赖包
本质就是rpm安装。自动解决依赖,自动使用rpm命令实现安装
c.源代码安装
/usr/src:存放源码文件的目录
/var/log:记录系统及软件运行信息文件所在的目录
log日志信息=====计算机运行行为
/var/log/messages:Linux系统级别文件日志
记录Linux系统运行行为的文件,正常和非正常行为
/var/log/secure:用户登录信息日志文件(安全日志文件)
/var/log/demsg:记录硬件信息加载情况的日志文件
dmesg- print or control the kernel ring buffer
/proc下的文件重要指示路径
/proc/meminfo查看系统内存 free -m查看内存
/proc/cpuinfo查看cpu
/proc/loadavg查看负载(系统繁忙程度的一个综合指标)
[[email protected]~]# uptime
09:29:09up 36 min, 1 user, load average: 0.00, 0.01, 0.05
当前时间 开机多久 那些用户 负载 平均 1分钟 5分钟 15分钟
负载的数字和cpu核数相当的时候就是一个临界点,例如 一颗两核 临界负载就是2
cat/proc/mounts 查看当前设备挂载列表信息文件 =(df
-h)
vim 模式介绍及应用
普通模式:
:set nu 显示行号
普通模式:移动光标:
行首$
行尾0
文件尾部 G
文件开头 gg
到指定行 ngg n是数字
普通模式:搜索与替换操作
向下搜索 /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光标下一个字符插入
[3.3 命令行模式
:wq 退出并保存
:wq! 退出并强制保存,“!”为强制的意思
:q! 强制退出,不保存
:setnu 显示行号
:setnonu 与set nu相反,取消行号
本节所讲命令
Hostname 设置主机名
hostnamectl 设置主机名C7,永久
hostname 设置主机名C7和C6,临时
vi/vim:纯文本编辑器
vi 记事本
vim notepad++
cat 查看文件内容(tac和cat相反)
-n显示行号
more:分页显示文件内容
less:分页显示文件内容
head:显示文件内容头部
默认显示前10行,显示前N行,-n 数字 n可以省略 -数字
tail:显示文件尾部内容
默认显示后10行,显示后N行,-n 数字 n可以省略 -数字
-f跟踪显示文件尾部的信息
tac按行翻转文件内容(和cat相反)
concatenateand print files in reverse
rev左右按字符翻转行的内容
reverselines of a file or files
centos 6启动流程 centos7启动流程
bios 自检 bios 自检
加载MBR信息 加载MBR信息
加载Grub菜单 加载Grub菜单
加载内核 加载内核
加载init进程 运行systemd程序
设定系统运行级别 读取系统运行级别
设定系统初始化 执行系统初始化程序
设定当前运行级别的脚本启动文件 并行启动各种服务
加载开机自启动程序 进入用户登录界面
进入用户登录界面
3月13日
Linux里严格区分大小写。
[root@oldgirl ~]#cat test.txt
Welcome to oldboytraining.
we are excellent.
[root@oldgirl ~]#tr "w" "9" < test.txt
Welcome to oldboytraining.
9e are excellent.
[root@oldgirl ~]#tr w 9 < test.txt
Welcome to oldboytraining.
9e are excellent.
注:所有字符都尽量加双引号
基础命令讲解
tr 替换或删除字符
grep 过滤 筛子。重要性前三名 格式grep "A" -a test.txt
-v invert 取反
-i ignore 不区分大小写
-n number(数字) 对输出的内容显示在源文件的行号
-w word (单词) 以单词为单位过滤
-o 只匹配过滤的内容
-E extend()扩展的grep,即egrep
重定向符号的核心知识
> 标准输出重定向 (箭头方向就是数据流向)
把左边的数据流向到右边,会清空右边之前的数据
清空前备份
[[email protected] ~]#
cp test.txt {,.ori} 备份文件
[[email protected] ~]#cp test.txt test.txt.ori备份文件
清空文件:>test.txt
>>标准追加输出重定向,内容追加到文件尾部。
echo “I am studying linux”>>/data/oldboy.txt
< 标准标准输入重定向 (箭头方向就是数据流向)
tr "am""01"
<<标准追加输入重定向,箭头方向就是数据流向
cat>oldboy.txt<
>I am oldboy
>EOF
<== EOF成对出现,后面这个顶格
固定定义:
数字1 标准输出(standard output)
数字0 标准输入(standard input)
数字2 错误输出(error output)
2> 错误输出重定向,箭头方向就是数据流向,把左边的报错输出到右边(覆盖)
2>> 错误追加输出重定向,箭头方向就是数据流向,把左边的报错输出到右边(追加)
[if !supportLists]2.3.6 [endif]此外还有一个特殊重定向用法:
将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有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
文件属性:
文件的大小 类型 权限 属主
索引节点:文件的唯一标识
身份证:人的唯一标识哦
进程号:进程的唯一标识
33631870 -rw-r--r--. 1 root root 4 Mar 13 11:29 a.txt
1 2 3 4 5 6 7 8 9 10
共10列第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
第二列:文件类型及权限。这一列共11个字符,其中第一个字符为文件类型,随后的9个字符为文件的对应权限,最后一个字符点号“.”是和selinux有关的一个标识;
第三列: 硬链接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日
第九列: 时间
第十列: 文件名
第二列第一个字符:文件类型
一切皆文件。Windows用扩展名区分文件,linux里有自己的文件类型,
linux的扩展名兼容windows 方便区分文件
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,目录结尾加斜线,斜线结尾
D.ls -F,不同类型文件结尾加不同指示符号
3月14日
符号链接(sysmbolic link)文件 ,软链接(soft link)
快捷方式ln -s rm
字符(charzcter)/块(block)设备文件
以c开头的就是字符设备,猫等串口设备
以b开头的块设备 硬盘、光驱等都属于块设备
套接口(socket)文件
用于进程之间通信的文件
基础命令
which 查命令所在的路径
重点:
PATH 变量作用
命令行命令会从PATH对应的路径中查找命令,PATH对应的路径中没有就会报command not found
whereis:显示命令、源码、说明文档等路径
-b 只查找二进制命令
locate:快速定位文件路径
查找文件路径,是从数据库A里查询
更新A数据库用
centos 7 默认没有安装
yum provides locate 查看命令对应的软件包
yum install mlocate -y
find:查找目录下的文件
查找原理:磁盘遍历,速度慢。
练习:从根下查找ifcfg-eth网卡文件
find/ -name “ifcfg-eth0”
模糊查找 * 表示所有
按文件类型查找type
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 option is in effect,
unless the symbolic link is broken. If you want to search for symbolic links when -L is
in effect, use -xtype.
find / -type d -name "oldboy"
这里的类型和名字是取交集,两条件都满足。默认是交集,相当于有个-a
如果取并集即或者用-o分割查找的项
find / -type d -o -name "oldboy*"
了解:
-a and 并且
-o or 或者
! 取反
xargs 分组
-n数字,几个内容分成一组 xargs -n a
-d 指定分隔符,如果不指定,默认是空格
xargs -n a”.”
-d指定分隔符,如果不指定,默认是空格
-I -i 把{}当作前面查找的结果
data 显示日期和时间
-s 修改时间
clock -w 应用到bios界面
data +%F +%Y +%M +%D +%H +%M +%S
年 月 日 时 分 秒
打包压缩 tar
打包 筐 放文件 压缩体积降低
文件压缩,大小会降低。
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 zxvfdata.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 xfdata.tar.gz
[root@oldboyedu /opt]# tar xfdata.tar.gz -C /tmp/
[root@oldboyedu /opt]# ls/tmp/data
1.txt 2.txt 3.txt 4.txt 5.txt
3月15日
用户:管理Linux系统而存在的。
用户一般分为用户和用户ID
相当于我们的名字和身份证,名字和学号。
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
user UID
Linux里所有的用户和进程都要有用户
文件存在必须对应用户
进程运行必须对应用户
Linux用户分三类
1、超级管理员 root
权限堪称皇帝。UID,换句话说UID为0的都有皇帝对应的权限
不要修改ID为0变管理员。
2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求,但是又不会带来管理风险。
UID 1-499
3、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
大臣、臣民一起管理
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/目录
UID C7 1000起步C6 500起步
[[email protected] ~]# useradd oldgirl
用户组:集合、组织
Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组,它会自动创建一个和用户名相同的用户组及相同的GID
用户和用户组的对应关系
1、一个用户可以对应一个用户组
2、一个用户可以对应多个用户组
3、多个用户可以对应一个用户组
4、多个用户可以对应多个用户组
文件属性
文件权限:严格的权限,Linux安全权限严格
rwxr-xr-x
9个字符
r read 可读取 4
w write 可写 2
x execute 可执行 1
- 没有权限 0
字符分组:3个字符是一组
d rwx r-x r-x
1.用户权限 2.用户组权限 3.其他权限
789列:文件的最后修改时间
文件时间有3种:
1、修改时间:modify,文件内容被改过之后的时间。
2、访问时间:zccess,文件内容被访问过的时间。
3、变化时间:change,文件属性发生改变的时间。
stat 查看文件属性
ls参数
-t查看修改时间
-c文件属性发生改变的时间
-a文件内容被访问过的时间
ls – lhi第一列33631841 叫做文件的索引节点
是文件在系统中的唯一标识
找一个文件最终中都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2、4、3)
索引节点是银盘上的一块存储空间。大小256字节或512字节。索引节点里是存放数据是文件的属性(大小、时间、用户和组、权限等)
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)
磁盘要想使用,先分区,格式化(创建文件系统)
格式化创建文件系统时,就会生成大量的inode和block
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
df -I 看inode数量
df -h 看block数量
磁盘满原因有两种
1、inode满了
2、block满了
检查步骤:
步骤1.df -h
步骤2.df -i 看是不是inode满了
为什么inode会满
小文件太多
初始化时候 block数量远大于inode数量
一个文件大片占一个inode,10万个block