1.统计日志,日志内容

39.96.187.239 - - [11/Nov/2019:10:08:01 +0800] "GET / HTTP/1.1" 302 0 "-" "Zabbix"

211.162.238.91 - - [11/Nov/2019:10:08:02 +0800] "GET /api/v1/course_sub/category/list/?belong=1 HTTP/1.1" 200 363 "https://www.luffycity.com/free" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"

211.162.238.91 - - [11/Nov/2019:10:08:02 +0800] "GET /api/v1/degree_course/ HTTP/1.1" 200 370 "https://www.luffycity.com/free" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"

统计日志的访客ip数量

[root@huahua-centos7-aliyun luffy]# cat log.txt | awk '{print $1}' | sort -r | uniq  | wc -l
2

查看访问最频繁的前10个ip

[root@huahua-centos7-aliyun luffy]# cat log.txt | awk '{print $1}' | sort -nr | uniq  -c | tail -10
2 211.162.238.91
1 39.96.187.239
[root@huahua-centos7-aliyun luffy]#

2.查看linux的定时任务列表

[root@huahua-centos7-aliyun ~]# crontab -l

*/1 * * * * root echo "hello world!"

3.每晚0点整,把站点目录/var/www/html下的内容打包备份到/data目录下

[root@vm-main data]# crontab -e

*/1 * * * *  tar -zcPf /data/log.tgz /var/log/www/*

4.每5分钟让服务器进行时间同步

*/5 * * * *  /usr/sbin/ntpdate ntp.tencent.com

5.在每天的10:31开始,每隔2小时重复一次

31 10-23/2 * * *  /usr/sbin/ntpdate ntp.tencent.com

6.每周六凌晨4:00执行

00 4 * * 6  /usr/sbin/ntpdate ntp.tencent.com

7.linux对磁盘分区格式化的命令

mkfs

8.解释inode与block的含义

inode

   中文名叫索引节点,是存放文件的元信息(文件创建者,日期,大小等,可以通过stat

查看)和文件的实体指针(指向block的位置,这也是inode和block的关系)的区域。

inode 的大小一般为128-256字节,inode节点总数在格式化时就决定了

block

   block就是存放实际文件数据的单元,单个文件占多个block存储,通过inode寻找block

一个block最少4K,也就意味着你创建一个文件至少需要一个block也就是4k

9.格式化分区/dev/sdc1为xfs文件系统(提示:注意格式化分区文件系统前,检查好当前分区是否在用,是否重要,明确后再自己本地虚拟机实验)

mkfs.xfs /dev/sdc1

10.简述buffers和cache含义及作用

cache是缓存,cached是给读取数据时加速的cached是指把读取出来的数据保存在内存中,再次读取,不用读取硬盘而直接从内存中读取,加速数据读取过程。

buffers是缓冲buffers是指写入数据时,把分散的写入操作保存到内存,达到一定程度集中写入硬盘,减少磁盘碎片,以及反复的寻道时间,加速数据写入。

11.简述raid不同级别的区别

raid 0:

  将两个或以上相同型号,容量的磁盘组合,磁盘阵列的总容量便是多个硬盘的总和,

数据依次写入物理硬盘,理想状态下,硬盘读写性能翻倍,但是任意一块磁盘损坏会导致,

所有数据丢失。raid 0适用于对数据安全性不太关注,追求性能的场景。

raid 1:

  是将两块硬盘以上硬盘绑定,数据写入时,同时写入多个硬盘,因此即使有硬盘故障,

也有数据备份。raid 1的利用率很低,冗余性高。

raid 3:

  通过异或运算:数字相同则为0,数字不同则为1。只要存储异或结果的磁盘不坏,其他

任意坏一块磁盘都可以通过异或运算反推恢复数据,最少三块磁盘,同样浪费一块磁盘。

存放异或运算的磁盘不能损坏。

raid 5:

  需要四块硬盘,也是通过异或运算,但是异或运算的结果是会均匀的放在每一块硬盘上,

如disk 1存放disk 2,3,4的结果,这样任意一块磁盘损坏都能恢复数据了,提高的容错率,

但是也仅仅是只能挂掉一块硬盘。

raid 10:

  raid 10 其实是raid 0 加上raid 1,吸收了raid 0的效率,raid 1的安全性,因此需要四块

12.简述lvm创建流程

1.物理分区阶段:将物理磁盘fdisk格式化修改System ID为LVM标记(8e)

