linux

目录

基本命令

文件和用户管理

用户

创建用户

 删除用户

 修改用户属性

用户组

创建组

组的类型

提权

用户的权限

基本权限UGO

权限的三类对象

权限的三种类型

设置权限

 编写程序

增加执行权限

 更改属主,属组

基本权限ACL(access control list)

语法

设置

特殊权限

特殊位suid

 文件属性

进程掩码(umask)

 进程管理

什么是进程?

静态查看进程ps

进程排序

进程的父子关系

自定义显示字段

动态查看进程top

 使用信号控制进程

信号种类

进程优先级nice

简介

查看进程的nice级别

启动具有不同nice级别的进程

更改现有进程的nice级别

作业 控制jobs

简介

jobs查看后台进程

 把后台程序调回前台

 当一个后台程序运行停止时

消灭后台进程

虚拟文件系统proc

虚拟文件系统

cpu

内存

内核

重定向

FD简介(文件描述符)

示例

编写邮件

利用重定向快速创建邮件

管道

tee管道

参数传递Xargs

案例

切割cut

存储管理

基本分区

磁盘简介

 管理磁盘流程三部曲

查看磁盘信息 

 创建分区

创建文件系统

挂载mount

 创建挂载点,一个分区一个挂载点

交换分区管理Swap

简介

逻辑卷LVM

高级课程

文件系统详解

文件链接

RAID

查找和压缩

文件查找

简介

命令文件查找

find

打包压缩

简介

打包,压缩

软件安装

RPM包管理

简介

​编辑

YUM工具

YUM本地源:系统安装光盘 

 使用YUM管理RPM

RPM工具

 先找到包

缺点:

源码包

获得源码包

计划任务

一次性调度执行at

语法格式

示例

循环调度执行cron

查看进程状态

日志管理

简介

任务一详解

任务二详解:日志轮转


基本命令

1.云计算? 相关职位

开源软件和linux起源:

  1. 自由软件之父:理查德.斯托曼
  2. linux之父:林纳斯.本纳第克特.托瓦兹

linux发行版

  1. RHEL:Red Hat Enterprise Linux  红帽linux商业公司
  2. CentOS:Community Enterprise Operating System 社区企业操作系统 免费的商业软件
  3. Ubuntu:桌面应用为主的开源GUN/Linux操作系统
  4. Debian

RHCE:红帽认证工程书

  1. RHCSA:红帽认证系统管理员
  2. RHCE:红帽认证工程师
  3. RHCA:红帽认证架构师

服务器分类:

  1. 塔式服务器
  2. 机架式服务器
  3. 刀片服务器

VMware-真机服务器 

启动分区 交换分区 系统分区

处理Centos7/8系统输入用户名密码后界面卡住故障记录:设置用户名有限制

注销设置的用户-以超级管理员root登录

设置网卡-网络连接

 XShell链接虚拟机

一次性创建多个文件touch file{yufeng,a,c}

拍摄快照

 文件管理

cd /到根目录

bin:普通用户使用,二进制 boot:启动 dev:硬件 etc:设备文件 home:用户主目录 root:root用户的HOME  run:临时  sbin:特权

tmp:临时  usr:应用程序  var:日志,邮件

文件类型

- 普通文件(文本文件,二进制文件,压缩文件,电影,图片)

d 目录文件(蓝色)

命令 选项 参数  ls  /        ls -l  /

ctrl+l清屏

yum install tree

touch 路径和名字

mkdir -p  路径文件 :连续创建

cp 源文件路径 目标文件 :复制

table键补齐目录  两次tab键列出所有

cp -r 源文件 目标文件 :是否将源文件夹下的所有都拷贝

cd ~:进入根目录下的root文件夹

 cd /进入根目录

mv 源文件路径 目标文件路径:移动

mv /home/a1/b1/c1/d1 /home/a1/b1/ 将d1移动到b1的文件夹下

mv /home/a1/b1/c1/d1  /tmp/d222移动并将d1改名为d222

mv /tmp/d222  /tmp/d333只改名

ctrl+shift++:屏幕放大

cat  文件 :查看全部内容

head -3 文件:查看前三行

tail

more 文件:翻页  空格翻篇回车换行

grep c /1.txt:过滤

ls 路径 >文件名:将路径下的目录信息放入文件中

gedit 文件名:打开文件

