70% 命令+通配符 正则表达式+三剑客

第0章:

1,程序、进程和守护进程有什么区别?*

  1. 程序:指用各种编程语言写成的代码文件
  2. 进程: 正在运行的各类程序(放在内存中执行)
  3. 守护进程: 持续保持运行着的程序

2,提升用户体验的网站优化解决方案有哪些?*

(1)门户(大网站)极端案例:
大并发写入案例(抢红包、微博)遇到高并发、大数据量“写”数据的极端情况时,系统会将数据先写到内存中, 在数据积累了一定的量后,再定时或者定量地写到磁盘中以减轻磁盘的压力

优化:
主要思想:在服务器主板上安装蓄电池,在断电后宕机前瞬间将内存数据回写到磁盘
1. 选双路电的机房,使用双电源、分别接不同路的电,
2. 以及将服务器放到不同的机柜中,将企业业务放置到不同的地区(异地)
   3.柴油发电机+油罐,机房一般会与附近的加油站签订紧急供油协议

(2)中小型企业案例对于并发访问
若是业务读多写少,则会先将数据写入磁盘中,然后通过程序将写到磁盘的数据读到内存中,
再对外通过读取内存提供访问服务
绝大多数企业的业务逻辑还是读请求(例如,浏览页面)多于写请求(例如,写文章、发朋友圈)

优化:
可以使用Memcached或Redis等高效的内存级别软件来优化的高并发访问

3, 谈谈计算机中buffer与cache的简单区别。*

(1)缓冲区将数据写入内存,这个数据的内存空间在Linux系统里一般称为缓冲区(buffer)

(2)从内存中读取数据,这个存数据的内存空间在Linux系统里一般称为缓存区(cache)

4, 运维人员的三大核心工作职责是什么?

保证数据安全不丢失

客户体验好

服务器7*24小时不宕机

5, 存盘类型: raid (磁盘整列卡)

raid 0容量—-所有盘之和 (最少1) 冗余—-没有冗余 性能—-读写性能好 场景—-数据安全不高
raid 1容量—-50% (最少两块) 冗余—-100% 性能—-读写效率低 场景—-对数据安全要求比较的场景
raid 5 : 容量—-损失一块盘的容量(最少三块盘) 冗余—-只允许一块磁盘损坏。 性能—- 接近raid0

第1章:

了解GPL知识。

GPL中文名为通用公共许可,是一个最著名的开源许可协议,开源社区最著名的Linux内核就是在GPL许可下发布的。GPL许可是由自由软件基金会创建的
GPL的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件源代码的权利,但都必须同时给出具体更改的源代码。

CentOS和Red Hat的区别和联系。

CentOS:Red Hat的另一个重要分支,CentOS已被Red Hat公司收购,但仍开源免费。CentOS Linux是国内互联网公司使用最多的Linux系统版本

第3章:

远程连接Linux故障排查思路。

1。连接超时问题:
最简单的方法就是在客户端电脑(DOS界面里)上ping一下Linux主机的IP。  win+R ---> cmd--->ping ip 
如果未能ping通Linux主机的IP,则可以通过如下方法进行检查。
    1)确定Linux主机本身的设置是不是正确,或是否获取到了IP,并且这个IP与客户端电脑的IP是不是在同一个网络里。
    2)Linux系统的防火墙是否阻挡了客户端电脑和Linux主机之间的22端口。关闭CentOS7 Linux防火墙   
                   systemctl   disable  firewalld  
                    systemctl    stop     firewalld

2.SSH端口问题:
   1)sshd服务程序是否正确开启    ps -ef | grep sshd  |  grep  -v grep
   2)sshd服务的默认端口22是不是被更改了,确认的示例命令: netstat -lntp | grep sshd
   3)是否因为开启了firewalld防火墙而导致禁止连接,确认的示例代码:   systemctl  status firewalld
    检测是否开启了防火墙阻挡的简单方法是在客户端电脑或者在Xshell界面里执行telnet 192.168.2.217 22来检查连通性
   4)客户端Xshell是不是配错了连接的端口或IP。

第4章:

Linux命令行常用快捷键有哪些?

ctrl+ A :光标移动至首行  

ctrl+ E :光标移动至尾行      

ctrl+ →:快速移动   

