linux系统
系统启动级别: /etc/inittab
0 ---- halt 关机
1 ---- single user mode 单用户模式
2 ---- Multiuser,without NFS 多用户模式,不支持网络文件系统
3 ---- Full multiuser mode 完全多用户
4 ---- unused 未使用
5 ---- Xll 图形化
6 ---- reboot 重启
------ id:5:initdefault: 设定当前默认启动级别
rhel6中破解密码:
重启--》 按e截停 --》 再按e --》找到中间kernel一行,再按e --》 在quiet后,按空格,在输入一个1,然后回车 --》 按b启动 --》 进入到命令行 ,去修改密码即可;修改后重启生效
rhel7中破解密码:
重启 --》 按e截停 --》 找到/vmlinuz一行,在该后去添加 rd.break console=tty0 --》 ctrl+x 启动 --》进入到命令行模式,执行如下操作
#mount -o remount,rw /sysroot 重新挂载根文件系统
#chroot /sysroot 切换到根文件系统中
#echo "redhat" | passwd --stdin root 修改密码
#touch /.autorelabel 重新打标签,千万写准确;只有执行动作后,必须重新打标签
#exit
#exit 退出重启
开启路由功能 echo 1 /proc/sys/net/ipv4/ip_forward
《一》文件管理
1.简单管理
命令方式:命令+[选项]+[参数]
基本命令:pwd cd(切换目录; 目录结构:倒状的树状结构。根目录 “/” 根目录无需自己定义,它是内核的功能,可以自引用。) ls 查看
-------》根目录下常见的功能:
/bin /sbin :binary(二进制),二进制可以执行文件(命令)
/boot:操作系统启动文件
/dev:设备文件
/etc:可配置文件:存放可修改文件
/home:普通用户家目录
/lib /lib64:动态库文件;代码片段
/mnt:做临时挂载使用
/proc /sys:内存和内核映射文件
/var:可变化文件
/root:root用户家目录
ls命令详解 (ls + 选项+ 参数)
ls : -l -a -A -d -h -r -Z -R
(一) 基本文件管理:
------@别名 :alias
文件:
查:ls -l 查看文件基本信息 文件类型:- d l c b p 权限.......等
cat tac head tail more less
增: touch
改: vim
删: rm
复制:cp
剪切:mv
目录:
增:mkdir : -p递归创建
查:ls
删:rmdir rm: -rf
改:cp: -r 递归复制 mv:改名
(二)文件压缩与解压缩
压缩目的:节约磁盘空间 节约网络带宽 对数据加密
压缩原理;靠一定数学算法,将文件内容重新排列
zip (压缩打包) bzip2 gzip xz :只压缩(压缩比=(原文件大小-压缩后文件大小)/×100% 压缩比 压缩级别关系)
tar :-cvf -xvf -rf -tf -z -j -J
(三)文件搜索
locate :本地数据库(updatedb.conf)搜索,搜索速度快,非实时。 更新本地数据库:updatedb
find :根据文件基本属性搜索 ,实时搜索,慢于locate。
选项:type perm user group size name atime ctime mtime
执行:exec +动作:rm -rf... 等{} + \;
------扩展》特殊查看:stat(文件状态) which(命令的绝对路径) type(查看命令类型) file(查看文件内容类型)
(四) 软链接和硬链接
1·高级文件系统管理:****了解概念关系图解****
文件系统划分:源数据区域 数据区域
源数据 :inode号 block位图 inode位图 超级块
inode作用 :存放文件基本属性信息 **指向了该文件所引用的磁盘块
超级块 :负责管理inode和磁盘块;所有磁盘块被使用的调度器
inode位图 :标识inode是否被占用
block位图 : 标识block是否被占用
目录下 :存放的为inode与文件名的对应关系
2·硬链接;
创建:ln 源文件 链接文件(新)
*****特点:原文件和链接文件使用相同inode
修改原文件,链接文件变化
修改链接文件,原文件变化
删除原文件或者链接文件,对方不受影响
硬链接不能跨文件系统
3·软链接:
创建:ln -s 源文件 链接文件(新)
*****特点: 原文件和链接文件使用不同的inode
修改链接文件,原文件变化
修改原文件,链接文件变化
删除链接文件;原文件不受影响
删除原文件,链接文件不可用
软链接可以跨文件系统;也可以针对目录
(五) 文件内容统计:wc 【-l ,-w ,-c 】 文件名
(六)文件内容过滤:grep "字符串" 文件名
《二》用户和用户组管理
(一) 用户管理
增:useradd 选项:-u -g -c -d -s -r -M +用户名
查:id 选项;-u -g -n +用户名 存储用户基本信息文件:/etc/passwd
删:userdel 选项:-r +用户名
改:usermod 选项;-u -g -c -d -s +用户名 修改用户密码:(一)passwd (二)echo
-----》密码加密方式:一·单向加密:一般为提取文件或字符串的特征码
二·双向加密:对称加密 :加密和解密使用同一种秘钥
非对称加密:私钥和公钥;私钥加密、公钥解密;公钥加密、私钥解密
证书 :有机构认证的公钥
第一列 1: 代表使用md5算法加密
5: 代表使用sha256算法加密
6: 代表使用sha512算法加密:
第二列 salt:加密的杂质,随机取
第三列 单项加密 :定长输出,只加密不解密,雪崩效应
扩展:md5sum 加密方式
-----》扩展:查看当前登录用户:whoami
查看当前系统中,有多少个用户登录:#uaers #who #w
查看当前登录的终端:#tty
将用户从终端踢出:pkill -kill -t 终端名
在终端中切换用户: 临时切换 su
(二)用户组管理
增:groupadd -g +组名
查:tail /etc/group 查看存放组的文件
删:groupdel +组名
改:groupmod -g +组名 修改组密码:gpasswd +组名 (存放组密码文件:/etc/gshadow)
用户组内成员管理
<一> user(用户方式):
给指定组内建立新用户---> :useradd : -g (主要组) | -G(附属组)+已存在的组id或组名 +新建立的用户名
给指定组内添加用户 ---> :usermod : -g(主要组)| -G(附属组【-a 给用户非覆盖添加附属组】)+已存在的组id或组名 +已建立的用户名
<二> group(组方式) :指定用户为组内管理员---> : gpasswd : -A +用户名 +组名
:指定用户为组内成员 ---> : gpasswd : -a +用户名 +组名
:删除用户为组内 ---> : gpasswd : -d +用户名 +组名
手动编辑文件,创建用户和组
#vim /etc/passwd :在文件内手动添加一行
(三)修改文件的所有者和所属组
修改文件所属组 : chgrp +组名 +文件名
修改文件所有者 : chown +用户名 +文件名
一并修改 : chown +用户名.组名 +文件名
参照修改 : chmod --reference 原文件 目标文件
------------存储用户基本信息的文件: /etc/passwd
#tail /etc/passwd
tom:x:500:500::/home/tom:/bin/bash
该文件用冒号(:)分隔为了7段:
第一段: 用户名
第二段: 密码占位,x仅仅是个占位符,不是真正密码
第三段: 用户的uid,用户的id号,可以标识用户
第四段: 用户的gid,用户组的id
第五段: 用户的描述信息;默认为空
第六段: 用户的家目录
第七段: 登录shell,来标识用户是否可登录,/bin/bash代表可登录,/sbin/nologin代表不可登录
------------存放密码的文件: /etc/shadow
loring:!!:18096:0:99999:7:::
该文件,用冒号分隔为九段:
第一段: 用户名
第二段: 密码
第三段: 时间戳,距离1970年1月1日有多少天(1970年为数据元年)
第四段: 密码最小使用周期,如果0代表可以随时修改,如果给3,代表密码至少使用3天才可以修改
第五段: 密码的最大使用周期,99999代表没有限定,永不过期
第六段: 密码到期前几天提醒
第七段: 密码到期---》失效 的时间
第八段: 密码失效--》 过期 的时间
第九段: 保留位,未被使用
------------查看组: 查看存放组的文件 /etc/group
#tail /etc/group
group100:x:504:
该文件用冒号分隔为了四段:
第一段: 组名
第二段: 组密码占位
第三段: 组的id号,gid
第四段: 组中的用户成员
《三》权限管理
一·基本权限:ugo=a
权限: 对用户设定,能让用户对文件具有哪些能力 (*能不能删除一个文件,只跟文件所在的父目录权限有关,与对文件的权限没有任何关系*)
增改删:chmod u;g;o;a = (rwx) 文件名
chmod u;g;o;a + / — (rwx) 文件名
chmod 数值方式:r=4 w=2 x=1 文件名
--------@扩展:(umask方向掩码作用:umask决定了用户创建文件或者目录的默认权限
#查看配置文件 /etc/profile 或 /etc/bashrc) 查:#umask 改:#umask 025
--------@扩展:查看当前用户可使用的变量(环境变量) : #env
二·特殊权限:对用户及用户组设定 chmod
suid : (提权) chmod u + — s 文件
sgid :(继承) chmod g + — s 目录
sticky : (删除) chmod o + — s 目录或文件
三·acl访问控制:
查:getfacl 文件名(目录名)
增改:setfacl -m u:用户名:权限(rwx) 文件或目录 设定默认:setfacl -d -m u:用户名:权限 文件或目录
删:setfacl -x u:用户名 文件或目录 清空acl :setfacl -b 文件或目录
四·系统权限:attr
查:lsattr 文件名
改:chattr + — i (只能查看) a (文件追加,查看,执行) A (锁定访问时间) + 文件名
----------------基本权限各权限对文件和目录的作用
对文件:(总结:x权限与r 组合才有意义;r与w组不组和都有各自意义)
---: 不能读;不能修改;也不能执行
r: 可以读;不能修改;也不能执行
w: 不能读;能强制写入,原文件内容丢失;不能执行
x: 不能读;不能修改;也不能执行;毫无意义
rx: 可以读;不能修改;可以执行
rw: 可以读;可以修改;不能执行
wx: 不能读;能强制写入,原文件内容丢失;不能执行;等同于单独具有w
rwx: 可以读;可以修改;也可以执行
对目录:(总结:w权限与x 组合才有意义;r与x组不组和都有各自意义)
---: 不能查看;也不能创建文件;不能进入
r: 能查看,只能查看一级子目录;不能创建文件;也不能进入
w: 不能查看;不能创建文件;不能进入;毫无意义
x: 不能查看;不能创建文件;能够进入;对子目录的操作不受影响
rx: 能正常查看;不能创建文件;能够进入
rw: 能查看,只能查看一级子目录;不能进入;等同于单独具有r权限
wx: 不能查看;能创建和删除文件,但是删除文件不支持通配(*?);能够进入
rwx: 能正常查看;能创建和删除文件;能够进入
《四》磁盘管理
一·基本磁盘管理
磁盘类型:----磁盘命名:----磁盘结构:----- 基础逻辑划分:-----
磁盘类型:
并口设备: IDE hdx
串口设备: SATA SCSI sdx
磁盘结构:
盘片、主轴、磁头、机械臂、永磁铁、停泊区、空气过滤器
基础的逻辑划分:
扇区: 单位时间内,磁头划过的区域;扇区固定大小为512字节
磁道: 磁头划过的周长
柱面: 将磁道向多盘片延伸的一个柱状;固定大小为8MB
MBR: master boot record 主引导记录
MBR占用硬盘的第一个扇区(前512字节);不属于任何分区
MBR分为三部分:
446字节:bootloader,设备运行时,运行的第一段代码;可以去加载驱动或内核
64字节 :分区表;每个分区占16字节
2字节 :标识整个MBR是否可用
查:fdisk -l [设备名]
增删改:fdisk 磁盘名 --help
----->通知内核重读分区列表 :rhel6 (partx -a 分区名) rhel7 (partprobe)
----->格式化 : mkfs -t ext4 /dev/sdb swap分区格式化:mkswap /dev/sdb
**低级格式化:装载MBR..... 高级格式化:创建文件系统**
----->挂载:为文件系统提供入口:1·手动挂载(临时):mount 设备名 挂载点
2·自动挂载(永久):利用文件/etc/fstab 三种:一设备名 二uuid 三卷标 # mount -a
(查看设备UUID:blkid 查看磁盘分区情况:lsblk 查看卷标:e2label 设备名)
3·查看挂载 :df -Th 或 mount swap查看验证:swapon -s 或 free -m
4·挂载选项 :-o remount(不卸载挂载)
----->卸载 :umount 挂载点或设备名
二·swap分区 :交换分区 (buffer:缓冲 cache:缓存)-->加速缓存
swap分区作用: 页面的换进换出,来临时充当内存角色
扩展:查看系统中页面的换进换出 #dstat 扩展:系统中的hash缓存查看:#hash 清空缓存:#hash -r
----->格式化 : swap分区格式化:mkswap /dev/sdb
----->开启使用: swapon 文件系统 (关闭:swapoff 文件系统)
----->查看挂载: swap查看验证:swapon -s 或 free -m
三·靠文件实现
--------->创建文件: dd if= of= bs= [seek=] count=
扩展:查看文件真实大小 :#du -h
四·逻辑卷:
在原有分区基础上,再抽象出一层;在线文件系统扩展(拉伸)
物理卷管理:指定物理卷 :pvcreate 分区
查看物理卷 :pvs pvscan pvdisplay 删除物理卷 :pvremove 分区名
卷组管理 :创建卷组 :vgcreate 【-s 大小(指定pe块大小)】 卷组名 物理卷名
查看卷组 :vgs vgscan vgdisplay 删除卷组 :vgremove 卷组名
扩展卷组 :vgextend 卷组名 新物理卷名
缩减卷组 :vgreduce 卷组名 物理卷名 (移除物理卷之前查看pvdisplay中所移除的卷是否被占用)
修改卷组名 :vgrename 源卷组名 新卷组名
逻辑卷管理:创建逻辑卷 :lvcreate -l pe数量 -n 逻辑卷名 卷组名
lvcreate -L 逻辑卷大小 -n 逻辑卷名 卷组名
查看逻辑卷 :lvs lvscan lvdisplay
删除逻辑卷 :lvremove :逻辑卷的绝对路径
扩展逻辑卷 :lvextend -L 500M 逻辑卷绝对路径 代表扩展到500M
lvextend -L +500M 逻辑卷绝对路径 代表多添加500M
逻辑卷改名 :lvrename 旧卷名 新卷名
五·磁盘配额
限定用户或者用户组对磁盘的使用量
1,分区·通知内核·格式化
2·挂载:添加挂载选项 ---> -o usrquota,grpquota /dev/sdb 挂载点
3·磁盘配额初始化:(生成记录配额数据文件)quotacheck -cugv 挂载点 (#需设定selinux#)
4·开启磁盘配额 :quotaon 挂载点 (关闭:quotaoff)
5·设定磁盘配额 :edquota -u 用户名 【-g 组名】 -f 挂载点
6`查看磁盘配额 :repquota -a
7·设定宽限时间 :edquota -t (宽限时间作用:.......)
------@扩展:设定selinux :工作模式(三种)permissive(警告不拒绝) enforcing(拒绝) disabeld(禁用)
临时修改 setenforce 0 查看为:permissive
永久修改 vim /etc/selinux/config 中对SELINUX=? 进行修改
清空防火墙规则 :查看规则#iptables -L 清空规则#iptables -F
六·靠parted分区:超2T,GPT格式,突破4个主分区限制,(支持非交互)
1·分区格式切换 :#parted 分区名 mklabel msdos或gpt (切换数据丢失)
2·非交互创建(可交互):#parted 分区名 mkpart part-type [logical/physical] 【fs-type:ext2】 start-size end-size
3·非交互查看 :#parted 分区名 print
4·非交互删除 :#parted 分区名 rm 分区号
七·raid (了解功能)
raid :独立冗余磁盘阵列
硬件 :硬raid 一·靠嵌入主板上的raid控制器实现;性能高,价格贵,不灵活
二·靠raid卡实现:性能略低,价格便宜,较灵活
软件 :软件模拟方式实现,靠内核功能;用户空间管理工具(命令)
raid级别 : 代表了硬盘阵列方式不同
了解读写冗余利用率 : *raid0:条带化技术(条带拆分) *raid1:靠镜像技术(镜像备份) *raid5:靠校验技术(所有磁盘轮流做校验)
*组合:raid10 raid01 raid50
raid10: raid10效率要高于raid01
至少4块磁盘
写性能: 会提升
读性能: 会提升
冗余能力: 可以任意损坏2块磁盘(不能同组)与raid01比较,较可靠
磁盘利用率: 50%
raid01:
至少4块磁盘
写性能: 会提升
读性能: 会提升
冗余能力: 可以任意损坏2块磁盘(可以损坏任意一组,不能为相同编号)
磁盘利用率: 50%
raid50:
至少6块磁盘
写性能: 会提升
读性能: 会提升
冗余能力: 每组可以任意损坏一块
磁盘利用率: 2/3 * 100%
了解:raid4 raid6 raid7(磁盘独立,独立cpu)
《五》软件管理
概念:程序:程序员编写的能实现某些功能的代码;以人类可读语言编写
软件:程序+程序运行时所需的文件
模块:能实现某些功能的代码片段;动态库文件(.so-->share object);不同的引用,实现的功能可能略有不同,因为调用模块时,
可以给模块传递参数;windows中以.dll结尾的文件,为动态库文件 *****
函数:能实现某些功能的代码片段,一般体积小于模块;模块由多个函数组成
程序运行的方式: 编译运行 (高级语言) 解释运行 (脚本语言)
软件安装的本质:拷贝文件、创建文件、创建链接;生成新文件
一.redhat中软件的类型:
源码包 :将程序员编写的程序+程序所需的文件一起打包
rpm格式 :将源码包制作成为rpm格式,在制作中已经做了编译处理
二进制格式 :将安装后软件的所有相关文件打包,解压可以直接使用
对平台的依赖性:
二进制格式平台依赖性最高,软件版本和能使用的系统版本必须对应
rpm格式对平台依赖略高,有些软件是不能做系统版本运行
源码包对平台依赖性最低,移植性最高,可以多系统版本运行
二·rpm
1·rpm软件包位置 : 官网:redhat fedora(EPEL) centos(vaults.centos.org)
安装光盘中:虚拟光驱 .iso文件 ----->挂载使用
2·安装软件包 :#rpm -ivh 软件包绝对路径
3·查看是否安装 :#rpm -q 软件包短名
4·卸载软件 :#rpm -e 软件包短名
5·查看所有安装软件 :#rpm -qa
6·查看已安装软件下的文件:#rpm -ql 软件包短名
7·查看已安装软件详细信息:#rpm -qi 软件包短名
a·查看未安装软件详细信息:#rpm -qpi 软件包全名
b·查看未安装软件下的文件:#rpm -qpl 软件包全名
c·查看软件依赖关系 :已安装#rpm -qR 短名 未安装#rpm -qpR 全名
-----》》&·反向查看:文件由哪个软件安装 :#rpm -qf 文件名
8·改:更新软件:#rpm -U 软件包全名
9·导入秘钥(公钥):“谁提供软件包,谁提供秘钥” :#rpm --import
@测试动作:不会真正执行 : #rpm 【选项】--test 软件包名
-----执行完动作后,查看执行命令的真假:#echo $? 输出值为0代表为真;其他为假
跳过依赖关系:#rpm 【选项】 --nodeps
三·yum工具
为解决rpm软件包之间的依赖关系 -----靠repodata目录下的repomd.xml文件实现
1·配置yum源 :***创建yum仓库,告诉yum工具repodata目录的位置*** -----》vim /etc/yum.repos.d/xxx.repo {保证yum仓库都可用}
2·查看可用软件包 :#yum list
3·查看可用的yum仓库 :#yum repolist
4·yum子命令 :#yum `clean all ` install `update`update-to`check-update`remove`info`
provides`makecache`search`localinstall`reinstall`group...`
5·下载软件包 :#yumdownloader 软件包名
6·构建本地yum源 :创建本地依赖包-#createrepo 软件包所在目录 (之后在创建yum源)
四·编译安装:针对源码包
1·下载软件包并解压 :tar zxvf nginx-1.6.0.tar.gz
2·预处理 :作用: 向程序中传递参数值;程序要引用哪些模块;决定了软件安装后具有哪些特点和功能
./configuer --help 预处理帮助:当前软件有效 (--prefix=/usr/local/nginx)
3·编译 :make
4·编译安装 :make install
5·启用该软件 :进入安装目录下的sbin/ #./nginx 启动
6·验证是否启动 :查看网络连接状态 #netstat -anltup
《六》进程管理
一·查看进程
1·静态查看:ps -elf -aux ;pstree -aup
ps {没有加任何选项,默认显示依赖当前终端产生的进程,每个进程都需要有自己的id号,系统中唯一,信息保存在/proc目录}
ps -e 显示所有的进程,包括其它终端和不依赖终端进程
ps -l long;长格式显示
ps -f full;全格式显示
ps -a 显示所有依赖终端的进程
ps -u VSZ: 虚拟内存指令集 **** RSS: 常驻内存指令集 ****
ps -x 查看所有进程,包括不依赖终端的进程
pstree -a 显示所有进程,同名进程会展开;进程可以同名,但是不能使用相同pid
pstree -u 显示进程的所有者
pstree -p 显示进程的pid号
2·动态查看
#top PR: PRI进程的优先级 NI: nice值 VIRT:虚拟内存指令集 RES:常驻内存指令集 SHR:共享内存
#top -d 3 指定进程刷新时间,默认为3秒刷新一次
二·进程前后台运行
1·进程后台运行 :命令末端加 &
2·查看后运行进程 :#jobs
3·前台运行 :#fg 进程号
4·激活后台进程 :#bg 进程号
三·进程间通信 :杀进程
1·进程间通信的三种方式:
消息: message queue MQ 消息队列 rabbitMQ activeMQ
信号: signal
共享内存: share memery
2·靠信号实现进程间通信:
查看当前系统中支持的所有信号: #kill -l 小写的L
常见信号:
1的信号: 不重启进程,重读进程配置 #kill -1 进程号
2的信号: 中断信号 #kill -2 进程号
9的信号: Kill signal 杀进程,进程必死 #kill -9 进程号
15的信号:Termination signal 终止信号;进程不一定死 #kill -15 进程号
20的信号:stop 停止进程,让进程变为stopping状态 #kill -20 进程号
18的信号:激活stop进程 #kill -18 进程号
#killall 进程名称 杀死所有同名的进程 ****
#pkill -U uid或用户名 根据进程的所有者杀进程
#pkill -U apache
#xkill 图形化杀进程
四·进程优先级:
优先级-nice值=固定值 (每次所有进程的修改都基于固定值上变化)
nice值越小,优先级数值越小,代表了优先级越高
#nice -优先级 程序 #nice -19 ./a.sh &
在运行时,指定优先级 #renice nice值 进程的pid
《七》计划任务
一·一次性计划任务 at命令
1·创建计划任务 : #at 时间 [日期] at>ctrl+d(结束编写)
2·查看计划任务 : #atq
3·删除计划任务 : #atrm 计划任务号
4·查看计划任务详细信息: #at -c 计划任务号
二·周期性计划任务: crond 服务实现
1·安装软件 :#yum install -y cronie
2·查看安装哪些文件:
3·创建计划任务 :#crontab -u 用户名 -e
4·管理服务 :#service crond restart 重启
5·查看计划任务 :#crontab -u 用户名 -l
6·清空计划任务 :#crontab -u 用户名 -r
7·时间的编写 :
0 10 * * * echo hello 每天10:00整运行 *****
25 10 * * * echo hello 每天10:25运行
1,5,9 10 * * * echo hello 每天10:01、10:05和10:09运行
1-9 10 * * * echo hello 每天10:01到10:09运行
* 10 * * * echo hello 每天10:00到10:59,每分钟运行一次
1-30/3 10 * * * echo hello 每天10:01到10:30之间,每个3分钟运行一次
*/5 10 * * * echo hello 在10点一段,每隔5分钟运行一次
*/5 * * * * echo hello 每隔五分钟运行一次
8·编辑文件实现: /var/spool/cron目录中编写
《八》时间同步---ntp服务(ntp协议)*****端口123
----@扩展:
1·系统时间; 查看:date 修改:date -s "2019-09-02 08:00:00"
2·硬件时间; 查看:hwclock 修改:通过bios修改
3·系统时间同步到硬件: #hwclock --systohc
4·硬件时间同步到系统:#hwclock --hctosys
一. rhel6: ntp服务
1·安装软件: #yum install -y ntp
2·查看安装哪些文件:
3·修改配置文件:谁能来访问我服务器(restrict),我与谁同步(server)
*server最多可以指定4个,而且是自上而下搜索同步;一旦与其中一个同步,则不再向下搜索
127.127.1. 是本地时钟的ip地址
4·配置客户端:靠命令:#ntpdate 服务器ip
靠ntp服务:如果当客户端,只需修改server,将server地址执行时间服务器的ip地址
5·重启服务
二· rhel7:chrony服务 (同理ntp)
《九》日志管理(rhel6以后:rsyslog服务)
-----@扩展: rhel6中 查看内核:#uname -r 查看系统版本用:#cat /etc/redhat-release 或者 #cat /etc/issue 查看cpu:#lscpu 或者 #cat /proc/cpuinfo
一·服务简介
1.修改配置文件:{#$ModLoad imudp
#$UDPServerRun} : 该段 实现日志的远端存储,要开启该项
modload imudp 代表加载了该模块
查看系统中可使用的模块:#lsmod
$IncludeConfig /etc/rsyslog.d/*.conf 在/etc/rsyslog.d下,所有以.conf结尾的文件,也是配置文件的一部分
*.info;mail.none;authpriv.none;cron.none /var/log/messages
$template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%
"
这是用来定义记录日志的格式,两个%间的字符串叫作宏,可以理解成是变量
二·分析日志文件
1·分类:内核及系统日志:(/var/log/messages) 用户日志(/var/log/wtmp /var/log/btmp /var/log/lastlog):程序日志(程序单独):
2·查询当前登录的用户情况:users,who,w
查询用户登录的历史记录:last,lastb
3·常见日志文件:
/var/log/cron crond 计划任务产生的事件信息
/var/log/dmesg 引导过程中产生的信息
/var/log/maillog 记录电子邮件活动信息
/var/log/lastlog 用户最近登录信息
/var/log/secure 与认证有关的信息
/var/log/wtmp 记录用户登录、注销、系统启动、关键等信息
/var/log/btmp 记录失败或者是错误的登录信息和验证
/var/log/messages 记录系统一般信息的日志 (常用)
4·日志消息的级别
0 emerg 会导致主机系统不可用的情况
1 alert 必须马上采取措施解决的问题
2 crit 比较严重的情况
3 err 运行出现问题
4 warning 可能影响系统功能,需要提醒用户的重要事件
5 notice 不会影响正常功能,但是需要注意的事件
6 info 一般信息
7 debug 程序或系统调试信息等
8 none 不记录
4·服务名称
auth # 认证相关的 (pam)
authpriv # 权限,授权相关的 (ssh,ftp等)
cron # 任务计划相关的
daemon # 守护进程相关的
kern # 内核相关的
lpr # 打印相关的
mail # 邮件相关的
mark # 标记相关的
news # 新闻相关的
security # 安全相关的,与auth 类似
syslog # syslog自己的
user # 用户相关的
uucp # unix to unix cp 相关的
local 0 到 local 7 # 用户自定义使用,通常都是在配置文件中定义的
* # *表示所有的facility
5·日志切割:logrotate
编辑滚动文件:
#vim /etc/logrorate.d/haha
/var/log/loring {
daily ------weekly,monthly
create
rotate 4 -----保存4个旧的日志文件
dateext -----是否使用日期作为旧日志文件名的一部分
compress -----是否对旧文件压缩
}
minsize 1M 文件最小要达到1M才会滚动
maxsize 100M 文件一旦到达了该值,立即滚动
missingok 没有滚动成功忽略通知
手动滚动:
#logrotate -vf 文件名
《十》启动流程
***** 一·流程
肉击 --》
主板供电 --》
固件bios加电自检 --》
检测硬件 --》
根据bios决定启动介质 --》
寻找磁盘上的MBR;加载bootloader --》
由bootloader去引导和加载内核 (根据grub.conf文件指定的位置)--》
加载内核到内存; 开始一个临时文件系统,负责解压和运行内核 --》
init进程 --》
系统初始化 --》
读取各种文件,开启进程。
各种文件:
/etc/inittab判断启动级别 --》 读取/etc/rc.d/rcX.d下的脚本文件,运行各种应用软件 --》/etc/rc.local文件,进入到登录界面 --》输入用户账号和密码 --》 /etc/profile
二·概念点
1· BIOS(Basic Input Output System,基本输入输出系统)
2· MBR:Master Boot Record主引导记录
大小是512字节,其中bootloader占了446字节,分区表占了64字节,最后2字节是结束标志(是否可用)
《十一》自动挂载 (autofs)
实现文件系统(分区)自动挂载功能,一旦使用则挂载,一定时间不使用会自动卸载
------@@
date命令使用:
查看时间:
#man date
%d 日
%D same as %m/%d/%y
%F same as %Y-%m-%d
%H 小时;24小时制
%I 小时;12小时制
%j 今天是一年中的第几天
%m 月
%M 分钟
%S 秒
%s 时间戳
%Y 年,完整格式[2019]
%y 年,显示后两位
#date 显示时间+日期
#date +%Y-%m-%d 显示年月日,其中-是分隔符,可以自定义
#date +%H:%M:%S
修改时间:
#date -s "年-月-日 小时:分钟:秒"
#date -s "2019-8-8 10:10:00"
创建一个文件,文件名中具有日期或时间: *****
#touch hello-`date +%F`.txt
`` : 在反单引号中,写一个date命令;去引用引号中命令执行的结果
#touch hello-$(date +%F).txt
$()的作用等同于``,都代表了命令替换,替换命令执行的结果
------------------------ Windows 网络命令 ----------------------------------------------
1.ping
作用:检测自己和目标主机的连通性,默认ping4次,ping包使用的协议为ICMP协议,
-t 持续ping目标主机直到收到停止信号 结束使用ctrl+c
-a 将目标IP地址解析成为主机名
例:ping -a 192.168.0.24
正在 Ping PJW4YP95CDD5ITZ [192.168.0.24] 具有 32 字节的数据:
PJW4YP95CDD5ITZ 为主机名
-n 对目标主机ping的次数
例:ping -n 3 192.168.0.1
-l ping包的大小
ping包默认大小为32字节,最多指定大小为65500字节
例:ping -l 3000 192.168.0.1
*-f 设置IP包的DF位
*DF:不进行分片(物理设备有最大发送数据大小的,一般以太网限制为1500)
2.ipconfig
作用:查看主机的配置信息,默认列出所有网卡的配置信息
/all 显示所有适配器的TCP/IP配置
/renew 更新适配器DHCP配置
/release 释放IP地址
/displaydns 显示DNS缓存信息
3.nslookup
作用:做DNS查询
例:nslookup www.baudu.com或 ping www.baudu.com
-querytype 查询类型
例:nslookup -querytype=mx baidu.com 查询这个域内的邮件服务记录
4.arp
查询ARP记录(IP地址到MAC地址)
-a 显示所有ARP信息
-s 绑定静态ARP
例:arp -s IP地址 MAC地址
-d 删除ARP信息
ARP -d IP地址
5.netstat
-a 显示所有连接及监听端口
-e 显示以太网信息
-n 不进行IP到主机的解析
-p 只显示指定的协议
-s 显示每个协议的状态
6.tracert
作用:用来做追踪的,底层也是用ICMP协议,用来追踪自己到目标经过了多少个路由器
-d 不进行IP地址到主机名的解析
例:tracert 主机名
-h 指定最大的搜索跳数
例: tracert -h 5 主机名
-w 超时时间
7.route
作用:查看当前主机上路由表的
route print 打印路由表
route add 网段 子网掩码 网关 跳数 添加路由条目
route change 网段 子网掩码 网段 子网掩码 更改路由条目
route delete 网段 删除路由条目