vim 文件名 i :wq         yy复制,p粘贴 dd删除 5dd一下删除5行  u撤销  x删除一个字

文件和用户管理

用户

创建用户

 /etc/passwd(冒号分割为7列字段)root:x:0:0:root:/root:/bin/bash  

用户名:x:uid:gid:描述:HOME:shell

x密码占位符,具体的内容不在这里

uid用户的身份证号 0特权用户 1~499系统用户 1000+普通用户  

gid组号

root:描述:比如经理

/root:家目录:登录系统时所在目录

/bin/bash:登录shell:命令解释器

 /etc/shadow(8列):密码加密后

  /etc/group的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户

(User)

用户创建:useradd 用户名

查询用户命令:id 用户名

修改密码:passwd 用户名

普通用户上述命令显示权限不够

指定uid: useradd user01 -u 1503

指定家目录:useradd user02 -d /aaa

useradd --help

查看所有创建的用户:cat /etc/passwd

 删除用户

userdel -r 用户名 -r删除主目录文件夹

 修改用户属性

禁用:usermod -s /sbin/nologin 用户名 (路径ke'yi'sui'yi)

用户组

创建组

groupadd hr(用户名和组名不能用纯数字)

groupadd net01 -g 2000(指定组号)

groupdel 组名

-u指定用户的UID

-g指定用户的基本组

-G指定用户的附加组

/etc/passwd 可以查看的是用户的基本组

/etc/group可以查看用户的附加组

创建用户AAA,同时生成基本组AAA

useradd AAA

grep AAA /etc/passwd

修改用户AAA的基本组为CCC

usermod AAA -g CCC

修改用户BBB的附加组为CCC

usermod BBB -G CCC

查看BBB的基本组

grep BBB /etc/passwd

查看BBB的附加组

grep CCC  /etc/group

id AAA

 gpasswd -d A GROUP

A是用户 GROUP是组名

把A从GROUP移除

 指定组的gid:groupmod -g 1512 DDD

组的类型

基本组:随用户创建的组,同用户名

附加组:

提权

永久提权su

  • 普通用户没有特权
  • 尽量少用root
  • 需要执行特殊指令时使用su,切换到超管身份

        切换用户:su  -  root

        退出root的登陆身份:exit

临时提权sudo

  • 使用普通登录服务器时
  • 完成部分特权指令

以root身份授权普通用户xulei

vim /etc/sudoers

%wheel ALL=(ALL) NOPASSWD:ALL

第107行:允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令

useradd xulei -G wheel

在xulei用户下:sudo useradd guoguo(无sudo不能创建)

用户的权限

基本权限UGO

权限的三类对象

  • 属主:u
  • 属组:g
  • 其他人:o
  • 所有人:a(u+g+o)

权限的三种类型

  • 读:r=4
  • 写:w=2
  • 执行:x=1

设置权限

更改权限:

  • 使用符号
  • 使用数字

更改属主,属组

使用符号

语法:

  • 使用符号:u用户 g组 o其他 r读 w写 x执行
  • 语法:chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x)文件/目录

 chmod (-R) u+r 1.txt(如果是文件夹加-R)

ls -l file1与ll file1 相同

 给file授予。其他用户没有读写执行的权力

chmod o=  file

chmod o-rwx file

chmod o=--- file

查看文件夹权限:ls -l -d /tmp/

使用数字

chmod 000(数字代表) file.txt

 编写程序

 file.txt

echo "hello world"
read -p "请输入姓名:" name
echo "$name是主题"

增加执行权限

chmod u+x file.txt   

./file.txt

 更改属主,属组

chown命令:

设置一个文件属于谁,属主

语法:chown 用户名.组名 文件

groupadd hr

chown user01.hr /tmp/file.txt

chown alice file1//只改属主

chown  .hr file1只改属组

chogrp命令

语法:chgrp 组名 文件 -R是递归的意思

基本权限ACL(access control list)

ACL是UGO的补充

ACL文件权限管理:设置不同用户,不同的基本权限(rwx)对象数量不同

UGO设置基本权限:只能一个用户,一个组和其他人

语法

setfacl -m u:alice:rw /home/test.txt

命令  设置 用户或组:用户名:权限 文件对象

设置

准备文件:

  • touch /home/test.txt
  • ll /home/test.txt