2.PV阶段:通过pvcreate、pvdisplay将Linux分区处理为物理卷PV

pvcreate /dev/sdc /dev/sdd

3.VG阶段:接下来通过vgcreate、vgdisplay将创建好的物理卷PV处理为卷组VG

vgcreate storage  /dev/sdc /dev/sdd

4.LV阶段:通过lvcreate将卷组分成若干个逻辑卷LV

lvcreate -n lvm-test -L 100M storage

5.开始使用:通过mkfs对LV格式化,最后挂载LV使用

mkfs.xfs /dev/storage/lvm-test

mount /dev/storage/lvm-test /LVN-TEST/

13.简述lvm动态扩容流程

[root@vm-main /]# lvs

 LV    VG    Attr    LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

 root   centos  -wi-ao---- 17.80g

 swap   centos  -wi-ao----  2.00g

 lvm-test storage -wi-ao----  1.20g

[root@vm-main /]# lvextend -L 1.5G /dev/storage/lvm-test

 Size of logical volume storage/lvm-test changed from 1.20 GiB (308 extents) to 1.50 GiB (384 extents).

 Logical volume storage/lvm-test successfully resized.

[root@vm-main /]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/centos-root     18G  2.2G  16G  13% /

devtmpfs            478M   0  478M  0% /dev

tmpfs              489M   0  489M  0% /dev/shm

tmpfs              489M  6.9M  482M  2% /run

tmpfs              489M   0  489M  0% /sys/fs/cgroup

/dev/sdb1            10G  59M  10G  1% /data

/dev/sda1            197M  103M  95M  53% /boot

tmpfs              98M   0  98M  0% /run/user/0

/dev/mapper/storage-lvm--test  1.2G  26M  1.2G  3% /LVN-TEST

[root@vm-main /]# xfs_growfs /dev/storage/lvm-test

meta-data=/dev/mapper/storage-lvm--test isize=512   agcount=10, agsize=32000 blks

​     =            sectsz=512  attr=2, projid32bit=1

​     =            crc=1     finobt=0 spinodes=0

data   =            bsize=4096  blocks=315392, imaxpct=25

​     =            sunit=0    swidth=0 blks

naming  =version 2        bsize=4096  ascii-ci=0 ftype=1

log    =internal        bsize=4096  blocks=855, version=2

​     =            sectsz=512  sunit=0 blks, lazy-count=1

realtime =none          extsz=4096  blocks=0, rtextents=0

data blocks changed from 315392 to 393216

[root@vm-main /]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/centos-root     18G  2.2G  16G  13% /

devtmpfs            478M   0  478M  0% /dev

tmpfs              489M   0  489M  0% /dev/shm

tmpfs              489M  6.9M  482M  2% /run

tmpfs              489M   0  489M  0% /sys/fs/cgroup

/dev/sdb1            10G  59M  10G  1% /data

/dev/sda1            197M  103M  95M  53% /boot

tmpfs              98M   0  98M  0% /run/user/0

/dev/mapper/storage-lvm--test  1.5G  26M  1.5G  2% /LVN-TEST

[root@vm-main /]# lvs

 LV    VG    Attr    LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

 root   centos  -wi-ao---- 17.80g

 swap   centos  -wi-ao----  2.00g

 lvm-test storage -wi-ao----  1.50g

14.如何配置yum源,能够下载诸多第三方软件?

备份原始配置文件

[root@vm-main yum.repos.d]# cd /etc/yum.repos.d/

[root@vm-main yum.repos.d]# mkdir bak

[root@vm-main yum.repos.d]# mv *.repo bak/

下载新的阿里云配置文件到本地

wget -O aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

15.简述源代码编译安装nginx的步骤

1.补包

[root@vm-main yum.repos.d]# yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

2.获取安装包

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

3.解压并进入目录

tar -zxvf nginx-1.12.0.tar.gz

4.检查安装环境

./configure --prefix=/opt/nginx112/

5.编译安装

make && make install

16.linux有哪些系统资源监控的命令?

top