ctrl+ W :按单词删除光标之前的内容

ctrl+ U :删除光标前面的内容

ctrl+ K :删除光标后面的内容

ctrl+ L  : 清空当前屏幕

ctrl+ C:结束当前窗口进程

ctrl+ D:退出当前bash shell ==>登出

 ctrl+ R: 搜索之前使用的命令

第6章:

1)根下的目录结构知识。

/bin  :  二进制命令所在的目录

/sbin  : 超级管理员所使用的二进制目录

/boot : 系统及内核引导目录

/root   :超级管理员家目录

/home : 普通文件家目录

/lib    : 库文件所在的路径

/usr    : 系统及应用程序所在的目录

/opt    : 第三方软件及编译安装目录

/tmp   :  系统临时目录

/var    :    可变文件所在的路径

/mut    :    挂载点

/dev    : 设备文件所在路径,比如硬盘,硬盘分区,光驱,等等

/etc     :   配置文件所在的路径

/proc    :    进程和内核信息所在的路径

2)/etc、/var/、/usr等目录下文件功能和作用。

核心基础知识总结 - 图1

  • /etc/fstab配置文件编写格式

要挂载的设备 挂载点(入口) 文件系统类型 挂载参数 是否备份 是否检查 /dev/sdb1 /db1 xfs defaults 0 0

3)CentOS6和7的启动流程

0 - halt (关机)
1 - Single user mode(单用户,修复计算机,)
2 - Multiuser, without NFS(没有NFS的多用户)
3 - Full multiuser mode(完整的多用户)
4 - unused(未使用)
5 - X11(桌面)
6 - reboot(重启)

开机自检bios: 体检

MBR引导:炮捻子

Grub菜单

加载内核:kernel(托瓦兹开发)

init进程

inittab文件--->设定运行级别
rc.sysinit---->初始化系统
rc3.d     ---->加载对应级下的所有脚本
rc.local  ---->加载开机自启动程序
mintty    ---->启动登录脚本

对于contos7不同的是init进程变成system,虽然读取的文件名不同,但是流程还是相同


第8-14章

核心基础知识总结 - 图2

核心基础知识总结 - 图3

. 带表selinux相关

1.索引节点,block

难点:目录w权限理解