设置ACL:

  • 查看文件有哪些ACL权限:getfacl /home/test.txt(ll会出现权限叠加现象)
  • 设置用户alice.jack权限

        useradd alice   useradd jack

        setfacl -m u:alice:rw /home/test.txt

        setfacl -m u:jack:r /home/test.txt

请思考命令中的o是什么作用:

        setfacl -m o::rw /home/test.txt

删除权限:setfacl -x u:alice /home/test.txt

        setfacl -b /home/test.txt擦除所有信息

        

 watch -n1 'ls -l file.txt':每隔1秒查看

特殊权限

特殊位suid

1.suid是针对文件所设置的一个特别的权限

功能:使调用文件的用户,临时具备属主的能力

 

 文件属性

lsattr:查看文件的属性

chattr +i file1(无法操作此文件包括删除)

chattr -i file1

进程掩码(umask)

chmod 0777 file9999(四位第一位为特殊位,4代表suid)

系统为什么创建文件夹时,权限是755(0777-0022)

文件的权限是644,系统为了保护自己,所以在创建的文件上,去掉了所有的执行(0755-0111)

可以这只umask 0000创建的文件权限相应变换

 进程管理

什么是进程?

进程是已启动的可执行程序的运行实例,进程有以下组成部分:

  • 一个文件
  • 被分配的的地址空间
  • 有权限限制
  • 程序代码的一个或多个副本(也叫执行线程)

像人一样拥有状态

1.什么是程序

具有执行代码和执行权限的文本文件

2.什么是进程

        是运行起来的程序。获得计算机各方面的资源(CPU,MEM,DISK,NETWORK,PID)

3.进程的生命周期

        由系统程序,fork出来的子程序。具备一定父的资源(权利,内存空间,PID),直到运行完毕,退出系统。

4.进程又那些状态?

静态查看进程ps

ps aux:查看进程

ps a:显示现行终端机下的所有程序

ps u:以用户为主的格式来显示程序的状况

ps x:不以终端机来区分

ps aux|head -3查看前三行

字段含义:

user:运行进程的用户

pid:进程id

%cpu:cpu占用率

%MEM:内存占用率

VSZ:占用虚拟内存

RSS:占用实际内存

TTY:进程运行的终端

STAT:进程状态

time:进程占用cpu总时间

COMMAND:选择文件,进程名

stopped running sleeping zombie

进程排序

ps aux --sort -%cpu(加-是降序)

进程的父子关系

ps -ef

自定义显示字段

ps axo user,pid,ppid,%mem,command|head -3

动态查看进程top

top  按q退出 

top -d 1 每一秒刷新

 使用信号控制进程

信号种类

给进程发送信号(kill -l列出所有支持的信号)

tty显示当前窗口的名称

编号 信号名

1.sighup 重新加载配置

2.sigint键盘中断ctrl+c

3.sigquit键盘退出ctrl+\

9.sigkill 强制终止,无条件

15.sigterm 终止(正常结束),缺省信号

18.sigcont继续

19.sigstop 暂停

20sigtstp 键盘暂停ctrl+z(扔到后台)

ps aux命令展示了进程的哪些方面的命令

user:用户

PID:进程的编号

%CPU:占用cpu时间的百分比

%MEM:占用内存时间的百分比

VSZ RSS:虚拟内存和实际内存占用的大小

TTY:终端的类型

STAT:运行,睡眠。。。

START:进程启动的时间

command:程序的路径和名称

进程优先级nice

简介

linux进程调度及多任务,每个cpu在一个时间点上只能处理一个进程,通过时间片技术,来同时运行多个程序

查看进程的nice级别

ps axo pid,command,nice --sort=-nice | head -5

启动具有不同nice级别的进程

默认情况:启动进程时,通常会继承父进程的nice级别,默认为0

更改现有进程的nice级别

1.创建一个睡眠示例程序

sleep 7000 &

2.查看进程号

ps axo pid,command,nice | grep sleep

3.renice -20 2669

2669进程id,旧优先级为0,新优先级为-20,观察修旧的nice值

作业 控制jobs

简介

作业控制是一个命令行功能,也叫后台运行

关键词介绍:foregroud前台进程是在终端中运行的命令,占领终端

                      backgroud后台进程没有控制终端,它不需要终端的交互。看不见,但是在运行

jobs查看后台进程

jobs

 把后台程序调回前台

 当一个后台程序运行停止时

bg 4(上面ctrl+z前台程序放到后台停止运行)后台程序继续运行