第二阶段:高级核心基础知识·第4章shell特性·2的更多相关文章

  1. 第二阶段:高级核心基础知识·第1章Linux三剑客·1

    1.用vmware添加一块10G的硬盘,且永久挂载到/data01中,写出详细的步骤 2.用自己语言描述raid0和raid1的区别 RAID 0: 将两个或以上相同信号,容量的硬盘组合,磁盘阵列的总 ...

  2. unix环境高级编程基础知识之第四章

    1.从当前用户转到root用户:直接输入su命令,然后输入root密码,如果之前没有设置root命令密码会登陆不成功,这里需要命令sudo passwd命令设置密码,然后按照上面输入就成:从root命 ...

  3. Java核心技术卷一基础知识-第11章-异常、断言、日志和调试-读书笔记

    第11章 异常.断言.日志和调试 本章内容: * 处理错误 * 捕获异常 * 使用异常机制的技巧 * 使用断言 * 日志 * 调试技巧 * GUI程序排错技巧 * 使用调试器 11.1 处理错误 如果 ...

  4. unix环境高级编程基础知识之第二篇(3)

    看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...

  5. Java核心技术卷一基础知识-第14章-多线程-读书笔记

    第 14 章 多线程 本章内容: * 什么是线程 * 中断线程 * 线程状态 * 线程属性 * 同步 * 阻塞队列 * 线程安全的集合 * Collable与Future * 执行器 * 同步器 * ...

  6. Java核心技术卷一基础知识-第8章-事件处理-读书笔记

    第8章 事件处理 本章内容: * 事件处理基础 * 动作 * 鼠标事件 * AWT事件继承层次 8.1 事件处理基础 在AWT所知的事件范围内,完全可以控制事件从事件源(event source)例如 ...

  7. Java核心技术卷一基础知识-第5章-继承-读书笔记

    第5章 继承 本章内容: * 类.超类和子类 * Object:所有类的超类 * 泛型数组列表 * 对象包装器和自动装箱 * 参数数量可变的方法 * 枚举类 * 反射 * 继承设计的技巧 利用继承,人 ...

  8. 第一篇 网站基础知识 第5章 自己动手实现HTTP协议

    第5章 自己动手实现HTTP协议 我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在第4章NioServer的基础上自己做一 ...

  9. unix环境高级编程基础知识之第一篇

    陆陆续续看完了圣经第一章,熟悉了unix的整个编程流程,c语言的用处在这里得到伸张. 从unix的体系结构,原来操作系统包括内核及一些其他软件,我们常常误称为linux内核为操作系统,这俨然成为一种共 ...

随机推荐

  1. React生命周期和响应式原理(Fiber架构)

    注意:只有类组件才有生命周期钩子函数,函数组件没有生命周期钩子函数. 生命周期 装载阶段:constructor() render() componentDidMount() 更新阶段:render( ...

  2. Luogu1064 金明的预算方案 (有依赖的背包)

    枚举多个状态 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...

  3. 数据结构与算法【Java】03---栈

    前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...

  4. 使用Fiddler劫持网络资源为前端开发助力(示例:Dynamic CRM 表单开发 也能热更新? )

    背景: 使用过vue开发的童鞋应该都知道,在开发vue项目的过程中,有个叫"热更新"的功能特别爽,在传统html开发到初次接触vue时,才发现原来前端开发可以这么香.热更新的表现形 ...

  5. 一,DRF入门规范

    一 Web应用模式 在开发Web应用中,有两种应用模式: 1.1 前后端不分离 1.2 前后端分离 二 API接口 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的 ...

  6. LOJ2312 LUOGU-P3733「HAOI2017」八纵八横 (异或线性基、生成树、线段树分治)

    八纵八横 题目描述 Anihc国有n个城市,这n个城市从1~n编号,1号城市为首都.城市间初始时有m条高速公路,每条高速公路都有一个非负整数的经济影响因子,每条高速公路的两端都是城市(可能两端是同一个 ...

  7. 【JDBC】学习路径3-密码登录&SQL注入攻击

    最后再提醒一句,每次在测试JDBC程序的时候,一定要确保MySQL正在运行. 打开控制台(终端),输入mysql 如果没启动,则出现以下提示: Mac端启动MySQL数据库,需要在系统便好设置中启动. ...

  8. React报错之Rendered more hooks than during the previous render

    正文从这开始~ 总览 当我们有条件地调用一个钩子或在所有钩子运行之前提前返回时,会产生"Rendered more hooks than during the previous render ...

  9. C#实现HTTP访问类HttpHelper

    在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是Web API,这时候我们就需要使用HttpHelper调用远程接口了.示例中的HttpHelper类使用Log4Net记录了每 ...

  10. C++ 初识函数模板

    1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板. 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float ...