4 Star 7 Fork 6

老男孩Python全栈S25 / 教学计划

 / 详情

周末Linux作业

待办的
创建于  
2020-02-21 16:29

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

20.Linux单引号双引号的区别?

21.vim有几种工作模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?

25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx

29.每分钟清空/tmp/内容

30.每天早上6.30清空/tmp/的内容

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

32.某文件权限是drw-r—rw-,请解读该权限?

33.centos版本系统服务管理命令是?

34.如何远程登录阿里云123.206.16.61?

35.备份mariadb的命令是?

36.简述特殊符号的含义?

.
..
$PATH

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

38.如何修改test.py属组为alex?

39.如何在windows和linux传输文件?有哪些方法?

40.如何杀死mariad进程?

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

42.linux如何安装软件?有几种方式?

43.出于安全角度,简述如何安装启动redis服务端?

44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用

46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?

50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?

52.给如下代码添加注释
server{
listen 80;
server_name 192.168.11.11;
location / {
root html;
index index.html;
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:8000;
}
}

53.supervisor是什么?如何使用?

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

a60.python操作linux的模块是?

61.如果端口8080被占用,如何查看是什么进程?

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

65.nginx如何实现负载均衡?

66.nginx的负载均衡调度算法有几种?是什么?

67.linux下载软件包的方法有?

68.windows和linux常用远程连接工具有哪些?

69.如何给与一个脚本可执行权限

70.过滤出settings.py中所有的空白和注释行

71.过滤出file1中以abc结尾的行

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

评论 (48)

pyyu 创建了任务
pyyu 添加了
 
作业
标签
展开全部操作日志

标题虽然是python笔试题,但是内容,是python笔试题中出现的linux题目

作为一个后端开发,需要掌握的Linux功底

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID
process 进程

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat
                 change own
                 
8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx 安装这个rpm包
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit       D

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p       

18.下列文件中,包含了主机名到IP地址映射关系的文件是? C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
  cat /etc/re

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 

20.Linux单引号双引号的区别?

单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量

21.vim有几种工作模式

四种:正常模式,命令模式,插入模式,可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

conf/nginx.conf  
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket;  线下是http

23.sed命令截取出ip地址

ifconfig ens33|sed -n '2p'|sed 's#^.*inet ##g'|sed 's#  netmask.*$##g'

24.如何解压缩后缀是.tar.gz文件?

tar zxvf  .tar.gz

25.awk命令截取出ip地址

#-------------------------------------------------------------------

26.www服务在internet最为广泛,采用的结构是?

http --->  nginx -->  uwsgi
Browser/Server

27.如何给linux添加dns服务器记录?

#填入2个阿里的dns服务器地址
vim  /etc/resolv.conf  #
nameserver  223.5.5.5  
nameserver  223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * *  /usr/bin/systemctl  restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

* * * * *  /usr/bin/rm  -rf  /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * *  /usr/bin/rm  -rf  /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r  /var/lib/mysql  /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl  status  redis  #查看redis服务的状态
systemctl  start  redis
systemctl  stop  redis  
systemctl  restart redis  
systemctl  enable  redis  #设置redis开机自启
systemctl  disable  redis  #禁止redis开机自启 

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

#        注释
.        当前目录
..       当前目录的上一级目录
$PATH    查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令   起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

 chgrp   alex  test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz           xftp          scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

应该下载yum   

42.linux如何安装软件?有几种方式?

yum  rpm   源码包

43.出于安全角度,简述如何安装启动redis服务端?

yum install redis -y
systemctl  start redis 
redis-cli
----
更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

docker 打包镜像
手动解决环境问题  pip3  freeze

45.virtualenv是什么?简述如何使用

virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list

46.virtulevnwrapper是什么?简述使用

virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境        pip3 install virtualenvwrapper
创建并进入虚拟环境   mkvirtualenv  env1
切换虚拟环境        workon  虚拟环境名

47.redis哨兵是什么?作用是

redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件名  软连接名

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
 
52.给如下代码添加注释
server{                  --->  一个虚拟主机
listen 80;               --->  监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / {             --->  访问的路径
root html;               --->  指定页面的目录
index index.html;        --->  指定的网页
}
}