消灭后台进程

kill %4(%是后台进程)

虚拟文件系统proc

虚拟文件系统

采用服务器自身内核,程序运行的状态信息

cpu

/proc/cpuinfo

内存

/proc/meminfo

内核

/proc/cmdline

重定向

date > time.txt

输出重定向:进程产生的信息。存放到文件中

输入重定向:以文本内容作为进程的标准输入

FD简介(文件描述符)

file descriptors,FD,文件描述符,文件句柄进程使用文件描述符来管理打开的文件

fd是访问文件的标识,即链接文件。省去了冗长的绝对路径

  • 0 是键盘只读
  • 1,2是终端可以理解是屏幕
  • 3+ 是文件,可读可写

示例

1.通过一个终端,打开一个文本 vim 1.txt

2.通过另一个终端,查询文本程序的进程号

3.在/proc目录中查看文本程序的FD

ls /proc/5912/fd

 

 > 覆盖  >>追加

2>:专门引导错误输出

把正确的和错误的放在一起:

 分开存放:

ls /home/ /aaaaaaa 1> yes.txt  2> no.txt

&> /dev/null 将生成的内容丢入垃圾桶

编写邮件

mail -s "ssss" alice(sssss为标题)

输完内容后.退出

查看:

  • 切换账号 su - feng
  • mail之后按1查看内容
  • 按q退出

利用重定向快速创建邮件

  • 准备文件内容vim 。。。
  • mail -s "fsfa" feng < 文件名
  • 原理:利用输入重定向,把文件内容代替人为的输入

管道

管道命令可以将多条命令组合起来,一次性完成复杂的处理任务

tee管道

cat /etc/passwd|tee file88.txt|tail -1(teee接收的是cat的内容)

参数传递Xargs

cp rm一些特殊命令就是不服其他程序

案例

  • 环境准备,准备一些文件。touch /home/file{1..5}生成五个文件
  • vim files.txt:/home/file1 /home/file3/ /home/file5

切割cut

cat /etc/passwd | grep ntp | cut -d: -f1 (以:进行分割,切取第一列)

存储管理

基本分区

磁盘简介

  • 名词:磁盘、硬盘、disk是同一个东西,不同于内存的是容量比较大。
  • 原理分区:机械硬盘即是传统普通硬盘,主要由盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成
  • 固态:固态驱动器,俗称固态硬盘,固态硬盘是由固态电子存储芯片而制成的硬盘
  • 命名:kernel对不同接口硬盘命名方式(RHEL7/centos7)IDE并口

        sata(串口): 1.   /dev/sda:/dev设备文件目录  s代表sata就是串口 d代表磁盘 a第一块

                            第二块:、dev/sdb

  • 分区方式:MBR和GPT MBR支持最大的磁盘容量是<2TB.设计时分配4个分区如果希望超过四个分区,需放弃主分区,改为扩展分区和逻辑分区

 管理磁盘流程三部曲

新硬盘:分区(MBR或者GPT)——》格式化/文件系统Filesystem——》挂载mount

查看磁盘信息 

ll /dev/sd*

lsblk

 创建分区

MBR:把房子分成我是和客厅

  • 启动分区工具:fdisk /dev/sdb
  • Select(default p):p  敲击数字1 (选择分区号)
  • 分区号(1-4,默认1):1起始扇区(2048-10485759,默认为2048)
  • 输入w保存分区信息,自动退出分区工具
  • 刷新分区表:partprobe /dev/sdb
  • 查看分区结果:fdisk -l /dev/sdb

创建文件系统

文件系统:房子里的格子柜

mkfs.ext4 /dev/sdb1或者mkfs -t ext4 /dev/sdb1

挂载mount

 创建挂载点,一个分区一个挂载点

  • mkdir /mnt/disk1
  • mount -t ext4 /dev/sdb1 /mnt/disk1
  • df  -hT查看

只能创建四个主分区,之后创建不了

  • 一块硬盘使用MBR,划分分区。数量上只能有如下选择:4主或3主+1扩展(N个逻辑)

删除分区命令:d

按n创建主分区,按e扩展分区

 扩展分区包含三个逻辑分区

交换分区管理Swap

简介

作用:‘提升容量’,防止OOM(Out of Memry)

推荐:设置交换分区大小为内存的2倍

重启:init 6或者reboot

