70% 命令+通配符 正则表达式+三剑客
第0章:
1,程序、进程和守护进程有什么区别?*
程序:指用各种编程语言写成的代码文件
进程: 正在运行的各类程序(放在内存中执行)
守护进程: 持续保持运行着的程序
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等目录下文件功能和作用。
- /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章
. 带表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