server{                 --->虚拟主机
listen 8080;            --->nginx的监听端口
server_name 192.168.11.11;  --->nginx访问域名
location / {                --->location匹配url
include uwsgi_params;       ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000;    --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf  >  /etc/supervisor.conf  #生成配置文件
3.vim  写入自定义的配置
[program:crm];  -->项目的名字
command = uwsgi的绝对路径 --ini  uwsgi.ini的绝对命令;  #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true;  #默认为false,向进程组发送kill信号包括子进程
4.supervisord  -c  /etc/supervisor.conf start  all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
    3.1安装node.js环境
    3.2安装依赖包
    3.3修改axios的发送的端口接口
    3.4打包
4.部署后端
    4.1安装virtualven
    4.2创建虚拟环境
    4.3安装django和uwsgi,以及项目的依赖包
    4.4修改uwsgi的配置文件路径与其他
5.配置nginx
    5.1创建两个虚拟主机,分别监听80端口和8000端口
    5.2访问80端口就是前端vue
    5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
    更搞效的利用系统资源
    更快速的启动时间
    一致的运行环境
    持续交付和部署
    更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
    docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  #查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像
	
57.哪个命令无法查看linux文件内容?  D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?  B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除     -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat  -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么?

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream  名字{
server  ip:端口   weight=权重数
server  ip:端口   weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制    按时间顺序逐一分配到不同的后端服务器
weight     加权轮询,weight值越大,分配到的访问几缕越高
ip_hash    每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn  最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给予一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep   -v "^#"    settings.py |grep   -v "^$"   

71.过滤出file1中以abc结尾的行

grep "sbc$"  file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker  ps  -a

73.如何批量清理后台停止的容器

docker rm  `docker ps -aq

74.如何查看容器日志?

docker logs -f    #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况   (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm  -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图

 如最下面的图

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9  test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.Linux查询环境变量的命令是

echo  $变量名

80.查询脚本定时任务的命令是

crontab  -l

81.saltstack、ansible、fabric、puppt工具的作用

# ------------------------------------------

82.uwsgi、wsgi是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi  是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?

# ---------------------------------------

85.解释QPS是什么?

#----------------------------------------------------

86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

# --------------------------------------------------

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

# --------------------------------------------------

89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

如下图

91.docker容器有哪些状态?

dockerfile  用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from  --设置镜像使用基础镜像
maintainer  --设置镜像的作者
run     --编译镜像时运行的脚本
cmd     -- 设置容器的启动命令
label   --设置镜像的标签
expoese  --设置镜像暴露的端口
env     --设置容器的环境变量
add/copy     --  编译镜像时赋值文件到镜像中
entrypoint   --设置程序的入口程序
volume     --设置容器的挂载卷
user    --设置  run  cmd  entrypoint 用户名
workdir  --设置run  cmd entrypoint  copy add指令工作目录
arg    --设置编译镜像时加入的参数
onbuild   --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量



93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像   删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

 docker rm  容器id  #删除容器

96.容器如何端口映射?数据卷映射?

#------------------------------------

97.如何进入容器?流程是?

docker exec 容器id  #进入当前正在运行的容器

98.简述docker使用流程

docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  #查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像


99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?
 
 #------------------------------
 
101.容器都是默认后台运行,怎么查看容器日志?

docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

不会

输入图片说明

输入图片说明

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID

B

2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev

B

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc

B

4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
D

5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
A

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
764

7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
C

8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

A

9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

B

10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
B *.txt
15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit
C
16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p

D

18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

C

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/os-release
20.Linux单引号双引号的区别?
单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法

双引号与单引号的区别在于其可以包含特殊字符(单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符),包括', ", $, ,如果要忽略特殊字符,就可以利用\来转义,忽略特殊字符,作为普通字符输出:
21.vim有几种工作模式
命令模式
插入模式
退出模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
一个server就是一个主机

location / {
proxy_pass http://192.168.178.140:90;
}
23.sed命令截取出ip地址
sed -i "s/192.168.0.1/10.0.0.1/g" /a.txt

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf +文件名
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
C/S
27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx
分时日月周
50 17 5,15,25 * * /opt/tngx232/sbin/nginx -s reload
29.每分钟清空/tmp/内容
***** /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
39 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/mysqldump -uroot -p --all-databases > /opt/a.txt

32.某文件权限是drw-r—rw-,请解读该权限?
属主 读写
属组 读
其他人 读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@+IP地址
35.备份mariadb的命令是?
mysqldump -uroot -p --all-databases > /opt/a.txt

36.简述特殊符号的含义?

注释

. 当前目录
.. 上一级目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias 将rm改了
38.如何修改test.py属组为alex?
chgrp alex a.txt

39.如何在windows和linux传输文件?有哪些方法?
lrzsz
40.如何杀死mariad进程?
pkill mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/

python-2.6.6-51.el6.x86_64.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm –ivh python-2.6.6-51.el6.x86_64.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm

http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/ yum- plugin-fastestmirror-1.1.30-14.el6.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

rpm –ivh python-2.6.6-51.el6.x86_64.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm

http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/ yum- plugin-fastestmirror-1.1.30-14.el6.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

rpm-ivh yum-*

42.linux如何安装软件?有几种方式?
rpm
yum

43.出于安全角度,简述如何安装启动redis服务端?
systemctl start redis
44.如何保证本地测试环境和线上开发环境一致性?思路?
pip3 freeze > requirements.txt
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
45.virtualenv是什么?简述如何使用
虚拟环境,每一个项目都可以开一个虚拟环境
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是
负载均衡
48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态文件就是图片视频
到东台市从数据库读内容
50.配置linux软连接的命令?
ln -s +路径 + 软连接名字
51.如何永久添加/opt/python36/的环境变量?
#这个变量赋值的代码,就是添加python3到环境变量中了
vim /etc/profile #打开文件,在文件末尾,添加PATH值的修改
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"
52.给如下代码添加注释
server{ #一台虚拟主机
listen 80; #监听80端口
server_name 192.168.11.11; #主机名
location / { #本地文件
root html; #目录
index index.html; #文件名字
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params; 反向代理
uwsgi_pass 0.0.0.0:8000; #反向代理的ip
}
}

53.supervisor是什么?如何使用?
进程管理,守护进程
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端+后端
55.docker是什么?简述docker优势
容器技术,速度快
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man
D
58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

B

59.为何说rm -rf 慎用?
整体删除一个文件夹
60.python操作linux的模块是?
OS模块

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunple | grep 1

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
GRANT select ON 数据库.表名 TO 'alex'@'192.168.0.113'

65.nginx如何实现负载均衡?
三个server,一个分流,两个负载工作
66.nginx的负载均衡调度算法有几种?是什么?
轮询,权重
67.linux下载软件包的方法有?
wget

68.windows和linux常用远程连接工具有哪些?
lrzsz
69.如何给与一个脚本可执行权限
chmod 777 a.txt
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" setings.py |grep -v "^$"
71.过滤出file1中以abc结尾的行
cat ./file1 |grep "*.abc"
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
启动djang项目
首先看WSGI协议,全称Web Server Gateway Interface 是为python语言定义的一种web服务器与 web 应用或者说web框架进行通讯的一种接口。WSGI 是作为web服务器与Web 应用程序或应用框架之间的一种低级别的接口。很多框架 自带WSGI server。现在使用最多的就是nginx 与 uwsgi 做 WSGI server。

WSGI: 是一中通信协议。

uwsgi:与WSGI一样是一种通信协议。

uWSGI: uWSGI 是一个web服务器。uWSGI,它实现了WSGI协议,uwsgi协议 http协议。Nginx 中HttpUwsgiModule 的作用是与uWSGI服务器进行交换。

83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态就是图片
动态就是去数据库取东西
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?
exit()
96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
$remote_addr 记录客户端ip
$remote_user 远程用户,没有就是 “-”
$time_local    对应[14/Aug/2018:18:46:52 +0800]
$request     对应请求信息"GET /favicon.ico HTTP/1.1"
$status     状态码
$body_bytes_sent  571字节 请求体的大小
$http_referer  对应“-”  由于是直接输入浏览器就是 -
$http_user_agent  客户端身份信息,以此可以nginx判断,用户客户端是手机浏览器,就转发移动端页面给与用户
如果是pc的客户端,就转发给pc页面给与用查看

$http_x_forwarded_for  记录客户端的来源真实ip 97.64.34.118,机器A用机器B的ip去访问,可以抓出机器A的地址,这个参数不是万能的,爬虫和反扒是相互的。。。
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(BC)
A.rpm -ivh nginx 这是安装nginx命令
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?c
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos cat /etc/redhat-release
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别其他特殊符号
双引号:能够识别特殊符号,以及变量
21.vim有几种工作模式
4种:1.正常模式 2.命令模式 3.插入模式 4.可视模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 添加多个server然后改变端口号等 线上:socket 线下:http
23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
24.如何解压缩后缀是.tar.gz文件?
tar zxvf 文件名.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
http > nginx > uwsgi
browser/server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /usr/bin/rm -rf /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 6-8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
d:文件夹
user:读写
group:读
other:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysql|dump -urrot -p
36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看路径
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chfrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz/xftcp/scp
40.如何杀死mariad进程?
pkill -9 mariad
kill -9 mariad的进程号
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum redis -y
systemctl start redis
redis-cli
更改端口
开启protomode yes安全模式
设置redis密码
redis-server redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
45.virtualenv是什么?简述如何使用
当我们同时开发多个应用程序时,可能需要应用不同版本的软件,为了各个程序之间不影响,所以我们需要将他们的隔开独立起来,这种情况下就需要各自拥有一套‘独立’的python运行环境,virtualenv就是用来为一个应用创建一套‘隔离’的python运行环境
创建虚拟环境 virtualenv --python=python3 caijie(虚拟环境名字)
启动虚拟环境 source caijie/bin/activate
46.virtulevnwrapper是什么?简述使用
virtualenv的一个最大的缺点就是,每一次开启虚拟环境之前要去虚拟环境所在目录下的bin目录下,source一下activate,这就需要我们记住每个虚拟环境所在的目录
virtualenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv caijie
3.切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis-sentinel是redis官方推荐的高可用性方案
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
即使使用哨兵,redis每个实例也是全量数据存储。每个redis存储的内容都是完整的数据,为了最大化利用内存,可以采用cluster群集,就是分布式存储,即每台redis存储不同的内容。采用redis-cluster架构正是满足这种分布式存储要求的集群的的一种体现
49.什么是静态资源,什么是动态资源?
静态资源指定的是网站css、js、html文件
动态资源一般指的是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径
root html; # 指定页面的目录,访问/会找到html目录
index index.html; # 指定网页,访问/就是访问index.html
}
}

server{ # 虚拟主机
listen 8080; # nginx监听端口
server_name 192.168.11.11; # nginx访问域名
location / { # location匹配url
include uwsgi_params; # 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; # 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
1.安装yum install supervisor
2.生成配置文件vim /etc/supervisord.conf
3.写入自定义的配置
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisord.conf
5.supervisorctl -c /etc/supervisord.conf
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
uwsgi+nginx+supervisor+nginx
1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualenv
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目依赖包
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是vue
5.3访问8000端口就是vue发起8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势
linux容器软件
docker优势:
更高效的利用系统资源
更快捷的启动时间
一致的运行环境
持续交付和部署
更轻松地迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r 递归删除
-f 强制删除

60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb
redis会定期保存数据快照至一个rdb文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
rdb缺点,定期执行,可能会丢失数据,并且数据量特别大的时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。
aof
redis会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有操作顺序执行一遍,确保数据恢复到最新。随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志让AOF文件过大,也会让数据恢复的时间过长
优点:数据安全,不怕数据损坏,如断电等问题,还可以用redis-check-aof修复数据,AOF文件为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用rdb和aof
如果配置了RDB,又配置了AOF,则进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%'

65.nginx如何实现负载均衡?
upstream{}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制:按时间顺序逐一分配到不同的后端服务器(默认)
weight:加权轮询,weight值越大,分配到的访问几率越高
ip_hash:每个请求按访问IP的hash结果分配,这样来自同一IP法人固定访问一个后端服务器
url_hash:按照访问url的hash结果来分配请求,是每个url定向到同一个后端服务器
least_conn:最少连接数,哪个机器连接数少就分发

67.linux下载软件包的方法有?
wegt url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限
chmod u+x file

70.过滤出settings.py中所有的空白和注释行
grep -v '^#' settings.py | grep -v '^$'

71.过滤出file1中以abc结尾的行
grep 'abc$' file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
docker ps -a # 查看所有容器记录
不会丢,因为容器停止了,并没有被删除 docker ps-a可以看到

73.如何批量清理后台停止的容器
docker rm 'docker ps -aq'

74.如何查看容器日志?
docker logs -f 容器id # 实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1.查看系统负载情况例如使用top命令
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件,rm -rf删除掉
4.还需要检查定时任务,是否添加了一些东西

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.liunx查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi:是web服务器网关接口,它是一个协议,描述了web服务器(nginx)如何和web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi
uwsgi:是一种线路协议而不是通信协议,在此常用于在uwsgi服务器与其他网络服务器的数据通信,而uwsgi是实现了uwsgi和wsgi两种协议的web服务器
83.supervisor是什么?
supervisor是守护进程的配置

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?A
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?D
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7 cat/etc/redhat-release
20.Linux单引号双引号的区别?
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。
21.vim有几种工作模式
三种基本的工作模式:指令行模式、文本输入模式、行末模式。
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置好server{}标签可实现多虚拟主机 proxy_pass参数
23.sed命令截取出ip地址
ifconfig wlan0 | grep 'inet addr' | sed 's/^.addr://g' | sed 's/Bcast.$//g'
24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址
awk -F '[] "[]' '{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7}' logs/host.access.log > linshi3.log
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf 添加一行
nameserver dns

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /opt/nginx112/sbin/nginx -s reload
29.每分钟清空/tmp/内容

          • /use/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /use/bin/rm /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 18,20 * 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?
            d:目录文件
            rw-:文件所有者:读写
            r--:组:只读
            rw--:其他:读写
            33.centos版本系统服务管理命令是?
            systemctl
            34.如何远程登录阿里云123.206.16.61?
            ssh root@123.206.16.61
            35.备份mariadb的命令是?
            mysqldump -uroot -p

36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
是因为 alias的作用
38.如何修改test.py属组为alex?
chowm alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz
xftp
scp
40.如何杀死mariad进程?
pkill mariad
ps -ef|grep mysql
kill pid

killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
版本低 升级yum源
42.linux如何安装软件?有几种方式?
两种
yum安装
编译安装
43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题
45.virtualenv是什么?简述如何使用
虚拟环境
1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv --no-site-packages --python=python3 env1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list
46.virtulevnwrapper是什么?简述使用
创建python虚拟环境的工具
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库福娃五停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
redis集群功能,用于大规模redis服务,通过虚拟槽分区将数据保存在指定的分区
49.什么是静态资源,什么是动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ #一个虚拟之际

listen 80;
#监听端口 80端口
server_name 192.168.11.11;
#填写域名,没有就默认即可,现在的域名为192.168.11.11
location / { # 访问的路径 /

nginx的域名匹配,所有的请求,都会进入到这里

root html;

指定页面的目录,访问/会找到html目录

index index.html;

指定网页,访问/就是访问index.html

}
}

server{#虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势
linux容器软件
docker应用于快速构建应用
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm 删除文件、文件夹
-r Recurve的首字母,递归的意思,删除此文件夹下所有文件
-f不提醒,直接删除
a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb aof
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget curl

68.windows和linux常用远程连接工具有哪些?

Xshell、SecureCRT、Putty、SSH Secure Shell Client等
69.如何给与一个脚本可执行权限
chmod u+x 脚本名

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" file |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep "abc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top

ps aux --sort=%cpu
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

ps aux
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具
WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信。
83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?
pv page v

uv user v
85.解释QPS是什么?
每秒数据访问量
86.解释什么是静态资源?动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)

87.saltstack如何采集服务器静态数据?
slat '*' grains.items
88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
利用list数据类型的特性 ,双向队列
可以用 lpush 往左边插入数据,再利用rpop从右边取出数据
90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
用来指定日志文件的存放路径、格式(把定义的log_format 跟在后面)和缓存大小;如果不想启用日志则access_log off ;
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()   				1. B
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息()   												2.B
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()                      3.B
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是()                                                       4.D
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是()                                        5.A 
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()       6.D
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是()                                                     7.C
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用()                                       8.A
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令()                                             9.B
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录()                                              10.A
A.etc B.bin C.lib D.dev
    
11.linux中查看内存,交换内存的情况命令是()                                       11.D       
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是()                                                  12.B
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()                    13.A               
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()            14.B
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?                             15.C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?                                   16.D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?                            17.D              
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?                 18.B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?          uanme -a

20.Linux单引号双引号的区别?                            
    单引号中的内容仅仅就是字符串,不识别其他的特殊符号
    双引号中的内容可以识别特殊符号和变量
21.vim有几种工作模式
	命令模式  、插入模式、退出模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
	nginx.conf      用多个serve{}进行配置    在location中添加proxy_pass
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
     tar -zxvf   .tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
   Browser/Serve
27.如何给linux添加dns服务器记录?
    vim /etc/resolv.conf
28.每月的5,15,25的晚上5点50重启nginx
   crontab  -e
   50 17 * 5,15,25 *   /opt/tng232/nginx -s reload
29.每分钟清空/tmp/内容
	crontab  -e
	* * * * *  /usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
    30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
	5-15 6,8 * * 2  /usr/bin/cp  mysql  /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
  d 文件夹
  rw-  可读可写
  r-   该组可读
  rw-  其他可读可写
33.centos版本系统服务管理命令是?
    systemtcl  stop  redis  停止redis服务
34.如何远程登录阿里云123.206.16.61?
     ssh  root@123.206.16.61
35.备份mariadb的命令是?
      mysqldum -u root -p mysql > /root/mysql.dump
36.简述特殊符号的含义?

#  以root身份登录
.   当前目录
..  当前目录的父目录
$PATH  环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么? 没有使用rm的权限

38.如何修改test.py属组为alex?
  chgrp  alex test.py
39.如何在windows和linux传输文件?有哪些方法?
     下载lrzsz     
40.如何杀死mariad进程?
  pkill  mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
    先测试网络是否能用,如果能用备份yum,然后更换yum源
42.linux如何安装软件?有几种方式?
  三种  1.手动安装  2.rpm安装  3.yum安装
43.出于安全角度,简述如何安装启动redis服务端?
  systemtcl  start redis
44.如何保证本地测试环境和线上开发环境一致性?思路?
   将本地的测试环境一起打包到线上
45.virtualenv是什么?简述如何使用
    创建python虚拟环境   virtualenv --python=python  venv1
46.virtulevnwrapper是什么?简述使用
	Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
	创建并进入虚拟环境 mkvirtualenv env1
    切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
	静态资源:图片,js,css,html
	动态资源:网页的数据
50.配置linux软连接的命令?
   ln -s  目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
   vim /etc/profile
   添加PATH = /opt/python36/bin:
   读取文件变量 source /etc/profile
52.给如下代码添加注释
server{   虚拟主机
listen 80;   监听80端口
server_name 192.168.11.11;  主机的ip
location / {  访问路径
root html;   指定页面
index index.html;  访问/时访问的页面 
}
}

server{    虚拟主机
listen 8080;  监听8080端口
server_name 192.168.11.11; 主机ip
location / {  访问的路径
include uwsgi_params;  经uwsgi参数添加给nginx
uwsgi_pass 0.0.0.0:8000;  nginx反向代理的uwsgi
}
}

53.supervisor是什么?如何使用?
  进程管理工具
  安装 yum install supervisor -y
  生成配置文件  echo_supervisord_conf > /etc/supervisor.conf
  写入自定义的配置 
  		vim /etc/supervisor.conf
 [program:again_s25crm]  启动的进程名
command=/s25crm/s25_crm/bin/uwsgi --ini  /s25crm/tf_crm/uwsgi.ini  启动uwsgi的绝对路径
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

supervisord -c /etc/supervisord.conf    启动supervisor
supervisorctl -c /etc/supervisord.conf   进入supervisor查看运行的状态
    stop all 停止全部  start  all  启动全部   
    
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
	1.安装python3,mysql,redis,nginx,node.js,supervisor
	   并将python3、nginx、node.js加入环境变量
	2.创建虚拟环境安装django的依赖  pip3 install -i            			https://pypi.tuna.tsinghua.edu.cn/simple/  -r requirements.txt
	3.测试运行django    python3 manage.py runserver 
	  测试通过后编写uwsgi配置文件   
	4.生成supervisord.conf     echo_supervisord_conf > /etc/supervisor.conf
	5.编写supervisor配置文件
	7.启动supervisor
	8.配置nginx
		server {
        listen       80;
        server_name  localhost;
        #这是一个局部的变量,只对当前这个server{}代码块生效,编码设置为utf-8

        charset utf-8;
        error_page  404  /40x.html;
        # 这里的locaiton 路径匹配,如果你写的是root参数,就是一个web站点功能
        # 基于uwsgi协议的一个高性能的反向代理转发,新的参数
        location / {
        #当请求发送给  192.168.178.140:80的时候
        #通过uwsgi_pass把请求转发给后端的uwsgi服务器
        uwsgi_pass   0.0.0.0:8000;
        #这个参数,是固定的,是添加一些转发请求头内容
        include uwsgi_params;
        }
      }
	9. 部署前端   npm install 或者使用淘宝源  npm --registry https://registry.npm.taobao.org install
	10.安装完node模块后,编译vue  npm run build
	11.修改nginx.conf ,添加serve{}虚拟主机
		server {
			listen 81;
			server_name  _;
			location  /  {

			root   /s25luffy/07-luffy_project_01/dist;
			index  index.html;
			}



55.docker是什么?简述docker优势
 		一种容器技术,将生产环境和测试环境结合在一起

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?                                      57.D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?                                     58.B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?    
	rm是删除   -r代表递归删除      -f代表强制不提示删除
  rm -rf  如果用户权限比较高会把整个系统删除
a60.python操作linux的模块是?

61.如果端口8080被占用,如何查看是什么进程?
   netstat -tunlp | grep  8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
      
65.nginx如何实现负载均衡?
   修改nginx.conf
   # 负载均衡的算法,默认是轮询机制,一台服务器处理一次
    upstream  s25real_server  {
		server   192.168.178.140:90;
		server  192.168.178.140:95;
}
66.nginx的负载均衡调度算法有几种?是什么?
		轮询制 ,加权
67.linux下载软件包的方法有?
		yum  rpm  wget  
68.windows和linux常用远程连接工具有哪些?
    xshell

69.如何给与一个脚本可执行权限
    chomod  u+x file
70.过滤出settings.py中所有的空白和注释行
    	grep -v   "^$"   settings.py
71.过滤出file1中以abc结尾的行
		grep    "abc$"   filel
72.容器退出后,通过docker ps查看不到,数据会丢吗?
     
73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
       启动防火墙,关闭对应的端口和进程
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
   top

79.unix查询环境变量的命令是
  echo $PATH
80.查询脚本定时任务的命令是
  	crontab -l 
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
    wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个'uWSGI服务器'自有的协议,它用于定义传输信息的类型,
'uWSGI'是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
 
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
是C/S模型的程序,其服务端是supervisord服务,客户端是supervisorctl命令

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?
exit

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
IP相关统计
页面访问统计
每秒请求量统计
性能分析
TCP连接统计

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(C)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?A
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos cat /etc/redhat-release

20.Linux单引号双引号的区别?
单引号不能识别特殊字符
双引号可以识别特殊字符

21.vim有几种工作模式
命令模式、输入模式、末行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置多个server代码块
23.sed命令截取出ip地址
ip addr|sed -nr 's#^.inet (.)/24.*$#\1#gp'

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf 文件名

25.awk命令截取出ip地址
ip addr|awk -F '[ /]+' 'NR==9 {print $3}'

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 123.123.123.123

28.每月的5,15,25的晚上5点50重启nginx
crontab -e
50 17 5,15,25 * * 命令所在绝对路径/nginx -s reload

29.每分钟清空/tmp/内容
crontab -e

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 06 * * * /usr/bin/rm -rf /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            crontab -e
            5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?

33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
mac/linux ssh root@123.206.16.61
windows xshell/cmd :ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump
36.简述特殊符号的含义?

普通用户标识符

. 当前目录
.. 上一级目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias的作用

38.如何修改test.py属组为alex?
chrgp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
xftp lrzsz
40.如何杀死mariad进程?
pkill -p mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
which yum 查看绝对路劲是否存在
存在使用绝对路径
不存在,安装:
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
cd yum-3.2.28
yummain.py install yum
42.linux如何安装软件?有几种方式?
1.在官网下载对应的可执行软件包
2.yum

43.出于安全角度,简述如何安装启动redis服务端?
1.编译安装redis
2.修改配置文件,更改redis默认端口,给redis添加密码,开启redis安全模式,修改bind地址
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.导出本地所有开发的模块,导入到服务器上
45.virtualenv是什么?简述如何使用
虚拟环境
46.virtulevnwrapper是什么?简述使用
1.是创建虚拟环境的一个工具,一个软件
2.virtualenv --python=python3 venv1
47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
动态资源,一般指的是有数据库交互的资源链接,并且牵扯到编程语言的一个连接请求

静态资源 ,存放在磁盘上的数据文件,固定不动的
50.配置linux软连接的命令?
ln -s 文件绝对路径 目标绝对路径
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profil
修改 $PATH
52.给如下代码添加注释
server{
listen 80; 监听端口
server_name 192.168.11.11; 服务名称
location / { 静态文件路径
root html;
index index.html;
}
}

server{
listen 8080; 监听8080端口
server_name 192.168.11.11; 服务名称
location / {
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理请求发送到uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:crm] ; 项目名称
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;启动项目的命令
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1安装python3环境 源码包 编译安装

2安装mysql redis nginx 用yum 源 安装

3前端部署

    1)安装node.js 环境

    2)安装依赖包

    3)修改项目中的api.js 中的端口

    4)打包为dist文件夹 npm install npm run build

4后端django部署

    1)安装virtualenv

    2) 创建虚拟环境

    3)安装django 和依赖包

    4)修改uwsgi.ini 配置文件

    5)uwsgi 启动后端django项目

5配置nginx.conf文件

    1)创建两个server 虚拟主机 分别监听 80 和8080

    2)80端口访问前端vue

    3) 8080端口访问反向代理到9000的uwsgi 访问后端的django项目
6启动nginx mysql 和redis服务

部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?b
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
递归删除指定目录所有文件及文件夹

a60.python操作linux的模块是?

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}
定义服务器地址池
66.nginx的负载均衡调度算法有几种?是什么?
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x filename
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” settings.py |grep -v “^$”
71.过滤出file1中以abc结尾的行
grep "abc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
找到对应进程
杀死进程
定时搜索对应文件名并删除

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo "$PATH"
80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。性能极低

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个'uWSGI服务器'自有的协议,它用于定义传输信息的类型,
'uWSGI'是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
利用list 数据类型的特性 ,它是一个双向队列
可以用 lpush 往左边插入数据
再利用 rpop从右边取出数据
90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

标题虽然是python笔试题,但是内容,是python笔试题中出现的linux题目

作为一个后端开发,需要掌握的Linux功底

linux考试题

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B)

A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息( B)

A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)

A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A D)

A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)

A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)

A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)

A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)

A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)

A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)

A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)

A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)

A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)

A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)

A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? (C)

A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? (D)

A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? (D)

A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? (c)

A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

  cat /etc/re

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 

20.Linux单引号双引号的区别?

单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量

21.vim有几种工作模式

四种:正常模式,命令模式,插入模式,可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

conf/nginx.conf  
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket;  线下是http

23.sed命令截取出ip地址

fconfig ens33|sed -n '2p'|sed 's#^.*inet ##g'|sed 's#  netmask.*$##g'

24.如何解压缩后缀是.tar.gz文件?

ar zxvf  .tar.gz

25.awk命令截取出ip地址


26.www服务在internet最为广泛,采用的结构是?

http --->  nginx -->  uwsgi
Browser/Server

27.如何给linux添加dns服务器记录?

#填入2个阿里的dns服务器地址
vim  /etc/resolv.conf  #
nameserver  223.5.5.5  
nameserver  223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * *  /usr/bin/systemctl  restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

/usr/bin/rm  -rf  /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * *  /usr/bin/rm  -rf  /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r  /var/lib/mysql  /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl  status  redis  #查看redis服务的状态
systemctl  start  redis
systemctl  stop  redis  
systemctl  restart redis  
systemctl  enable  redis  #设置redis开机自启
systemctl  disable  redis  #禁止redis开机自启 

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

#  注释

.  当前目录
.. 当前目录的上一级目录
$PATH  查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令   起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

chgrp   alex  test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz           xftp          scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

 应该下载yum

42.linux如何安装软件?有几种方式?

yum  rpm   源码包

43.出于安全角度,简述如何安装启动redis服务端?

yum install redis -y
systemctl  start redis 
redis-cli

更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

docker 打包镜像
手动解决环境问题  pip3  freeze

45.virtualenv是什么?简述如何使用

virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list

46.virtulevnwrapper是什么?简述使用

virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境        pip3 install virtualenvwrapper
创建并进入虚拟环境   mkvirtualenv  env1
切换虚拟环境        workon  虚拟环境名

47.redis哨兵是什么?作用是

redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件名  软连接名

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile

52.给如下代码添加注释

server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf  >  /etc/supervisor.conf  #生成配置文件
3.vim  写入自定义的配置
[program:crm];  -->项目的名字
command = uwsgi的绝对路径 --ini  uwsgi.ini的绝对命令;  #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true;  #默认为false,向进程组发送kill信号包括子进程
4.supervisord  -c  /etc/supervisor.conf start  all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
    3.1安装node.js环境
    3.2安装依赖包
    3.3修改axios的发送的端口接口
    3.4打包
4.部署后端
    4.1安装virtualven
    4.2创建虚拟环境
    4.3安装django和uwsgi,以及项目的依赖包
    4.4修改uwsgi的配置文件路径与其他
5.配置nginx
    5.1创建两个虚拟主机,分别监听80端口和8000端口
    5.2访问80端口就是前端vue
    5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
    更搞效的利用系统资源
    更快速的启动时间
    一致的运行环境
    持续交付和部署
    更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

操作镜像命令:
    docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  #查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像

57.哪个命令无法查看linux文件内容? (D)

A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(B)

A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除     -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat  -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream  名字{
server  ip:端口   weight=权重数
server  ip:端口   weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制    按时间顺序逐一分配到不同的后端服务器
weight     加权轮询,weight值越大,分配到的访问几缕越高
ip_hash    每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn  最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给与一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep   -v "^#"    settings.py |grep   -v "^$" 

71.过滤出file1中以abc结尾的行

grep "sbc$"  file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker  ps  -a

73.如何批量清理后台停止的容器

docker rm  `docker ps -aq

74.如何查看容器日志?

docker logs -f    #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况   (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm  -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图


77.在centos7.2中用一句话杀死所有的test.py进程

kill -9  test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.unix查询环境变量的命令是

echo  $变量名

80.查询脚本定时任务的命令是


81.saltstack、ansible、fabric、puppt工具的作用


82.uwsgi、wsgia是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi  是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?


85.解释QPS是什么?


86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?


88.请用yaml语法表示如下python数据结构

{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?


91.docker容器有哪些状态?

dockerfile  用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from  --设置镜像使用基础镜像
maintainer  --设置镜像的作者
run     --编译镜像时运行的脚本
cmd     -- 设置容器的启动命令
label   --设置镜像的标签
expoese  --设置镜像暴露的端口
env     --设置容器的环境变量
add/copy     --  编译镜像时赋值文件到镜像中
entrypoint   --设置程序的入口程序
volume     --设置容器的挂载卷
user    --设置  run  cmd  entrypoint 用户名
workdir  --设置run  cmd entrypoint  copy add指令工作目录
arg    --设置编译镜像时加入的参数
onbuild   --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量



93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像   删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

docker rm  容器id  #删除容器

96.容器如何端口映射?数据卷映射?


97.如何进入容器?流程是?

docker exec 容器id  #进入当前正在运行的容器

98.简述docker使用流程

docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  #查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像

99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?


101.容器都是默认后台运行,怎么查看容器日志?

docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?


linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(AD)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(A)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(C)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

20.Linux单引号双引号的区别?
单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号
双引号中的内容,能够识别特殊符号,以及变量
21.vim有几种工作模式
命令模式,编辑模式,底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf xx.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
bs架构
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver x.x.x.x
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /usr/bin/rm -rf /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?
            文件夹 user读写 group只读 other读写
            33.centos版本系统服务管理命令是?
            systemctl status 查看状态
            systemctl restart 重启
            34.如何远程登录阿里云123.206.16.61?
            ssh root@123.206.16.61
            35.备份mariadb的命令是?

36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 环境变量路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有权限 并用了alisa给rm起了别名
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
rz windows传linux sz 反之
40.如何杀死mariad进程?
pkill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum工具
42.linux如何安装软件?有几种方式?
yum 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建虚拟环境
virtualenv --python=python3 env1
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是
检测redis 一旦有异常立马切换主从
48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态;HTML,js,css文件
动态;数据库数据
50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
PATH=''
source /etc/profile
52.给如下代码添加注释
server{
listen 80; #监听80端口
server_name 192.168.11.11; #服务名字
location / {
root html; #指定页面
index index.html; #首页页面
}
}

server{
listen 8080; #监听8080端口
server_name 192.168.11.11; #服务名字
location / {
include uwsgi_params; #执行nginx的配置
uwsgi_pass 0.0.0.0:8000; #将请求通过8000端口返回
}
}

53.supervisor是什么?如何使用?

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势
容器
打包镜像,不用为环境烦恼
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r递归删除
-f是强制删除
a60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
66.nginx的负载均衡调度算法有几种?是什么?
权重
轮流
谁少给谁
67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod x file
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep "sbc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢,因为容器停止了并没有被删除,docker ps -a
73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $变量名
80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?
supervisor是守护进程的配置
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
js css html
数据
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()B
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息()B
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()B
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是()A
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是()A
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是()C
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用()A
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令() B
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录() A
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是() C
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是() B
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是() A
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是() B
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? B
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos 7 cat /etc/os-release

20.Linux单引号双引号的区别?
单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法
引号与单引号的区别在于其可以包含特殊字符(单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符),包括', ", $, ,如果要忽略特殊字符,就可以利用\来转义,忽略特殊字符,作为普通字符输出:

21.vim有几种工作模式
末行模式 命令模式 输入模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
通过 server 的 端口号不同/ip不同 实现多虚拟主机
反向代理参数:proxy_pass
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?
vi /etc/resolv.conf

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容
0 * * * * /usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5,15 18,20 * * 3 /usr/bin/mysqldump -uroot -p all-database tf_crm > /opt/mysql.sql
32.某文件权限是drw-r—rw-,请解读该权限?
文件夹 属主权限 读写 属组权限只读 其他用户读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p all-database tf_crm > sql.sql
36.简述特殊符号的含义?

终端提示符 表示root用户

. 当前目录
.. 上一级目录
$PATH 系统环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alies 设置了输入rm 出现提示
38.如何修改test.py属组为alex?
chown :alex test.py
39.如何在windows和linux传输文件?有哪些方法?
安装客户端
ftp服务器
40.如何杀死mariad进程?
pkill mariadb
kill -9 mariadb进程号
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
去官网下载 yum软件安装包 通过npm 安装
42.linux如何安装软件?有几种方式?
npm 安装
yum 安装
解压软件包执行可执行程序
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
44.如何保证本地测试环境和线上开发环境一致性?思路?
使用 虚拟环境 使本地测试环境与线上开发环境保持一致
45.virtualenv是什么?简述如何使用
virtualenv是可以在操作系统上创建一个独立的python运行环境
使用 创建 virtualenv --python=python venv1
使用 source 安装绝对路径/bin/active
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?

50.配置linux软连接的命令?
In -s
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
最下面 添加 PATH=“/opt/python36/:”
52.给如下代码添加注释
server{
listen 80; 监听端口 80
server_name 192.168.11.11; 域名 192.168.11.11
location / {
root html; 文件根目录 html
index index.html; 主页文件 index.html
}
}

server{
listen 8080; 监听端口 8080
server_name 192.168.11.11; 域名 192.168.11.11
location / {
代理服务器
include uwsgi_params; 返回uwsgi 服务器
uwsgi_pass 0.0.0.0:8000; uwsgi服务器地址
}
}

53.supervisor是什么?如何使用?
supervisor 用于管理uwsgi进程
对 /etc/supervisord.conf文件进行配置 添加任务
指定配置文件启动: supervisord -c /etc/supervisord.conf
supervisorctl 进行管理
start 开启进程
stop 关闭进程
status 查看进程状态
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端部分 : 1. 安装node.js环境 配置环境变量
2.更改源文件中的ip为后端接口ip
3. 编译 vue
4.修改 nginx配置文件
后端部分 1.创建虚拟环境
2. 修改配置文件
3.配置uwsgi 创建uwsig.ini文件 并添加配置
4.关闭 supervisor 进程
5.修改supervisor配置文件
6.启动 supervisor
7.修改nginx配置文件 配置后端服务器反向代理
8.启动 mysql数据库 redis数据库
55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容 D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm -rf 是可以不用确认是否删除文件直接删除 因此慎用
a60.python操作linux的模块是?

paramiko

61.如果端口8080被占用,如何查看是什么进程?
ps -rf | grep "8080"
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

65.nginx如何实现负载均衡?
nginx将用户请求使用某种算法分发给多条服务器
66.nginx的负载均衡调度算法有几种?是什么?
轮询机制
67.linux下载软件包的方法有?
rpm deb run bin 编译安装 yum
68.windows和linux常用远程连接工具有哪些?

69.如何给与一个脚本可执行权限
chmod +x
70.过滤出settings.py中所有的空白和注释行
grep "^$" settings.py
71.过滤出file1中以abc结尾的行
grep "abc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?
supervisor uwsgi管理工具
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
统计 访问ip
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

除了没学过以及不会的大概做了50-60道,关于最近学过的Linux基础题目测试下来感觉还不错,关于redis的表示记不起来了,不知是否还会再讲

标题虽然是python笔试题,但是内容,是python笔试题中出现的linux题目

作为一个后端开发,需要掌握的Linux功底

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(A)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?C
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /proc/version

20.Linux单引号双引号的区别?
单引号:不能输出变量
双引号:可以输出变量

21.vim有几种工作模式
命令模式,插入模式,底线模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf,创建多个server配置块,uwsgi_pass

23.sed命令截取出ip地址
ifconfig |sed -n 2p|cut -d : -f2|cut -d " " -f1

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf **.tar.gz

25.awk命令截取出ip地址
ifconfig |awk '/Bc/'|awk -F: '{print $2}'|awk '{print $1}'

26.www服务在internet最为广泛,采用的结构是?
B/S

27.如何给linux添加dns服务器记录?
vim /etc/profile,添加dns

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx

29.每分钟清空/tmp/内容

          • rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * * 3 mysqldump -uroot -p --all-database /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
属主:可读可写,属组:只读,其他用户:可读可写

33.centos版本系统服务管理命令是?
service 服务名 start|stop|restart

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61

35.备份mariadb的命令是?
mysqldump -u root -p database_name > db_backup.sql

36.简述特殊符号的含义?

超级用户身份标识

. 当前目录
.. 上一级目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias别名

38.如何修改test.py属组为alex?
chmod alex test.py

39.如何在windows和linux传输文件?有哪些方法?
xftp, lrzsz

40.如何杀死mariad进程?
pkill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
yum-3.4.3.tar.gz

42.linux如何安装软件?有几种方式?
yum,源码编译安装,下载编译好的二进制文件安装,rpm

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis

44.如何保证本地测试环境和线上开发环境一致性?思路?
docker打包镜像,通过dockerfile进行打包
pip3 freeze > requirements.txt,手动解决环境问题
pip3 install -r requirements

45.virtualenv是什么?简述如何使用
是一个可以复制本地编译环境并在本地生成新的虚拟环境的模块,安装:pip3 install virtualenv,创建虚拟环境:virtualenv --python=python3 虚拟环境名称
启动:source 虚拟环境名称/bin/activate

46.virtulevnwrapper是什么?简述使用
是virtualenv的扩展包,是一个可以统一管理虚拟环境的容器,可以查找机器上所有的虚拟环境。安装:pip3 install virtualenvwrapper
创建虚拟环境:mkvirtualenv env1
切换虚拟环境: workon 虚拟环境名

47.redis哨兵是什么?作用是
Redis-Sentinel是redis官方推荐的高可用性(HA)解决方案,redis哨兵是监控redis主从服务,不存储数据库的,作用是用于自动切换redis服务主从关系,即当住哭服务停止后,会将其中一个从库变为主库。

48.redis-cluster是什么?
redis集群,即使使用哨兵,redis每个实例也是全量数据存储,每个redis存储的内容都是完整的数据。为了最大化利用内存,可以采用cluster集群,就是分布式存储,即每台redis存储不同的内容。
采用redis-cluster架构正是满足这种分布式存储要求的集群的一种体现。redis-cluster架构中,被设计成共有16384个hash slot。每个master分得一部分slot,其算法为:hash_slot = crc16(key) mod 16384 ,这就找到对应slot。采用hash slot的算法,实际上是解决了redis-cluster架构下,有多个master节点的时候,数据如何分布到这些节点上去。key是可用key,如果有{}则取{}内的作为可用key,否则整个可以是可用key。群集至少需要3主3从,且每个实例使用不同的配置文件。

49.什么是静态资源,什么是动态资源?
静态资源 不需要和数据库打交道(指定的是网站的CSS/JS/HTML/JPG/GIF等等文件)
动态资源 需要和数据库打交道(一般指的是数据,即后端给前端提供的数据)

50.配置linux软连接的命令?
ln -s 目标文件绝对路径 软连接绝对路径

51.如何永久添加/opt/python36/的环境变量?
echo $PATH,将/opt/python36/bin/,添加到PATH中,用冒号分隔,
vim /etc/profile,将PATH添加到下方。

52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # nginx监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径:192.168.11.11/
root html; # 根目录
index index.html; # 默认首页为index.html
}
}

server{
listen 8080; # nginx监听的端口
server_name 192.168.11.11; # 服务器地址
location / {
include uwsgi_params; # 将uwsgi参数加进nginx
uwsgi_pass 0.0.0.0:8000; 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
可以统一管理uwsgi的工具,如果服务中断了,可以自动重启
下载supervisord:yum install supervisord,添加配置:vim /etc/supervisord.conf,启动:supervisord -c supervisord.conf,进入命令:supervisorctl -c /etc/supervisord.conf

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端:安装node环境,将前端vue项目下载之后解压,安装依赖,更改请求的路径,打包,在nginx中配置项目路径。
后端:将项目下载后解压,建立虚拟环境,安装所需模块,配置数据库,安装uwsgi,配置uwsgi,安装supervisord,配置supervisord,配置nginx,启动supervisord,启动nginx

55.docker是什么?简述docker优势
是一个容器工具,用于快速构建应用,优势:环境一致,启动快,占用资源少,一次封装到处运行,持续交付

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker image
docker ps [-a|-q]
docker log [-f]
docker rm
docker rmi
docker load
docker save
docker search
docker pull
docker push
docker login
docker logout
docker build
docker run
docker stop
docker start
docker tag
docker ports
docker exec -ti / bash

57.哪个命令无法查看linux文件内容? C
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r递归删除,-f强制删除,删除之后不可撤销

60.python操作linux的模块是?
os, sys,subprocess

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
RDB:在指定的时间间隔能对你的数据进行快照存储。
AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
create user 'alex'@Kiss identified by 'pwd';
grant select on . to 'alex'@'localhost' identified by pwd;
flush privileges;

65.nginx如何实现负载均衡?
nginx监听一个端口,请求进来的时候将请求分发到另外两台服务器。

upstream upstream_server {
server 192.168.178.140:90 weight=4;
server 192.168.178.140:95 weight=1;
}
{
linten 80;
server_name _;
location / {
proxy_pass http://upstream_server;
}
}

66.nginx的负载均衡调度算法有几种?是什么?
轮询,权重,ip--hash,url--hash,最少连接数
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
fail

67.linux下载软件包的方法有?
wget,curl

68.windows和linux常用远程连接工具有哪些?
xshell, Securecrt,putty

69.如何给与一个脚本可执行权限
chmod +x

70.过滤出settings.py中所有的空白和注释行
grep -v "^$" settings.py | grep -v '^#'

71.过滤出file1中以abc结尾的行
grep 'abc$' file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢失,因为容器停止了,并没有删除,docker ps -a可以看到

73.如何批量清理后台停止的容器
docker rm docker ps -a -q

74.如何查看容器日志?
docker log
docker log -f

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top
ps aux --sort=%cpu
1.找到吃资源的进程信息 top glances(资源监控工具)
2.强制 kill -9 杀死 cxk.avi
3.检查定时任务
4.全局搜索病毒文件 find / -name cxk.avi
5.强制删除 病毒文件

76.绘制下python web部署图
输入图片说明

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
ps aux

79.unix查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器

82.uwsgi、wsgi是什么?

wsgi:是一种协议,描述web server如何和web application通信的规则。

uwsgi:和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型, 是一个web服务器,实现了WSGI协议,uwsgi协议。

83.supervisor是什么?
可以统一管理uwsgi的工具,如果服务中断了,可以自动重启

84.解释PV,UV的含义?
pv:page v
uv:user v

85.解释QPS是什么?
每秒数据访问量

86.解释什么是静态资源?动态资源?
静态资源 不需要和数据库打交道(指定的是网站的CSS/JS/HTML/JPG/GIF等等文件)
动态资源 需要和数据库打交道(一般指的是数据,即后端给前端提供的数据)

87.saltstack如何采集服务器静态数据?
slat '*' grains.items

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

老男孩:
  - 老师: 
    - 太白
      - 女神
        - 吴老板
      - 学生
   - 20期佳增同学

89.redis怎么实现队列?

生产者消费者模式,发布者订阅者模式。

90.什么是docker生命周期?

运行,已暂停,重新启动,已退出

91.docker容器有哪些状态?

Dockerfile,Image,Container

92.dockerfile常用指令?
FROM:基础镜像
LABEL:定义一些参数
RUN:执行命令
COPY:将本地文件复制到容器内
ADD:解压tar文件
CMD:运行命令
EXPOSE:容器启动的端口 -p -P
WORKDIR:工作目录
ENV:环境变量
VOLUME:数据目录 -v

93.dockerfile中copy和add的区别
copy是拷贝宿主机的文件到容器
add是拷贝宿主机的文件到容器中,并且有解压缩的作用

94.docker获取和删除镜像的命令?

获取:docker pull NAME[:TAG]

删除:docker rmi IMAGE[IMAGE...]

95.如何退出一个交互式的容器终端,而不终止它?
ctrl + q

96.容器如何端口映射?数据卷映射?
-p -v

97.如何进入容器?流程是?

attach:先创建一个容器sudo docker run -itd ubuntu:14.04 /bin/bash ,再进入容器sudo docker attach 44fc0f0582d9

98.简述docker使用流程

1)创建Dockerfile后,您可以构建它以创建容器的镜像

2)推送或拉取镜像。

99.如何批量删除或停止容器?

批量停止

根据NAMES停止所有容器

docker stop `docker ps |  awk 'NR!=1{print $NF}'`

根据CONTAINER ID停止所有容器

docker stop `docker ps |  awk 'NR!=1{print $1}'`

批量删除

根据NAMES删除所有容器

docker rm `docker ps -a |  awk 'NR!=1{print $NF}'`

根据CONTAINER ID删除所有容器

docker rm `docker ps -a |  awk 'NR!=1{print $1}'`

100.nginx的access.log能够统计哪些信息?
ip,user,local_time,ststus,http_referer,http_user_agent,http_x_forwarded_for

101.容器都是默认后台运行,怎么查看容器日志?
docker log

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
不会丢失

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

process ID 进程id号

UID 用户iD号 ,如何查看?查看的是当前登录的用户信息

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev
#/etc/shadow文件用于保存用户密码信息。用户可以在终端通过cat命令查看:
#cat /etc/shadow

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!
:w 保存文件但不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat
chmod # 修改文件权限的
touch # 创建普通根本
chown change owner # 更改用户者,更改属主
chgrp # 更改属组
8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

------------------------

.gz
.tar
都可以通多tar命令解压
tar -x 解压缩tar后缀的
tar -z 解压缩 gz后缀的
tar -f 必须制定一个压缩文件名,这个-f参数,必须写在最后面
tar -v 显示压缩/解压缩过程

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

------------------

linux的软件包格式都是rpm的
rpm也是linux提供的一个命令,用于查询通过yum安装的软件
rpm -i # 是安装软件
rpm -q query # 查询软件
rpm -qi # 详细信息
rpm -ql # 详细安装路径

10.Linux配置文件一般放在什么目录(B)
A.etc B.bin C.lib D.dev
dev存放抽象硬件
lib存放系统库文件
sbin存放特权级二级制文件
var存放经常变化的文件
home普通用户目录
etc存放配置文件目录
boot存放内核与启动文件
bin存放二进制文件
usr存放安装程序
mnt文件挂载目录
root特权用户目录
opt大型软件存放目录(非强制)
11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

top - linux任务管理器,查看系统负载状态,动态进程信息的

last - 用户最后登录的信息

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
#find . -name "*.txt" 才可以
#find . -name ".txt"是找出文件名为.txt的文件
#find . ".txt" 是查找".",".txt"这两个目录
#ls 只能显示当前目录的文件

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

ssh - 远程登录

netstat - 查看linux端口信息的

ping D.exit(退出会话)

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

创建文件夹,如果父目录不存在,怎么办? 通过小写的 -p参数,递归创建父目录

mkdir -p
18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname#主机名
B./etc/hosts#强制写入域名解析记录
C./etc/resolv.conf#存放dns服务器的文件
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7 cat
/etc/os-release
20.Linux单引号双引号的区别?
单引号’’,也称为强引用,对于被引起来的内容,原封不动地使用,即便里面包含特殊字符,也不做处理
双引号””,也称为弱引用,对于被引起来的内容,若包含特殊字符,则需要对特殊字符做一些处理,
21.vim有几种工作模式
基本上vim可以分为三种模式:命令模式,插入模式和底行模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 在nginx中创建多个server{} proxy_pass http://ip
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf **.tar.gz
25.awk命令截取出ip地址
ip addr show ens33 | awk -F "[ /]+" '/inet /{print $3}'

ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
/etc/resolv.conf
添加2条主备dns记录
nameserver dns服务器ip
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx

29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /usr/bin/rm -rf /tmp/
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 18,20 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?
            rw- 属主:可读可写
            r— 属组:可读
            rw- other:可读可写
            33.centos版本系统服务管理命令是?
            systemctl
            34.如何远程登录阿里云123.206.16.61?
            ssh root@123.206.16.61
            35.备份mariadb的命令是?
            mysqldump -uroot -p
            36.简述特殊符号的含义?

#命令提示符
.当前目录
..上级目录
$PATH 变量取值

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
yum install lrzsz -y
rz

40.如何杀死mariad进程?
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
在PATH中添加yum的绝对路径
42.linux如何安装软件?有几种方式?
yum
rpm
源码包

43.出于安全角度,简述如何安装启动redis服务端?
更改端口 port 6380
开启protomode yes安全模式
设置redis密码
redis-server redis.conf

redis.conf 内容如下
port 6380
protomode yes
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.土办法:运行代码,查看报错,一个一个模块单独去安装解决
2.手动解决环境问题 pip3 freeze导出依赖
pip3 freeze > requirements.txt
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
45.virtualenv是什么?简述如何使用

46.virtulevnwrapper是什么?简述使用
virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。
python3的虚拟环境工具配置
1.下载虚拟环境工具
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

2.通过命令行创建虚拟环境
#pip3安装的模块会放在这里
[root@s25linux ~]# find /opt/python369/ -name site-packages
/opt/python369/lib/python3.6/site-packages

--python=python3 指定venv虚拟解释器,以哪个解释器为本体

这个命令如果你用相对路径,就得注意你在哪敲打的此命令

[root@s25linux opt]# virtualenv --python=python3 venv1

3.创建好venv1之后,需要激活方可使用,这个激活其实就是在修改PATH而已
[root@s25linux bin]# source /opt/venv1/bin/activate
(venv1) [root@s25linux bin]#

4.明确虚拟环境下venv1的解释器是干净隔离的
(venv1) [root@s25linux bin]# which python3
/opt/venv1/bin/python3
(venv1) [root@s25linux bin]#
(venv1) [root@s25linux bin]#
(venv1) [root@s25linux bin]# which pip3
/opt/venv1/bin/pip3
(venv1) [root@s25linux bin]#
(venv1) [root@s25linux bin]# pip3 list
Package Version


pip 20.0.2
setuptools 45.2.0
wheel 0.34.2
47.redis哨兵是什么?作用是
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
即使使用哨兵,redis每个实例也是全量数据存储,每个redis存储的内容都是完整的数据。
为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容。
采用redis-cluster架构正是满足这种分布式存储要求的集群的一种体现。redis-cluster架构中,被设计成共有16384个hash slot。每个master分得一部分slot,其算法为:hash_slot = crc16(key) mod 16384 ,这就找到对应slot。采用hash slot的算法,实际上是解决了redis-cluster架构下,有多个master节点的时候,数据如何分布到这些节点上去。key是可用key,如果有{}则取{}内的作为可用key,否则整个可以是可用key。群集至少需要3主3从,且每个实例使用不同的配置文件。
49.什么是静态资源,什么是动态资源?
请求访问时直接被nginx返回的是静态资源,如果需要nginx通过请求wsgi的是动态资源
50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
/etc/profile 全局变量配置文件,每次机器开机都会加载这个文件中的变量

vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名192.168.11.11
location / { # 访问的路径 /
root html; # 指定页面的目录,访问/会找到html目录
index index.html # 指定网页,访问/就是访问index.html
}
}

server{ #虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor进程管理工具
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
vim /etc/supervisor.conf
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.获取前端vue的项目代码
(s25_crm) [root@s25linux s25luffy]# wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

2.解压缩代码,进行编译打包vue的代码,注意要配置nodejs环境
unzip 07-luffy_project_01.zip

3.配置nodejs环境,下载nodejs源码包
这里特殊的是,老师给的这个地址,是node的二进制源码包,是已经编译完成了的node解释器
直接解压缩,配置PATH即可,无需再编译了
wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
tar -zxvf node-v8.6.0-linux-x64.tar.gz

添加node的环境变量,如下
vim /etc/profile
PATH="/opt/python369/bin:/opt/tngx232/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s25luffy/node-v8.6.0-linux-x64/bin"

4.重新读取/etc/profile,加载node的环境,查看是否正常
source /etc/profile
[root@s25linux ~]# node -v
v8.6.0
[root@s25linux ~]# npm -v
5.3.0

5.进入vue的代码目录下,修改数据提交地址,这一步非常重要!!!!!!!!!
// 这里是 vue页面运行之后,出发js的数据提交动作,向某个地址,发出了请求,这个地址对吗???
// 为什么不对呢?是因为,vue向当前机器的本地,去发送请求了,是错的!!!!
// 应该向后台服务器 去发送请求!!!
// 那么,我应该发给谁呢???
// 我应该 发给 刚才和大家聊的 9000端口,还是 9005端口呢??
// 没问题,这里的数据提交地址,应该发给 代理服务器,也就是 9000端口,然后再通过9000端口,转发给uwsgi,也就是9005端口

批量修改的命令如下
sed命令,是用于文本内容处理的 强大命令,可以直接替换文件中的内容
比如notapad++的全局替换 功能

#sed命令 -i参数 是 把替换结果写入到文件

's/127.0.0.1:8000/192.168.178.143:9000/g'

s是替换指令 /你要替换的内容/替换之后的内容/ g 是 全局替换,global的意思

[root@s25linux 07-luffy_project_01]# sed -i 's/127.0.0.1:8000/192.168.43.41:9000/g' src/restful/api.js

6.明确vue的数据提交地址,正确修改之后,开始安装node的依赖

就好比 python项目要运行,需要安装pip3模块一样
node项目要运行,也需要npm install package.json #安装模块呀。。。。
#我敲打的这个命令,是更换npm的源的含义,加速下载

--registry https://registry.npm.taobao.org 这是临时更换淘宝源的含义。。。

结尾什么都不跟上,默认是安装当前路径的 package.json文件

[root@s25linux 07-luffy_project_01]# npm --registry https://registry.npm.taobao.org install

7.安装完node的模块之后,开始编译vue
npm run build

8.此时应该会生成了dist文件夹,直接丢给nginx去返回页面即可,由于学习阶段,80端口已经给crm项目用了,因此路飞换成81端口

9.修改nginx.conf,添加一个server{}虚拟主机,返回路飞的页面

vim nginx.conf

#添加第二个虚拟主机 ,给路飞使用
server {
listen 81;
server_name _;
location / {
#直接返回vue的打包内容即可
root /s25luffy/07-luffy_project_01/dist;
index index.html;
}

1.获取drf项目代码,本地上传,git克隆
wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip

2.解压缩项目代码,之后,安装依赖,使用虚拟环境管理不同的项目
virtualenv --python=python3 s25_luffy
[root@s25linux luffy_boy]# source s25_luffy/bin/activate
(s25_luffy) [root@s25linux luffy_boy]#

3.解决路飞后台代码,所需的依赖,下载requirements.txt文件即可
(s25_luffy) [root@s25linux luffy_boy]# cat requirements.txt

certifi==2018.11.29
chardet==3.0.4
crypto==1.4.1
Django==2.1.4
django-redis==4.10.0
django-rest-framework==0.1.0
djangorestframework==3.9.0
idna==2.8
Naked==0.1.31
pycrypto==2.6.1
pytz==2018.7
PyYAML==3.13
redis==3.0.1
requests==2.21.0
shellescape==3.4.1
urllib3==1.24.1
uWSGI==2.0.17.1

4.安装路飞的依赖文件
(s25_luffy) [root@s25linux luffy_boy]# pip3 install -i https://pypi.douban.com/simple -r requirements.txt

5.测试路飞代码是否能够运行
python3 manage.py runserver 0.0.0.0:8080

6.测试通过之后,配置uwsgi.ini,启动路飞后端,老师的uwsig.ini内容如下
###########################
(s25_luffy) [root@s25linux luffy_boy]# cat uwsgi.ini

[uwsgi]

Django-related settings

the base directory (full path)

填写crm项目的第一层绝对路径

chdir = /s25luffy/luffy_boy

Django's wsgi file

填写crm项目第二层的相对路径,找到第二层目录下的wsgi.py

这里填写的不是路径,是以上一个参数为相对,找到第二层项目目录下的wsgi.py文件

module = luffy_boy.wsgi

the virtualenv (full path)

填写虚拟环境解释器的第一层工作目录

home = /s25luffy/luffy_boy/s25_luffy

process-related settings

master

master = true

maximum number of worker processes

代表定义uwsgi运行的多进程数量,官网给出的优化建议是 2*cpu核数+1 ,单核的cpu填写几?

如果是单进程,十万个请求,都丢给一个进程去处理

3个工作进程,十万个请求,就分给了3个进程去分摊处理

processes = 3

the socket (use the full path to be safe

这里的socket参数,是用于和nginx结合部署的unix-socket参数,这里临时先暂停使用

使用此协议运行后台,就无法通过浏览器访问了,协议不一样

socket = 0.0.0.0:9005

线上不会用http参数,因为对后端是不安全的,使用socket参数是安全的连接,用nginx反向代理去访问

后端程序是运行在防火墙内部,外网是无法直接访问的

临时使用http参数,便于我们用浏览器调试访问

#http = 0.0.0.0:8000

... with appropriate permissions - may be needed

chmod-socket = 664

clear environment on exit

vacuum = true

########################################
7.此时给supervisor再添加一个任务,用于管理路飞
vim /etc/supervisord.conf

在最下面,添加如下
[program:s25_luffy]
command=/s25luffy/luffy_boy/s25_luffy/bin/uwsgi --ini /s25luffy/luffy_boy/uwsgi.ini
autostart=true
startsecs=10
autorestart=true
stopasgroup=true
killasgroup=true

8.此时重启supervisord进程,把新的任务,管理路飞也加进去
先杀死所有的supervisor进程吧
pkill -9 supervisor #杀死supervisor进程,用于重启
pkill -9 uwsgi #杀死crm的进程,用于待会重启

9.此时检查2个任务的状态
(s25_luffy) [root@s25linux luffy_boy]# supervisorctl -c /etc/supervisord.conf
again_s25crm STARTING
s25_luffy STARTING
supervisor>
supervisor>
supervisor> status
again_s25crm STARTING
s25_luffy STARTING
supervisor> status
again_s25crm RUNNING pid 69415, uptime 0:00:13
s25_luffy RUNNING pid 69414, uptime 0:00:13

10.此时发现还差一个代理服务器的配置,修改nginx.conf如下

#再添加一个虚拟主机,作用是给路飞后台的反向代理使用
server {
#这里应该填写9000的代理服务器端口
listen 9000;
server_name _;

nginx的9000代理服务器,接收到任意请求之后,直接转发给后端的uwsgi

location / {
uwsgi_pass 0.0.0.0:9005;
include uwsgi_params;
}
}

11.重启nginx
nginx -s reload

12.登录路飞的账密
alex
alex3714

13.添加python和linux的课程,加入购物车,查看个人中心的购物车,发现还缺少redis数据库的运行

14.安装redis且启动
yum install redis -y
systemctl start redis

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm -rf -r 递归删除文件夹 -f 强制删除
60.python操作linux的模块是?
os
subpreocess
sys

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}

66.nginx的负载均衡调度算法有几种?是什么?
weight    加权轮询,weight值越大,轮询     
按时间顺序逐一分配到不同的后端服务器(默认)

67.linux下载软件包的方法有?
wget url地址
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” file |grep -v “^$”
71.过滤出file1中以abc结尾的行
grep “abc$” file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
kill -9
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH

cat /etc/profile
80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

crontab -l #列出定时任务的规则
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
IP相关统计
页面访问统计
每秒请求量统计
性能分析
TCP连接统计
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

标题虽然是python笔试题,但是内容,是python笔试题中出现的linux题目

作为一个后端开发,需要掌握的Linux功底

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(b)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(b)
A./boot B./etc C./var D./dev
  内核和启动文件  配置文件目录   经常变化的文件   抽象硬件  
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(b)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(d)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(a)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(a)要不就是764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(c)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(a)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(a)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(a)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(b)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(a)
A.rwx-r—rw-
B.rw-r—r—
C.—xr—rwx
D.rwx-r—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(d)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “*.txt”

15.什么命令常用于检测网络主机是否可达?a  
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?a
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?c
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?a
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos    
20.Linux单引号双引号的区别?
单引号:  '' 只能识别字符串
双引号: ""  能够识别特殊符号,以及变量
21.vim有几种工作模式 
命令    vim 
插入  i a o
底线命令

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
	nginx.conf      
	修改nginx.conf配置如下,定义多个server{} 区域块即可
	proxy_pass参数
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf  
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /user/bin/systemctl restart nginx
29.每分钟清空/tmp/内容
* * * * * /user/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /user/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * * 3 udrt/bin/mysqldump -u root -p --all-databases > /opt/db.dump
32.某文件权限是drw-r—rw-,请解读该权限?
d 一个文件夹
rw user 可以读写
r  group 可以读
rw other  可以读写
33.centos版本系统服务管理命令是?
top
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -u root -p --all-databases > /备份地址/
36.简述特殊符号的含义?
#注释
.当前目录
..上一级目录
$PATH path地址

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有删除的权限
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz工具来传递    
whidos文件上传到网站上.linux从网站上下载
40.如何杀死mariad进程?
kill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
su - root   切换用户到root 进行下载yum

42.linux如何安装软件?有几种方式?
yum  下载
源代码编译安装
rpm手动安装

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
44.如何保证本地测试环境和线上开发环境一致性?思路?
将本地环境导出,在线上环境导入安装
45.virtualenv是什么?简述如何使用
给不同的项目搭建不同的虚拟环境,使得不同的软件的版本不会被覆盖
可以在系统中建立多个不同且相互不干扰的虚拟环境
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
在当前文件下创建一个虚拟环境
virtualenv --python=python3  venv(虚拟环境名称)
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
图片,文字等不需要与后端互动的资源就是静态资源
需要逻辑运算的,与后台互动的资源就是动态资源
50.配置linux软连接的命令?
ln  -s  目标文件绝对路径     软连接绝对路径
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
PATH='/opt/python36/bin:/其他'
:wq!
52.给如下代码添加注释
server{
listen 80;   80端口
server_name 192.168.11.11;  域名
location / {
root html;       定义该虚拟主机,资料存放路径的,当用户访问 192.168.11.11的时候,就返回该目录的资料    
index index.html; 用于定义nginx的首页文件名字,只要在html目录下存在index.html文件即可 
}
}

server{
listen 8080;    8080端口
server_name 192.168.11.11;   域名
location / {
include uwsgi_params;    反向代理转发
uwsgi_pass 0.0.0.0:8000;通过uwsgi_pass把请求转发给后端的uwsgi服务器
}
}

53.supervisor是什么?如何使用?
进程管理工具
配置文件中添加管理任务   
command=启动uwsgi的命令
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
首先将路飞的前端项目部署,接着部署后端,测试后端是否可以正常运行,可以正常运行即可配置uwsgi,配置好uwsgi文件,接着配置supervisor,配置supervisor文件,然后重启supervisor进程,接着配置nginx文件,配置后重启nginx即可
55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?d
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?  b
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
强制删除,不需要同意,直接删除
60.python操作linux的模块是?
os模块
61.如果端口8080被占用,如何查看是什么进程?
ps -ef|grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

65.nginx如何实现负载均衡?
配置nginx.conf文件,使用upstream关键词负载均衡池,写入资源服务器的地址,实现负载均衡,默认是轮询机制,一台服务器处理一次
66.nginx的负载均衡调度算法有几种?是什么?
轮询机制,权重
67.linux下载软件包的方法有?

68.windows和linux常用远程连接工具有哪些?
lrzsz工具
69.如何给与一个脚本可执行权限

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep -v 

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
    uwsgi 是支持并发形式启动,支持多进程,多线程,协程的一个c语言编写的高性能工具
83.supervisor是什么?
进程管理工具,防止进程意外死亡,自动重启
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?A
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?D
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7 cat/etc/redhat-release
20.Linux单引号双引号的区别?
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。
21.vim有几种工作模式
三种基本的工作模式:指令行模式、文本输入模式、行末模式。
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置好server{}标签可实现多虚拟主机 proxy_pass参数
23.sed命令截取出ip地址
ifconfig wlan0 | grep 'inet addr' | sed 's/^.addr://g' | sed 's/Bcast.//g' 
24.如何解压缩后缀是.tar.gz文件? 
tar -zxvf 
25.awk命令截取出ip地址 
awk -F '[] "[]' '{print1"\t"2"\t"3"\t"4"\t"5"\t"6"\t"7}' logs/host.access.log > linshi3.log
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf 添加一行
nameserver dns

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /opt/nginx112/sbin/nginx -s reload
29.每分钟清空/tmp/内容

/use/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /use/bin/rm /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:目录文件
rw-:文件所有者:读写
r--:组:只读
rw--:其他:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p
36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
是因为 alias的作用
38.如何修改test.py属组为alex?
chowm alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz
xftp
scp
40.如何杀死mariad进程?
pkill mariad
ps -ef|grep mysql
kill pid

killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
版本低 升级yum源
42.linux如何安装软件?有几种方式?
两种
yum安装
编译安装
43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题
45.virtualenv是什么?简述如何使用
虚拟环境
1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv --no-site-packages --python=python3 env1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list
46.virtulevnwrapper是什么?简述使用
创建python虚拟环境的工具
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库福娃五停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
redis集群功能,用于大规模redis服务,通过虚拟槽分区将数据保存在指定的分区
49.什么是静态资源,什么是动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ #一个虚拟之际

listen 80;
#监听端口 80端口
server_name 192.168.11.11;
#填写域名,没有就默认即可,现在的域名为192.168.11.11
location / { # 访问的路径 /

nginx的域名匹配,所有的请求,都会进入到这里
root html;

指定页面的目录,访问/会找到html目录
index index.html;

指定网页,访问/就是访问index.html
}
}

server{#虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势
linux容器软件
docker应用于快速构建应用
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm 删除文件、文件夹
-r Recurve的首字母,递归的意思,删除此文件夹下所有文件
-f不提醒,直接删除
a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb aof
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget curl

68.windows和linux常用远程连接工具有哪些?

Xshell、SecureCRT、Putty、SSH Secure Shell Client等
69.如何给与一个脚本可执行权限
chmod u+x 脚本名

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" file |grep -v "^"71.过滤出file1中以abc结尾的行grep"abc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top

ps aux --sort=%cpu
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

ps aux
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具
WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信。
83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?
pv page v

uv user v
85.解释QPS是什么?
每秒数据访问量
86.解释什么是静态资源?动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)

87.saltstack如何采集服务器静态数据?
slat '*' grains.items
88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
利用list数据类型的特性 ,双向队列
可以用 lpush 往左边插入数据,再利用rpop从右边取出数据
90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
用来指定日志文件的存放路径、格式(把定义的log_format 跟在后面)和缓存大小;如果不想启用日志则access_log off ;
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达   C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?   A
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?    A
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?				B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
 
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?    
cat /etc/os-release

20.Linux单引号双引号的区别?
单引号里面是一个字符串
双引号里面是一个字符串,可以识别变量和一些特殊字符

21.vim有几种工作模式
三种工作模式
插入模式,命令模式 ,退出模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
在配置文件中修改添加server
在location中添加    proxy_pass  服务器IP:port

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf

27.如何给linux添加dns服务器记录?
/etc/resolv.conf

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * *  nginx命令位置 -s reload

29.每分钟清空/tmp/内容
0 * * * *   rm命令位置 -rf  /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * *  rm命令位置 -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * * 3   mysqldump -u root -p --all-databases > /opt/data.sql

32.某文件权限是drw-r—rw-,请解读该权限?
    d代表是一个文件夹
    rw-代表属主有读写权限
    r--代表属组有读权限
    rw-代表代表其他人有读写操作
    
33.centos版本系统服务管理命令是?
systemctl

34.如何远程登录阿里云123.206.16.61?
ssh 用户名@123.206.16.61

35.备份mariadb的命令是?
mysqldump -uroot -p --all-databases > 备份的目标目录

36.简述特殊符号的含义?

#		:注释,或者当前是root用户
.		:当前目录
..		:上一级目录
$PATH	:系统的环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有权限

38.如何修改test.py属组为alex?
chown alex.alex test.py

39.如何在windows和linux传输文件?有哪些方法?
lrzsz

40.如何杀死mariad进程?
ps -ef | grep mariad
kill mariad的pid

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
需要安装yum

42.linux如何安装软件?有几种方式?
    使用yum安装
    使用源码包安装
    使用rpm安装

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
redis-cli

44.如何保证本地测试环境和线上开发环境一致性?思路?
使用虚拟环境,手动安装需要的模块,使用freeze命令
使用docker

45.virtualenv是什么?简述如何使用
虚拟环境

49.什么是静态资源,什么是动态资源?
静态资源就是不需要修改的资源
动态资源就是不断变化的资源

50.配置linux软连接的命令?
ln 

51.如何永久添加/opt/python36/的环境变量?
/etc/profile

52.给如下代码添加注释
server{
# 监听80端口
    listen 80;
    # 服务器的地址
    server_name 192.168.11.11;
    
    location / {
    # 表明这是一个web站点,提供静态资源
    root html;
    index index.html;
    }
}

server{
listen 8080;
server_name 192.168.11.11;
# 这是一个反向代理
location / {
include uwsgi_params;
# 向8000端口转发请求
uwsgi_pass 0.0.0.0:8000;
}
}

53.supervisor是什么?如何使用?
资源管理工具
首先安装
修改配置文件
/etc/supervisord.conf
配置完成之后,
supervisorctl -c /etc/supervisord.conf

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man
D

58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
用用就知道了

60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。


65.nginx如何实现负载均衡?
通过nginx负载均衡算法

66.nginx的负载均衡调度算法有几种?是什么?
轮训算法
权重算法

67.linux下载软件包的方法有?
yum
rpm
源码下载
二进制源码

68.windows和linux常用远程连接工具有哪些?
ssh,powershell

69.如何给与一个脚本可执行权限
chmod 111 脚本文件

70.过滤出settings.py中所有的空白和注释行
grep '^$' -v | grep '^#*'

71.过滤出file1中以abc结尾的行
grep  '*abc$'  file1

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.unix查询环境变量的命令是
$PATH

80.查询脚本定时任务的命令是
crontab -l

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID
2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc
4.vim退出不保存的命令是(A)
A.:q B.q C.:wq D.:q!
5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765
7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat
8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev
11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm
12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
15.什么命令常用于检测网络主机是否可达?(C)
A.ssh B.netstat C.ping D.exit
16.退出交互式shell,应该输入什么?(D)
A:q! B.quit C.; D.exit
17.在父目录不存在的时候,添加的参数是?(D)
A.-P B.-d C.-f D.-p
18.下列文件中,包含了主机名到IP地址映射关系的文件是?(B)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7
cat /etc/os-release
20.Linux单引号双引号的区别?
单引号中是原始字符串
双引号可以对特殊字符进行扩展
21.vim有几种工作模式
命令模式
编辑模式
底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
多个server{}
proxy_pass http://ip
23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
ifconfig ens33|sed -n '2s#^.net ##gp'|sed 's# netmask.$##g'
ifconfig ens33|sed -nr '2s#^.inet (.) netmask.$#\1#gp'
24.如何解压缩后缀是.tar.gz文件?
tar -xf .tar
25.awk命令截取出ip地址
ip addr show ens33 | awk -F "[ /]+" '/inet /{print $3}'
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
/etc/resolv.conf
添加2条主备dns记录
nameserver dns服务器ip
28.每月的5,15,25的晚上5点50重启nginx
ctontab -e
50 17 5,15,25 /usr/bin/systemctl restart nginx
50 17 5,15,25 /opt/nginx112/sbin/nginx -s reload
29.每分钟清空/tmp/内容
/usr/bin/rm -rf /tmp/

30.每天早上6.30清空/tmp/的内容
30 6 /usr/bin/rm -rf /tmp/
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:目录文件
rw- 属主:可读可写
r— 属组:可读
rw- other:可读可写
33.centos版本系统服务管理命令是?
service
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p
36.简述特殊符号的含义?
#:root用户的身份提示符
.:当前目录
..:上级目录
$PATH:取值符
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
xftp lrzsz scp
40.如何杀死mariad进程?
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
查看有无 yum安装包 ,有的话卸载:
查看:rpm -qa |grep yum
卸载:rpm -aq|grep yum|xargs rpm -e --nodeps
步骤如下
第一步:
http://mirrors.163.com/centos/6/os/x86_64/Packages/
到上面这个网站去下载如下RPM包
python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
yum-3.2.29-69.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
下载完成之后,用rpm命令进行安装,如下:
rpm -ivh --force --nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh --force --nodeps yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
rpm -ivh --force --nodeps yum-3.2.29-69.el6.centos.noarch.rpm yum-plugin-fa
stestmirror-1.1.30-30.el6.noarch.rpm
这里安装的时候需要注意,一定要加 --force --nodeps不然会报错安装不上

第二步:
根据上图的提示到 http://yum.baseurl.org/wiki
下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:
tar -zxvf yum-3.4.3.tar.gz #解压后进到yum-3.4.3目录
输入如下命令
./yummain.py update
42.linux如何安装软件?有几种方式?
yum
rpm
源码包
43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
设置redis密码
redis-server redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
45.virtualenv是什么?简述如何使用
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.6。所有第三方的包都会被pip安装到Python3的site-packages目录下。
46.virtulevnwrapper是什么?简述使用
virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
即使使用哨兵,redis每个实例也是全量数据存储,每个redis存储的内容都是完整的数据。
为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容。
采用redis-cluster架构正是满足这种分布式存储要求的集群的一种体现。redis-cluster架构中,被设计成共有16384个hash slot。每个master分得一部分slot,其算法为:hash_slot = crc16(key) mod 16384 ,这就找到对应slot。采用hash slot的算法,实际上是解决了redis-cluster架构下,有多个master节点的时候,数据如何分布到这些节点上去。key是可用key,如果有{}则取{}内的作为可用key,否则整个可以是可用key。群集至少需要3主3从,且每个实例使用不同的配置文件。
49.什么是静态资源,什么是动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ #一个虚拟主机
listen 80; #监听的端口,访问的端口80
server_name 192.168.11.11;#访问的域名192.168.11.11
location / {#访问的路径 /
root html;#指定页面的目录,访问/会找到html目录
index index.html;#指定网页,访问/就是访问index.html
}
}

server{ #虚拟主机
listen 8080;#nginx监听端口
server_name 192.168.11.11;#nginx访问域名
location / {#location匹配url
include uwsgi_params;#将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000;#反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
1.安装 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:crm] ; 项目名称
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;启动项目的命令
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理
55.docker是什么?简述docker优势
linux容器软件
docker应用于快速构建应用
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images # 查看本地镜像
docker serach 镜像 # 通过docker hub搜索镜像
docker rmi 镜像 # 删除镜像
docker save 镜像 > 路径 # 导出镜像
docker load < 路径 # 导入镜像
docker build -t . # 打包生成镜像
57.哪个命令无法查看linux文件内容?(D)
A.tac B.more C.head D.man
58.使用rm -i 系统会提示什么信息?(B)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
59.为何说rm -rf 慎用?
-r递归删除
-f强制删除
60.python操作linux的模块是?
OS
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?
rdb
Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化。
rdb缺点,定期执行,可能会丢失数据,并且数据量特别大时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。
aof
Redis会把每一个写请求都记录在一个日志文件里。在Redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新。
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志。大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长。
优先:数据安全,不怕数据损坏,如断电灯问题,还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用rdb和aof
如果既配置了RDB,又配置了AOF,则在进行数据持久化的时候,都会进行,但是在根据文件恢复数据的时候,以AOF文件为准,RDB文件作废
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。
64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget curl
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” file |grep -v “^$”
71.过滤出file1中以abc结尾的行
grep “abc$” file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢,因为容器停止了,并没有被删除 docker ps -a可以看到
73.如何批量清理后台停止的容器
docker rm docker ps -aq
74.如何查看容器日志?
docker logs -f
75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1找到吃资源的进程信息
2强制kill -9 杀死进程
3检查定时任务
4全局搜索病毒文件 find / -name 病毒文件名
5 强制删除病毒文件
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件
81.saltstack、ansible、fabric、puppt工具的作用
远程执行命令 批量管理工具
SaltStack(或Salt)是一个基于命令行的工具,可以设置一个主客户端模式还是非集中模式。 Salt基于Python,提供了一种推送方法和一种与客户端通信的SSH方法。
Salt允许对客户端和配置模板进行分组,以简化对环境的控制
82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。
uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
是C/S模型的程序,其服务端是supervisord服务,客户端是supervisorctl命令
主要功能:
1 启动、重启、关闭包括但不限于python进程。
2 查看进程的运行状态。
3 批量维护多个进程。
84.解释PV,UV的含义?
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。
UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客。
85.解释QPS是什么?
‘QPS(Query Per Second)‘
每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据
nginx实现动静分离,静态请求nginx直接返回
动态请求
uwsgi_pass 后端uwsgi的地址
87.saltstack如何采集服务器静态数据?
salt采用 granis组件 采集
88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现
90.什么是docker生命周期?
镜像 容器 仓库 三大生命周期
91.docker容器有哪些状态?
容器可以被创建、启动、停止、删除、暂停
92.dockerfile常用指令?
FROM cento
LABLE 作者信息
RUN
WORKDIR
ADD
COPY
CMD
ENV
EXPOSE
ADD除了有添加的作用,还有解压缩的作用
WORKDIR /root 切换路径
copy就是把本地的文件,拷贝到容器空间内,没有解压作用
ENV #环境变量,尽可能使用ENV增加可维护性
RUN
93.dockerfile中copy和add的区别
ADD与COPY
COPY拷贝宿主机的文件 放到 容器中

  • 优先使用COPY命令
    -ADD除了COPY功能还有解压功能
    添加远程文件/目录使用curl或wget
    94.docker获取和删除镜像的命令?
    docker rmi 镜像 删除镜像
    95.如何退出一个交互式的容器终端,而不终止它?
    exit
    开启
    docker exec -it 容器id
    96.容器如何端口映射?数据卷映射?
    -p 端口映射
    -v 数据卷映射
    97.如何进入容器?流程是?
    使用docker attach
      Docker提供了attach命令来进入Docker容器。
      接下来我们创建一个守护态的Docker容器,然后使用docker attach命令进入该容器。
    $ sudo docker run -itd ubuntu:14.04 /bin/bash
      然后我们使用docker ps查看到该容器信息,接下来就使用docker attach进入该容器
    $ sudo docker attach 44fc0f0582d9
    使用SSH
    使用nsenter
    使用exec
    98.简述docker使用流程
    1.安装docker
    2.加载image
    sudo docker load -i image_name
    eg: sudo docker load -i newest_ros-kinetic.tar
    加载成功之后,使用docker images命令进行查看
    sudo docker images
    sudo docker tag dd44e954240f my/ros-kinetic:ros-kinetic
    3.开启docker 容器
    sudo docker run -it image_id
    99.如何批量删除或停止容器?
    方法一:
    显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
    sudo docker ps -a|grep Exited|awk '{print $1}'
    查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
    sudo docker rm docker ps -a|grep Exited|awk '{print $1}'
    方法二:
    删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
    sudo docker rm $(sudo docker ps -a -q)
    方法三:
    根据容器的状态,删除Exited状态的容器
    sudo docker rm $(sudo docker ps -qf status=exited)
    方法四:
    Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。
    sudo docker container prune
    100.nginx的access.log能够统计哪些信息?
    IP相关统计
    页面访问统计
    每秒请求量统计
    性能分析
    TCP连接统计
    101.容器都是默认后台运行,怎么查看容器日志?
    sudo docker logs -f -t --tail 行数 容器名
    102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
    容器退出后会处于终止(exited)状态,此时可以通过 docker ps -a 查看,其中数据不会丢失,还可以通过docker start 来启动,只有删除容器才会清除数据
linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A、D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
CentOS7
cat /etc/os-release 

20.Linux单引号双引号的区别?
双引号可以可以识别特殊符号以及变量
单引号里的只是字符串

21.vim有几种工作模式
三种
插入模式
命令模式
底线命令模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
配置文件时:nginx.conf
使用一个主机的不同端口,使用nginx监听不同的端口
proxy_pass //https:192.168.12.xx:9000
使用uwsgi:
    uwsgi_pass 0.0.0.0:9000
    include uwsgi_params

23.sed命令截取出ip地址


24.如何解压缩后缀是.tar.gz文件?
tar -zxvf filename

25.awk命令截取出ip地址


26.www服务在internet最为广泛,采用的结构是?


27.如何给linux添加dns服务器记录?
编辑 /etc/resolv.conf

28.每月的5,15,25的晚上5点50重启nginx
corntab -e
50 17 5,15,25 * * /usr/bin/systemctl  restart nginx

29.每分钟清空/tmp/内容
corntab -e
* * * * * /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
corntab -e
30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
corntab -e
5-15 18-20 * * 3 mysqldump -uroot -p123 --all-databases > /opt/alldb.sql

32.某文件权限是drw-r—rw-,请解读该权限?
文件夹
属主:读写
属组:只读
其他:读写

33.centos版本系统服务管理命令是?
systemctl

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61

35.备份mariadb的命令是?
mysqldump

36.简述特殊符号的含义?

# 代表代表root用户
. 表示当前目录
.. 表示上级目录
$PATH 系统的环境变量,开机自动加载的变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias rm=“禁止使用rm”

38.如何修改test.py属组为alex?
chgrp alex test.py

39.如何在windows和linux传输文件?有哪些方法?
lrzsz,xftp等工具

40.如何杀死mariadb进程?
pkill -9 mariadb

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
修改PATH环境变量

42.linux如何安装软件?有几种方式?
源代码编译
rpm
yum

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis

44.如何保证本地测试环境和线上开发环境一致性?思路?
在项目根目录里创建虚拟环境  打包在一起

45.virtualenv是什么?简述如何使用
虚拟环境
创建虚拟环境 防止环境污染 还能保证测试环境跟线上开始发环境一样

46.virtulevnwrapper是什么?简述使用
管理虚拟环境的工具
mkvirtualenv 创建虚拟环境
workon name 进入虚拟环境
workon 查看本机虚拟环境

47.redis哨兵是什么?作用是

48.redis-cluster是什么?


49.什么是静态资源,什么是动态资源?
静态页面所需的  如css  js  html
动态是指需要发送请求,请求数据的

50.配置linux软连接的命令?
ln

51.如何永久添加/opt/python36/的环境变量?
添加到添加到/etc/profile文件中的PATH里

52.给如下代码添加注释
server{
listen 80;
server_name 192.168.11.11;
location / {
root html;
index index.html;
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:8000;
}
}

53.supervisor是什么?如何使用?
对项目进行管理的工具,可以监听自动重启项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端使用vue+nginx(反向代理)  后端使用uwsgi  +  nginx做反向代理 + django  整体使用supervisor进行项目的管理

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
因为太好用了  

a60.python操作linux的模块是?


61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

65.nginx如何实现负载均衡?
在nginx的配置中实现 使nginx按照算法来分配给哪个个后端

66.nginx的负载均衡调度算法有几种?是什么?
轮询  权重

67.linux下载软件包的方法有?
npm
yum
源码编译

68.windows和linux常用远程连接工具有哪些?
xshell

69.如何给与一个脚本可执行权限
chmod 111 name

70.过滤出settings.py中所有的空白和注释行
grep  "^&" | grep "^#"

71.过滤出file1中以abc结尾的行
cat fiel1 | grep "*abc"


72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是
corntab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(b)
A.NID B.PID C.UID C.CID
pid
2.下面那个用户存放用户密码信息(b)
A./boot B./etc C./var D./dev
etc
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(b)
A.ctrl B.tab C.alt D.esc
tab
4.vim退出不保存的命令是(a)
A.:q B.q C.:wq D.:q!
q
5.文件权限读、写、执行三种符号的标志依次是(a)
A.rwx B.xrw C.rdx D.rws
rwx
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(d)
A.467 B.674 C.476 D.764
765
7.改变文件的属主的命令是(c)
A.chmod B.touch C.chown D.cat
chmod
8.解压缩文件mydjango.tar.gz,我们可以用(a)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(b)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(a)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(c)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(b)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(a)
A.rwx-r—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(d)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “*.txt”

15.什么命令常用于检测网络主机是否可达?c
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?d
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?d
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?b
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7
cat /etc/os-release
20.Linux单引号双引号的区别?
单引号:强引用,对于被引起来的内容,原封不动地使用,即便里面包含特殊字符,也不做处理
双引号:弱引用,对于被引起来的内容,若包含特殊字符,则需要对特殊字符做一些处理,
21.vim有几种工作模式
命令模式
编辑模式
底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
多个server{}
proxy_pass http://ip
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
gipz -d *.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
/etc/resolv.conf
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容
* * * * * /usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 3 * * /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:目录文件
rw- 属主:可读可写
r— 属组:可读
rw- other:可读可写
33.centos版本系统服务管理命令是?
service
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p
36.简述特殊符号的含义?

#
. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
xftp lrzsz scp
40.如何杀死mariad进程?
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

42.linux如何安装软件?有几种方式?
yum
rpm
源码包
43.出于安全角度,简述如何安装启动redis服务端?
更改端口 port 6380
开启protomode yes安全模式
设置redis密码
redis-server redis.conf
redis.conf 内容如下
port 6380
protomode yes
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
pip3 install -r xxx.txt
45.virtualenv是什么?简述如何使用
virtualenv:就是用来为一个应用创建一套“隔离”的Python运行环境(虚拟环境)。

1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv —no-site-packages —python=python3 venv1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list
46.virtulevnwrapper是什么?简述使用
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态资源:是网站的CSS/JS/HTML文件
动态资源:是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名192.168.11.11
location / { # 访问的路径 /
root html; # 指定页面的目录,访问/会找到html目录
index index.html # 指定网页,访问/就是访问index.html
}
}

server{ #虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

1.安装 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
vim /etc/supervisor.conf
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势
linux容器技术实现软件
docker应用于快速构建应用,解决环境依赖等问题
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images # 查看本地镜像
docker serach 镜像 # 通过docker hub搜索镜像
docker rmi 镜像 # 删除镜像
docker save 镜像 > 路径 # 导出镜像
docker load < 路径 # 导入镜像
docker build -t . # 打包生成镜像

操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 # 根据镜像生成并进入容器
docker start/stop 容器id # 启动/停止容器
docker ps # 查看当前运行的容器
docker rm 容器id # 删除容器
docker exec 容器id # 进入当前正在运行的容器
docker commit 容器id 镜像名 # 将容器提交为镜像
docker contain ls # 查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像
57.哪个命令无法查看linux文件内容?d
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?b
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm -rf -r 递归删除文件夹 -f 强制删除
60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?
Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget url地址
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” file |grep -v “^$”
71.过滤出file1中以abc结尾的行
grep “abc$” file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
docker ps -a #查看所有容器记录
不会丢,因为容器停止了,并没有被删除 docker ps -a可以看到
73.如何批量清理后台停止的容器
docker rm docker ps -aq
74.如何查看容器日志?
docker logs -f 容器id #实时刷新容器内的日志
75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
SaltStack(或Salt)是一个基于命令行的工具,可以设置一个主客户端模式还是非集中模式。 Salt基于Python,提供了一种推送方法和一种与客户端通信的SSH方法。
Salt允许对客户端和配置模板进行分组,以简化对环境的控制。


Ansible是用于在可重复的方式将应用程序部署到远程节点和配置服务器的开源工具。
它为您提供了使用推送模型设置推送多层应用程序和应用程序工件的通用框架,


Fabric是在应用程序部署精简SSH一个基于Python的工具。 它主要用于跨多个远程系统运行任务,但也可以使用插件扩展以提供更高级的功能。
Fabric将配置您的系统,执行系统/服务器管理,并自动部署您的应用程序。

Puppet是在全面配置管理空间长期工具之一。 它是一个开源工具,但考虑到它已经存在多久,它已经被良好的审查和部署在一些最大和最苛刻的环境中。 Puppet基于Ruby,但是使用更接近JSON的定制的域脚本语言(DSL)来在其中工作。 它作为主客户端设置运行,并使用模型驱动方法。
Puppet代码设计作为依赖关系列表,这可以使事情更容易或更混乱,这取决于您的设置。

82.uwsgi、wsgia是什么?
uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
84.解释PV,UV的含义?
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。
UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客。
85.解释QPS是什么?
每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据
87.saltstack如何采集服务器静态数据?
salt采用 granis组件 采集
88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
当程序系统发现某些任务耗费时间且优先级较低,迟点完成也不影响整个任务,就把这个任务丢给消息队列。
90.什么是docker生命周期?
镜像 容器 仓库
91.docker容器有哪些状态?
容器可以被创建、启动、停止、删除、暂停
92.dockerfile常用指令?
FROM cento
LABLE 作者信息
RUN
WORKDIR
ADD
COPY
CMD
ENV
EXPOSE
93.dockerfile中copy和add的区别
COPY拷贝宿主机的文件 放到 容器中
ADD除了COPY功能还有解压功能
94.docker获取和删除镜像的命令?
获取:docker pull [选项] [仓库地址[:端口号]/]仓库名:标签
删除:docker image rm [选项] 
95.如何退出一个交互式的容器终端,而不终止它?
exit
开启
docker exec -it 容器id
96.容器如何端口映射?数据卷映射?
-p 端口映射
-v 数据卷映射
97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
IP相关统计
页面访问统计
每秒请求量统计
性能分析
TCP连接统计
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?A
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?D
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7 cat/etc/redhat-release
20.Linux单引号双引号的区别?
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。
21.vim有几种工作模式
三种:指令行模式、文本输入模式、行末模式。
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置好server{}标签可实现多虚拟主机 proxy_pass参数
23.sed命令截取出ip地址
ifconfig wlan0 | grep 'inet addr' | sed 's/^.addr://g' | sed 's/Bcast.//g'
24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址
awk -F '[] "[]' '{print1"\t"2"\t"3"\t"4"\t"5"\t"6"\t"7}' logs/host.access.log > linshi3.log
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf 添加一行
nameserver dns

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /opt/nginx112/sbin/nginx -s reload
29.每分钟清空/tmp/内容

/use/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /use/bin/rm /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:目录文件
rw-:文件所有者:读写
r--:组:只读
rw--:其他:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p
36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
是因为 alias的作用
38.如何修改test.py属组为alex?
chowm alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz
xftp
scp
40.如何杀死mariad进程?
pkill mariad
ps -ef|grep mysql
kill pid

killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
版本低 升级yum源
42.linux如何安装软件?有几种方式?
两种
yum安装
编译安装
43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题
45.virtualenv是什么?简述如何使用
虚拟环境
1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv --no-site-packages --python=python3 env1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list
46.virtulevnwrapper是什么?简述使用
创建python虚拟环境的工具
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库福娃五停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
redis集群功能,用于大规模redis服务,通过虚拟槽分区将数据保存在指定的分区
49.什么是静态资源,什么是动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ #一个虚拟主机
listen 80;
#监听端口 80端口
server_name 192.168.11.11;
#填写域名,没有就默认即可,现在的域名为192.168.11.11
location / { # 访问的路径 /

nginx的域名匹配,所有的请求,都会进入到这里
root html;

指定页面的目录,访问/会找到html目录
index index.html;

指定网页,访问/就是访问index.html
}
}

server{#虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势
linux容器软件
docker应用于快速构建应用
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm 删除文件、文件夹
-r Recurve的首字母,递归的意思,删除此文件夹下所有文件
-f不提醒,直接删除
a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb aof
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget curl

68.windows和linux常用远程连接工具有哪些?

Xshell、SecureCRT、Putty、SSH Secure Shell Client等
69.如何给与一个脚本可执行权限
chmod u+x 脚本名

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" file |grep -v "^"71.过滤出file1中以abc结尾的行grep"abc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top
ps aux --sort=%cpu
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
ps aux
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具
WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信。
83.supervisor是什么?

84.解释PV,UV的含义?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(B)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(E)
A.467 B.674 C.476 D.765 E.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(B)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? (C)
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?(D)
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? (D)
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?(B)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

  • centos 7
  • cat /proc/version

20.Linux单引号双引号的区别?

  • 单引号内的只是字符的字面意思,
  • 双引号 保留特殊字符和命令字符原始作用

21.vim有几种工作模式

  • 命令模式
  • 插入模式
  • 低行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

  • 在http的大括号内 写入多个server代码快
  • proxy_pass

23.sed命令截取出ip地址

  • sed s/^.*addr://g

24.如何解压缩后缀是.tar.gz文件?

  • tar -zxvf 文件名

25.awk命令截取出ip地址

  • awk -F "[ /]+" '/inet /{print $3}

26.www服务在internet最为广泛,采用的结构是?

  • cs架构 客户/服务

27.如何给linux添加dns服务器记录? (*)

  • /etc/resolv.conf
    添加2条主备dns记录
    nameserver dns服务器ip

28.每月的5,15,25的晚上5点50重启nginx

  • 50 17 5,15,25 * * nginx -s reload

29.每分钟清空/tmp/内容

            • rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

  • 30 6 * * * rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

  • 5-15 6,8 * * 3 mysqldump -uroot -p 数据库名称 > /opt/1.sql

32.某文件权限是drw-r—rw-,请解读该权限?

  • 这是一个文件夹 属主:读写 属组:读 其他:读写

33.centos版本系统服务管理命令是?

  • service nginx stop /start /restart centos6
    systemctl stop /start /restart nginx centos7
  • systemctl

34.如何远程登录阿里云123.206.16.61?

  • ssh root@123.206.16.61
  • 使用xshell 编辑 用户名和ip地址

35.备份mariadb的命令是?(*)
mysqldump -uroot -p --all databases > /opt/db.sql

36.简述特殊符号的含义?

root用户的身份提示符

. 当前目录
.. 上一层目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

  • 给rm指令起了别名,就是防止你执行rm -rf /

38.如何修改test.py属组为alex?

  • chown alex test.py

39.如何在windows和linux传输文件?有哪些方法?

  • WinSCP
  • lrzsz 输入rz回车

40.如何杀死mariad进程?

  • kill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载如下RPM包

   python-iniparse-0.3.1-2.1.el6.noarch.rpm

   yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm 

   yum-3.2.29-69.el6.centos.noarch.rpm

   yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
  下载完成之后,用rpm命令进行安装,如下:

    rpm -ivh --force --nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
    rpm -ivh --force --nodeps yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm 
    rpm -ivh --force --nodeps  yum-3.2.29-69.el6.centos.noarch.rpm yum-plugin-fa

stestmirror-1.1.30-30.el6.noarch.rpm

下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:

    tar -zxvf yum-3.4.3.tar.gz     #解压后进到yum-3.4.3目录

    

    输入如下命令

    ./yummain.py update

42.linux如何安装软件?有几种方式?

  • rpm或yum,源码包

43.出于安全角度,简述如何安装启动redis服务端?(*)

  • 更改端口
    开启protomode yes安全模式
    设置redis密码

redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

  • 先把本地测试环境所用到的模块息倒入到一个文件中
  • 在开发环境 执行pip3 install -r 文件名进行安装

45.virtualenv是什么?简述如何使用

  • 虚拟环境,保证一个服务器上可以运行多个项目 而不产生冲突
  • 先安装虚拟环境工具 :pip3 install -i https://pypi.douban.com/simple virtualenv
  • 创建虚拟环境 :virtualenv --python=python3 虚拟环境名称
  • 进入虚拟环境 : source 虚拟环境名称/bin/activate

46.virtulevnwrapper是什么?简述使用

  • Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
    1.安装虚拟环境 pip3 install virtualenvwrapper
    2.创建并进入虚拟环境 mkvirtualenv env1
    3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

  • 为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容

49.什么是静态资源,什么是动态资源?

  • 静态资源是指网站的css/js/html/jpg等文件
  • 动态资源一般指后端传输过来的数据
    50.配置linux软连接的命令?
    ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?

  • 修改 /etc/profile文件 添加PATH = /opt/python36/bin:
    然后读取这个文件

52.给如下代码添加注释
server{ #一个虚拟主机
listen 80; #监听的端口
server_name 192.168.11.11; # 访问的域名
location / { #访问的路径
root html; #指定页面的目录 访问就会找到html目录
index index.html; #指定网页
}
}

server{ #虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { # 访问路径
include uwsgi_params; #将nginx参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

  • 进程管理工具
  • yum install supervisor -y 安装
  • echo_supervisord_conf > /etc/supervisord.conf 生成配置文件
  • 修改配置文件就行
    [program:s25crm]
    command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
    autostart=true ; 在supervisord启动的时候也自动启动
    startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
    autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
    stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
    killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.安装Python3环境
2.安装mysql。Redis,nginx
3. 部署前端
3.1 安装node.js
3.2 安装依赖包
3.3 修改axios的发送的端口接口
3.4 打包
3.5 修改nginx.conf
4. 部署后端
4.1安装virtualne
4.2 创建虚拟环境
4.3 安装所需的依赖
4.4 测试路费代码是否能运行
4.5 配置uwsgi.ini
4.6 给 supervisor添加一个任务管理路费 ,并重启
4.7 修改nginx.conf文件 添加虚拟主机使用反向代理
4.8 重启nginx
5.安装redis并启动

55.docker是什么?简述docker优势

  • Linux容器软件
  • docker应用于快速构建应用

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images # 查看本地镜像
docker serach 镜像 # 通过docker hub搜索镜像
docker rmi 镜像 # 删除镜像
docker save 镜像 > 路径 # 导出镜像
docker load < 路径 # 导入镜像
docker build -t . # 打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 # 根据镜像生成并进入容器
docker start/stop 容器id # 启动/停止容器
docker ps # 查看当前运行的容器
docker rm 容器id # 删除容器
docker exec 容器id # 进入当前正在运行的容器
docker commit 容器id 镜像名 # 将容器提交为镜像
docker contain ls # 查看当前运行的容器
docker tag 当前的镜像名 要改后的名字

操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?(d)
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(b)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

  • -r递归删除 -f强制删除

60.python操作linux的模块是?

  • os subprocess

61.如果端口8080被占用,如何查看是什么进程?

  • netatat -tunlp|grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

  • grant select on . to alex@’%’;

65.nginx如何实现负载均衡?

  • upstream {}
    定义服务器地址池

66.nginx的负载均衡调度算法有几种?是什么?

  • 调度算法    概述
    轮询     按时间顺序逐一分配到不同的后端服务器(默认)
    weight    加权轮询,weight值越大,分配到的访问几率越高
    ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    least_conn 最少链接数,那个机器链接数少就分发

67.linux下载软件包的方法有?

  • wget curl

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限

  • chmod u+x file名字

70.过滤出settings.py中所有的空白和注释行

  • grep "^#" file |grep "^$"

71.过滤出file1中以abc结尾的行

  • grip "abc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

  • 不会丢,因为容器停止了,并没有被删除 docker ps -a可以看到

73.如何批量清理后台停止的容器

  • docker rm 'docker ps -aq'

74.如何查看容器日志?

  • docker logs -f

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1找到吃资源的进程信息
2强制kill -9 杀死进程
3检查定时任务
4全局搜索病毒文件 find / -name 病毒文件名
5 强制删除病毒文件

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

  • pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息-
-top

79.unix查询环境变量的命令是
-echo $PATH

80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

crontab -l #列出定时任务的规则

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgi是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。

83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
是C/S模型的程序,其服务端是supervisord服务,客户端是supervisorctl命令
1 启动、重启、关闭包括但不限于python进程。
2 查看进程的运行状态。
3 批量维护多个进程。

84.解释PV,UV的含义?
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。
UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客。

85.解释QPS是什么?
‘QPS(Query Per Second)‘
每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?
salt采用 granis组件 采集

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
方式一:生产者消费者模式
使用list结构作为队列,rpush生产消息,lpop消费消息,当lpop没有消息的时候,要适当sleep一会再重试。
或者,不用sleep,直接用blpop指令,在没有消息的时候,它会阻塞住直到消息到来。

方式二:发布订阅者模式
使用pub/sub主题订阅者模式,可以实现1:N的消息队列。

缺点:在消费者下线的情况下,生产的消息会丢失。此场景,建议用MQ

90.什么是docker生命周期?

  • 镜像 容器 仓库 三大生命周期

91.docker容器有哪些状态?

  • 容器可以被创建,启动,停止,删除,暂停

92.dockerfile常用指令?
FROM cento
LABLE 作者信息
RUN
WORKDIR
ADD
COPY
CMD
ENV
EXPOSE
ADD除了有添加的作用,还有解压缩的作用
WORKDIR /root 切换路径
copy就是把本地的文件,拷贝到容器空间内,没有解压作用
ENV #环境变量,尽可能使用ENV增加可维护性
RUN

93.dockerfile中copy和add的区别
COPY拷贝宿主机的文件 放到 容器中

  • 优先使用COPY命令
    -ADD除了COPY功能还有解压功能
    添加远程文件/目录使用curl或wget

94.docker获取和删除镜像的命令?

  • docker serach
  • docker rmi

95.如何退出一个交互式的容器终端,而不终止它?
exit

开启
docker exec -it 容器id

96.容器如何端口映射?数据卷映射?
-p 端口映射
-v 数据卷映射

Docker 端口映射即映射容器内应用的服务端口到本机宿主机器。
docker port 容器id

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

  • docker image prune
  • docker container prune

100.nginx的access.log能够统计哪些信息?

  • ip相关统计
  • 页面访问统计
  • 每秒请求统计
  • 每小时请求统计
  • 蜘蛛抓取统计
  • TCP连接统计

101.容器都是默认后台运行,怎么查看容器日志?

  • $ sudo docker logs -f -t --tail 行数 容器名

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

  • 不会
linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID
# B
2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev
# B
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc
# B
4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
# D
5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
# A
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
# C
7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
# C
8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
# A
9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
# B
10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
# A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
# C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
# B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
# A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
# D
15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit
# C
16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
# D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p
# D
18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
# B
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
# centos7 
# cat /etc/os-release
20.Linux单引号双引号的区别?
# 单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号
# 双引号中的内容,能够识别特殊符号,以及变量
21.vim有几种工作模式
# 编辑模式,命令模式,底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
# nginx.conf
# 多个server{}
# proxy_pass http://ip
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
# tar -zxvf 文件名
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
# Browser/Server 
27.如何给linux添加dns服务器记录?
# /etc/resolv.conf 
# 添加dns 
# nameserver dns服务器ip
28.每月的5,15,25的晚上5点50重启nginx
crontab -e
# 50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容
# * * * * * /usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
# 30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
# 5-15 6-8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
# 属主:可读可写可执行 属组:可读 其他:可读可写
33.centos版本系统服务管理命令是?
# systemctl 
34.如何远程登录阿里云123.206.16.61?
# ssh root@123.206.16.61
35.备份mariadb的命令是?
# mysqldump -uroot -p
36.简述特殊符号的含义?

# root用户的身份提示符
. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
# 使用了别名alias
38.如何修改test.py属组为alex?
# chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
# lrzsz  xftp
40.如何杀死mariad进程?
# pkill mariadb 
or
# ps -ef|grep mysql 
# kill pid 
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
# 1.下载wget命令  yum install wget -y
# 2.备份旧的yum仓库源 cd  /etc/yum.repos.d  mkdir  repobak  mv *.repo   repobak
# 3.下载新的阿里的yum源仓库,阿里的开源镜像站https://developer.aliyun.com/mirror/wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 4.继续下载第二个仓库 epel仓库wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
42.linux如何安装软件?有几种方式?
# yum  rpm
43.出于安全角度,简述如何安装启动redis服务端?
# 
44.如何保证本地测试环境和线上开发环境一致性?思路?
# 1.docker打包镜像
# 2.手动解决环境问题 pip3 freeze导出依赖
# pip3 install -r xxx.txt
45.virtualenv是什么?简述如何使用
# 虚拟环境,为python开发时不同的项目提供不同的开发环境
# 1.下载虚拟环境工具 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
# 2.创建虚拟环境 virtualenv --python=python3  venv1
# 3.激活虚拟环境 source /opt/venv1/bin/activate
46.virtulevnwrapper是什么?简述使用
# virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
# 1.安装虚拟环境 pip3 install virtualenvwrapper
# 2.创建并进入虚拟环境 mkvirtualenv env1
# 3.切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
# Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
# 即使使用哨兵,redis每个实例也是全量数据存储,每个redis存储的内容都是完整的数据。为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容。采用redis-cluster架构正是满足这种分布式存储要求的集群的一种体现。redis-cluster架构中,被设计成共有16384个hash slot。每个master分得一部分slot,其算法为:hash_slot = crc16(key) mod 16384 ,这就找到对应slot。采用hash slot的算法,实际上是解决了redis-cluster架构下,有多个master节点的时候,数据如何分布到这些节点上去。key是可用key,如果有{}则取{}内的作为可用key,否则整个可以是可用key。群集至少需要3主3从,且每个实例使用不同的配置文件。
49.什么是静态资源,什么是动态资源?
# 静态资源指定的是网站的CSS/JS/HTML文件
# 动态资源一般指的是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
# ln  -s  目标文件绝对路径     软连接绝对路径
51.如何永久添加/opt/python36/的环境变量?
# vim /etc/profile
# 添加PATH = /opt/python36/bin:
# source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径
root html;  # 指定页面目录
index index.html; # 指定访问首页
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params; # 这个参数,是固定的,是添加一些转发请求头内容
uwsgi_pass 0.0.0.0:8000; # 通过uwsgi_pass把请求转发给后端的uwsgi服务器
}
}

53.supervisor是什么?如何使用?
# 进程管理工具
# 1.使用yum命令即可直接安装 yum install  supervisor -y
# 2.生成supervisor的配置文件 echo_supervisord_conf >  /etc/supervisord.conf
# 3.修改supervisor的配置文件,添加管理进程的任务
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
# 1.部署前端
	# 1.获取前端项目代码,解压
    # 2.配置node.js环境,添加node环境变量
    # 3.进入vue的代码目录下,修改数据提交地址
    # 4.安装完node的模块之后,开始编译vue
    # 5.修改nginx.conf,添加一个server{}虚拟主机
# 2.部署后端
	# 获取项目代码
    # 安装依赖
    # 配置uwsgi.ini
    # 给supervisor添加项目任务,启动supervisor
    # 修改nginx.conf,配置代理服务器
    # 重启nginx
55.docker是什么?简述docker优势
# linux容器技术实现软件,docker应用于快速构建应用,解决环境依赖等问题
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
# 
57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man
# D
58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
# B
59.为何说rm -rf 慎用?
# rm -rf -r 递归删除文件夹 -f 强制删除
a60.python操作linux的模块是?
# 
61.如果端口8080被占用,如何查看是什么进程?
# netstat -tunlp | grep 8080
62.redis是如何做持久化的?
# rdb
# redis.conf
# save
# Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化。
# rdb缺点,定期执行,可能会丢失数据,并且数据量特别大时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。

# aof
# Redis会把每一个写请求都记录(对数据进行修改的命令)在一个日志文件里。
# 在Redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新。
# 随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志。大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长。
# 优点:数据安全,不怕数据损坏,如断电灯问题,还可以用redis-check-aof修复数据,AOF文件人为可读
# 缺点:占磁盘,性能损耗高,数据恢复慢

# 怎么用rdb和aof
# 如果既配置了RDB,又配置了AOF,则在进行数据持久化的时候,都会进行,但是在根据文件恢复数据的时候,以AOF文件为准,RDB文件作废
63.redis集群了解过么?sentinal和cluster区别是什么
# Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
# Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
# create user 'alex'@'允许的网段' identified by '密码';
# grant select on 数据库.* to 'alex'@'网段';
65.nginx如何实现负载均衡?
# 用upstream关键词定义负载均衡池,写入资源服务器的地址,采用轮询机制
66.nginx的负载均衡调度算法有几种?是什么?
# 轮询     按时间顺序逐一分配到不同的后端服务器(默认)
# weight    加权轮询,weight值越大,分配到的访问几率越高
# ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
# url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
# least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
# wget url地址
68.windows和linux常用远程连接工具有哪些?
# xshell
69.如何给与一个脚本可执行权限
# chmod u+x 文件名
70.过滤出settings.py中所有的空白和注释行
# grep -v  "^#"   settings.py | grep -v "^$"
71.过滤出file1中以abc结尾的行
# grep "abc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
# 1.查看系统负载情况例如使用 top命令
# 2.杀死无用的 占资源的进程
# 3.系统全局搜索,找到病毒文件, rm -rf 删掉它
# 4.还需要检查定时任务,是否添加了些东西
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
# pkill -9  test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
# free
79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是
# crontab -l
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
# uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具
# wsgia: 
83.supervisor是什么?
# 进程管理工具
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
# 静态资源指定的是网站的CSS/JS/HTML文件
# 动态资源一般指的是数据,即后端给前端提供的数据
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?
# exit
96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
# 客户端ip,是否是远程用户,时间,请求信息,状态码,请求体大小,客户端身份信息,客户端真实ip
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID
process 进程

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat
change own

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx 安装这个rpm包
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit D

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/re

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

20.Linux单引号双引号的区别?

单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量

21.vim有几种工作模式

四种:正常模式,命令模式,插入模式,可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

conf/nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket; 线下是http

23.sed命令截取出ip地址

ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'

24.如何解压缩后缀是.tar.gz文件?

tar zxvf .tar.gz

25.awk命令截取出ip地址

#-------------------------------------------------------------------

26.www服务在internet最为广泛,采用的结构是?

http ---> nginx --> uwsgi
Browser/Server

27.如何给linux添加dns服务器记录?

#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl status redis #查看redis服务的状态
systemctl start redis
systemctl stop redis
systemctl restart redis
systemctl enable redis #设置redis开机自启
systemctl disable redis #禁止redis开机自启

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令 起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

chgrp alex test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz xftp scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

1.下载wget命令 yum install wget -y

2.备份旧的yum仓库源 cd /etc/yum.repos.d mkdir repobak mv *.repo repobak

3.下载新的阿里的yum源仓库,阿里的开源镜像站https://developer.aliyun.com/mirror/wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4.继续下载第二个仓库 epel仓库wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

42.linux如何安装软件?有几种方式?

yum rpm

43.出于安全角度,简述如何安装启动redis服务端?

44.如何保证本地测试环境和线上开发环境一致性?思路?

1.docker打包镜像

2.手动解决环境问题 pip3 freeze导出依赖

pip3 install -r xxx.txt

45.virtualenv是什么?简述如何使用

虚拟环境,为python开发时不同的项目提供不同的开发环境

1.下载虚拟环境工具 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

2.创建虚拟环境 virtualenv --python=python3 venv1

3.激活虚拟环境 source /opt/venv1/bin/activate

46.virtulevnwrapper是什么?简述使用

virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环

1.安装虚拟环境 pip3 install virtualenvwrapper

2.创建并进入虚拟环境 mkvirtualenv env1

3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是

Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

即使使用哨兵,redis每个实例也是全量数据存储,每个redis存储的内容都是完整的数据。为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容。采用redis-cluster架构正是满足这种分布式存储要求的集群的一种体现。redis-cluster架构中,被设计成共有16384个hash slot。每个master分得一部分slot,其算法为:hash_slot = crc16(key) mod 16384 ,这就找到对应slot。采用hash slot的算法,实际上是解决了redis-cluster架构下,有多个master节点的时候,数据如何分布到这些节点上去。key是可用key,如果有{}则取{}内的作为可用key,否则整个可以是可用key。群集至少需要3主3从,且每个实例使用不同的配置文件。

49.什么是静态资源,什么是动态资源?

静态资源指定的是网站的CSS/JS/HTML文件

动态资源一般指的是数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件绝对路径 软连接绝对路径

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile

添加PATH = /opt/python36/bin:

source /etc/profile

52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径
root html; # 指定页面目录
index index.html; # 指定访问首页
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params; # 这个参数,是固定的,是添加一些转发请求头内容
uwsgi_pass 0.0.0.0:8000; # 通过uwsgi_pass把请求转发给后端的uwsgi服务器
}
}