查看内存状态:free -m

将sde2挂到虚拟内存上:

  • 分区:
  • 格式化:mkswap /dev/sde2
  • 挂载:swapon /dev/sde2

dd if=/dev/zero of=/mnt/disk4/1.txt  bs=1M count=1000将一个文件抄到另一个文件(大小,抄多少次)

逻辑卷LVM

目的:管理磁盘的一种方式,性质与基本磁盘无异

特点:随意扩张大小

术语:

  • PV物理卷
  • VG:卷组
  • LV:逻辑卷

创建物理卷:pvcreate /dev/sdf

创建卷组:vgcreate name /dev/sdf

创建逻辑卷:lvcreate -L 200M -n lv2 vg1        (在卷组中抽调空间制作逻辑卷-分区)

        指定大小,单位M,G  -L大小 -n卷名 vg1组名
创建文件系统并挂载
mkfs.ext4 /dev/vg1/lv1 注意:/dev/卷组名/逻辑卷名                                                                创建挂载点:mkdir /mnt/lv1                                                                                                       挂载:mount /dev/vg1/lv1 /mnt/lv1
 
卷组扩容:
环境:/dev/vg1 容量由4G扩容到6G
步骤一:创建PV。而后使用第二步,将PV增加到VG中。 pvcreate /dev/sdd1
步骤二:扩展VG,同时包含方法一
vgextend vg1 /dev/sdd1
pvs:查看卷组信息
 
LV扩容:
  1. lv扩容:lventend -L +200M /dev/vg1/lv1
resize2fs /dev/vg1/lv2        扩容磁盘

高级课程

文件系统详解

windows:FAT16 FAT32 NTFS
LINUX:EXT3/4 XFS文件系统

  • 类型:索引(index)文件系统
  • 系统限制:
  • 磁盘空间的限制根据inode和block两方面

block:

  • 存储文件的实际数据
  • 实际存储文件的内容,若文件较大,会占用多个block
  • block大小默认为4K

inode

  • 记录文件的属性(文件的元数据metadata) 元数据包括:文件的属性,大小,权限等
  • 一个文件占用一个inode,同时记录此文件数据所在的block number
  • inode大小为128bytes

superblock

  • block与inode的总量
  • 未使用与已使用的inode/block数量

ls -l | wc -l    文件的个数

文件链接

符号链接:(软链接)

  1. 创建一个文件,并输入内容。 echo 111 > /file1
  2. 创建一个软连接    ln -s /file1 /home/file11
  3. 观察软链接 ll /home/file11(类型不同l链接,权限提高)
  4. 删除链接文件内容在?在的   删除源文件? 不在
  5. 软连接像快捷方式,可以对文件和目录做软连接
  6. 软连接记录的只是源文件的绝对路径
  7. 软连接失去源文件不可用

硬链接:

  1. echo 222 > /file2
  2. ln /file2 /file2-h1
  3.  硬链接只能针对文件做。不能对目录做
  4. 硬链接只能在同分区做

RAID

  • 简介:廉价磁盘冗余阵列
  • 作用:容错、提升读写速率
  • 类型:RAID0,RAID1,RAID5
  • RAID1镜像集2块磁盘,容量50%
  • RAID5,至少三块等大小的硬盘(数据盘 数据盘 校验盘 热备盘)
  • 不同场景RAID的使用
  1. 硬RAID:需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
  2. 软RAID:通过操作系统实现,如Windows,Linux
  • 软RAID示例:
  1. 准备四块硬盘:RAID(3块数据盘)+1块热备

  1.  创建RAID:mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
  2. 格式化挂载:
    1. mkfs.ext4 /dev/md0
    2. mkdir /mnt/raid5
    3. mount /dev/md0 /mnt/raid5
    4. cp -rf /etc /mnt/raid5/etc1

mdadm -D /dev/md0

       mdadm /dev/md0 -f /dev/sdb -r /dev/sdb(模拟一块硬盘损坏,并移除)

  • -C 创建RAID
  • /dev/md0 第一个RAID设备
  • -l5 RAID5
  • -n RAID成员数量
  • -x 热备磁盘数量

查找和压缩

文件查找

简介

  • which:命令查找
  • find:文件查找,针对文件名
  • locate:文件查找,依赖数据库(updatedb)

命令文件查找

查找ls命令的位置:which ls 

alias ls='ls --color=auto -l'起别名

