[if !supportLists]第1章 [endif]
/etc/hostname:c7主机名及配置文件
/etc/sysconfig/network:c6主机名及配置文件
/etc/sysctl.conf:调整系统、优化需要配置的文件
Sysctl-p
/usr/local/:源码编译安装软件默认的位置路径
a、rpm安装
Rpm -ivh 软件包的名字.rpm
b、yum安装,rpm包管理器,智能帮我们找一个软件包需要的依赖包
c、源代码安装
/usr/src/:存放源码文件的目录
/var目录
/var/log:记录系统及软件运行信息文件所在目录
/var/log/messages:系统级别日志文件
记录系统运行行为的文件,
/var/log/seciure:用户登录信息日志文件(安全日志文件)
/var/log/dmesg:记录硬件信息加载情况的日志文件
/proc下的重要知识路径
/proc/meminfo:查看系统内存的文件信息(free -m)
/proc/cpuinfo:查看当前CPU信息文件
/proc/loadavg:查看负载(湿系统繁忙程度的综合指标)uptime
当负载的数字和cpu核数相当的时候,就是负载的临界点。
/proc/mounts:当前设备挂载列表信息文件。
Linux启动流程:
Centos6
1、开机---》2、BIOS自检(检查计算机硬件)---》3、读MBR引导(读硬盘上的引导程序)---》4、加载GRUB菜单(选择启动的操作系统)---》5、加载内核---》6、运行操作系统的第一个进程(INIT,最早运行的进程)---》7、读取init文件(仅用来设定运行级别)---》8、(优先)读取开机启动的脚本---》9、初始化系统(设置主机名、查看RAID、文件系统地挂载等等)---》10、读取开机自启动程序---》11、加载终端
Centos7
运行Systemd进程---》加载initrd.target文件
vi/vim:纯文本编辑器
Echo:显示输出和打印
Cat:查看文件内容(tac,和cat上下相反)
Cat-n 对输出的内容显示行号
Rev:横向翻转文件内容
More:分页显示文件内容
Less:分页显示文件内容
Head:显示文件内容的开头
Tail:显示文件内容的尾部
-f:实时跟踪显示文件尾部的信息
[if !supportLists]第2章 [endif]
[if !supportLists]2.1 [endif]
tr:替换或删除字符
grep:过滤 筛子。 重要性前三名。
-v(invert) 取反筛选。
-i(ignore 忽略) 不区分大小写。
-n(number)对输出的内容显示行号。
-w(word) 按单词为单位过滤。
-o 只输出匹配的内容
-E(extend)扩展的grep,即egrep。
-A
after 显示过滤的字符串和它之后的多少行
-B
before 显示过滤的字符串和它之前的多少行
[if !supportLists]2.2 [endif]重定向符号的核心知识*****(超重点)
1>或>输出重定向,箭头方向就是数据流向,把左边的数据流量到右边,会清空右边之前的数据。
清空前一定要备份
清空文件:
[root@shizhenghao~]# > /data/oldboy.txt
[root@shizhenghao~]# cat /data/oldboy.txt
1>>或>>追加输出重定向,内容追加到文件尾部。
[root@shizhenghao~]# cat /data/oldboy.txt
iam studying linux
[root@shizhenghao~]# echo "i am studying linux" >> /data/oldboy.txt
[root@shizhenghao~]# cat /data/oldboy.txt
iam studying linux
iam studying linux
0<或<标准输入重定向,箭头方向就是数据流向
[root@shizhenghao~]# tr "am" "01" < /data/oldboy.txt
i01 studying linux
i01 studying linux
0<<或<<追加输入重定向,箭头方向就是数据流向
固定定义:
数字1 标准输出(standard output)
数字0 标准输入(standard input)
数字2 错误输出(error output)
2>标准错误输出重定向,箭头方向就是数据流向,把左边的报错输出到右边(覆盖)。
2>>标准错误追加输出重定向,箭头方向就是数据流向,把左边的报错输出到右边(追加)。
[if !supportLists]第3章 [endif]
[if !supportLists]3.1 [endif]
文件属性:文件大小,时间,类型,权限,属主
索引节点:文件的唯一标识
身份证:人的唯一标识
进程号:进程的唯一标识
[root@shizhenghao ~]# ls -lih
总用量12K
33574978 -rw-------. 1 root root 1.3K 2月 28 01:48 anaconda-ks.cfg
33575030 drwxr-xr-x 2 root root 64 3月 7 19:36 data1
33575025 drwxr-xr-x 3 root root 18 3月 8 02:00 oldboy
17225902 drwxr-xr-x 2 root root 6 3月 5 01:36 oldboy2
33910922 -rw-r--r-- 1 root root 2.3K 3月 13 17:15 oldboy.txt
33574989 -rw-r--r-- 1 root root 18 3月 13 19:37 test.txt
50785224 drwxr-xr-x. 3 root root 45 3月 13 03:24 zh
33910910 drwxr-xr-x 2 root root 6 3月 7 20:26 zh11
[if !vml]
[endif]
第二列第一个字符:文件类型
一切皆文件
1、- 普通文件
图片,视频,文档都是文件
三种类型:
[if !supportLists]a. [endif]纯文本文件
[if !supportLists]b. [endif]数据文件
[if !supportLists]c. [endif]二进制文件
2、d 目录
区分:
[if !supportLists]a. [endif]开头为d
[if !supportLists]b. [endif]颜色为蓝色
[if !supportLists]c. [endif]ls -p ,目录结尾加斜线。
d.ls -F,目录结尾加斜线,斜线结尾,
3、l软连接文件
ln (make links between files)创建链接
-s (soft)创建软连接
4、c开头的是字符设备,猫等串口设备,以b开头的是块设备
5、套接口(socket)文件,以s开头
[if !supportLists]3.2 [endif]which(查看命令所在的路径)
[if !supportLists]3.3 [endif]PATH *****
命令行命令会从PATH 对应的路径中查找命令
PATH 对应的路径中没有这个命令就会报command not found
[if !supportLists]3.4 [endif]
whereis:显示命令、源码、说明文档等的 路径
[if !supportLists]3.5 [endif]
find:查找目录下的的文件
[if !vml]
[endif]
模糊查找:*表示所有
[if !vml]
[endif]
-type:按文件类型查找
[if !vml]
[endif]
-exec:对查找的文件再处理
[if !vml]
[endif]
转义:
A 省长
\省长 返回A
-mtime:按时间查找
[if !supportLists]3.6 [endif]
xargs:从标准输入执行命令
-n + 组数
[if !vml]
[endif]
-d :指定分隔符,不指定默认是空格。
|:管道
{}:把大括号当做前面查找的结果find /data -type f -exec rm -f {} \;
相当于
rm -f oldboy1.txt
rm -f oldboy2.txt
rm -f oldboy3.txt
效率低。
find /data -type f|xargs rm -f
只是一条命令
rm -f oldboy1.txt oldboy2.txt oldboy3.txt
[if !vml]
[endif]
[if !supportLists]3.7 [endif]date
-s:修改时间
[if !vml]
[endif]
[root@shizhenghao ~]# date +%F
2019-03-14
[root@shizhenghao ~]# date +%Y
2019
[root@shizhenghao ~]# date +%y
19
[root@shizhenghao ~]# date +%m
03
[root@shizhenghao ~]# date +%d
14
[root@shizhenghao ~]# date +%H
12
[root@shizhenghao ~]# date +%m
03
[root@shizhenghao ~]# date +%S
44
-d:指定过去或未来格式
[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
- 过去
+ 未来
[if !supportLists]3.8 [endif] tar(打包压缩)*****
几何参数zcvf:
-z 压缩
-c 创建
-v 输出打包过程
f 文件
t 查看文件
-C 指定解压的目录
-x 解压
-h 跟随软链接
压缩包名字:data.tar.gz #tar表示打包,gz表示gzip格式压缩。
[if !vml]
[endif]
[if !supportLists]第4章 [endif]
[if !supportLists]4.1 [endif]
用户:管理linux系统而存在的。
用户一般分为用户名和用户ID,相当于我们的名字和身份证,名字和学号。
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
Linux里所有的用户和进程都要有用户对应。
文件存在必须对应用户
进程运行必须应用用户
Linux用户分三类:
[if !supportLists]1、[endif]超级管理员root
权限堪称皇帝。UID为0,换句话说UID为0的都有皇帝对应的权限。
[if !vml]
[endif]
[if !supportLists]2、[endif]虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499
[if !supportLists]3、[endif]普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
权限仅限制在家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步C6 500起步。
[if !vml]
[endif]
[if !supportLists]4.2 [endif]
用户组:集合、组织
人的家庭、老男孩58期
Linux里每个用户都必须要有一个组织,这个组织就叫做用户组,
用户组也是给人看,用户组也有唯一标识,group ID 简称GID。
默认情况创建用户,并没有创建用户组啊,他会自动创建一个和用户名相同的用户组以及相同的GID。
[if !vml]
[endif]
用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
[if !supportLists]4.3 [endif]文件权限
严格的权限,linux安全权限严格。
rwxr-xr-x
9个字符
r read可读取 4
w write可写 2
x execute 可执行 1
[if !supportLists]- [endif] 没有权限 0
. 是标识selinux的符号
字符分组:三个字符是一组
rwx r-x r-x
用户的权限 用户组权限 其他权限
789列:文件的最后修改时间
文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。
[root@shizhenghao ~]# stat /etc/hosts
文件:"/etc/hosts"
大小:158 块:8 IO块:4096 普通文件
设备:fd00h/64768d Inode:16793700 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2019-03-1516:38:35.467999945 +0800
最近更改:2013-06-0722:31:32.000000000 +0800
最近改动:2019-02-2801:44:52.916008285 +0800
创建时间:-
stat 查看文件属性
-c 获取指定文件属性的一部分 %A显示字符权限
[root@shizhenghao ~]# stat -c %A /etc/hosts
-rw-r--r—
[if !supportLists]4.4 [endif]
[root@shizhenghao ~]# ls -lhi
总用量8.0K
33574978 -rw-------. 1 root root 1.3K 2月 28 01:48 anaconda-ks.cfg
第一列:数字33374978叫做文件的索引节点(index
node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到。
索引节点的概念处在ext文件系统中(ext2 ext4 ext3)
索引节点是硬盘上的一块存储空间。大小256字节或12字节。
索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都在索引节点里,唯独不包含文件名(文件名在上级目录的block里)
。
磁盘要想使用,西安分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
Inode作用存储文件的属性信息。同时存放指向文件实体(block)的指针(类似软链接),
Block作用是存放文件内容的(大片)。
[if !vml]
[endif]
Inode:
[if !vml]
[endif]
Block:
Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
[if !supportLineBreakNewLine]
[endif]
磁盘满的原因有两种:
[if !supportLists]1、[endif]inode满了
[if !supportLists]2、[endif]block满了
提示:
No space left on device 报错,没有空间在设备上了。
检查步骤:
[if !supportLists]1、[endif]df -h
[if !supportLists]2、[endif]df -i 看是不是inode满了