53.supervisor是什么?如何使用?

进程管理工具

1.使用yum命令即可直接安装 yum install supervisor -y

2.生成supervisor的配置文件 echo_supervisord_conf > /etc/supervisord.conf

3.修改supervisor的配置文件,添加管理进程的任务

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.部署前端

# 1.获取前端项目代码,解压
# 2.配置node.js环境,添加node环境变量
# 3.进入vue的代码目录下,修改数据提交地址
# 4.安装完node的模块之后,开始编译vue
# 5.修改nginx.conf,添加一个server{}虚拟主机

2.部署后端

# 获取项目代码
# 安装依赖
# 配置uwsgi.ini
# 给supervisor添加项目任务,启动supervisor
# 修改nginx.conf,配置代理服务器
# 重启nginx

55.docker是什么?简述docker优势

linux容器技术实现软件,docker应用于快速构建应用,解决环境依赖等问题

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

D

58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

B

59.为何说rm -rf 慎用?

rm -rf -r 递归删除文件夹 -f 强制删除

a60.python操作linux的模块是?

61.如果端口8080被占用,如何查看是什么进程?

netstat -tunlp | grep 8080

62.redis是如何做持久化的?

rdb

redis.conf

save

Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化。

rdb缺点,定期执行,可能会丢失数据,并且数据量特别大时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。