find

find [path] [options] [expression] [action]

命令 路径 选项 表达式 动作 例:find /etc -name '77551.txt'

  • iname 不区分大小写
  • find /etc/ -size +5M 文件大小在5M以上
  • find / -maxdepth 2 -a -name ifcfg- en* 两级目录
  • find /home -user jack//属主是jack的文件
  • find /home -group hr//属主是hr的文件
  • find /dev -type f 按文件类型
  • find /dev -type d
  • find . -perm 714 -ls 按文件权限
  • find /etc -name "111*" -delete 找到后删除
  • find /etc/ -name ifcfg* -ok cp -rvf {} /tmp \; 找到后复制

打包压缩

简介

tar命令是Unix、Linux系统中备份文件的可靠方法

几乎可以工作于任何环境中,它的使用权限是所有用户。建议针对目录

打包,压缩

  • 语法:tar 选项  压缩包名称 源文件   tar -cf 1.tar /etc(-cf 创建文件 -czf 打包并压缩,z是gzip)  -cjf j是bzip -cJf J是xzip
  • 压缩原理:去重法(文件的体积小,缺点无法直接使用)
  • 解压缩:tar -xf 111 -C 路径

软件安装

RPM包管理

简介

  • RPM Package Manager(原Red Hat Package Manager,现在是一个递归缩写)
  • 由Red Hat公司提出,被众多Linux发行版所采用
  • 也称二进制无需编译,可以直接使用
  • 无法设定个人设置,开关功能
  • 软件包示例(注意示例):mysql-community-common-5.7.12-1.el7.x86_64.rpm

YUM工具

是一个在Fedora和RedHat以及CenOS中的Shell前端软件包管理器

基于RPM包管理器,能够从指定的服务器自动下载RPM包并安装,安装

可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须频繁的一次次下载