属性 文件 目录
inode 属性信息,block位置,(不包含文件 名 目录属性信息(了 解)
block 文件内容 文件名(目录下)

2.文件类型

-: 表示是一个文件( 普通文件、脚本文件、压缩文件、命令文件) 由touch cat echo cp > >>等工具创建的文件 #使用file命令查看文件类型 由vim vi cat 查看 由rm > 删除 s: socket,进程与进程之间的通讯协议 c: 字符设备(终端、键盘) b: 块设备(磁盘) l: 软链接(快捷方式) d: 表示一个目录

3.权限知识

文件和目录rwx权限

权 限 文件 目录
r read读取文件内容 read,是否能查看目录的内容,需要x配 合
w write编辑文件内容需要r配合 write,能否在目录中创建文件,删除文 件,修改(改名),需要x配合
x execute执行 (脚 本,命令),需要r配合 execute,是否能进入目录,(是否能查 看目录下文件(目录)属性信息)

手动模拟Inode满了的情况:

磁盘空间不足:
[root@oldboy /oldboy]# ls -lhi
total 0
16830263 drwxr-xr-x. 2 root root 6 Sep 28
22:44 abc
8873530 drwxr-xr-x. 2 root root 166 Oct 1
05:22 lidao
[root@oldboy /oldboy]#


#手动创建分区
dd if=/dev/zero of=/tmp/big bs=1k
count=75
mkfs.ext4 /tmp/big #这个命令会有提示 y or n
输入y
[root@oldboy /oldboy]# mkdir -p /data
[root@oldboy /oldboy]# ll -d /data/
drwxr-xr-x. 2 root root 6 Oct 1 06:08
/data/
[root@oldboy /oldboy]# ll /data/
total 0
[root@oldboy /oldboy]# mount /tmp/big
/data/
[root@oldboy /oldboy]# mkfs.ext4 /tmp/big
mke2fs 1.42.9 (28-Dec-2013)
/tmp/big is not a block special device.
Proceed anyway? (y,n) y
Filesystem too small for a journal
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
16 inodes, 72 blocks
3 blocks (4.17%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per
group
16 inodes per group
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem
accounting information: done


[root@oldboy /oldboy]# mkdir -p /data
[root@oldboy /oldboy]# ll -d /data/
drwxr-xr-x. 2 root root 6 Oct 1 06:08
/data/
[root@oldboy /oldboy]# ll /data/
total 0
[root@oldboy /oldboy]# mount /tmp/big
/data/




#模拟1 : 正常的满了 block用光了(500G硬盘 存放
499G视频 + 1G种子)
[root@oldboy /oldboy]# cp /bin/ls /data/
cp: error writing ‘/data/ls’: No space left
on device
cp: failed to extend ‘/data/ls’: No space
left on device



#模拟 2: inode用光了
[root@oldboy /oldboy]# #inode 用光了
[root@oldboy /oldboy]# df -i
Filesystem Inodes IUsed IFree IUse%   
Mounted on
devtmpfs 230198 382 229816 1%
/dev
tmpfs 232876 1 232875 1%
/dev/shm
tmpfs 232876 730 232146 1%
/run
tmpfs 232876 16 232860 1%
/sys/fs/cgroup
/dev/sda3 5240832 61371 5179461 2% /
/dev/sda1 524288 327 523961 1%
/boot
tmpfs 232876 1 232875 1%
/run/user/0
/dev/loop0 16 15 1 94%
/data
[root@oldboy /oldboy]# touch
/data/oldboy.aaa
[root@oldboy /oldboy]# touch
/data/oldboy.lidao
touch: cannot touch ‘/data/oldboy.lidao’: No
space left on device


[root@oldboy /oldboy]# df -i
Filesystem Inodes IUsed IFree IUse%
Mounted on
devtmpfs 230198 382 229816 1%
/dev
tmpfs 232876 1 232875 1%
/dev/shm
tmpfs 232876 730 232146 1%
/run
tmpfs 232876 16 232860 1%
/sys/fs/cgroup
/dev/sda3 5240832 61371 5179461 2% /
/dev/sda1 524288 327 523961 1%
/boot
tmpfs 232876 1 232875 1%
/run/user/0
/dev/loop0 16 16 0 100%
/data

4.用户和用户组。

#创建用户useradd
     -u 指定要创建用户的UID,不允许冲突
     -g 指定要创建用户默认组        
     -G 指定要创建用户附加组, 逗号隔开,可添加多个附加组     ( 妾 N多个)
     -c 指定要创建用户注释信息   
     -s 指定要创建用户的bashshell    /in/bash   /sbin/nologin(不让你登录气不气)
     -d 指定要创建用户家目录        (默认都在/home下)
     -M 给创建的用户不创建家目录    
     -r 创建系统账户,默认无家目录

#修改用户usermod
    大部分参数同上
     -l 指定要修改用户的登陆名
     -L 指定要锁定的用户
     -U 指定要解锁的用户

#删除用户userdel
    -r 删除    用户的家目录,以及用户的邮件 
    #生产环境:尽量不要使用-r操作因为对方的家目录下可能有一些比较重要的配置

#用户密码passwd
1. passwd                #给当前用户修改密码
2. echo "123" | passwd --stdin xuliangwei    #非交互式修改密码
3. chpasswd          #批量更新用户的密码命令 详情请看xmind


切换用户  su
    su - username属于登陆式shell 携带环境变量
    su username属于非登陆式shell   加载部分环境变量
组
    groupadd
        -g   指定gid号码
        -r    创建系统组
    groupmod
        -g 修改组gid
        -n 修改组名称
    groupdel
        如果要删除基本组,需要先删除基本组中的用户才可以删除该组。
    sudo提权
        sudo  定义组提权
        针对系统中组提权
        检查普通用户能提权的命令   sudo -l
查看用户轨迹
    id
    who     显示谁在登录
    last    显示用户最后登录情况
    lastlog 用户的最近登录信息
    w       显示谁在登录,并且在干什么
    whoami 我是谁,查看当前用户

第10章,通配符

第11章,正则+三剑客。

第12章,权限

第14章,用户

第13章,定时任务。

网络
28日 三剑客 正则
29日 安装软件包。和进程管理。
30日 开机启动流程
10.2 网络2-6