aof

Redis会把每一个写请求都记录(对数据进行修改的命令)在一个日志文件里。

在Redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新。

随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志。大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长。

优点:数据安全,不怕数据损坏,如断电灯问题,还可以用redis-check-aof修复数据,AOF文件人为可读

缺点:占磁盘,性能损耗高,数据恢复慢

怎么用rdb和aof

如果既配置了RDB,又配置了AOF,则在进行数据持久化的时候,都会进行,但是在根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。

Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

create user 'alex'@'允许的网段' identified by '密码';

grant select on 数据库.* to 'alex'@'网段';

65.nginx如何实现负载均衡?

用upstream关键词定义负载均衡池,写入资源服务器的地址,采用轮询机制

66.nginx的负载均衡调度算法有几种?是什么?

轮询     按时间顺序逐一分配到不同的后端服务器(默认)

weight    加权轮询,weight值越大,分配到的访问几率越高

ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器

url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器

least_conn 最少链接数,那个机器链接数少就分发

67.linux下载软件包的方法有?

wget url地址

68.windows和linux常用远程连接工具有哪些?

xshell

69.如何给与一个脚本可执行权限

chmod u+x 文件名

70.过滤出settings.py中所有的空白和注释行

grep -v "^#" settings.py | grep -v "^$"

71.过滤出file1中以abc结尾的行

grep "abc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况例如使用 top命令

2.杀死无用的 占资源的进程

3.系统全局搜索,找到病毒文件, rm -rf 删掉它

4.还需要检查定时任务,是否添加了些东西

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

free

79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是

crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具

wsgia:

83.supervisor是什么?

进程管理工具

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

静态资源指定的是网站的CSS/JS/HTML文件

动态资源一般指的是数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

exit

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

客户端ip,是否是远程用户,时间,请求信息,状态码,请求体大小,客户端身份信息,客户端真实ip

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()B
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息()B
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()B
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是()A
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是()A
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是()C
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用()A
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令() B
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录() A
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是() C
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是() B
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是() A
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是() B
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? B
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos 7 cat /etc/os-release

20.Linux单引号双引号的区别?
单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法
引号与单引号的区别在于其可以包含特殊字符(单引号直接输出内部字符串,不解析特殊字符;双引号内则会解析特殊字符),包括', ", $, ,如果要忽略特殊字符,就可以利用\来转义,忽略特殊字符,作为普通字符输出:

21.vim有几种工作模式
末行模式 命令模式 输入模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
通过 server 的 端口号不同/ip不同 实现多虚拟主机
反向代理参数:proxy_pass
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?
vi /etc/resolv.conf

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容
0 * * * * /usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5,15 18,20 * * 3 /usr/bin/mysqldump -uroot -p all-database tf_crm > /opt/mysql.sql
32.某文件权限是drw-r—rw-,请解读该权限?
文件夹 属主权限 读写 属组权限只读 其他用户读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p all-database tf_crm > sql.sql
36.简述特殊符号的含义?
#注释
.当前目录
..上一级目录
$PATH path地址

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有删除的权限
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz工具来传递
whidos文件上传到网站上.linux从网站上下载
40.如何杀死mariad进程?
kill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
su - root 切换用户到root 进行下载yum

42.linux如何安装软件?有几种方式?
yum 下载
源代码编译安装
rpm手动安装

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
44.如何保证本地测试环境和线上开发环境一致性?思路?
将本地环境导出,在线上环境导入安装
45.virtualenv是什么?简述如何使用
给不同的项目搭建不同的虚拟环境,使得不同的软件的版本不会被覆盖
可以在系统中建立多个不同且相互不干扰的虚拟环境
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
在当前文件下创建一个虚拟环境
virtualenv --python=python3 venv(虚拟环境名称)
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
图片,文字等不需要与后端互动的资源就是静态资源
需要逻辑运算的,与后台互动的资源就是动态资源
50.配置linux软连接的命令?
ln -s 目标文件绝对路径 软连接绝对路径
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
PATH='/opt/python36/bin:/其他'
:wq!
52.给如下代码添加注释
server{
listen 80; 80端口
server_name 192.168.11.11; 域名
location / {
root html; 定义该虚拟主机,资料存放路径的,当用户访问 192.168.11.11的时候,就返回该目录的资料
index index.html; 用于定义nginx的首页文件名字,只要在html目录下存在index.html文件即可
}
}