YUM本地源:系统安装光盘 

  • 目的:通知linux服务器,通过本机的系统光盘获得软件包,并安装软件
  • 观察YUM核心配置目录:
    1. 记住这个目录/etc/yum.repos.d/
    2. 打开一个*.repo
    3. 观察国外地址(下载慢)
  •  删除官方yum库:  mv /etc/yum.repos.d/* /tmp

  • 编写本地YUM库配置文件

    1. vim /etc /yum.repos.d/dvd.repo

    2. [dvd]——name=dvd——baseurl=file:///mnt/cdrom——gpgcheck=0

  • mkdir /mnt/cdrom(装载软件包)

  • 挂载mount /dev/cdrom /mnt/cdrom/(光盘 挂载点)要有光盘而且要插上电

  • init 6重启后挂载失效 

  • vim /root/.bashrc(开机自动执行)——写入之前挂载的命令

  • systemctl start httpd(127..0.0.1)

  • systemctl stop firewalld

  • systemctl disable firewalld(证明程序安装成功)

  • 请理原有的yum配置
  • 下载阿里巴巴开源镜像站官网配置
  • 更新YUM仓库
  • 执行安装

 

 查看下载源:yum repolist

 使用YUM管理RPM

安装

  • 全新安装:yum -y install httpd vsftpd(-y yes自动确认 软件包1 软件包2)
  • reinstall 重新安装
  • 升级安装: yum -y update httpd

查询

  • 查看是否安装;yum list httpd

卸载

  • yum -y remove httpd

yum makecache更新yum源

RPM工具

 先找到包

  • cd /mnt/cdrom/Packages检查包是否存在
  •  rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm(ivh 安装可视百分比)
  • rpm -q wget 查询,看到软件包的名字,就说明rpm -q查询成功,已经安装软件
  • 卸载:rpm -evh wget-....后面不要加后缀.rpm

缺点:

        RPM无法处理依赖

源码包

  • source code需要经过GCC,C++编译环境编译才能运行
  • 可以设定个人设置,开关功能
  • 软件包示例:nginx-1.8.1..tar.gz
  • 认识源码包
  • 配置复杂
  • 认识源码包:nginx 包名 -1.8.1版本号 .tar.gz压缩格式

获得源码包

官方网站可以获得最新的软件包

  • Apache:www.apache.org
  • Nginx:www.nginx.org
  • Tengine:tengine.taobao.org
  1. 直接浏览器下载
  2. 命令下载——wget 网址
  3. yum install -y wget
  4. wget 下面网址
  •  准备编译环境如解释器——yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
  • useradd www
  • tar xf tengine-2.3.3.tar.gz
  • cd tengine-2.3.3
  • ./configure --user=www --group=www --prefix=/usr/loca/ngimx(指定路径)
  • 编译make
  • 安装 make install

启动测试

  • 可能之前的实验,安装过httpd服务,如果直接使用nginx会与冲突,请确保关闭httpd
  • systemctl stop httpd
  • /usr/loca/ngimx/sbin/nginx
  • systemctl stop firewalld
  • 使用浏览器访问本机的IP,127.0.0.1,如果能看到NGINX网页,说明部署成功
     

计划任务

一次性调度执行at

语法格式

at <TIMESPEC>

<TIMESPEC>示例

now +5min

teatime  tomorrow

at now +2min——>useradd uuu——>ctrl+d退出

atq查看

循环调度执行cron

  • cron的概念和crontab是不可分割的
  • crontab是一个命令,常见于Unix和Linux的操作系统中
  • 用于设置周期性被执行的指令
  • 该命令从标准输入设备读取指令,并将其存放再“crontab”文件中,以供之后读取和执行

查看进程状态

  • systemctl status crond.service
  • ps aux|grep crond
  • ls /var/spool/cron
  • crontab -e
  • 分 时 日 月 周 命令或执行脚本(六个部分用空格隔开)
  • * *  * * * 命令

日志管理

简介

任务一(rsyslog系统日志管理):关心问题:哪类程序——产生什么日志——放到什么地方

任务二(logrotate日志轮转):将大量的日志,分割管理,删除旧日志

任务一详解

处理日志的进程

第一类:

  • rsyslogd:系统专职日志程序
  • 处理绝大部分日志记录
  • 系统操作有关的信息,如登录信息,程序启动关闭信息

第二类:

  • httpd/nginx/mysql:各类应用程序,可以以自己的方式记录日志、讲解对应程序时会逐步介绍

观察rsyslogd程序

  • ps aux|grep rsyslogd

常见的日志文件(系统、进程、应用程序)

  • tail -10 /var/log/messages   系统主日志文件
  • tail -f /var/log/messages    动态查看日志文件的尾部
  • tailf /var/log/secure  认证安全
  • tail /var/log/yum.log //yum
  • tail /var/log/maillog 根邮件postfix相关

rsyslogd配置

1.相关程序

  • yum install rsyslog logrotate(默认已安装)

2.启动程序

  • systemctl start rsyslog.service

3.相关文件

        rpm -qc rsyslog(查询软件包的安装情况,c配置文件)

  • /etc/rsyslog.conf——rsyslogd的主配置文件(关键)
  • /etc/rsysconfig/rsyslog——rsyslogd的相关文件 
  • /etc/logrotate.d/syslog——和日志办轮转(切割)相关(任务二)

主配置文件:

  • 告诉rsyslogd进程什么日志,应该存在哪里
  • vim /etc/rsyslog.conf(:set nu显示全部)
  • 设备——级别——路径

man rpm(查看咋用)

特性:rsyslog程序 /etc/rsyslog.conf           ssh程序 /etc/ssh.conf

任务二详解:日志轮转

工作原理:

  • 按照配置进行轮转
    • 配置文件种类(主文件:/etc/logrotate.conf决定每个日志文件如何轮转  子文件:/etc/logrotate.d/*)
    • 观察主文件和子文件        
  • vim /etc/logrotate.conf  
    • weekly  //轮转的周期,一周轮转
    • rotate 4 //保留4份
    • create //轮转后创建新文件
    • dateext //使用日期作为后缀
    • compress //是否压缩
    • include /etc/logrotate.d //包含该目录下的配置文件
    • /var/log/wtmp{  days}这里为什么出现了,用户登录日志文件。在配置文件中,书写日志的名字和大括号。就可以独立的设定该日志的轮转规则
    • minsize 1M //最小达到1M才轮转,monthly and minsize
    • create 0664 root utmp //轮转后创建新文件,并设置权限(权限 属主 属组)
    • missingok //丢失不提示
    • notifempty //空文件不论转
    • maxsize 30K //达到30k轮转 daily or size
    • date 04011000 修改时间
    • /usr/sbin/logrotate(命令) -s /var/lib/logrotate/logrotate/logrotate.status(时间戳)  /etc/logrotate.conf
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小木猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值