server{
listen 8080; 8080端口
server_name 192.168.11.11; 域名
location / {
include uwsgi_params; 反向代理转发
uwsgi_pass 0.0.0.0:8000;通过uwsgi_pass把请求转发给后端的uwsgi服务器
}
}

53.supervisor是什么?如何使用?
进程管理工具
配置文件中添加管理任务
command=启动uwsgi的命令
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
首先将路飞的前端项目部署,接着部署后端,测试后端是否可以正常运行,可以正常运行即可配置uwsgi,配置好uwsgi文件,接着配置supervisor,配置supervisor文件,然后重启supervisor进程,接着配置nginx文件,配置后重启nginx即可
55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?d
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? b
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
强制删除,不需要同意,直接删除
60.python操作linux的模块是?
os模块
61.如果端口8080被占用,如何查看是什么进程?
ps -ef|grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。
64.创建mysql用户alex,并且授予权限select权限,命令是什么?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
66.nginx的负载均衡调度算法有几种?是什么?
权重
轮流
谁少给谁
67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod x file
70.过滤出settings.py中所有的空白和注释行
grep -v '^#' settings.py | grep -v '^$'

71.过滤出file1中以abc结尾的行
grep 'abc$' file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
docker ps -a # 查看所有容器记录
不会丢,因为容器停止了,并没有被删除 docker ps-a可以看到

73.如何批量清理后台停止的容器
docker rm 'docker ps -aq'

74.如何查看容器日志?
docker logs -f 容器id # 实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1.查看系统负载情况例如使用top命令
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件,rm -rf删除掉
4.还需要检查定时任务,是否添加了一些东西

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.liunx查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID
B
2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev
B
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc
B
4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
A
5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
A
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
764
7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
A
8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
A
9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
A
10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt” D

15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit

                        B

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
B
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
CENTOS 7

20.Linux单引号双引号的区别?
单引号就是个字符串,不识别其他特殊符号
双引号能够识别特殊字符以及变量

21.vim有几种工作模式
命令模式 输入模式 底线输入模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
参数:proxy_pass

23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf *.tar.gz ./
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx
50 5 5,15,25 /usr/bin/systemctl restart nginx

29.每分钟清空/tmp/内容

          • /usr/bin/rm - rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * usr/bin/rm - rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3

32.某文件权限是drw-r—rw-,请解读该权限?
改文件夹 属主 读写 属组 读 其他 读写

33.centos版本系统服务管理命令是?

34.如何远程登录阿里云123.206.16.61?

35.备份mariadb的命令是?

36.简述特殊符号的含义?

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PYTH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限不够
38.如何修改test.py属组为alex?
charp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
rz windows 传 linux
lz linux 传windows

40.如何杀死mariad进程?
kill -9 进程号
pkill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

42.linux如何安装软件?有几种方式?

43.出于安全角度,简述如何安装启动redis服务端?

44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
虚拟环境
先下载虚拟环境工具 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
创建虚拟环境 virtualenv --python=python 虚拟环境名字
激活虚拟环境 source /opt/venv1/bin/activate
在安装所需要的的依赖包

46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?

50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
编辑 /etc/profilr/ 文件
在最后一行加上
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"

52.给如下代码添加注释
server{
listen 80; 监听的端口号
server_name 192.168.11.11; 域名
location / {
root html; 虚拟主机资料的存放路径
index index.html; nginx的首页文件名字
}
}

server{
listen 8080; 监听的端口
server_name 192.168.11.11; 访问网站的ip地址
location / {
include uwsgi_params; 收到请求转发给后端的uwsgi
uwsgi_pass 0.0.0.0:8000; 代理服务器的地址和端口
}
}
58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm -rf -r 递归删除文件夹 -f 强制删除
60.python操作linux的模块是?
os
subpreocess
sys

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}

66.nginx的负载均衡调度算法有几种?是什么?
weight    加权轮询,weight值越大,轮询     
按时间顺序逐一分配到不同的后端服务器(默认)

67.linux下载软件包的方法有?
wget url地址
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” file |grep -v “^”71.过滤出file1中以abc结尾的行grep“abc” file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
kill -9
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH

cat /etc/profile
80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

crontab -l #列出定时任务的规则
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
IP相关统计
页面访问统计
每秒请求量统计
性能分析
TCP连接统计
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(D)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(A)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(D)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(B)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?A
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
Centos 7         lsb_release -a

20.Linux单引号双引号的区别?
单引号不具有变量置换的功能,会忽略所有的特殊字符 双引号具有变量置换的功能,即双引号之要求忽略大多数特殊字符。

21.vim有几种工作模式
三种 命令 编辑 输入

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
conf  修改nginx.conf配置,定义2个server{} 实现多虚拟主机  nginx反向代理参数是proxy_pass

23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.*inet ##g'|sed 's#  netmask.*$##g'

24.如何解压缩后缀是.tar.gz文件?
通过 tar.zxvf命令

25.awk命令截取出ip地址
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'

26.www服务在internet最为广泛,采用的结构是?
B/S结构

27.如何给linux添加dns服务器记录?
vim  /etc/resolv.conf  #
nameserver  223.5.5.5  
nameserver  223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * *  /usr/bin/systemctl  restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

* * * * *  /usr/bin/rm  -rf  /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * *  /usr/bin/rm  -rf  /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r  /var/lib/mysql  /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl  status  redis  #查看redis服务的状态
systemctl  start  redis
systemctl  stop  redis  
systemctl  restart redis  
systemctl  enable  redis  #设置redis开机自启
systemctl  disable  redis  #禁止redis开机自启 

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

#        注释
.        当前目录
..       当前目录的上一级目录
$PATH    查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令   起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

 chgrp   alex  test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz           xftp          scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

应该下载yum   

42.linux如何安装软件?有几种方式?

yum  rpm   源码包

43.出于安全角度,简述如何安装启动redis服务端?

yum install redis -y
systemctl  start redis 
redis-cli
更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

docker 打包镜像
手动解决环境问题  pip3  freeze

45.virtualenv是什么?简述如何使用

virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list

46.virtulevnwrapper是什么?简述使用

virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境        pip3 install virtualenvwrapper
创建并进入虚拟环境   mkvirtualenv  env1
切换虚拟环境        workon  虚拟环境名

47.redis哨兵是什么?作用是

redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件名  软连接名

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
 
52.给如下代码添加注释
server{                  --->  一个虚拟主机
listen 80;               --->  监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / {             --->  访问的路径
root html;               --->  指定页面的目录
index index.html;        --->  指定的网页
}
}

server{                 --->虚拟主机
listen 8080;            --->nginx的监听端口
server_name 192.168.11.11;  --->nginx访问域名
location / {                --->location匹配url
include uwsgi_params;       ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000;    --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf  >  /etc/supervisor.conf  #生成配置文件
3.vim  写入自定义的配置
[program:crm];  -->项目的名字
command = uwsgi的绝对路径 --ini  uwsgi.ini的绝对命令;  #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true;  #默认为false,向进程组发送kill信号包括子进程
4.supervisord  -c  /etc/supervisor.conf start  all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
    3.1安装node.js环境
    3.2安装依赖包
    3.3修改axios的发送的端口接口
    3.4打包
4.部署后端
    4.1安装virtualven
    4.2创建虚拟环境
    4.3安装django和uwsgi,以及项目的依赖包
    4.4修改uwsgi的配置文件路径与其他
5.配置nginx
    5.1创建两个虚拟主机,分别监听80端口和8000端口
    5.2访问80端口就是前端vue
    5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
    更搞效的利用系统资源
    更快速的启动时间
    一致的运行环境
    持续交付和部署
    更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
    docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  #查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像
	
57.哪个命令无法查看linux文件内容?  D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?  B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除     -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat  -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么?

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream  名字{
server  ip:端口   weight=权重数
server  ip:端口   weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制    按时间顺序逐一分配到不同的后端服务器
weight     加权轮询,weight值越大,分配到的访问几缕越高
ip_hash    每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn  最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给予一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep   -v "^#"    settings.py |grep   -v "^$"   

71.过滤出file1中以abc结尾的行

grep "sbc$"  file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker  ps  -a

73.如何批量清理后台停止的容器

docker rm  `docker ps -aq

74.如何查看容器日志?

docker logs -f    #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况   (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm  -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图

 如最下面的图

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9  test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.Linux查询环境变量的命令是

echo  $变量名

80.查询脚本定时任务的命令是

crontab  -l

81.saltstack、ansible、fabric、puppt工具的作用


82.uwsgi、wsgi是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi  是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?


85.解释QPS是什么?


86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?


88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}


89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

91.docker容器有哪些状态?

dockerfile  用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from  --设置镜像使用基础镜像
maintainer  --设置镜像的作者
run     --编译镜像时运行的脚本
cmd     -- 设置容器的启动命令
label   --设置镜像的标签
expoese  --设置镜像暴露的端口
env     --设置容器的环境变量
add/copy     --  编译镜像时赋值文件到镜像中
entrypoint   --设置程序的入口程序
volume     --设置容器的挂载卷
user    --设置  run  cmd  entrypoint 用户名
workdir  --设置run  cmd entrypoint  copy add指令工作目录
arg    --设置编译镜像时加入的参数
onbuild   --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量



93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像   删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

 docker rm  容器id  #删除容器

96.容器如何端口映射?数据卷映射?


97.如何进入容器?流程是?

docker exec 容器id  #进入当前正在运行的容器

98.简述docker使用流程

docker images    --查看本地镜像
    docker serach 镜像   --通过docker hub搜索镜像
    docker rmi 镜像   --删除镜像
    docker save 镜像 > 路径     --导出镜像
    docker load  <  路径    --导入镜像
    docker build -t   --打包生成镜像
操作容器命令:
    docker run -d  镜像  解释器  # 根据镜像生成容器,后台允许
    docker run -it 镜像 解释器   #根据镜像生成并进入容器
    docker start/stop 容器id    #启动/停止容器
    docker ps  查看当前运行的容器
    docker rm  容器id  #删除容器
    docker exec 容器id  #进入当前正在运行的容器
    docker commit  容器id   镜像名  #将容器提交为镜像
    docker contain ls  #查看当前运行的容器
操作仓库的命令:
	docker pull 镜像  #  下载镜像
	docker push 镜像   #  推送镜像


99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?
 

101.容器都是默认后台运行,怎么查看容器日志?

docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(BC)
A.rpm -ivh nginx 这是安装nginx命令
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?c
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos cat /etc/redhat-release
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别其他特殊符号
双引号:能够识别特殊符号,以及变量
21.vim有几种工作模式
4种:1.正常模式 2.命令模式 3.插入模式 4.可视模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 添加多个server然后改变端口号等 线上:socket 线下:http
23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
24.如何解压缩后缀是.tar.gz文件?
tar zxvf 文件名.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
http > nginx > uwsgi
browser/server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6-8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:文件夹
user:读写
group:读
other:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysql|dump -urrot -p
36.简述特殊符号的含义?

注释
. 当前目录
.. 当前目录的上一级目录
$PATH 查看路径
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chfrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz/xftcp/scp
40.如何杀死mariad进程?
pkill -9 mariad
kill -9 mariad的进程号
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum redis -y
systemctl start redis
redis-cli
更改端口
开启protomode yes安全模式
设置redis密码
redis-server redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
45.virtualenv是什么?简述如何使用
当我们同时开发多个应用程序时,可能需要应用不同版本的软件,为了各个程序之间不影响,所以我们需要将他们的隔开独立起来,这种情况下就需要各自拥有一套‘独立’的python运行环境,virtualenv就是用来为一个应用创建一套‘隔离’的python运行环境
创建虚拟环境 virtualenv --python=python3 caijie(虚拟环境名字)
启动虚拟环境 source caijie/bin/activate
46.virtulevnwrapper是什么?简述使用
virtualenv的一个最大的缺点就是,每一次开启虚拟环境之前要去虚拟环境所在目录下的bin目录下,source一下activate,这就需要我们记住每个虚拟环境所在的目录
virtualenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv caijie
3.切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis-sentinel是redis官方推荐的高可用性方案
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
即使使用哨兵,redis每个实例也是全量数据存储。每个redis存储的内容都是完整的数据,为了最大化利用内存,可以采用cluster群集,就是分布式存储,即每台redis存储不同的内容。采用redis-cluster架构正是满足这种分布式存储要求的集群的的一种体现
49.什么是静态资源,什么是动态资源?
静态资源指定的是网站css、js、html文件
动态资源一般指的是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径
root html; # 指定页面的目录,访问/会找到html目录
index index.html; # 指定网页,访问/就是访问index.html
}
}

server{ # 虚拟主机
listen 8080; # nginx监听端口
server_name 192.168.11.11; # nginx访问域名
location / { # location匹配url
include uwsgi_params; # 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; # 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
1.安装yum install supervisor
2.生成配置文件vim /etc/supervisord.conf
3.写入自定义的配置
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisord.conf
5.supervisorctl -c /etc/supervisord.conf
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
uwsgi+nginx+supervisor+nginx
1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualenv
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目依赖包
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是vue
5.3访问8000端口就是vue发起8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势
linux容器软件
docker优势:
更高效的利用系统资源
更快捷的启动时间
一致的运行环境
持续交付和部署
更轻松地迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r 递归删除
-f 强制删除

60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb
redis会定期保存数据快照至一个rdb文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
rdb缺点,定期执行,可能会丢失数据,并且数据量特别大的时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。
aof
redis会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有操作顺序执行一遍,确保数据恢复到最新。随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志让AOF文件过大,也会让数据恢复的时间过长
优点:数据安全,不怕数据损坏,如断电等问题,还可以用redis-check-aof修复数据,AOF文件为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用rdb和aof
如果配置了RDB,又配置了AOF,则进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%'

65.nginx如何实现负载均衡?
upstream{}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制:按时间顺序逐一分配到不同的后端服务器(默认)
weight:加权轮询,weight值越大,分配到的访问几率越高
ip_hash:每个请求按访问IP的hash结果分配,这样来自同一IP法人固定访问一个后端服务器
url_hash:按照访问url的hash结果来分配请求,是每个url定向到同一个后端服务器
least_conn:最少连接数,哪个机器连接数少就分发

67.linux下载软件包的方法有?
wegt url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限
chmod u+x file

70.过滤出settings.py中所有的空白和注释行
grep -v '^#' settings.py | grep -v '^$'

71.过滤出file1中以abc结尾的行
grep 'abc$' file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
docker ps -a # 查看所有容器记录
不会丢,因为容器停止了,并没有被删除 docker ps-a可以看到

73.如何批量清理后台停止的容器
docker rm 'docker ps -aq'

74.如何查看容器日志?
docker logs -f 容器id # 实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1.查看系统负载情况例如使用top命令
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件,rm -rf删除掉
4.还需要检查定时任务,是否添加了一些东西

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.liunx查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi:是web服务器网关接口,它是一个协议,描述了web服务器(nginx)如何和web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi
uwsgi:是一种线路协议而不是通信协议,在此常用于在uwsgi服务器与其他网络服务器的数据通信,而uwsgi是实现了uwsgi和wsgi两种协议的web服务器
83.supervisor是什么?
supervisor是守护进程的配置

linux面试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID
B
2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev
B
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc
B
4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
A
5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
A
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
764
7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
A
8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
A
9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
A
10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt” D

15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit

                    B

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
B
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
CENTOS 7

20.Linux单引号双引号的区别?
单引号就是个字符串,不识别其他特殊符号
双引号能够识别特殊字符以及变量

21.vim有几种工作模式
命令模式 输入模式 底线输入模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
参数:proxy_pass

23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf *.tar.gz ./
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx
50 5 5,15,25 /usr/bin/systemctl restart nginx

29.每分钟清空/tmp/内容

/usr/bin/rm - rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * usr/bin/rm - rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3

32.某文件权限是drw-r—rw-,请解读该权限?
改文件夹 属主 读写 属组 读 其他 读写

33.centos版本系统服务管理命令是?

34.如何远程登录阿里云123.206.16.61?

35.备份mariadb的命令是?

36.简述特殊符号的含义?

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PYTH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限不够
38.如何修改test.py属组为alex?
charp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
rz windows 传 linux
lz linux 传windows

40.如何杀死mariad进程?
kill -9 进程号
pkill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

42.linux如何安装软件?有几种方式?

43.出于安全角度,简述如何安装启动redis服务端?

44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
虚拟环境
先下载虚拟环境工具 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
创建虚拟环境 virtualenv --python=python 虚拟环境名字
激活虚拟环境 source /opt/venv1/bin/activate
在安装所需要的的依赖包

46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?

50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
编辑 /etc/profilr/ 文件
在最后一行加上
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"

52.给如下代码添加注释
server{
listen 80; 监听的端口号
server_name 192.168.11.11; 域名
location / {
root html; 虚拟主机资料的存放路径
index index.html; nginx的首页文件名字
}
}

server{
listen 8080; 监听的端口
server_name 192.168.11.11; 访问网站的ip地址
location / {
include uwsgi_params; 收到请求转发给后端的uwsgi
uwsgi_pass 0.0.0.0:8000; 代理服务器的地址和端口
}
}
58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm -rf -r 递归删除文件夹 -f 强制删除
60.python操作linux的模块是?
os
subpreocess
sys

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}

66.nginx的负载均衡调度算法有几种?是什么?
weight    加权轮询,weight值越大,轮询     
按时间顺序逐一分配到不同的后端服务器(默认)

67.linux下载软件包的方法有?
wget url地址
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” file |grep -v “^”71.过滤出file1中以abc结尾的行grep“abc” file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
kill -9
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH

cat /etc/profile
80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

crontab -l #列出定时任务的规则
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
IP相关统计
页面访问统计
每秒请求量统计
性能分析
TCP连接统计
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么() ***
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息() ***
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令() ***
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是() ***
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是() ***
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? ***
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? ***
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? mkedi -p
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos $uname -a
20.Linux单引号双引号的区别?
单引号:将所有的字符还原为字面意义,即为普通字符串
双引号:不会忽略 ` $ \

21.vim有几种工作模式
命令模式,插入模式,底行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
定义多个servr,在location里配置root以及index参数

proxy_pass http://linux服务器ip+提供web站点功能的端口

23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf ***.tar.gz

25.awk命令截取出ip地址

26.www服务器在internet最为广泛,采用的结构是?
B/S 架构

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx

29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
属主 属组 其他
读写执行 读 读写

33.centos版本系统服务管理命令是?
systemctl start redis
systemctl status redis

34.如何远程登录阿里云123.206.16.61?
ssh 用户名@123.206.16.61

35.备份mariadb的命令是?
mv mariadb ./new_mariadb
36.简述特殊符号的含义?

注释

. 当前目录
.. 上级目录
$PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限只要可读,或者权限不够

38.如何修改test.py属组为alex?
charp alex text.py

39.如何在windows和linux传输文件?有哪些方法?
xftp
lrzsz
rz 接受Windows
sz 发送给Windows

40.如何杀死mariad进程?
ps -ef | grep mariad
kill -9

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum

42.linux如何安装软件?有几种方式?
npm yum 源码包

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
redis-ctl

44.如何保证本地测试环境和线上开发环境一致性?思路?
开启虚拟环境
pip3 freeze

45.virtualenv是什么?简述如何使用
virtualenv是为应用创建一个单独的运行环境
virtualenv --python=python3 venv1 创建虚拟环境
source /opt/venv1/bin/active 激活虚拟环境

46.virtulevnwrapper是什么?简述使用
是虚拟环境管理工具
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
是redis集群‘
为了最大化利用内存,采用这种分布式存储的方式,每台redis储存不同的内容

49.什么是静态资源,什么是动态资源?
静态:HTML,JS,CSS
动态,数据

50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile

52.给如下代码添加注释
server{ 虚拟主机
listen 80; #监听80端口
server_name 192.168.11.11; 访问此域名:
location / { 访问路径
root html; 指定页面目录
index index.html; 指定默认页面
}
}

server{ 虚拟主机
listen 8080; 监听8080端口
server_name 192.168.11.11; 访问此域名
location / { 访问路径
include uwsgi_params; 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
更搞效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容? D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除 -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么?

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给予一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep -v "^#" settings.py |grep -v "^$"

71.过滤出file1中以abc结尾的行

grep "sbc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker ps -a

73.如何批量清理后台停止的容器

docker rm `docker ps -aq

74.如何查看容器日志?

docker logs -f #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况 (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图

nginx--->返回静态页面
---->动态请求--->发给代理服务器--->发给uwsgi---》请求到数据并返回

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.Linux查询环境变量的命令是

echo $变量名

80.查询脚本定时任务的命令是

crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

------------------------------------------

82.uwsgi、wsgi是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?

---------------------------------------

85.解释QPS是什么?

#----------------------------------------------------

86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

--------------------------------------------------

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

--------------------------------------------------

89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

91.docker容器有哪些状态?

dockerfile 用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from --设置镜像使用基础镜像
maintainer --设置镜像的作者
run --编译镜像时运行的脚本
cmd -- 设置容器的启动命令
label --设置镜像的标签
expoese --设置镜像暴露的端口
env --设置容器的环境变量
add/copy -- 编译镜像时赋值文件到镜像中
entrypoint --设置程序的入口程序
volume --设置容器的挂载卷
user --设置 run cmd entrypoint 用户名
workdir --设置run cmd entrypoint copy add指令工作目录
arg --设置编译镜像时加入的参数
onbuild --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像 删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

docker rm 容器id #删除容器

96.容器如何端口映射?数据卷映射?

#------------------------------------

97.如何进入容器?流程是?

docker exec 容器id #进入当前正在运行的容器

98.简述docker使用流程

docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?

#------------------------------

101.容器都是默认后台运行,怎么查看容器日志?

docker logss

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

不会丢失

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( PID )
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息( /etc/passwd )
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键( Tab )
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(:q!)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是( rwx )
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为( 764 )
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是( chown /  change owner)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用( tar -zxvf mygdjango.tar.gz)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令( B )
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录( /etc )
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是( top  )
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是( top )
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是( rwxr--rw- )
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是( find /opt -name ".txt")
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?  ping
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?   exit 
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?  -p   // 父目录连同一起产生
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?    /etc/resolv.conf
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?   cat /etc/redhat-release

20.Linux单引号双引号的区别?
单引号的内容,仅仅就是个字符串,不是别任何其他的特殊符号
双引号中的内容,能够识别特殊符号,以及变量

21.vim有几种工作模式
三种:
刚进入vim编辑文件中时和输入esc键是命令模式
按下i键是编辑模式
输入shift+冒号,进入底线命令模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
/etc/nginx.conf       
实现多虚拟主机:编辑多个server代码块
反向代理的参数:proxy_pass

23.sed命令截取出ip地址 

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf  file.tar.gz

25.awk命令截取出ip地址


26.www服务在internet最为广泛,采用的结构是?
b/s

27.如何给linux添加dns服务器记录?
1.在dns客户端配置文件/etc/resolv.conf添加服务器
2。在本地dns强制解析文件中添加服务器,域名解析优先级更高

28.每月的5,15,25的晚上5点50重启nginx
分 时 日 月 周  命令
50  5   5,15,25  *  *   /user/bin/systemctl  restart  nginx

29.每分钟清空/tmp/内容
*  *  *  *  *  /user/bin/rm -rf  ./tmp/*

30.每天早上6.30清空/tmp/的内容
30  6  *  *  *  /user/bin/rm -rf  ./tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15  18-20  *   *   3  /user/bin/mysqldump  -uroot -p  --alldatabases >   /opt/.mysql.sql

32.某文件权限是drw-r—rw-,请解读该权限?
d    该文件是文件夹
rw-  属主具有可读可写的权限
r--  组内成员具有可读权限
rw-  其他人具有可读可写的权限

33.centos版本系统服务管理命令是?   systemctl 

34.如何远程登录阿里云123.206.16.61?
ssh  root@123.206.16.61

35.备份mariadb的命令是?
mysqldump  -uroot  -p  --alldatbases  <  alldb.sql

36.简述特殊符号的含义?

#      注释
.      当前目录
..     上一级目录
$PATH  $是取值符,$PATH是取环境变量的值

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
设置了rm的使用权限

38.如何修改test.py属组为alex?
chgrp  alex  test.py

39.如何在windows和linux传输文件?有哪些方法?
1.lrzsz 
2.远程拷贝别人的资源   scp  -r  root@xxx.xxx.xxx.xxx:/你要拷贝的资源   /资源放在你的磁盘的位置
3.scp  你想要的资源  这个资源放在哪     # 这是拿别人的资源
  scp   你的资源  其他人机器的目录       # 传输的资源给别人
  
40.如何杀死mariadb进程?
pkill  -9  mariadb 
kill  -9  3306 
正确:ps -ef |grep  mariadb
kill -9  mariadb的pid

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum依赖资源   pip insatll yum -y

42.linux如何安装软件?有几种方式?
1.直接下载或者使用yum源
2.软件内容与版本放在requremants.txt文件中,使用命令下载

43.出于安全角度,简述如何安装启动redis服务端?
yum install  redis -y
syatemctl start  redis  

44.如何保证本地测试环境和线上开发环境一致性?思路?
1. 虚拟机模板克隆,打包好一个基础开发环境,克隆多份,生产多个部署环境
利用docker容器技术,打包环境,在开发环境中安装依赖和配置文件即可

45.virtualenv是什么?简述如何使用
虚拟环境,可以创建多个,并且没有关联

46.virtulevnwrapper是什么?简述使用
也是虚拟环境,和virtualenv的用法一样,只是后者不可查看所有的虚拟环境,前者可以
47.redis哨兵是什么?作用是
Sentinel(哨兵)是redis的高可用性解决方案:有一个或者多个Sentinel实例组成的Sentinel系统以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器

48.redis-cluster是什么?
redis集群,为了大流量下的稳定性

49.什么是静态资源,什么是动态资源?
静态资源就是图片,html,css,js
动态资源:要后端发送请求从后端提取提取数据

50.配置linux软连接的命令?
ln -s 目标文件绝对路径  软连接绝对路径

51.如何永久添加/opt/python36/的环境变量?
vim  etc/profile

52.给如下代码添加注释
server{                  # 虚拟主机
listen 80;               # 监听端口
server_name 192.168.11.11;    # 对url的匹配,当我请求http://192.168.11.11
location / {   
root html;              # 定义虚拟主机的根目录
index index.html;       # 定义网页首页文件的名字
}
}

server{                 
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params;               # 包含语法,添加反向代理请求头的文件,包含到nginx文件中
uwsgi_pass 0.0.0.0:8000;            # 基于uwsgi协议的反向代理,转发请求给后端的uwsgi
}
}

53.supervisor是什么?如何使用?
批量任务管理工具,可以使用supervisor启动uwsgi

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端:下载安装node环境,修改axios的请求端口,打包vue代码
后端:基于django环境安装所应用的软件,导入数据库,创建虚拟环境,更改uwsgi.ini的环境配置,都设置好了以后,设置nginx的虚拟主机机器相关配置,开启nginx服务即可,客户端访问

55.docker是什么?简述docker优势
docker是一个linux的容器技术,解决环境依赖,项目打包上线方便

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker  run   镜像名    # 启动一个docker容器
docker images  
docker  ps    # 查看正在运行的容器
docker  pa -a    # 查看所有运行过的容器
docker logs     # 查看i容器内的日志
docker port    # 查看容器的端口映射关系
docker exec  -it  容器id  /bin/bash    # 交互式的进入一个容器
docker build  .     # 对一个dockerfile进行打包

57.哪个命令无法查看linux文件内容?( man )
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?   是否真的删除
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?  -rf 是递归并且不提示删除信息的删除

60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
 netstat  -tunlp |grep 8080

62.redis是如何做持久化的?
rdb基于数据快照进行持久化,生成一个二进制数据,save触发永久化存储
aof基于命令日志追加的方式,持久化,生成一个aof文件,记录所有数据变更的记录

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
useradd alex 


65.nginx如何实现负载均衡
nginx负载均衡就是一个分担压力的web服务器,设置多站点服务器,当请求压力太大时,使用nginx通过负载均衡算法分配到不同的服务器进行处理请求
参数:upstream{
	写后端应用的地址池
}

66.nginx的负载均衡调度算法有几种?是什么?
默认是轮询机制,每台服务器轮流处理请求
加权轮询,按比例进行分配请求

67.linux下载软件包的方法有?
wget  requeriments.txt循环下载

68.windows和linux常用远程连接工具有哪些?
xshell 

69.如何给与一个脚本可执行权限
chomd u+x/g+x/o+x  file

70.过滤出settings.py中所有的空白和注释行
grep  -v "^#"  settings.py  | grep -v "^$"

71.过滤出file1中以abc结尾的行
grep  "*abc" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会,因为容器停止了,并没有被删除

73.如何批量清理后台停止的容器
docker rm docker ps -aq

74.如何查看容器日志?
docker logs -f  容器id

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9  text.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top 

79.unix查询环境变量的命令是


80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgi是什么?
uwsgi是实现了uwsgi和wsgi两种协议的web服务器,wsgi是一个接口,为了拒绝TCP/HTTP原始请求和响应格式的一个统一的一个接口

83.supervisor是什么?  
批量任务管理工具,当某个进程突然杀死后,supervisor会自动重启任务

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源:图片、css、js、html文件
动态文件:像后端发送请求获取的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

91.docker容器有哪些状态?
dockerfile  用于创建image就像模板文件
image:镜像文件对比pc端的概念,可以理解为服务端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?
from  --设置镜像使用基础镜像
maintainer  --设置镜像的作者
run     --编译镜像时运行的脚本
cmd     -- 设置容器的启动命令
label   --设置镜像的标签
expoese  --设置镜像暴露的端口
env     --设置容器的环境变量
add/copy     --  编译镜像时赋值文件到镜像中
entrypoint   --设置程序的入口程序
volume     --设置容器的挂载卷
user    --设置  run  cmd  entrypoint 用户名
workdir  --设置run  cmd entrypoint  copy add指令工作目录
arg    --设置编译镜像时加入的参数
onbuild   --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?
docker  rmi  镜像   # 删除镜像

95.如何退出一个交互式的容器终端,而不终止它?
docker  rm  容器id   # 删除容器

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?
docker exec  容器id

98.简述docker使用流程

99.如何批量删除或停止容器?
docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?
统计ip访问

101.容器都是默认后台运行,怎么查看容器日志?
docker logs
102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
不会

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(C)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(A)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(A)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
CENTOS7 cat /etc/os-release
20.Linux单引号双引号的区别?

21.vim有几种工作模式
命令模式 编辑模式 底部命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf proxy_pass
23.sed命令截取出ip地址
ifconfig wlan0 | grep 'inet addr' | sed 's/^.addr://g' | sed 's/Bcast.$//g'
24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址
awk -F '[] "[]' '{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7}' logs/host.access.log >
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver dns
28.每月的5,15,25的晚上5点50重启nginx
50 5 5,15,25 * * /opt/tngx232/sbin/nginx -s reload
29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /usr/bin/rm -rf /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?
            属主读写 组内读 组外读写
            33.centos版本系统服务管理命令是?
            systemctl
            34.如何远程登录阿里云123.206.16.61?
            ssh root@123.206.16.61
            35.备份mariadb的命令是?
            mysqldump -uroot -p
            36.简述特殊符号的含义?

root用户身份提示符

.当前目录
..上级目录
$PATH取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chgrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
xftp lrzsz scp
40.如何杀死mariad进程?
pkill mariadb ps -ef|grep mysql kill pid killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
安装yum
42.linux如何安装软件?有几种方式?
yum rpm
43.出于安全角度,简述如何安装启动redis服务端?
pkill mariadb ps -ef|grep mysql kill pid killall mariadb
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
pip3 install -r xxx.txt
45.virtualenv是什么?简述如何使用
虚拟环境
安装 install virtualenv
创建虚拟环境 virtualenv --no-site-packages --python=python3 en1
激活虚拟环境 source /opt/en1/bin/activate
46.virtulevnwrapper是什么?简述使用
创建python虚拟环境的工具
安装 pip3 install virtualenvwrapper
创建进入虚拟环境 mkvirtualenv e1
切换 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库福娃五停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
redis集群功能,用于大规模redis服务,通过虚拟槽分区将数据保存在指定的分区
49.什么是静态资源,什么是动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ 虚拟主机

listen 80;
监听端口 80端口
server_name 192.168.11.11;
填写域名,没有就默认即可,现在的域名为192.168.11.11
location / { # 访问的路径 /
nginx的域名匹配,所有的请求,都会进入到这里
root html;
指定页面的目录
index index.html;
指定网页,默认访问index.html
}
}
server{#虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.修改配置
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动项目
supervisorctl -c /etc/supervisor.conf start all
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
部署路飞:
1.安装python3 环境 mysql,redis,nginx...
2.部署前端
1.安装node.js的环境依赖包
2.修改axios的发送的端口接口
3.打包
3.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及需用的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
4.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
55.docker是什么?简述docker优势
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man
58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
59.为何说rm -rf 慎用?
rm 删除文件、文件夹
-rf会直接递归删除所有文件
60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?
rdb aof
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。
64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget curl
68.windows和linux常用远程连接工具有哪些?
Xshell、SecureCRT、Putty、SSH、Shell等
69.如何给与一个脚本可执行权限
chmod u+x 脚本名
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" file |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep "abc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
73.如何批量清理后台停止的容器
74.如何查看容器日志?
75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top
ps aux --sort=%cpu
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
ps aux
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程的一个工具
WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信。
83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?
pv page v
uv user v
85.解释QPS是什么?
每秒数据访问量
86.解释什么是静态资源?动态资源?
静态资源指定的是网络的css/js/html文件
动态资源指的是数据(后端的数据)
87.saltstack如何采集服务器静态数据?
slat '*' grains.items
88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}
89.redis怎么实现队列?
利用list数据类型的特性 ,双向队列
可以用 lpush 往左边插入数据,再利用rpop从右边取出数据
90.什么是docker生命周期?
91.docker容器有哪些状态?
92.dockerfile常用指令?
93.dockerfile中copy和add的区别
94.docker获取和删除镜像的命令?
95.如何退出一个交互式的容器终端,而不终止它?
96.容器如何端口映射?数据卷映射?
97.如何进入容器?流程是?
98.简述docker使用流程
99.如何批量删除或停止容器?
100.nginx的access.log能够统计哪些信息?
101.容器都是默认后台运行,怎么查看容器日志?
102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(b)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(b)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(b)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(d)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(a)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(c)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(c)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(a)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(a)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(a)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(b)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(a)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(d)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? c
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? a
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? b
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

/etc/hostname文件包含了Linux系统的主机名,包括完全的域名。
/etc/hosts文件包含了IP地址和主机名之间的映射。
/etc/resolv.conf文件指定如何解析域名。
/etc/networ ks文件用来指定服务器上的网络配置信息。

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

uname -a显示电脑以及操作系统相关信息
cat /proc/version显示正在运行的内核版本
cat /etc/issue或cat /etc/redhat-release Linux查看版本当前操作系统发行版信息
lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)
cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)

20.Linux单引号双引号的区别?
单引号只是表示字符串

21.vim有几种工作模式
命令模式 编辑模式 底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf

proxy_pass

23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?

tar -zxvf .tar.gz

25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
b/s

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
写入新的nameserver

28.每月的5,15,25的晚上5点50重启nginx
crontab -e
50 17 5,15,25 * * /opt/tngx232/sbin/nginx -s reload

29.每分钟清空/tmp/内容
crontab -e

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
crontab -e
5-15 18,20 * * 3 mysqldump -uroot -p --all-databases > /opt/alldb.sql

32.某文件权限是drw-r—rw-,请解读该权限?
文件夹 拥有者 可读可写 所属组 可读 其他用户是 可读 可写

33.centos版本系统服务管理命令是?
systemctl

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.617
35.备份mariadb的命令是?
mariadbdump -uroot -p --all-databases > alldb.sql
36.简述特殊符号的含义?

注释

. 当前目录
.. 上级目录
$PATH 变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
是因为alias的作用

38.如何修改test.py属组为alex?

chgrp alex text.py

39.如何在windows和linux传输文件?有哪些方法?
lrzsz
sz

40.如何杀死mariad进程?
pkill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

42.linux如何安装软件?有几种方式?
yum

43.出于安全角度,简述如何安装启动redis服务端?

44.如何保证本地测试环境和线上开发环境一致性?思路?
把本地开发环境模块打包导入

45.virtualenv是什么?简述如何使用
python中的虚拟环境

46.virtulevnwrapper是什么?简述使用

是创建python虚拟环境的一个工具

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
动态:与数据库进行交互的
静态:固定不动的

50.配置linux软连接的命令?
ln -s 指定路径 文件路径
51.如何永久添加/opt/python36/的环境变量?

52.给如下代码添加注释
server{

监听80端口

listen 80;

填写域名

server_name 192.168.11.11;

域名匹配

location / {

root参数,定义该虚拟主机,资料存放路径的,可以自由修改

当用户访问 192.168.11.11:80的时候,就返回该目录的资料

root html;

index参数.用于定义nginx的首页文件名字,只要在html目录下的index.html文件即可

index index.html;
}
}

server{

监听端口8080

listen 8080;
#填写域名
server_name 192.168.11.11;

nginx的域名匹配所有的请求都会进入到这里

location / {

这个参数,是固定的,是添加一些转发请求头内容

include uwsgi_params;

通过uwsgi_pass把请求转发给后端uwsgi服务器

uwsgi_pass 0.0.0.0:8000;
}
}

53.supervisor是什么?如何使用?
进程管理工具

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端进行node打包,生成静态文件,使用nginx返回前端的页面
前端是先找到反向代理的端口,通过反向代理,nginx转发请求给django后台
后端项目部署,准备虚拟环境,准备代码依赖包问题,使用uwsgi部署django程序

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?d
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
强制递归删除

a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
ps -ef |grep 8080
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
1.通过配置文件,决定是用rdb还是aof的持久化方式

aof方式,是将你输入的修改类的redis命令,记录在一个aof文件中,是能看懂的命令记录文件

rdb方式,它是基于数据快照的持久化,save指令触发的持久化,数据是一个二进制的数据文件,
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
create user "username"@"host" identified by "password"
create user "alex"@"%" identified by "123"

grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';
grant select on databasename.tablename to 'alex'@'%'; /给予查询权限/

65.nginx如何实现负载均衡?
upstream {}

1 定义一个负载均衡池,吸入多个后端服务器+端口

2 通过反向代理参数,转发给地址池,uwsgi_pass mydjango;

proxy_pass # 这是没有编程语言协议的转发

lamp

linux + apache + mysql + php # 黄金网站架构

66.nginx的负载均衡调度算法有几种?是什么?

67.linux下载软件包的方法有?
wget curl
68.windows和linux常用远程连接工具有哪些?
xshell ssh
69.如何给与一个脚本可执行权限
chmod u+x filename
chmod o+x filename
chmod g+x filename

70.过滤出settings.py中所有的空白和注释行

grep "^$" settings.py |grep "^#" settings.py

71.过滤出file1中以abc结尾的行
grep “abc$” file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
杀死该进程

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 "test.py"
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

79.unix查询环境变量的命令是

80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?
开发进程管理工具

84.解释PV,UV的含义?
uv指的是user view的缩写,意思是用户浏览量
pv是page view的缩写,通常用来衡量网站页面用户浏览深度的

85.解释QPS是什么?
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
86.解释什么是静态资源?动态资源?
动态:与数据库进行交互的
静态:固定不动的
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(AD)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(A)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(C)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

20.Linux单引号双引号的区别?
单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号
双引号中的内容,能够识别特殊符号,以及变量
21.vim有几种工作模式
命令模式,编辑模式,底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf xx.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
bs架构
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver x.x.x.x
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
文件夹 user读写 group只读 other读写
33.centos版本系统服务管理命令是?
systemctl status 查看状态
systemctl restart 重启
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 环境变量路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有权限 并用了alisa给rm起了别名
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
rz windows传linux sz 反之
40.如何杀死mariad进程?
pkill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum工具
42.linux如何安装软件?有几种方式?
yum 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建虚拟环境
virtualenv --python=python3 env1
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是
检测redis 一旦有异常立马切换主从
48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态;HTML,js,css文件
动态;数据库数据
50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
PATH=''
source /etc/profile
52.给如下代码添加注释
server{
listen 80; #监听80端口
server_name 192.168.11.11; #服务名字
location / {
root html; #指定页面
index index.html; #首页页面
}
}

server{
listen 8080; #监听8080端口
server_name 192.168.11.11; #服务名字
location / {
include uwsgi_params; #执行nginx的配置
uwsgi_pass 0.0.0.0:8000; #将请求通过8000端口返回
}
}

53.supervisor是什么?如何使用?

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势
容器
打包镜像,不用为环境烦恼
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r递归删除
-f是强制删除
a60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}
66.nginx的负载均衡调度算法有几种?是什么?
权重
轮流
谁少给谁
67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
69.如何给与一个脚本可执行权限
chmod x file
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^"71.过滤出file1中以abc结尾的行grep"sbc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢,因为容器停止了并没有被删除,docker ps -a
73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $变量名
80.查询脚本定时任务的命令是
81.saltstack、ansible、fabric、puppt工具的作用
82.uwsgi、wsgia是什么?
83.supervisor是什么?
supervisor是守护进程的配置
84.解释PV,UV的含义?
85.解释QPS是什么?
86.解释什么是静态资源?动态资源?
js css html
数据
87.saltstack如何采集服务器静态数据?
88.请用yaml语法表示如下python数据结构
{“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]}
89.redis怎么实现队列?
90.什么是docker生命周期?
91.docker容器有哪些状态?
92.dockerfile常用指令?
93.dockerfile中copy和add的区别
94.docker获取和删除镜像的命令?
95.如何退出一个交互式的容器终端,而不终止它?
96.容器如何端口映射?数据卷映射?
97.如何进入容器?流程是?
98.简述docker使用流程
99.如何批量删除或停止容器?
100.nginx的access.log能够统计哪些信息?
101.容器都是默认后台运行,怎么查看容器日志?
102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID
B
2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev
B
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc
B
4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
D
5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
A
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
D
7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
C
8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
A
9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
B
10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
D
15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit
C
16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p
D
18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
B
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/re
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量
21.vim有几种工作模式
四种:正常,命令,插入,可视
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
conf/nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf .tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
B/S
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf #

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)
29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*
            30.每天早上6.30清空/tmp/的内容
            30 6 * * * /usr/bin/rm -rf /tmp/*
            31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
            5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
            32.某文件权限是drw-r—rw-,请解读该权限?
            属主user:读写
            组group:只读
            其他人outhor:读写
            33.centos版本系统服务管理命令是?
            systemctl
            34.如何远程登录阿里云123.206.16.61?
            ssh root@123.206.16.61
            35.备份mariadb的命令是?
            mv mariadb new_mariadb
            mysql|dump -uroot -p
            36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限不够
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
lrzsz xftp
40.如何杀死mariad进程?
pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
yum没有下载
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
redis-cli

更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate 激活虚拟环境
46.virtulevnwrapper是什么?简述使用
virtaulenvwrapper是virtualenv的扩展包,方便管理虚拟环境
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,是后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor 是指在进程不经意间关闭后,可以自动启动进程保持正常运行
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man
D
58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
B
59.为何说rm -rf 慎用?
强制删除所有内容

a60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发
67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep "sbc$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi
83.supervisor是什么?
supervisor是守护进程的配置
84.解释PV,UV的含义?
pv page v
uv user v
85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

​ root@localhost ~]# cat /etc/redhat-release
​ CentOS Linux release 7.7.1908 (Core)

20.Linux单引号双引号的区别?

单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量

21.vim有几种工作模式
四种:正常模式,命令模式,插入模式,可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket; 线下是http

23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'

24.如何解压缩后缀是.tar.gz文件?
tar zxvf .tar.gz
25.awk命令截取出ip地址
ifconfig |awk '/Bc/'|awk -F: '{print $2}'|awk '{print $1}'(存疑)
26.www服务在internet最为广泛,采用的结构是?
http ---> nginx --> uwsgi
Browser/Server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?
service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、重新加载配置(reload)、查看状态(status)等。

chkconfig

systemctl

34.如何远程登录阿里云123.206.16.61?
用shellx工具
ssh root@123.206.16.61

35.备份mariadb的命令是?
mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

#        注释

​ . 当前目录
​ .. 当前目录的上一级目录
​ $PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限不够,不可以操作此命令
起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?
chgrp alex test.txt

39.如何在windows和linux传输文件?有哪些方法?
lrzsz xftp scp

40.如何杀死mariad进程?
pkill -9 mariad
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum

42.linux如何安装软件?有几种方式?
yum rpm 源码包

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis

redis-cli
----

​ 更改端口
​ 开启protommode yes
​ 设置redis密码
​ redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
docker 打包镜像
手动解决环境问题 pip3 freeze

45.virtualenv是什么?简述如何使用
虚拟环境
安装
pip3 install virtualenv
创建
virtualenv --no-site-packages --python=python3 env1
启动
source /(到bin目录下)/activate
46.virtulevnwrapper是什么?简述使用
virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
修改profile
vim /ppt/profile
source读取修改后的
52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
安装uwsgi+nginx+supervisor+nginx
1.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
2.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
3.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,加载mysql,redis
7.通过supervisor启动管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
    更搞效的利用系统资源
    更快速的启动时间
    一致的运行环境
    持续交付和部署
    更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
递归加强制删除,一旦操作无法找回
a60.python操作linux的模块是?
os模块

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长

优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读

缺点:占磁盘,性能损耗高,数据恢复慢

怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal注重高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster注重扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';

65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?
wget url地址

curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限
chmod u+x file

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^$"

71.过滤出file1中以abc结尾的行
grep "sbc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢,因为容器停止了并没有被删除,docker ps -a

73.如何批量清理后台停止的容器
docker rm `docker ps -aq

74.如何查看容器日志?
docker logs -f
75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top
ps aux --sort=%cpu
1.找到吃资源的进程信息 top glances(资源监控工具)
2.强制 kill -9 杀死 cxk.avi
3.检查定时任务
4.全局搜索病毒文件 find / -name cxk.avi

   5. 强制删除 病毒文件	

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9  test.py	

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.unix查询环境变量的命令是
echo $变量名

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用
SaltStack(或Salt)是一个基于命令行的工具,可以设置一个主客户端模式还是非集中模式。 Salt基于Python,提供了一种推送方法和一种与客户端通信的SSH方法。 Salt允许对客户端和配置模板进行分组,以简化对环境的控制。

Ansible是用于在可重复的方式将应用程序部署到远程节点和配置服务器的开源工具。 它为您提供了使用推送模型设置推送多层应用程序和应用程序工件的通用框架,但如果愿意,您可以将其设置为主客户端。 Ansible是建立在playbooks,你可以应用于各种各样的系统部署你的应用程序。 

Fabric是在应用程序部署精简SSH一个基于Python的工具。 它主要用于跨多个远程系统运行任务,但也可以使用插件扩展以提供更高级的功能。 Fabric将配置您的系统,执行系统/服务器管理,并自动部署您的应用程序

Puppet是在全面配置管理空间长期工具之一。 它是一个开源工具,但考虑到它已经存在多久,它已经被良好的审查和部署在一些最大和最苛刻的环境中。 Puppet基于Ruby,但是使用更接近JSON的定制的域脚本语言(DSL)来在其中工作。 它作为主客户端设置运行,并使用模型驱动方法。 Puppet代码设计作为依赖关系列表,这可以使事情更容易或更混乱,这取决于您的设置。 
[csdn](https://blog.csdn.net/zzq900503/article/details/80143740)

82.uwsgi、wsgia是什么?

​ uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信 而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

​ WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信

83.supervisor是什么?

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。

Supervisor是一个客户/服务器系统,它可以在类Unix系统中管理控制大量进程

84.解释PV,UV的含义?

​ UV(Unique visitor)

	是指通过互联网访问、浏览这个网页的自然人。访问您网站的一台电脑客户端为一个访客。00:00- 24:00内相同的客户端只被计算一次。

​ PV(Page View)

即页面浏览量或点击量,用户每1次对网站中的每个网页访问均被记录1个PV.用户对同一页面的多次访问,访问量累计,用以衡量网站用户访问的网页数量

如何清楚易懂的解释“UV和PV"的定义? - Wise的回答 - 知乎 https://www.zhihu.com/question/20448467/answer/70592301

85.解释QPS是什么?

​ 每秒数据访问量

86.解释什么是静态资源?动态资源?

​ 重复

87.saltstack如何采集服务器静态数据?

​ 使用granis组件

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

老男孩:
    - 老师:
      - 太白
      - 女神
      - 吴超
    - 学生:
      - 小黑
      - 程宇

89.redis怎么实现队列?

​ redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现 90.什么是docker生命周

90.什么是docker生命周期?

​ 需要讲解

91.docker容器有哪些状态?

​ dockerfile 用于创建image镜像模版文件.

​ image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包

​ container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

*from* --设置镜像使用基础镜像

maintainer --设置镜像的作者

run --编译镜像时运行的脚本

cmd -- 设置容器的启动命令

label --设置镜像的标签

expoese --设置镜像暴露的端口

env --设置容器的环境变量

add/*copy* -- 编译镜像时赋值文件到镜像中

entrypoint --设置程序的入口程序

volume --设置容器的挂载卷

user --设置 run cmd entrypoint 用户名

workdir --设置run cmd entrypoint copy add指令工作目录 arg --设置编译镜像时加入的参数

onbuild --设置镜像的onbuild命令

stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

​ Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

​ docker rmi 镜像 删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

​ 端口映射:docker run -it -d -p +端口号

​ 数据卷映射:

​ 1.在容器内创建一个数据卷

​ 2.挂在一个主机目录作为数据卷

​ 3.挂载一个本地主机文件作为数据卷

97.如何进入容器?流程是?

​ docker exec 容器id #进入当前正在运行的容器

98.简述docker使用流程

docker images --查看本地镜像

docker serach 镜像 --通过docker hub搜索镜像

docker rmi 镜像 --删除镜像

docker save 镜像 > 路径 --导出镜像

docker load < 路径 --导入镜像

docker build -t --打包生成镜像

操作容器命令:

​ docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许 docker run -*it* 镜像 解释器 #根据镜像生成并进入容器 docker start/stop 容器id #启动/停止容器

​ docker ps #查看当前运行的容器

​ docker rm 容器id #删除容器

​ docker exec 容器id #进入当前正在运行的容器

​ docker commit 容器id 镜像名 #将容器提交为镜像

​ docker *contain* ls #查看当前运行的容器

操作仓库的命令:

​ docker pull 镜像 # 下载镜像

​ docker push 镜像 # 推送镜像

99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?

​ 通过访问日志,可以知晓用户的地址,网站的哪些部分最受欢迎,用户的浏览时间,对大多数用户用的的浏览器做出针对性优化。

101.容器都是默认后台运行,怎么查看容器日志?

​ docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

不会丢失 重复了

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(C)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(a)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(a
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(b
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(a
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(d
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? c
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? d
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? d
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? b
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos 7
cat /proc/version
20.Linux单引号双引号的区别?
单引号内的只是字符的字面意思,
双引号 保留特殊字符和命令字符原始作用
21.vim有几种工作模式
命令模式
插入模式
末行模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
在http的大括号内 写入多个server代码快
proxy_pass
23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
24.如何解压缩后缀是.tar.gz文件?
tar zxvf .tar.gz
25.awk命令截取出ip地址
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'
ip addr show ens33 | awk -F "[ /]+" '/inet /{print $3}'
26.www服务在internet最为广泛,采用的结构是?
http ---> nginx --> uwsgi
Browser/Server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d 代表是一个文件夹
属主user:读写
组group:只读
其他人othor:读写
33.centos版本系统服务管理命令是?
systemctl start
systemctl stop
systemctl restart
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mv mariadb new_mariadb
mysql|dump -uroot -p
36.简述特殊符号的含义?

#  注释
. 当前目录
.. 当前目录的上级目录
$PATH  查看path路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有足够的权限
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
lrzsz xftp scp
40.如何杀死mariad进程?
pkill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
没安装yum。安装下就好了
42.linux如何安装软件?有几种方式?
yum自动安装 自己下载安装包编译安装
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis
systemtcl start redis
44.如何保证本地测试环境和线上开发环境一致性?思路?
将本地的测试环境一起打包到线上
45.virtualenv是什么?简述如何使用
创建python虚拟环境 virtualenv --python=python3 venv
46.virtulevnwrapper是什么?简述使用
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服 务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满 足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.
49.什么是静态资源,什么是动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
52.给如下代码添加注释
server{ 一个虚拟主机
listen 80; 监听的端口,访问的端口是80
server_name 192.168.11.11; 访问的域名192.168.11.11
location / { 访问的路径
root html; 指定页面的目录
index index.html; 指定的主页
}
}

server{ 虚拟主机
listen 8080; nginx的监听端口
server_name 192.168.11.11; nginx访问域名
location / { location匹配url
include uwsgi_params; 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理
55.docker是什么?简述docker优势
linux容器软件
docker优势:
更搞效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像
57.哪个命令无法查看linux文件内容? d
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? b
A.命令所有参数d
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
因为-r递归删除 -f是强制删除
a60.python操作linux的模块是?
os模块
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?
RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制    按时间顺序逐一分配到不同的后端服务器
weight     加权轮询,weight值越大,分配到的访问几缕越高
ip_hash    每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn  最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^$"
71.过滤出file1中以abc结尾的行
grep "ac$" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?
不会丢,因为容器停止了并没有被删除,docker ps -a
73.如何批量清理后台停止的容器
docker rm `docker ps -aq
74.如何查看容器日志?
docker logs -f
75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1.查看系统负载情况 (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm -rf 删掉
4.还需要检查定时任务是否添加了些东西
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.unix查询环境变量的命令是
echo $变量名

80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi  是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?
supervisor是守护进程的配置
84.解释PV,UV的含义?
uv:过互联网访问、浏览这个网页的自然人。访问您网站的一台电脑客户端为一个访客。00:00- 24:00内相同的客户端只被计算一次。
pv:即页面浏览量或点击量,用户每1次对网站中的每个网页访问均被记录1个PV.用户对同一页面的多次访问,访问量累计,用以衡量网站用户访问的网页数量

85.解释QPS是什么?
​ 每秒数据访问量
86.解释什么是静态资源?动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据
87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?
dockerfile 用于创建image镜像模版文件.

image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包

container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?
from --设置镜像使用基础镜像
maintainer --设置镜像的作者
run --编译镜像时运行的脚本
cmd -- 设置容器的启动命令
label --设置镜像的标签
expoese --设置镜像暴露的端口
env --设置容器的环境变量
add/copy -- 编译镜像时赋值文件到镜像中
entrypoint --设置程序的入口程序
volume --设置容器的挂载卷
user --设置 run cmd entrypoint 用户名
workdir --设置run cmd entrypoint copy add指令工作目录
arg --设置编译镜像时加入的参数
onbuild --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?
用户访问的状态,浏览器,Ip,接口地址等
101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

*6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

*9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

*14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?(B)
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?(D)
A:q! B.quit C.; D.exit

*17.在父目录不存在的时候,添加的参数是?(A)
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?(B)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos

20.Linux单引号双引号的区别?
单引号的内容,仅仅只是个字符串,不识别任何其他的特殊符号
双引号的内容,能够识别特殊符号,以及变量

21.vim有几种工作模式
命令模式、编辑模式、底行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
实现反向代理:
server {
listen 80;
server_name _;
location / {
uwsgi_pass 0.0.0.0:8888;
include uwsgi_params;
}
}

23.sed命令截取出ip地址
sed "ip地址"

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf filename

25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?
vim /etc/hosts

28.每月的5,15,25的晚上5点50重启nginx
crontab -e
50 17 5,15,25 * * /opt/tngx232/sbin/nginx -s reload

29.每分钟清空/tmp/内容
crontab -e
* * * * * rm -rf /tmp

30.每天早上6.30清空/tmp/的内容
crontab -e
30 6 * * * rm -rf /tmp

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
crontab -e
5,15 18,20 * * 3 mysqldump -uroot -p --all-databases > /opt/name.sql

32.某文件权限是drw-r—rw-,请解读该权限?
文件夹,属主可读可写,属组可读,其他可读可写

33.centos版本系统服务管理命令是?
systemctl

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61

35.备份mariadb的命令是?
mysqldump

36.简述特殊符号的含义?

. -- 本层目录
.. -- 上层目录
$PATH -- path环境路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias rm="echo 禁止你使用rm"

38.如何修改test.py属组为alex?
chgrp alex test.py

39.如何在windows和linux传输文件?有哪些方法?
lrzsz工具 rz命令

40.如何杀死mariadb进程?
ps -ef | grep mysql # 得到PID
kill -9 PID

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
vim /etc/profile
配环境变量

42.linux如何安装软件?有几种方式?
1.rpm软件包手动安装,需要手动解决依赖关系
2.yum自动安装,自动处理依赖关系
3.源代码编译安装,可自定义的功能更多,指定软件安装路径
4.二进制源代码安装,此软件已经被编译安装过,生成了可执行的文件,下载后直接解压即可使用

43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.将本地环境依赖导出到一个文件中requirements.txt
2.将文件发给线上,通过pip install -i https://pypi.douban.com/simple -r requirements.txt 安装依赖软件包

45.virtualenv是什么?简述如何使用
是虚拟环境,与原有的环境分开来,方便对每个项目管理,避免环境冲突
使用:
1.下载虚拟环境工具
pip install -i https://pypi.douban.com/simple virtualenv
2.创建虚拟环境
virtualenv --python=python3 venv_name
3.激活虚拟环境,也就是临时修改path
source /opt/venv_name/bin/activate
4.此时就进入了虚拟环境

46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是
1.通过发送命令,让redis服务器返回监控其运行状态,包括主服务器和从服务器
2.当哨兵检测到master宕机,会自动将slave切换成master

48.redis-cluster是什么?
redis集群

49.什么是静态资源,什么是动态资源?

50.配置linux软连接的命令?
ln -s 目标文件的绝对路径 快捷方式存放的绝对路径

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
在最下面修改path路径
保存退出
重新读取profile文件:source /ect/profile

52.给如下代码添加注释
server{
listen 80; # 监听80端口
server_name 192.168.11.11; # 服务的名字
location / { # 当访问这个端口的所有地址时
root html; # 就返回html文件夹里
index index.html; # 的index.html文件
}
}

server{
listen 8080;
server_name 192.168.11.11;
location / {
include uwsgi_params; # 导入的文件,用于方向代理
uwsgi_pass 0.0.0.0:8000; # 方向代理0.0.0.0:8000地址
}
}

53.supervisor是什么?如何使用?
进程管理工具
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisord.conf
3.修改配置文件 vim /etc/supervisord.conf
最下面添加如下内容
[program:project_name]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
前端部署:
1.将前端项目通过node.js打包编译生成一个dist文件夹
2.配置nginx.conf,将dist路径添加
3.重启/启动nginx
后端部署:
1.创建虚拟环境,安装环境依赖,调试程序
2.配置uwsgi.conf
3.配置supervisor.conf,并重启(先关闭进程再启动)
4.配置nginx.conf,反向代理,接收到请求将转发给uwsgi
5.重启nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?(D)
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(B)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
不会提示,直接强制递归删除

a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
ps -ef | grep 8080

62.redis是如何做持久化的?
将数据写入硬盘

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
create user "alex"@"localhost" identified by "123"
grant select on . to "alex"@"localhost"

65.nginx如何实现负载均衡?
1.定义一个负载均衡池
2.通过proxy_pass参数反向代理负载均衡池中的地址

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制

67.linux下载软件包的方法有?
yum install filename -y

68.windows和linux常用远程连接工具有哪些?
xshell

69.如何给与一个脚本可执行权限

70.过滤出settings.py中所有的空白和注释行
grep "^$" settings.py | grep "^#"

71.过滤出file1中以abc结尾的行
grep "*abc" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 "test.py"

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.unix查询环境变量的命令是
echo "$PATH"

80.查询脚本定时任务的命令是

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?
进程管理工具

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(A)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/os-release

20.Linux单引号双引号的区别?
单引号:字符串,不会识别其他字符
双引号:能够识别特殊字符,以及变量

21.vim有几种工作模式
正常模式 命令模式 插入模式 可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 添加多个server模块,然后转换端口即可 proxy_pass参数

23.sed命令截取出ip地址
ifconfig wlan

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf .tar.gz

25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
browser serve

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf

28.每月的5,15,25的晚上5点50重启nginx
crontab -e 50 17 5,15,25 * /opt/tng232/nginx -s reload

29.每分钟清空/tmp/内容
crontab -e * * * * * /opt/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
crontab -e 30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
crontab -e 5-15 18,20 * * * /usr/bin/cp mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
d 文件夹
rw- 属主:可读可写不可执行
r-- 属组:可读
rw- 其他可读可写

33.centos版本系统服务管理命令是?
systemctl stop reids #停止redis服务

34.如何远程登录阿里云123.206.16.61?
ssh root@101.37.30.25

35.备份mariadb的命令是?
mysqldump -uroot -p mysql > /root/mysql.dump

36.简述特殊符号的含义?

以root身份登录

. 当前目录
.. 当前目录的父目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

38.如何修改test.py属组为alex?
chgrp alex test.py

39.如何在windows和linux传输文件?有哪些方法?
下载lrzsz

40.如何杀死mariad进程?
pkill mariadb

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
which yum 查看绝对路经是否存在
存在使用绝对路经
不存在的话,需要安装
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
cd yum-3.2.28
yummain.py install yum

42.linux如何安装软件?有几种方式?
在官网下载对应的可执行软件包
yum

43.出于安全角度,简述如何安装启动redis服务端?
编译安装redis
修改配置文件,更改redis默认端口,给redis添加密码,开启redis安全模式,修改bind地址

44.如何保证本地测试环境和线上开发环境一致性?思路?
到处本地所有开发的模块,然后倒入到服务器上

45.virtualenv是什么?简述如何使用
虚拟环境

46.virtulevnwrapper是什么?简述使用
创建虚拟环境的一个软件
virtaulenv --python=python3 venv1

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态资源,存放在磁盘上的数据文件
动态资源,指的是与数据库做交互的一些数据

50.配置linux软连接的命令?
ln -s 文件绝对路经 目标绝对路经

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
自改$PATH

52.给如下代码添加注释
server{
listen 80; 监听端口
server_name 192.168.11.11; 访问的地址IP
location / { 访问的路经
root html; 指定页面的目录
index index.html; 指定的网页
}
}

server{
listen 8080; 监听端口
server_name 192.168.11.11; 访问的地址
location / {
include uwsgi_params; 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
指的是uwsgi如果关闭后,supervisor可以自动重启该进程

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
强制删除所有的内容

a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%'

65.nginx如何实现负载均衡?
upstrea 名字{
server ip:端口 weight=权重值
server ip:端口 weight=权重值
}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器

67.linux下载软件包的方法有?
wget url地址
curl 发起http请求的命令

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限
chmod u+x file

70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py | grep -v "^$"

71.过滤出file1中以abc结尾的行
grep "abc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.unix查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器

82.uwsgi、wsgia是什么?
uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器
wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?
守护进程的配置

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(D)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(A)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(D)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(B)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?A
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
Centos 7 lsb_release -a

20.Linux单引号双引号的区别?
单引号不具有变量置换的功能,会忽略所有的特殊字符 双引号具有变量置换的功能,即双引号之要求忽略大多数特殊字符。

21.vim有几种工作模式
三种 命令 编辑 输入

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
conf 修改nginx.conf配置,定义2个server{} 实现多虚拟主机 nginx反向代理参数是proxy_pass

23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'

24.如何解压缩后缀是.tar.gz文件?
通过 tar.zxvf命令

25.awk命令截取出ip地址
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $4}'

26.www服务在internet最为广泛,采用的结构是?
B/S结构

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl status redis #查看redis服务的状态
systemctl start redis
systemctl stop redis
systemctl restart redis
systemctl enable redis #设置redis开机自启
systemctl disable redis #禁止redis开机自启

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令 起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

chgrp alex test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz xftp scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

应该下载yum

42.linux如何安装软件?有几种方式?

yum rpm 源码包

43.出于安全角度,简述如何安装启动redis服务端?

yum install redis -y
systemctl start redis
redis-cli
更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

docker 打包镜像
手动解决环境问题 pip3 freeze

45.virtualenv是什么?简述如何使用

virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list

46.virtulevnwrapper是什么?简述使用

virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是

redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile

52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
更搞效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容? D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除 -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么?

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给予一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep -v "^#" settings.py |grep -v "^$"

71.过滤出file1中以abc结尾的行

grep "sbc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker ps -a

73.如何批量清理后台停止的容器

docker rm `docker ps -aq

74.如何查看容器日志?

docker logs -f #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况 (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图

如最下面的图

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.Linux查询环境变量的命令是

echo $变量名

80.查询脚本定时任务的命令是

crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgi是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

91.docker容器有哪些状态?

dockerfile 用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from --设置镜像使用基础镜像
maintainer --设置镜像的作者
run --编译镜像时运行的脚本
cmd -- 设置容器的启动命令
label --设置镜像的标签
expoese --设置镜像暴露的端口
env --设置容器的环境变量
add/copy -- 编译镜像时赋值文件到镜像中
entrypoint --设置程序的入口程序
volume --设置容器的挂载卷
user --设置 run cmd entrypoint 用户名
workdir --设置run cmd entrypoint copy add指令工作目录
arg --设置编译镜像时加入的参数
onbuild --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像 删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

docker rm 容器id #删除容器

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

docker exec 容器id #进入当前正在运行的容器

98.简述docker使用流程

docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps 查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(AD)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()764
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(A)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(C)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

20.Linux单引号双引号的区别?
单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号
双引号中的内容,能够识别特殊符号,以及变量
21.vim有几种工作模式
命令模式,编辑模式,底线命令模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf xx.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
bs架构
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver x.x.x.x
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
文件夹 user读写 group只读 other读写
33.centos版本系统服务管理命令是?
systemctl status 查看状态
systemctl restart 重启
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 环境变量路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
没有权限 并用了alisa给rm起了别名
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
rz windows传linux sz 反之
40.如何杀死mariad进程?
pkill -9 mariad
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum工具
42.linux如何安装软件?有几种方式?
yum 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建虚拟环境
virtualenv --python=python3 env1
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是
检测redis 一旦有异常立马切换主从
48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态;HTML,js,css文件
动态;数据库数据
50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
PATH=''
source /etc/profile

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(AD)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(761下面这也没答案呀)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat E.chgrp

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?(C)
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?(D)
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?(D)
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?(B)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/redhat-release

20.Linux单引号双引号的区别?
双引号内可以进行变量的替换
单引号只是单纯字符串

21.vim有几种工作模式
命令模式 输入模式 编辑模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
可以通过输入nginx -t 查看nginx的主配置文件绝对路径是否工作正常
在主配置文件中创建多个server实现多虚拟主机
proxy_pass
uwsgi_pass

23.sed命令截取出ip地址(这个不会)
ifconfig | sed -En 's/127.0.0.1//;s/.inet (addr:)?(([0-9].){3}[0-9])./\2/p'

24.如何解压缩后缀是.tar.gz文件?
tar -zxcf ****.tar.gz

25.awk命令截取出ip地址(不会)
ip addr show ens33 | awk -F "[ /]+" '/inet /{print $3}'

26.www服务在internet最为广泛,采用的结构是?
B/S

27.如何给linux添加dns服务器记录?
不会呀

28.每月的5,15,25的晚上5点50重启nginx
crontab -e 编辑定时任务文件
查找 which nginx启动nginx的绝对路径记下来
50 17 5,15,25 * * nginx的绝对路径

29.每分钟清空/tmp/内容
crontab -e 编辑定时任务文件

          • rm绝对路径 -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
crontab -e 编辑定时任务文件
30 6 * * * rm绝对路径 -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
crontab -e 编辑定时任务文件
5-15 6,8 * * 3 mysqldump绝对路径 -uroot -p --all-databases > /opt/****.sql

32.某文件权限是drw-r—rw-,请解读该权限?
属主 可读可写
属组 可读
其他 可读可写

33.centos版本系统服务管理命令是?
systemctl

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61

35.备份mariadb的命令是?
mysqldump

36.简述特殊符号的含义?

相当于命令提示符

. 当前目录
.. 上一级目录
$PATH PATH变量 $变量符号

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias的作用设置了别名

38.如何修改test.py属组为alex?
chgrp alex test.py

39.如何在windows和linux传输文件?有哪些方法?
我一般使用yum install lrzsz 其中rz是从window中接收数据 sz是从linux中发送数据到windows
sz/rz文件互传法
sftp文件互传
Winscp
磁盘驱动器映射
Win虚拟机

40.如何杀死mariad进程?
ps -ef|grep mariad 找到进程号
pkill -9 杀死进程号

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
意思是没有yum 需要安装根据提示安装或这百度搜索安装方式即可解决

42.linux如何安装软件?有几种方式?
rpm包安装方式
deb包安装方式
tar.gz源代码包安装方式
apt方式安装

43.出于安全角度,简述如何安装启动redis服务端?
下载redis安装包
解压redis压缩包
进入压缩后的redis目录
使用make && make test命令编译并安装

44.如何保证本地测试环境和线上开发环境一致性?思路?
硬件环境,包括服务器环境、与网络环境
软件环境(版本一致,配置一致)
使用场景的一致性(基础数据一致,使用模式一致)

45.virtualenv是什么?简述如何使用
一个可以帮助我们管理不同 Python 环境的绝好工具
virtualenv --python=python venv1 通过此命令创建venv1这个虚拟环境
source /opt/venv1/bin/activate 激活venv1这个虚拟环境
deactivate 退出虚拟环境

46.virtulevnwrapper是什么?简述使用
virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
安装virtualenvwrapper(确保virtualenv已安装)
安装完成后,在~/.bashrc写入以下内容
export WORKON_HOME=~/Envs (第一行:virtualenvwrapper存放虚拟环境目录)
source /usr/local/bin/virtualenvwrapper.sh  (第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh)
创建虚拟环境mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv
workon ** 切换到**虚拟环境下
deactivate 退出虚拟环境
rmvirtualenv venv 删除虚拟环境

47.redis哨兵是什么?作用是
不会说

48.redis-cluster是什么?
不会说

49.什么是静态资源,什么是动态资源?
静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来。

动态资源:一般客户端请求的动态资源,先将请求交于web容器,web容器连接数据库,数据库处理数据之后,将内容交给web服务器,web服务器返回给客户端解析渲染处理。

50.配置linux软连接的命令?
ln -s

51.如何永久添加/opt/python36/的环境变量?
vim/etc/profile在配置中的PATH后添加/opt/python36/每一个环境变量通过:隔开

52.给如下代码添加注释
server{
listen 80; # 监听80端口
server_name 192.168.11.11; # 用户名称
location / {
root html; # html文件存放的目录
index index.html; # 访问80端口返回的html文件
}
}

server{
listen 8080; # 监听8080端口
server_name 192.168.11.11; # 用户名
location / {
include uwsgi_params; # 通过uwsgi的反向代理传输方式将访问8080端口请求都转给0.0.0.0:8000下
uwsgi_pass 0.0.0.0:8000;
}
}

53.supervisor是什么?如何使用?
用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制
安装supervisor
生成配置文件
修改/etc/supervisor/supervisord.conf文件内容
执行命令使配置文件生效
在/etc/supervisor/下创建conf.d文件夹,及ProjectName.conf(以项目名称命名的)

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(B)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
因为这个是强制删除的意思 可能会将所以文件删除

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?A
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?D
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos7 cat/etc/redhat-release
20.Linux单引号双引号的区别?
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。
21.vim有几种工作模式
三种基本的工作模式:指令行模式、文本输入模式、行末模式。
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置好server{}标签可实现多虚拟主机 proxy_pass参数
23.sed命令截取出ip地址
ifconfig wlan0 | grep 'inet addr' | sed 's/^.addr://g' | sed 's/Bcast.//g'
24.如何解压缩后缀是.tar.gz文件?
tar -zxvf
25.awk命令截取出ip地址
awk -F '[] "[]' '{print1"\t"2"\t"3"\t"4"\t"5"\t"6"\t"7}' logs/host.access.log > linshi3.log
26.www服务在internet最为广泛,采用的结构是?
Browser/Server
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf 添加一行
nameserver dns

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /opt/nginx112/sbin/nginx -s reload
29.每分钟清空/tmp/内容

/use/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /use/bin/rm /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 18,20 * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:目录文件
rw-:文件所有者:读写
r--:组:只读
rw--:其他:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump -uroot -p
36.简述特殊符号的含义?

. 当前目录
.. 上级目录
$PATH 取值符

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
是因为 alias的作用
38.如何修改test.py属组为alex?
chowm alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz
xftp
scp
40.如何杀死mariad进程?
pkill mariad
ps -ef|grep mysql
kill pid

killall mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
版本低 升级yum源
42.linux如何安装软件?有几种方式?
两种
yum安装
编译安装
43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题
45.virtualenv是什么?简述如何使用
虚拟环境
1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv --no-site-packages --python=python3 env1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list
46.virtulevnwrapper是什么?简述使用
创建python虚拟环境的工具
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库福娃五停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
redis集群功能,用于大规模redis服务,通过虚拟槽分区将数据保存在指定的分区
49.什么是静态资源,什么是动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ #一个虚拟之际

listen 80;
#监听端口 80端口
server_name 192.168.11.11;
#填写域名,没有就默认即可,现在的域名为192.168.11.11
location / { # 访问的路径 /

nginx的域名匹配,所有的请求,都会进入到这里
root html;

指定页面的目录,访问/会找到html目录
index index.html;

指定网页,访问/就是访问index.html
}
}

server{#虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { #location匹配url
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 yum install supervisor -y
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势
linux容器软件
docker应用于快速构建应用
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
rm 删除文件、文件夹
-r Recurve的首字母,递归的意思,删除此文件夹下所有文件
-f不提醒,直接删除
a60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb aof
63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream {}
66.nginx的负载均衡调度算法有几种?是什么?
调度算法    概述
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget yum
68.windows和linux常用远程连接工具有哪些?
Xshell、SecureCRT、Putty、SSH Secure Shell Client等
69.如何给与一个脚本可执行权限
chmod u+x 脚本名
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" file |grep -v "^"71.过滤出file1中以abc结尾的行grep"abc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
top

ps aux --sort=%cpu
76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py killall -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
ps aux
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi:让你的django在linux上,支持并发形式启动,支持多进程,多线程,乃至于协程的一个C语言编写的高性能工具
WSGI是Web服务器网关接口。它是一个协议,描述了Web服务器如何与Web应用程序通信。
83.supervisor是什么?
进程管理工具
84.解释PV,UV的含义?
pv page v
uv user v
85.解释QPS是什么?
每秒数据访问量
86.解释什么是静态资源?动态资源?
静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据)

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B )
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息( B )
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键( B )
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是( D )
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是( A )
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为( D )
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是( C )
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用( A )
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令( B )
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录( A )
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是( C )
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是( B )
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是( A )
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是( D )
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? ( C )
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? ( D )
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?( D )
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?( C )
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

cat /etc/redhat-release

20.Linux单引号双引号的区别?

单引号指的是字符串,识别不了其他特殊符号
双引号可以识别特殊符号

21.vim有几种工作模式

正常,命令,可视,插入,四种

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

nginx.conf
socket(线上)和http(线下)

23.sed命令截取出ip地址

sed -i "s/192.168.0.1/10.0.0.1/g" /a.txt

24.如何解压缩后缀是.tar.gz文件?

tar -zxvf 文件名

26.www服务在internet最为广泛,采用的结构是?

C/S结构

27.如何给linux添加dns服务器记录?

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * * /opt/tngx232/sbin/nginx -s reload

29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6-8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d:文件夹
user:读写
group:读
other:读写

33.centos版本系统服务管理命令是?

systemctlssh 

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mysql|dump -urrot -p

36.简述特殊符号的含义?

.
..
$PATH

. 当前目录
.. 当前目录的上一级目录
$PATH 查看路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为alias

38.如何修改test.py属组为alex?

chowm alex test.py

39.如何在windows和linux传输文件?有哪些方法?

lrzsz
xftp
scp

40.如何杀死mariad进程?

pkill mariad
ps -ef|grep mysql
kill pid
killall mariadb

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
版本低 升级yum源
42.linux如何安装软件?有几种方式?

yum安装
编译安装

43.出于安全角度,简述如何安装启动redis服务端?
更改端口
开启protomode yes安全模式
redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题
45.virtualenv是什么?简述如何使用

是虚拟环境
1.安装 pip3 install virtualenv
2.创建虚拟环境 virtualenv --no-site-packages --python=python3 env1
3.激活虚拟环境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.测试 python3 或者 pip3 list

46.virtulevnwrapper是什么?简述使用

是创建python虚拟环境的工具
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv env1
3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,即当主库的服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?
分布式存储,redis集群功能,用于大规模redis服务
49.什么是静态资源,什么是动态资源?

静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据

50.配置linux软连接的命令?
ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?

修改 /etc/profile文件 添加PATH = /opt/python36/bin:
然后别忘了读取这个文件

52.给如下代码添加注释

server{ #一个虚拟主机
listen 80; #监听的端口
server_name 192.168.11.11; # 访问的域名
location / { #访问的路径
root html; #指定页面的目录 访问就会找到html目录
index index.html; #指定网页
}
}

server{ #虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { # 访问路径
include uwsgi_params; #将nginx参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

进程管理工具
yum install supervisor -y 安装
echo_supervisord_conf > /etc/supervisord.conf 生成配置文件
修改配置文件就行
[program:s25crm]
command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
autostart=true ; 在supervisord启动的时候也自动启动
startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装Python3环境
2.安装mysql,Redis,nginx
3. 部署前端
	安装node.js
	安装依赖包
	修改axios的发送的端口接口,并打包
	修改nginx.conf配置文件
4. 部署后端
	安装virtualne后创建虚拟环境并安装所需的依赖
	测试路费代码是否正确
	配置uwsgi.ini
	给supervisor添加一个任务管理路费,并重启
	修改nginx.conf文件 添加虚拟主机使用反向代理后重启nginx
5.安装redis并启动

55.docker是什么?简述docker优势

  • Linux容器软件
  • docker应用于快速构建应用

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images # 查看本地镜像
docker serach 镜像 # 通过docker hub搜索镜像
docker rmi 镜像 # 删除镜像
docker save 镜像 > 路径 # 导出镜像
docker load < 路径 # 导入镜像
docker build -t . # 打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 # 根据镜像生成并进入容器
docker start/stop 容器id # 启动/停止容器
docker ps # 查看当前运行的容器
docker rm 容器id # 删除容器
docker exec 容器id # 进入当前正在运行的容器
docker commit 容器id 镜像名 # 将容器提交为镜像
docker contain ls # 查看当前运行的容器
docker tag 当前的镜像名 要改后的名字

操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?(d)
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(b)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

  • -r递归删除 -f强制删除

60.python操作linux的模块是?

  • os subprocess

61.如果端口8080被占用,如何查看是什么进程?

  • netatat -tunlp|grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

  • grant select on . to alex@’%’;

65.nginx如何实现负载均衡?

  • upstream {}
    定义服务器地址池

66.nginx的负载均衡调度算法有几种?是什么?

  • 调度算法    概述
    轮询     按时间顺序逐一分配到不同的后端服务器(默认)
    weight    加权轮询,weight值越大,分配到的访问几率越高
    ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    least_conn 最少链接数,那个机器链接数少就分发

67.linux下载软件包的方法有?

  • wget curl

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限

chmod u+x file 名字

70.过滤出settings.py中所有的空白和注释行

grep "^#" file |grep "^$"

71.过滤出file1中以abc结尾的行

grip "abc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会,因为容器停止了,但并没有被删除 命令docker ps -a可以看到

73.如何批量清理后台停止的容器

docker rm 'docker ps -aq'

74.如何查看容器日志?

docker logs -f

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1找到吃资源的进程信息
2强制kill -9 杀死进程
3检查定时任务
4全局搜索病毒文件 find / -name 病毒文件名
5 强制删除病毒文件

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息-
-top

79.unix查询环境变量的命令是
-echo $PATH

80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?

83.supervisor是什么?

进程管理工具

84.解释PV,UV的含义?

85.解释QPS是什么?

86.解释什么是静态资源?动态资源?

静态资源指定的是网络的css/js/html文件
动态资源一般智的是数据(后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?

90.什么是docker生命周期?

91.docker容器有哪些状态?

92.dockerfile常用指令?

93.dockerfile中copy和add的区别

94.docker获取和删除镜像的命令?

95.如何退出一个交互式的容器终端,而不终止它?

96.容器如何端口映射?数据卷映射?

97.如何进入容器?流程是?

98.简述docker使用流程

99.如何批量删除或停止容器?

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?
不会

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(C)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?A
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?B
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos cat /etc/redhat-release

20.Linux单引号双引号的区别?
单引号不能识别特殊字符
双引号可以识别特殊字符

21.vim有几种工作模式
命令模式、输入模式、末行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 配置多个server代码块
23.sed命令截取出ip地址
ip addr|sed -nr 's#^.inet (.)/24.*$#\1#gp'

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf 文件名

25.awk命令截取出ip地址
ip addr|awk -F '[ /]+' 'NR==9 {print $3}'

26.www服务在internet最为广泛,采用的结构是?

27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 123.123.123.123

28.每月的5,15,25的晚上5点50重启nginx
crontab -e
50 17 5,15,25 * * 命令所在绝对路径/nginx -s reload

29.每分钟清空/tmp/内容
crontab -e

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 06 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
crontab -e
5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
mac/linux ssh root@123.206.16.61
windows xshell/cmd :ssh root@123.206.16.61
35.备份mariadb的命令是?
mysqldump
36.简述特殊符号的含义?

普通用户标识符
. 当前目录
.. 上一级目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
alias的作用

38.如何修改test.py属组为alex?
chrgp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
xftp lrzsz
40.如何杀死mariad进程?
pkill -p mariadb
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
which yum 查看绝对路劲是否存在
存在使用绝对路径
不存在,安装:
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
cd yum-3.2.28
yummain.py install yum
42.linux如何安装软件?有几种方式?
1.在官网下载对应的可执行软件包
2.yum

43.出于安全角度,简述如何安装启动redis服务端?
1.编译安装redis
2.修改配置文件,更改redis默认端口,给redis添加密码,开启redis安全模式,修改bind地址
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.导出本地所有开发的模块,导入到服务器上
45.virtualenv是什么?简述如何使用
虚拟环境
46.virtulevnwrapper是什么?简述使用
1.是创建虚拟环境的一个工具,一个软件
2.virtualenv --python=python3 venv1
47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
动态资源,一般指的是有数据库交互的资源链接,并且牵扯到编程语言的一个连接请求

静态资源 ,存放在磁盘上的数据文件,固定不动的
50.配置linux软连接的命令?
ln -s 文件绝对路径 目标绝对路径
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profil
修改 $PATH
52.给如下代码添加注释
server{
listen 80; 监听端口
server_name 192.168.11.11; 服务名称
location / { 静态文件路径
root html;
index index.html;
}
}

server{
listen 8080; 监听8080端口
server_name 192.168.11.11; 服务名称
location / {
include uwsgi_params; #将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理请求发送到uwsgi
}
}

53.supervisor是什么?如何使用?
进程管理工具

使用:
1.安装 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.写入自定义的配置
[program:crm] ; 项目名称
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;启动项目的命令
stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程
4.启动supervisor服务
supervisord -c /etc/supervisor.conf
5.启动所有项目
supervisorctl -c /etc/supervisor.conf start all
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1安装python3环境 源码包 编译安装

2安装mysql redis nginx 用yum 源 安装

3前端部署

    1)安装node.js 环境

    2)安装依赖包

    3)修改项目中的api.js 中的端口

    4)打包为dist文件夹 npm install npm run build

4后端django部署

    1)安装virtualenv

    2) 创建虚拟环境

    3)安装django 和依赖包

    4)修改uwsgi.ini 配置文件

    5)uwsgi 启动后端django项目

5配置nginx.conf文件

    1)创建两个server 虚拟主机 分别监听 80 和8080

    2)80端口访问前端vue

    3) 8080端口访问反向代理到9000的uwsgi 访问后端的django项目
6启动nginx mysql 和redis服务

部署路飞:
1.安装python3 环境
2.安装 mysql,redis,nginx
3.部署前端
1.安装node.js的环境
2.安装依赖包
3.修改axios的发送的端口接口
4.打包
4.部署后端
1.安装virtualenv
2.创建虚拟环境
3.安装django和uwsgi,以及项目的依赖包
4.修改uwsgi的配置文件
5.通过uwsgi -ini 配置文件启动django项目
5.配置nginx
1.创建两个虚拟主机,分别监听80和8000端口
2.访问80端口是访问呢vue
3.访问8000端口是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor来管理

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?b
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
递归删除指定目录所有文件及文件夹

a60.python操作linux的模块是?

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何实现负载均衡?
upstream {}
定义服务器地址池
66.nginx的负载均衡调度算法有几种?是什么?
轮询     按时间顺序逐一分配到不同的后端服务器(默认)
weight    加权轮询,weight值越大,分配到的访问几率越高
ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,那个机器链接数少就分发
67.linux下载软件包的方法有?
wget
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x filename
70.过滤出settings.py中所有的空白和注释行
grep -v “^#” settings.py |grep -v “^”71.过滤出file1中以abc结尾的行grep"abc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
找到对应进程
杀死进程
定时搜索对应文件名并删除

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo "$PATH"
80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。性能极低

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个'uWSGI服务器'自有的协议,它用于定义传输信息的类型,
'uWSGI'是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。
83.supervisor是什么?
进程管理工具

1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()
A.NID B.PID C.UID C.CID
B
2.下面那个用户存放用户密码信息()
A./boot B./etc C./var D./dev
B
3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键()
A.ctrl B.tab C.alt D.esc
B
4.vim退出不保存的命令是()
A.:q B.q C.:wq D.:q!
D
5.文件权限读、写、执行三种符号的标志依次是()
A.rwx B.xrw C.rdx D.rws
A
6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为()
A.467 B.674 C.476 D.765
D
7.改变文件的属主的命令是()
A.chmod B.touch C.chown D.cat
C
8.解压缩文件mydjango.tar.gz,我们可以用()
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
A
9.检查linux是否安装了,可用哪些命令()
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx
B
10.Linux配置文件一般放在什么目录()
A.etc B.bin C.lib D.dev
A
11.linux中查看内存,交换内存的情况命令是()
A.top B.last c.free D.lastcomm
C
12.观察系统动态进程的命令是()
A.free B.top C.lastcomm D.df
B
13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是()
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
A
14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是()
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”
D
15.什么命令常用于检测网络主机是否可达?
A.ssh B.netstat C.ping D.exit
C
16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit
D
17.在父目录不存在的时候,添加的参数是?
A.-P B.-d C.-f D.-p
D
18.下列文件中,包含了主机名到IP地址映射关系的文件是?
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
B
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/re
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量
21.vim有几种工作模式
四种:正常,命令,插入,可视
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
conf/nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号
23.sed命令截取出ip地址

24.如何解压缩后缀是.tar.gz文件?
tar -zxvf .tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
B/S
27.如何给linux添加dns服务器记录?
vim /etc/resolv.conf #

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)
29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
属主user:读写
组group:只读
其他人outhor:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mv mariadb new_mariadb
mysql|dump -uroot -p
36.简述特殊符号的含义?
注释
. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
权限不够
38.如何修改test.py属组为alex?
chgrp alex test.txt
39.如何在windows和linux传输文件?有哪些方法?
lrzsz xftp
40.如何杀死mariad进程?
pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
yum没有下载
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
redis-cli
更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?

45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate 激活虚拟环境
46.virtulevnwrapper是什么?简述使用
virtaulenvwrapper是virtualenv的扩展包,方便管理虚拟环境
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,是后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor 是指在进程不经意间关闭后,可以自动启动进程保持正常运行
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

55.docker是什么?简述docker优势

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man
D
58.使用rm -i 系统会提示什么信息?
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
B
59.为何说rm -rf 慎用?
强制删除所有内容

a60.python操作linux的模块是?
os
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%';
65.nginx如何实现负载均衡?
upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发
67.linux下载软件包的方法有?
wget url地址
curl 也是发起http请求的命令
68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt
69.如何给与一个脚本可执行权限
chmod u+x file
70.过滤出settings.py中所有的空白和注释行
grep -v "^#" settings.py |grep -v "^"71.过滤出file1中以abc结尾的行grep"sbc" file1
72.容器退出后,通过docker ps查看不到,数据会丢吗?

73.如何批量清理后台停止的容器

74.如何查看容器日志?

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
kill -9 test.py
78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top
79.unix查询环境变量的命令是
echo $PATH
80.查询脚本定时任务的命令是
crontab -l
81.saltstack、ansible、fabric、puppt工具的作用
批量管理远程服务器
82.uwsgi、wsgia是什么?
uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi
83.supervisor是什么?
supervisor是守护进程的配置
84.解释PV,UV的含义?
pv page v
uv user v
85.解释QPS是什么?

86.解释什么是静态资源?动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID
process 进程

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat
change own

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx 安装这个rpm包
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?
A:q! B.quit C.; D.exit D

17.在父目录不存在的时候,添加的参数是? D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? C
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/re

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

20.Linux单引号双引号的区别?

单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量

21.vim有几种工作模式

四种:正常模式,命令模式,插入模式,可视模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

conf/nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket; 线下是http

23.sed命令截取出ip地址

ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'

24.如何解压缩后缀是.tar.gz文件?

tar zxvf .tar.gz

25.awk命令截取出ip地址

#-------------------------------------------------------------------

26.www服务在internet最为广泛,采用的结构是?

http ---> nginx --> uwsgi
Browser/Server

27.如何给linux添加dns服务器记录?

#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx

50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容

          • /usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?

d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?

例如:redis
systemctl status redis #查看redis服务的状态
systemctl start redis
systemctl stop redis
systemctl restart redis
systemctl enable redis #设置redis开机自启
systemctl disable redis #禁止redis开机自启

34.如何远程登录阿里云123.206.16.61?

ssh root@123.206.16.61

35.备份mariadb的命令是?

mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

因为你的权限只有可读,或者权限不够,不可以操作此命令 起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?

chgrp alex test.txt

39.如何在windows和linux传输文件?有哪些方法?

lrzsz xftp scp

40.如何杀死mariad进程?

pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?

应该下载yum

42.linux如何安装软件?有几种方式?

yum rpm 源码包

43.出于安全角度,简述如何安装启动redis服务端?

yum install redis -y
systemctl start redis
redis-cli

更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

docker 打包镜像
手动解决环境问题 pip3 freeze

45.virtualenv是什么?简述如何使用

virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list

46.virtulevnwrapper是什么?简述使用

virtaulenvwrapper是virtualenv的扩展包,用于方便管理虚拟环境
安装虚拟环境 pip3 install virtualenvwrapper
创建并进入虚拟环境 mkvirtualenv env1
切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是

redis哨兵就是监控redis主从服务,不储存数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

就是为了最大化利用内存,可以采用redis-cluster群集,就是分布式储存,每台redis储存不同的内容,满足这种分布式储存要求的集群的一种体现,群集至少需要3主3从,且每个实例使用不同的配置文件.

49.什么是静态资源,什么是动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

50.配置linux软连接的命令?

ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?

vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile

52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start all
#启动所有项目

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx

1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势

linux容器软件
docker优势:
更搞效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
操作镜像命令:
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容? D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息? B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

因为-r递归删除 -f是强制删除

60.python操作linux的模块是?

os

61.如果端口8080被占用,如何查看是什么进程?

netstat -tunlp | grep 8080

62.redis是如何做持久化的?

RDB:
redis会定期保存数据快照至一个RDB文件中, 并在启动时自动加载RDB文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
AOF:
redis 会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长
优先:数据安全.不怕数据损坏,断电还可以用redis-check-aof修复数据,AOF文件人为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用RDB和AOF?
如果及配置了RDB.有配置的AOF,则在进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么?

Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

grant select on . to alex@'%';

65.nginx如何实现负载均衡?

upstream 名字{
server ip:端口 weight=权重数
server ip:端口 weight=权重数
}

66.nginx的负载均衡调度算法有几种?是什么?

轮询机制 按时间顺序逐一分配到不同的后端服务器
weight 加权轮询,weight值越大,分配到的访问几缕越高
ip_hash 每个请求按照访问ip的hash结果分配 ,这样来自统一IP的固定访问一个后端服务器
url_hash 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn 最少链接数,哪个机器链接少就分发

67.linux下载软件包的方法有?

wget url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?

xshell
putty
securecrt

69.如何给予一个脚本可执行权限

chmod u+x file

70.过滤出settings.py中所有的空白和注释行

grep -v "^#" settings.py |grep -v "^$"

71.过滤出file1中以abc结尾的行

grep "sbc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

不会丢,因为容器停止了并没有被删除,docker ps -a

73.如何批量清理后台停止的容器

docker rm `docker ps -aq

74.如何查看容器日志?

docker logs -f #实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统

1.查看系统负载情况 (top命令)
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件 rm -rf 删掉
4.还需要检查定时任务是否添加了些东西

76.绘制下python web部署图

如最下面的图

77.在centos7.2中用一句话杀死所有的test.py进程

kill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息

top

79.Linux查询环境变量的命令是

echo $变量名

80.查询脚本定时任务的命令是

crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

------------------------------------------

82.uwsgi、wsgi是什么?

uwsgi是一种线路协议而不是通信协议,在此常用于uwsgi服务器与其他网络服务器的数据通信
而uwgsi是实现了uwsgi和wsgi两种协议的web服务器

wsgi 是web 服务器网关接口,他是一个协议,描述了web服务器如何与web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi

83.supervisor是什么?

supervisor是守护进程的配置

84.解释PV,UV的含义?

---------------------------------------

85.解释QPS是什么?

#----------------------------------------------------

86.解释什么是静态资源?动态资源?

静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?

--------------------------------------------------

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

--------------------------------------------------

89.redis怎么实现队列?

redis 的列表可以用来实现消息队列,key用来表示队列名称,发消息采用rpush,lpush,取消息采用rpop,lpop实现

90.什么是docker生命周期?

如下图

91.docker容器有哪些状态?

dockerfile 用于创建image镜像模版文件.
image:镜像文件对比PC端的概念,可以把它理解为服务器端的可执行软件包
container:运行起来的image文件就是容器了,从外表来看就是一个应用,可以对外提供服务

92.dockerfile常用指令?

from --设置镜像使用基础镜像
maintainer --设置镜像的作者
run --编译镜像时运行的脚本
cmd -- 设置容器的启动命令
label --设置镜像的标签
expoese --设置镜像暴露的端口
env --设置容器的环境变量
add/copy -- 编译镜像时赋值文件到镜像中
entrypoint --设置程序的入口程序
volume --设置容器的挂载卷
user --设置 run cmd entrypoint 用户名
workdir --设置run cmd entrypoint copy add指令工作目录
arg --设置编译镜像时加入的参数
onbuild --设置镜像的onbuild命令
stopsignal:设置容器的退出信号量

93.dockerfile中copy和add的区别

Writing Dockerfiles建议尽量使用COPY,并使用RUN与COPY的组合来代替ADD,这是因为虽然COPY只支持本地文件拷贝到container,但它的处理比ADD更加透明,建议只在复制tar文件时使用ADD,如ADD trusty-core-amd64.tar.gz /。

94.docker获取和删除镜像的命令?

docker rmi 镜像 删除镜像

95.如何退出一个交互式的容器终端,而不终止它?

docker rm 容器id #删除容器

96.容器如何端口映射?数据卷映射?

#------------------------------------

97.如何进入容器?流程是?

docker exec 容器id #进入当前正在运行的容器

98.简述docker使用流程

docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

99.如何批量删除或停止容器?

docker rm 'docker ps -aq'

100.nginx的access.log能够统计哪些信息?

101.容器都是默认后台运行,怎么查看容器日志?

docker logs

102.容器退出后,通过docker ps 命令查看不到,数据会丢失么?

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(B)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(E)
A.467 B.674 C.476 D.765 E.764

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(B)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? (C)
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?(D)
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? (D)
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?(B)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?

  • centos 7
  • cat /proc/version

20.Linux单引号双引号的区别?

  • 单引号内的只是字符的字面意思,
  • 双引号 保留特殊字符和命令字符原始作用

21.vim有几种工作模式

  • 命令模式
  • 插入模式
  • 低行模式

22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?

  • 在http的大括号内 写入多个server代码快
  • proxy_pass

23.sed命令截取出ip地址

  • sed s/^.*addr://g

24.如何解压缩后缀是.tar.gz文件?

  • tar -zxvf 文件名

25.awk命令截取出ip地址

  • awk -F "[ /]+" '/inet /{print $3}

26.www服务在internet最为广泛,采用的结构是?

  • cs架构 客户/服务

27.如何给linux添加dns服务器记录? (*)

  • /etc/resolv.conf
    添加2条主备dns记录
    nameserver dns服务器ip

28.每月的5,15,25的晚上5点50重启nginx

  • 50 17 5,15,25 * * nginx -s reload

29.每分钟清空/tmp/内容

            • rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容

  • 30 6 * * * rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/

  • 5-15 6,8 * * 3 mysqldump -uroot -p 数据库名称 > /opt/1.sql

32.某文件权限是drw-r—rw-,请解读该权限?

  • 这是一个文件夹 属主:读写 属组:读 其他:读写

33.centos版本系统服务管理命令是?

  • service nginx stop /start /restart centos6
    systemctl stop /start /restart nginx centos7
  • systemctl

34.如何远程登录阿里云123.206.16.61?

  • ssh root@123.206.16.61
  • 使用xshell 编辑 用户名和ip地址

35.备份mariadb的命令是?(*)
mysqldump -uroot -p --all databases > /opt/db.sql

36.简述特殊符号的含义?

root用户的身份提示符

. 当前目录
.. 上一层目录
$PATH 环境变量

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?

  • 给rm指令起了别名,就是防止你执行rm -rf /

38.如何修改test.py属组为alex?

  • chown alex test.py

39.如何在windows和linux传输文件?有哪些方法?

  • WinSCP
  • lrzsz 输入rz回车

40.如何杀死mariad进程?

  • kill -9 mariad

41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载如下RPM包

   python-iniparse-0.3.1-2.1.el6.noarch.rpm

   yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm 

   yum-3.2.29-69.el6.centos.noarch.rpm

   yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
  下载完成之后,用rpm命令进行安装,如下:

    rpm -ivh --force --nodeps python-iniparse-0.3.1-2.1.el6.noarch.rpm
    rpm -ivh --force --nodeps yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm 
    rpm -ivh --force --nodeps  yum-3.2.29-69.el6.centos.noarch.rpm yum-plugin-fa

stestmirror-1.1.30-30.el6.noarch.rpm

下载yum-3.4.3.tar.gz ,放到你指定的目录下解压,解压命令如下:

    tar -zxvf yum-3.4.3.tar.gz     #解压后进到yum-3.4.3目录

    

    输入如下命令

    ./yummain.py update

42.linux如何安装软件?有几种方式?

  • rpm或yum,源码包

43.出于安全角度,简述如何安装启动redis服务端?(*)

  • 更改端口
    开启protomode yes安全模式
    设置redis密码

redis-server redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?

  • 先把本地测试环境所用到的模块息倒入到一个文件中
  • 在开发环境 执行pip3 install -r 文件名进行安装

45.virtualenv是什么?简述如何使用

  • 虚拟环境,保证一个服务器上可以运行多个项目 而不产生冲突
  • 先安装虚拟环境工具 :pip3 install -i https://pypi.douban.com/simple virtualenv
  • 创建虚拟环境 :virtualenv --python=python3 虚拟环境名称
  • 进入虚拟环境 : source 虚拟环境名称/bin/activate

46.virtulevnwrapper是什么?简述使用

  • Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环
    1.安装虚拟环境 pip3 install virtualenvwrapper
    2.创建并进入虚拟环境 mkvirtualenv env1
    3.切换虚拟环境 workon 虚拟环境名

47.redis哨兵是什么?作用是
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换reidis服务主从关系,即当主库服务停止后,会将其中一个从库变为主库

48.redis-cluster是什么?

  • 为了最大化利用内存,可以采用cluster群集,就是分布式存储。即每台redis存储不同的内容

49.什么是静态资源,什么是动态资源?

  • 静态资源是指网站的css/js/html/jpg等文件
  • 动态资源一般指后端传输过来的数据
    50.配置linux软连接的命令?
    ln -s 目标文件名 软连接名

51.如何永久添加/opt/python36/的环境变量?

  • 修改 /etc/profile文件 添加PATH = /opt/python36/bin:
    然后读取这个文件

52.给如下代码添加注释
server{ #一个虚拟主机
listen 80; #监听的端口
server_name 192.168.11.11; # 访问的域名
location / { #访问的路径
root html; #指定页面的目录 访问就会找到html目录
index index.html; #指定网页
}
}

server{ #虚拟主机
listen 8080; #nginx监听端口
server_name 192.168.11.11; #nginx访问域名
location / { # 访问路径
include uwsgi_params; #将nginx参数添加进nginx
uwsgi_pass 0.0.0.0:8000; #反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?

  • 进程管理工具
  • yum install supervisor -y 安装
  • echo_supervisord_conf > /etc/supervisord.conf 生成配置文件
  • 修改配置文件就行
    [program:s25crm]
    command=写入启动uwsgi的命令 ;supervisor其实就是在帮你执行命令而已!
    autostart=true ; 在supervisord启动的时候也自动启动
    startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
    autorestart=true ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
    stopasgroup=true ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
    killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程

54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.安装Python3环境
2.安装mysql。Redis,nginx
3. 部署前端
3.1 安装node.js
3.2 安装依赖包
3.3 修改axios的发送的端口接口
3.4 打包
3.5 修改nginx.conf
4. 部署后端
4.1安装virtualne
4.2 创建虚拟环境
4.3 安装所需的依赖
4.4 测试路费代码是否能运行
4.5 配置uwsgi.ini
4.6 给 supervisor添加一个任务管理路费 ,并重启
4.7 修改nginx.conf文件 添加虚拟主机使用反向代理
4.8 重启nginx
5.安装redis并启动

55.docker是什么?简述docker优势

  • Linux容器软件
  • docker应用于快速构建应用

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images # 查看本地镜像
docker serach 镜像 # 通过docker hub搜索镜像
docker rmi 镜像 # 删除镜像
docker save 镜像 > 路径 # 导出镜像
docker load < 路径 # 导入镜像
docker build -t . # 打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 # 根据镜像生成并进入容器
docker start/stop 容器id # 启动/停止容器
docker ps # 查看当前运行的容器
docker rm 容器id # 删除容器
docker exec 容器id # 进入当前正在运行的容器
docker commit 容器id 镜像名 # 将容器提交为镜像
docker contain ls # 查看当前运行的容器
docker tag 当前的镜像名 要改后的名字

操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?(d)
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(b)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?

  • -r递归删除 -f强制删除

60.python操作linux的模块是?

  • os subprocess

61.如果端口8080被占用,如何查看是什么进程?

  • netatat -tunlp|grep 8080

62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?

  • grant select on . to alex@’%’;

65.nginx如何实现负载均衡?

  • upstream {}
    定义服务器地址池

66.nginx的负载均衡调度算法有几种?是什么?

  • 调度算法    概述
    轮询     按时间顺序逐一分配到不同的后端服务器(默认)
    weight    加权轮询,weight值越大,分配到的访问几率越高
    ip_hash    每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    url_hash   按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    least_conn 最少链接数,那个机器链接数少就分发

67.linux下载软件包的方法有?

  • wget curl

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限

  • chmod u+x file名字

70.过滤出settings.py中所有的空白和注释行

  • grep "^#" file |grep "^$"

71.过滤出file1中以abc结尾的行

  • grip "abc$" file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?

  • 不会丢,因为容器停止了,并没有被删除 docker ps -a可以看到

73.如何批量清理后台停止的容器

  • docker rm 'docker ps -aq'

74.如何查看容器日志?

  • docker logs -f

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1找到吃资源的进程信息
2强制kill -9 杀死进程
3检查定时任务
4全局搜索病毒文件 find / -name 病毒文件名
5 强制删除病毒文件

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程

  • pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息-
-top

79.unix查询环境变量的命令是
-echo $PATH

80.查询脚本定时任务的命令是
crontab
crontab -e #编辑定时任务的文件

crontab -l #列出定时任务的规则

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgi是什么?
wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个‘uWSGI服务器‘自有的协议,它用于定义传输信息的类型,
‘uWSGI‘是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。

83.supervisor是什么?
是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。
是C/S模型的程序,其服务端是supervisord服务,客户端是supervisorctl命令
1 启动、重启、关闭包括但不限于python进程。
2 查看进程的运行状态。
3 批量维护多个进程。

84.解释PV,UV的含义?
PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。
UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客。

85.解释QPS是什么?
‘QPS(Query Per Second)‘
每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

86.解释什么是静态资源?动态资源?
静态资源指定的是网站的CSS/JS/HTML文件
动态资源一般指的是数据,即后端给前端提供的数据

87.saltstack如何采集服务器静态数据?
salt采用 granis组件 采集

88.请用yaml语法表示如下python数据结构
{
“老男孩”:[{“老师”:[“太白”,”女神”,”吴老板”]},{“学生”:[“20期佳增同学”]}]
}

89.redis怎么实现队列?
方式一:生产者消费者模式
使用list结构作为队列,rpush生产消息,lpop消费消息,当lpop没有消息的时候,要适当sleep一会再重试。
或者,不用sleep,直接用blpop指令,在没有消息的时候,它会阻塞住直到消息到来。

方式二:发布订阅者模式
使用pub/sub主题订阅者模式,可以实现1:N的消息队列。

缺点:在消费者下线的情况下,生产的消息会丢失。此场景,建议用MQ

90.什么是docker生命周期?

  • 镜像 容器 仓库 三大生命周期

91.docker容器有哪些状态?

  • 容器可以被创建,启动,停止,删除,暂停

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么(B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息(B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A,D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(764)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(BC)
A.rpm -ivh nginx 这是安装nginx命令
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达?C
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么?D
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是?D
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是?c
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
centos cat /etc/redhat-release
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别其他特殊符号
双引号:能够识别特殊符号,以及变量
21.vim有几种工作模式
4种:1.正常模式 2.命令模式 3.插入模式 4.可视模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
nginx.conf 添加多个server然后改变端口号等 线上:socket 线下:http
23.sed命令截取出ip地址
ifconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
24.如何解压缩后缀是.tar.gz文件?
tar zxvf 文件名.tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
http > nginx > uwsgi
browser/server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6
28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
29.每分钟清空/tmp/内容

/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6-8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件权限是drw-r—rw-,请解读该权限?
d:文件夹
user:读写
group:读
other:读写
33.centos版本系统服务管理命令是?
systemctl
34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61
35.备份mariadb的命令是?
mysql|dump -urrot -p
36.简述特殊符号的含义?

注释
. 当前目录
.. 当前目录的上一级目录
$PATH 查看路径
37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
别名alias
38.如何修改test.py属组为alex?
chfrp alex test.py
39.如何在windows和linux传输文件?有哪些方法?
lrzsz/xftcp/scp
40.如何杀死mariad进程?
pkill -9 mariad
kill -9 mariad的进程号
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
下载yum
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum redis -y
systemctl start redis
redis-cli
更改端口
开启protomode yes安全模式
设置redis密码
redis-server redis.conf
44.如何保证本地测试环境和线上开发环境一致性?思路?
1.docker打包镜像
2.手动解决环境问题 pip3 freeze导出依赖
45.virtualenv是什么?简述如何使用
当我们同时开发多个应用程序时,可能需要应用不同版本的软件,为了各个程序之间不影响,所以我们需要将他们的隔开独立起来,这种情况下就需要各自拥有一套‘独立’的python运行环境,virtualenv就是用来为一个应用创建一套‘隔离’的python运行环境
创建虚拟环境 virtualenv --python=python3 caijie(虚拟环境名字)
启动虚拟环境 source caijie/bin/activate
46.virtulevnwrapper是什么?简述使用
virtualenv的一个最大的缺点就是,每一次开启虚拟环境之前要去虚拟环境所在目录下的bin目录下,source一下activate,这就需要我们记住每个虚拟环境所在的目录
virtualenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境
1.安装虚拟环境 pip3 install virtualenvwrapper
2.创建并进入虚拟环境 mkvirtualenv caijie
3.切换虚拟环境 workon 虚拟环境名
47.redis哨兵是什么?作用是
redis-sentinel是redis官方推荐的高可用性方案
redis哨兵是监控redis主从服务,不存储数据的,作用是用于自动切换redis服务主从关系,当主库服务停止后,会将其中一个从库变为主库
48.redis-cluster是什么?
即使使用哨兵,redis每个实例也是全量数据存储。每个redis存储的内容都是完整的数据,为了最大化利用内存,可以采用cluster群集,就是分布式存储,即每台redis存储不同的内容。采用redis-cluster架构正是满足这种分布式存储要求的集群的的一种体现
49.什么是静态资源,什么是动态资源?
静态资源指定的是网站css、js、html文件
动态资源一般指的是数据,即后端给前端提供的数据
50.配置linux软连接的命令?
ln -s 目标文件名 软连接名
51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.给如下代码添加注释
server{ # 一个虚拟主机
listen 80; # 监听的端口,访问的端口80
server_name 192.168.11.11; # 访问的域名
location / { # 访问的路径
root html; # 指定页面的目录,访问/会找到html目录
index index.html; # 指定网页,访问/就是访问index.html
}
}

server{ # 虚拟主机
listen 8080; # nginx监听端口
server_name 192.168.11.11; # nginx访问域名
location / { # location匹配url
include uwsgi_params; # 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; # 反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
1.安装yum install supervisor
2.生成配置文件vim /etc/supervisord.conf
3.写入自定义的配置
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisord.conf
5.supervisorctl -c /etc/supervisord.conf
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
uwsgi+nginx+supervisor+nginx
1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualenv
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目依赖包
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是vue
5.3访问8000端口就是vue发起8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理

55.docker是什么?简述docker优势
linux容器软件
docker优势:
更高效的利用系统资源
更快捷的启动时间
一致的运行环境
持续交付和部署
更轻松地迁移,维护和扩展

56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令
docker images --查看本地镜像
docker serach 镜像 --通过docker hub搜索镜像
docker rmi 镜像 --删除镜像
docker save 镜像 > 路径 --导出镜像
docker load < 路径 --导入镜像
docker build -t --打包生成镜像
操作容器命令:
docker run -d 镜像 解释器 # 根据镜像生成容器,后台允许
docker run -it 镜像 解释器 #根据镜像生成并进入容器
docker start/stop 容器id #启动/停止容器
docker ps #查看当前运行的容器
docker rm 容器id #删除容器
docker exec 容器id #进入当前正在运行的容器
docker commit 容器id 镜像名 #将容器提交为镜像
docker contain ls #查看当前运行的容器
操作仓库的命令:
docker pull 镜像 # 下载镜像
docker push 镜像 # 推送镜像

57.哪个命令无法查看linux文件内容?D
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?B
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
-r 递归删除
-f 强制删除

60.python操作linux的模块是?
os

61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080

62.redis是如何做持久化的?
rdb
redis会定期保存数据快照至一个rdb文件中,并在启动时自动加载rdb文件,恢复之前保存的数据,通过save指令触发持久化,redis单独开启一个子进程进行数据持久化
rdb缺点,定期执行,可能会丢失数据,并且数据量特别大的时候,如果服务器cpu性能较低,rdb开启子进程持久化性能影响很大,影响redis对外提供服务的能力。
aof
redis会把每一个写请求都记录在一个日志文件里,在redis重启时,会把AOF文件中记录的所有操作顺序执行一遍,确保数据恢复到最新。随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志,大量无用的日志让AOF文件过大,也会让数据恢复的时间过长
优点:数据安全,不怕数据损坏,如断电等问题,还可以用redis-check-aof修复数据,AOF文件为可读
缺点:占磁盘,性能损耗高,数据恢复慢
怎么用rdb和aof
如果配置了RDB,又配置了AOF,则进行数据持久化的时候,都会进行,但是再根据文件恢复数据的时候,以AOF文件为准,RDB文件作废

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

64.创建mysql用户alex,并且授予权限select权限,命令是什么?
grant select on . to alex@'%'

65.nginx如何实现负载均衡?
upstream{}

66.nginx的负载均衡调度算法有几种?是什么?
轮询机制:按时间顺序逐一分配到不同的后端服务器(默认)
weight:加权轮询,weight值越大,分配到的访问几率越高
ip_hash:每个请求按访问IP的hash结果分配,这样来自同一IP法人固定访问一个后端服务器
url_hash:按照访问url的hash结果来分配请求,是每个url定向到同一个后端服务器
least_conn:最少连接数,哪个机器连接数少就分发

67.linux下载软件包的方法有?
wegt url地址
curl 也是发起http请求的命令

68.windows和linux常用远程连接工具有哪些?
xshell
putty
securecrt

69.如何给与一个脚本可执行权限
chmod u+x file

70.过滤出settings.py中所有的空白和注释行
grep -v '^#' settings.py | grep -v '^$'

71.过滤出file1中以abc结尾的行
grep 'abc$' file1

72.容器退出后,通过docker ps查看不到,数据会丢吗?
docker ps -a # 查看所有容器记录
不会丢,因为容器停止了,并没有被删除 docker ps-a可以看到

73.如何批量清理后台停止的容器
docker rm 'docker ps -aq'

74.如何查看容器日志?
docker logs -f 容器id # 实时刷新容器内的日志

75.服务器被攻击,吃光了所有的CPU资源,怎么办?禁止重装系统
1.查看系统负载情况例如使用top命令
2.杀死无用的占资源的进程
3.系统全局搜索,找到病毒文件,rm -rf删除掉
4.还需要检查定时任务,是否添加了一些东西

76.绘制下python web部署图

77.在centos7.2中用一句话杀死所有的test.py进程
pkill -9 test.py

78.在centos7.2中如何查看程序执行所消耗的cpu,内存等硬件信息
top

79.liunx查询环境变量的命令是
echo $PATH

80.查询脚本定时任务的命令是
crontab -l

81.saltstack、ansible、fabric、puppt工具的作用

82.uwsgi、wsgia是什么?
wsgi:是web服务器网关接口,它是一个协议,描述了web服务器(nginx)如何和web应用程序通信,在线上,走的协议是nginx通过uwsgi_socket找到web应用程序uwsgi
uwsgi:是一种线路协议而不是通信协议,在此常用于在uwsgi服务器与其他网络服务器的数据通信,而uwsgi是实现了uwsgi和wsgi两种协议的web服务器
83.supervisor是什么?
supervisor是守护进程的配置

linux考试题
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B)
A.NID B.PID C.UID C.CID

2.下面那个用户存放用户密码信息( B)
A./boot B./etc C./var D./dev

3.用于自动补全功能时,输入命令或文件的前1个或后几个字母按什么键(B)
A.ctrl B.tab C.alt D.esc

4.vim退出不保存的命令是(A D)
A.:q B.q C.:wq D.:q!

5.文件权限读、写、执行三种符号的标志依次是(A)
A.rwx B.xrw C.rdx D.rws

6.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
A.467 B.674 C.476 D.765

7.改变文件的属主的命令是(C)
A.chmod B.touch C.chown D.cat

8.解压缩文件mydjango.tar.gz,我们可以用(A)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz

9.检查linux是否安装了,可用哪些命令(B)
A.rpm -ivh nginx
B.rpm -q nginx
C.rpm -U nginx
D.rpm -x nginx

10.Linux配置文件一般放在什么目录(A)
A.etc B.bin C.lib D.dev

11.linux中查看内存,交换内存的情况命令是(C)
A.top B.last c.free D.lastcomm

12.观察系统动态进程的命令是(B)
A.free B.top C.lastcomm D.df

13.如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—

14.找出当前目录以及其子目录所有扩展名为”.txt”的文件,那么命令是(D)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “.txt”

15.什么命令常用于检测网络主机是否可达? (C)
A.ssh B.netstat C.ping D.exit

16.退出交互式shell,应该输入什么? (D)
A:q! B.quit C.; D.exit

17.在父目录不存在的时候,添加的参数是? (D)
A.-P B.-d C.-f D.-p

18.下列文件中,包含了主机名到IP地址映射关系的文件是? (c)
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks

19.请问你使用的linux发行版是什么?如何查看linux发行版信息?
cat /etc/re

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
20.Linux单引号双引号的区别?
单引号:内容就是一个字符串,不会识别任何其他特殊符号
双引号:是能够识别特殊符号的,以及变量
21.vim有几种工作模式
四种:正常模式,命令模式,插入模式,可视模式
22.nginx的主配置文件是?如何实现多虚拟主机?nginx反向代理参数是?
conf/nginx.conf
在配置文件中添加多个server代码块 修改里面的端口号等
线上是:socket; 线下是http
23.sed命令截取出ip地址
fconfig ens33|sed -n '2p'|sed 's#^.inet ##g'|sed 's# netmask.$##g'
24.如何解压缩后缀是.tar.gz文件?
ar zxvf .tar.gz
25.awk命令截取出ip地址

26.www服务在internet最为广泛,采用的结构是?
http ---> nginx --> uwsgi
Browser/Server
27.如何给linux添加dns服务器记录?
#填入2个阿里的dns服务器地址
vim /etc/resolv.conf #
nameserver 223.5.5.5
nameserver 223.6.6.6

28.每月的5,15,25的晚上5点50重启nginx
50 17 5,15,25 * * /usr/bin/systemctl restart nginx (命令的绝对路径)

29.每分钟清空/tmp/内容
/usr/bin/rm -rf /tmp/*

30.每天早上6.30清空/tmp/的内容
30 6 * * * /usr/bin/rm -rf /tmp/*

31.每个星期三的下午6点和8点的第5到15分钟之间备份mysql数据到/opt/
5-15 6,8 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/

32.某文件权限是drw-r—rw-,请解读该权限?
d 代表是一个文件夹
属主user:读写
组group:只读
其他人outhor:读写

33.centos版本系统服务管理命令是?
例如:redis
systemctl status redis #查看redis服务的状态
systemctl start redis
systemctl stop redis
systemctl restart redis
systemctl enable redis #设置redis开机自启
systemctl disable redis #禁止redis开机自启

34.如何远程登录阿里云123.206.16.61?
ssh root@123.206.16.61

35.备份mariadb的命令是?
mv mariadb new_mariadb
mysql|dump -uroot -p

36.简述特殊符号的含义?

注释

. 当前目录
.. 当前目录的上一级目录
$PATH 查看PATH路径

37.如果你发现在公司无法使用rm,使用提示’禁止你使用rm’,是为什么?
因为你的权限只有可读,或者权限不够,不可以操作此命令 起了别名alisa rm='禁止你使用rm'

38.如何修改test.py属组为alex?
chgrp alex test.txt

39.如何在windows和linux传输文件?有哪些方法?
lrzsz Windows
xftp scp
40.如何杀死mariad进程?
pkill -9 mariad(pkill后面跟名字)
kill -9 mariad的进程号(kill后面跟进程号)
41.登录一台Linux之后,使用yum命令提示command not found,怎么办?
应该下载yum
42.linux如何安装软件?有几种方式?
yum rpm 源码包
43.出于安全角度,简述如何安装启动redis服务端?
yum install redis -y
systemctl start redis
redis-cli

更改端口
开启protommode yes
设置redis密码
redis-sever redis.conf

44.如何保证本地测试环境和线上开发环境一致性?思路?
docker 打包镜像
手动解决环境问题 pip3 freeze
45.virtualenv是什么?简述如何使用
virtualenv是用来为一个应用创建一套运行环境(例如:python)
pip3 install virtualenv
virtualenv --no-site-packages --python=python3 env1
source /opt/目录/bin/activate
pip3 list
46.virtulevnwrapper是什么?简述使用

47.redis哨兵是什么?作用是

48.redis-cluster是什么?

49.什么是静态资源,什么是动态资源?
静态资源:网站的CSS/JS/HTML文件
动态资源:一般是指数据,即后端给前端提供的数据
50.配置linux软连接的命令?

51.如何永久添加/opt/python36/的环境变量?
vim /etc/profile
添加PATH="/opt/python36/:"
source /etc/profile
52.给如下代码添加注释
server{ ---> 一个虚拟主机
listen 80; ---> 监听的端口,访问的端口是80
server_name 192.168.11.11; ---> 访问的域名192.168.11.11
location / { ---> 访问的路径
root html; ---> 指定页面的目录
index index.html; ---> 指定的网页
}
}

server{ --->虚拟主机
listen 8080; --->nginx的监听端口
server_name 192.168.11.11; --->nginx访问域名
location / { --->location匹配url
include uwsgi_params; ---> 将uwsgi参数添加进nginx
uwsgi_pass 0.0.0.0:8000; --->反向代理转发请求给uwsgi
}
}

53.supervisor是什么?如何使用?
supervisor是守护进程的配置
1.yum install supervisor
2.echo_supervisord_conf > /etc/supervisor.conf #生成配置文件
3.vim 写入自定义的配置
[program:crm]; -->项目的名字
command = uwsgi的绝对路径 --ini uwsgi.ini的绝对命令; #启动项目的命令
stopasgroup = true; #默认为false,进城被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup = true; #默认为false,向进程组发送kill信号包括子进程
4.supervisord -c /etc/supervisor.conf start all
#启动所有项目
54.简述项目部署流程?如何部署路飞,uwsgi+nginx+supervisor+nginx
1.安装python3环境
2.安装nginx和redis和mariadb
3.部署前端
3.1安装node.js环境
3.2安装依赖包
3.3修改axios的发送的端口接口
3.4打包
4.部署后端
4.1安装virtualven
4.2创建虚拟环境
4.3安装django和uwsgi,以及项目的依赖包
4.4修改uwsgi的配置文件路径与其他
5.配置nginx
5.1创建两个虚拟主机,分别监听80端口和8000端口
5.2访问80端口就是前端vue
5.3访问8000端口就是vue发起的8000端口请求,反向代理到9000的uwsgi
6.启动nginx,mysql,redis
7.通过supervisor管理
55.docker是什么?简述docker优势
linux容器软件
docker优势:
更搞效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移,维护和扩展
56.你常用的docker常用命令有哪些?操作镜像、容器、仓库的命令

57.哪个命令无法查看linux文件内容?
A.tac B.more C.head D.man

58.使用rm -i 系统会提示什么信息?(B)
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径

59.为何说rm -rf 慎用?
强制递归删除,不会提示,容易误删
a60.python操作linux的模块是?
os模块
61.如果端口8080被占用,如何查看是什么进程?
netstat -tunlp | grep 8080
62.redis是如何做持久化的?

63.redis集群了解过么?sentinal和cluster区别是什么
Redis Sentinal着眼于高可用,在master宕机时会自动将slave提升为master,继续提供服务。
Redis Cluster着眼于扩展性,在单个redis内存不足时,使用Cluster进行分片存储。

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(49)
5119085 wangyang3 1578980585 5187892 ztdj123 1583728123 5187968 xx25 1648997959 5115250 nasago 1578980506 5187881 zhulixuan 1578982015 5187358 mayunyiqi 1578982007 4925619 eric54920 1622981792
加载更多
1
https://gitee.com/oldboy_python_full_stack_S25/teach_plan.git
git@gitee.com:oldboy_python_full_stack_S25/teach_plan.git
oldboy_python_full_stack_S25
teach_plan
教学计划

搜索帮助