linux考试题
linux考試題
1.在登錄Linux時(shí),一個(gè)具有唯一進(jìn)程ID號(hào)的shell將被調(diào)用,這個(gè)ID是什么(b)
A.NID B.PID C.UID C.CID
答:
w命令查看用戶(hù)tty終端信息
ps -ef|grep pts/0
2.下面那個(gè)用戶(hù)存放用戶(hù)密碼信息(b)
A./boot B./etc C./var D./dev
3.用于自動(dòng)補(bǔ)全功能時(shí),輸入命令或文件的前1個(gè)或后幾個(gè)字母按什么鍵(b)
A.ctrl B.tab C.alt D.esc
4.vim退出不保存的命令是(a)
A.:q B.q C.:wq D.:q!
5.文件權(quán)限讀、寫(xiě)、執(zhí)行三種符號(hào)的標(biāo)志依次是(a)
A.rwx B.xrw C.rdx D.rws
6.某文件的組外成員的權(quán)限是只讀、屬主是全部權(quán)限、組內(nèi)權(quán)限是可讀可寫(xiě)、該文件權(quán)限為(d)
A.467 B.674 C.476 D.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) #注意rpm -qi只能查詢(xún)用yum安裝的軟件,編譯的查不到
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中查看內(nèi)存,交換內(nèi)存的情況命令是(c) #free -m
A.top B.last c.free D.lastcomm
12.觀察系統(tǒng)動(dòng)態(tài)進(jìn)程的命令是(b)
A.free B.top C.lastcomm D.df
13.如果執(zhí)行命令,chmod 746 file.txt ,那么該文件的權(quán)限是(a)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
14.找出當(dāng)前目錄以及其子目錄所有擴(kuò)展名為”.txt”的文件,那么命令是(d)
A.ls .txt
B.find /opt -name “.txt”
C.ls -d .txt
d.find -name “*.txt”
15.什么命令常用于檢測(cè)網(wǎng)絡(luò)主機(jī)是否可達(dá)? c
A.ssh B.netstat C.ping D.exit
16.退出交互式shell,應(yīng)該輸入什么? d
A:q! B.quit C.; D.exit
17.在父目錄不存在的時(shí)候,添加的參數(shù)是? d
A.-P B.-d C.-f D.-p
18.下列文件中,包含了主機(jī)名到IP地址映射關(guān)系的文件是? b
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf
D./etc/networks
19.請(qǐng)問(wèn)你使用的linux發(fā)行版是什么?如何查看linux發(fā)行版信息?
centos7
cat /etc/os-release
20.請(qǐng)問(wèn)你公司的服務(wù)器環(huán)境是物理機(jī)還是虛擬化?
500人企:
26臺(tái)dell power r720服務(wù)器,托管在世紀(jì)互聯(lián)
通過(guò)vmware esxi虛擬化的280+linux服務(wù)器,有100+centos 100+redhat
分為三個(gè)環(huán)境
測(cè)試服務(wù)器、預(yù)生產(chǎn)服務(wù)器、生產(chǎn)服務(wù)器
技術(shù)棧:
svn 、java、apache、tomcat、oracle、nagios、redhat、centos、weblogic
初創(chuàng)企業(yè):
5臺(tái)阿里云
21.vim有幾種工作模式
命令模式
編輯模式
底線(xiàn)命令模式
22.nginx的主配置文件是?如何實(shí)現(xiàn)多虛擬主機(jī)?nginx反向代理參數(shù)是?
nginx.conf
多個(gè)server{}
proxy_pass http://ip
23.如何解壓縮后綴是.gz文件?
gipz -d *.gz
24.如何解壓縮后綴是.tar文件?
tar -xf .tar
25.如何解壓縮后綴是.xz文件?
xz -d .xz
26.www服務(wù)在internet最為廣泛,采用的結(jié)構(gòu)是?
Browser/Server
27.如何給linux添加dns服務(wù)器記錄?
/etc/resolv.conf
添加2條主備dns記錄
nameserver dns服務(wù)器ip
28.每月的5,15,25的晚上5點(diǎn)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/內(nèi)容
/usr/bin/rm -rf /tmp/*
30.每天早上6.30清空/tmp/的內(nèi)容
30 6 /usr/bin/rm -rf /tmp/
31.每個(gè)星期三的下午6點(diǎn)和8點(diǎn)的第5到15分鐘之間備份mysql數(shù)據(jù)到/opt/
5-15 18,20 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件權(quán)限是drw-r—rw-,請(qǐng)解讀該權(quán)限?
d:目錄文件
rw- 屬主:可讀可寫(xiě)
r— 屬組:可讀
rw- other:可讀可寫(xiě)
33.centos版本系統(tǒng)服務(wù)管理命令是?
service
systemctl
34.如何遠(yuǎn)程登錄阿里云123.206.16.61?
ssh root@123.206.16.61
35.備份mariadb的命令是?
mysqldump -uroot -p
36.簡(jiǎn)述特殊符號(hào)的含義?
root用戶(hù)的身份提示符
重啟定向覆蓋寫(xiě)
重定向追加寫(xiě)
$PATH 取值符
. 當(dāng)前目錄
.. 上級(jí)目錄
37.如果你發(fā)現(xiàn)在公司無(wú)法使用rm,使用提示’禁止你使用rm’,是為什么?
別名alias
38.如何修改test.py屬組為alex?
chgrp alex test.py
39.如何在windows和linux傳輸文件?有哪些方法?
xftp lrzsz scp
40.如何殺死m(xù)ariad進(jìn)程?
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb
41.簡(jiǎn)述dns解析流程?訪(fǎng)問(wèn)www.pythonav.cn的解析流程
自上而下的順序
1.優(yōu)先查找本地dns緩存
2.查找本地/etc/hosts文件,是否有強(qiáng)制解析
3.如果沒(méi)有去/etc/resolv.conf指定的dns服務(wù)器中查找記錄(需聯(lián)網(wǎng)
4.在dns服務(wù)器中找到解析記錄后,在本地dns中添加緩存
5.完成一次dns解析
42.linux如何安裝軟件?有幾種方式?
yum
rpm
源碼包
43.出于安全角度,簡(jiǎn)述如何安裝啟動(dòng)redis服務(wù)端?
更改端口 port 6380
開(kāi)啟protomode yes安全模式
設(shè)置redis密碼
redis-server redis.conf
redis.conf 內(nèi)容如下
port 6380
protomode yes
44.如何保證本地測(cè)試環(huán)境和線(xiàn)上開(kāi)發(fā)環(huán)境一致性?思路?
1.docker打包鏡像
2.手動(dòng)解決環(huán)境問(wèn)題 pip3 freeze導(dǎo)出依賴(lài)
pip3 install -r xxx.txt
45.virtualenv是什么?簡(jiǎn)述如何使用
在開(kāi)發(fā)Python應(yīng)用程序的時(shí)候,系統(tǒng)安裝的Python3只有一個(gè)版本:3.4。所有第三方的包都會(huì)被pip安裝到Python3的site-packages目錄下。
如果我們要同時(shí)開(kāi)發(fā)多個(gè)應(yīng)用程序,那這些應(yīng)用程序都會(huì)共用一個(gè)Python,就是安裝在系統(tǒng)的Python 3。如果應(yīng)用A需要jinja 2.7,而應(yīng)用B需要jinja 2.6怎么辦?
這種情況下,每個(gè)應(yīng)用可能需要各自擁有一套“獨(dú)立”的Python運(yùn)行環(huán)境。virtualenv就是用來(lái)為一個(gè)應(yīng)用創(chuàng)建一套“隔離”的Python運(yùn)行環(huán)境。
1.安裝 pip3 install virtualenv
2.創(chuàng)建虛擬環(huán)境 virtualenv —no-site-packages —python=python3 venv1
3.激活虛擬環(huán)境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.測(cè)試 python3 或者 pip3 list
5.如何證明虛擬環(huán)境是正常的?
46.virtulevnwrapper是什么?簡(jiǎn)述使用
virtualenv 的一個(gè)最大的缺點(diǎn)就是,每次開(kāi)啟虛擬環(huán)境之前要去虛擬環(huán)境所在目錄下的 bin 目錄下 source 一下 activate,這就需要我們記住每個(gè)虛擬環(huán)境所在的目錄。
Virtaulenvwrapper是virtualenv的擴(kuò)展包,用于更方便管理虛擬環(huán)
1.安裝虛擬環(huán)境 pip3 install virtualenvwrapper
2.創(chuàng)建并進(jìn)入虛擬環(huán)境 mkvirtualenv env1
3.切換虛擬環(huán)境 workon 虛擬環(huán)境名
redis是什么?
Redis是一個(gè)開(kāi)源的基于內(nèi)存的,key-value數(shù)據(jù)結(jié)構(gòu)的緩存數(shù)據(jù)庫(kù),支持?jǐn)?shù)據(jù)持久化,m-s復(fù)制,常用數(shù)據(jù)類(lèi)型有string set hash list,
最佳應(yīng)用場(chǎng)景:適用于數(shù)據(jù)變化快且數(shù)據(jù)庫(kù)大小可遇見(jiàn)(適合內(nèi)存容量)的應(yīng)用程序。
例如:股票價(jià)格、數(shù)據(jù)分析、實(shí)時(shí)數(shù)據(jù)搜集、實(shí)時(shí)通訊。
Redis只能使用單線(xiàn)程,性能受限于CPU性能,故單實(shí)例CPU最高才可能達(dá)到5-6wQPS每秒
其他nosql數(shù)據(jù)庫(kù)?
Memcached可以利用多核優(yōu)勢(shì),單實(shí)例吞吐量極高,可以達(dá)到幾十萬(wàn)QPS(取決于key、value的字節(jié)大小以及服務(wù)器硬件性能,日常環(huán)境中QPS高峰大約在4-6w左右)。適用于最大程度扛量。
只支持簡(jiǎn)單的key/value數(shù)據(jù)結(jié)構(gòu),不像Redis可以支持豐富的數(shù)據(jù)類(lèi)型。
無(wú)法進(jìn)行持久化,數(shù)據(jù)不能備份,只能用于緩存使用,且重啟后數(shù)據(jù)全部丟失。
MongoDB
更高的寫(xiě)負(fù)載,MongoDB擁有更高的插入速度,支持高可用性,支持索引高速查詢(xún),占用磁盤(pán)空間較大,支持持久化
47.redis哨兵是什么?作用是
Redis-Sentinel是Redis官方推薦的高可用性(HA)解決方案
redis哨兵是監(jiān)控redis主從服務(wù),不存儲(chǔ)數(shù)據(jù)的,作用是用于自動(dòng)切換reidis服務(wù)主從關(guān)系,即當(dāng)主庫(kù)服務(wù)停止后,會(huì)將其中一個(gè)從庫(kù)變?yōu)橹鲙?kù)
48.redis-cluster是什么?
即使使用哨兵,redis每個(gè)實(shí)例也是全量數(shù)據(jù)存儲(chǔ),每個(gè)redis存儲(chǔ)的內(nèi)容都是完整的數(shù)據(jù)。
為了最大化利用內(nèi)存,可以采用cluster群集,就是分布式存儲(chǔ)。即每臺(tái)redis存儲(chǔ)不同的內(nèi)容。
采用redis-cluster架構(gòu)正是滿(mǎn)足這種分布式存儲(chǔ)要求的集群的一種體現(xiàn)。redis-cluster架構(gòu)中,被設(shè)計(jì)成共有16384個(gè)hash slot。每個(gè)master分得一部分slot,其算法為:hash_slot = crc16(key) mod 16384 ,這就找到對(duì)應(yīng)slot。采用hash slot的算法,實(shí)際上是解決了redis-cluster架構(gòu)下,有多個(gè)master節(jié)點(diǎn)的時(shí)候,數(shù)據(jù)如何分布到這些節(jié)點(diǎn)上去。key是可用key,如果有{}則取{}內(nèi)的作為可用key,否則整個(gè)可以是可用key。群集至少需要3主3從,且每個(gè)實(shí)例使用不同的配置文件。
49.什么是靜態(tài)資源,什么是動(dòng)態(tài)資源?
nginx實(shí)現(xiàn)動(dòng)靜分離,靜態(tài)請(qǐng)求nginx直接返回
動(dòng)態(tài)請(qǐng)求
uwsgi_pass 后端uwsgi的地址
靜態(tài)資源指定的是網(wǎng)站的CSS/JS/HTML文件
動(dòng)態(tài)資源一般指的是數(shù)據(jù),即后端給前端提供的數(shù)據(jù)
50.配置linux軟連接的命令?
ln -s 目標(biāo)文件名 軟連接名
51.如何永久添加/opt/python36/的環(huán)境變量?
/etc/profile 全局變量配置文件,每次機(jī)器開(kāi)機(jī)都會(huì)加載這個(gè)文件中的變量
vim /etc/profile
添加PATH = /opt/python36/bin:
source /etc/profile
52.給如下代碼添加注釋
server{ # 一個(gè)虛擬主機(jī)
listen 80; # 監(jiān)聽(tīng)的端口,訪(fǎng)問(wèn)的端口80
server_name 192.168.11.11; # 訪(fǎng)問(wèn)的域名192.168.11.11
location / { # 訪(fǎng)問(wèn)的路徑 /
root html; # 指定頁(yè)面的目錄,訪(fǎng)問(wèn)/會(huì)找到html目錄
index index.html # 指定網(wǎng)頁(yè),訪(fǎng)問(wèn)/就是訪(fǎng)問(wèn)index.html
}
}
server{ #虛擬主機(jī)
listen 8080; #nginx監(jiān)聽(tīng)端口
server_name 192.168.11.11; #nginx訪(fǎng)問(wèn)域名
location / { #location匹配url
include uwsgi_params; #將uwsgi參數(shù)添加進(jìn)nginx
uwsgi_pass 0.0.0.0:8000; #反向代理轉(zhuǎn)發(fā)請(qǐng)求給uwsgi
}
}
53.supervisor是什么?如何使用?
supervisor進(jìn)程管理工具
使用:
1.安裝 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.寫(xiě)入自定義的配置
vim /etc/supervisor.conf
supervisor其實(shí)就在幫我們執(zhí)行命令而已
檢測(cè)pid是否存在,掛了就重啟
[program:mycrm] ; 項(xiàng)目名稱(chēng)
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;啟動(dòng)項(xiàng)目的命令
stopasgroup=true ;默認(rèn)為false,進(jìn)程被殺死時(shí),是否向這個(gè)進(jìn)程組發(fā)送stop信號(hào),包括子進(jìn)程
killasgroup=true ;默認(rèn)為false,向進(jìn)程組發(fā)送kill信號(hào),包括子進(jìn)程
[program:nginx]
[program:mysql]
4.啟動(dòng)supervisor服務(wù)
supervisord -c /etc/supervisor.conf
5.啟動(dòng)所有項(xiàng)目
supervisorctl -c /etc/supervisor.conf stop all
54.簡(jiǎn)述項(xiàng)目部署流程?如何部署路飛,uwsgi+nginx+supervisor+nginx
部署路飛:
1.安裝python3 環(huán)境
2.安裝 mysql,redis,nginx
3.部署前端
1.安裝node.js的環(huán)境
2.安裝依賴(lài)包
3.修改axios的發(fā)送的端口接口
4.打包
4.部署后端
1.安裝virtualenv
2.創(chuàng)建虛擬環(huán)境
3.安裝django和uwsgi,以及項(xiàng)目的依賴(lài)包
4.修改uwsgi的配置文件
5.通過(guò)uwsgi -ini 配置文件啟動(dòng)django項(xiàng)目
5.配置nginx
1.創(chuàng)建兩個(gè)虛擬主機(jī),分別監(jiān)聽(tīng)80和8000端口
2.訪(fǎng)問(wèn)80端口是訪(fǎng)問(wèn)呢vue
3.訪(fǎng)問(wèn)8000端口是vue發(fā)起的8000端口請(qǐng)求,反向代理到9000的uwsgi
6.啟動(dòng)nginx,mysql,redis
7.通過(guò)supervisor來(lái)管理
55.docker是什么?簡(jiǎn)述docker優(yōu)勢(shì)
linux容器技術(shù)實(shí)現(xiàn)軟件
docker應(yīng)用于快速構(gòu)建應(yīng)用,解決環(huán)境依賴(lài)等問(wèn)題
容器生命周期
鏡像 容器 倉(cāng)庫(kù) 三大生命周期
1.下載鏡像,運(yùn)行出容器實(shí)例,通過(guò)docker hub 或者 私有容器倉(cāng)庫(kù),管理鏡像文件
1.安裝啟動(dòng)后,使用
獲取docker鏡像 ,這個(gè)鏡像就如同那個(gè)iso鏡像系統(tǒng)文件
docker pull centos 獲取centos鏡像文件
安裝系統(tǒng)
通過(guò)鏡像,生成容器實(shí)例
docker run centos
容器中必須有進(jìn)程在后臺(tái)運(yùn)行,否則就會(huì)掛掉
容器就是將應(yīng)用程序隔離,如同一個(gè)集裝箱
class foo():
def init(self):
self.name="我是郭德綱"
f1=foo()
f2=foo()
f3=foo()
1.掌握dockerfile的編寫(xiě)
2.掌握常用docker管理命令即可
56.你常用的docker常用命令有哪些?操作鏡像、容器、倉(cāng)庫(kù)的命令
docker images # 查看本地鏡像
docker serach 鏡像 # 通過(guò)docker hub搜索鏡像
docker rmi 鏡像 # 刪除鏡像
docker save 鏡像 > 路徑 # 導(dǎo)出鏡像
docker load < 路徑 # 導(dǎo)入鏡像
docker build -t . # 打包生成鏡像
操作容器命令:
docker run -d 鏡像 解釋器 # 根據(jù)鏡像生成容器,后臺(tái)允許
docker run -it 鏡像 解釋器 # 根據(jù)鏡像生成并進(jìn)入容器
docker start/stop 容器id # 啟動(dòng)/停止容器
docker ps # 查看當(dāng)前運(yùn)行的容器
docker rm 容器id # 刪除容器
docker exec 容器id # 進(jìn)入當(dāng)前正在運(yùn)行的容器
docker commit 容器id 鏡像名 # 將容器提交為鏡像
docker contain ls # 查看當(dāng)前運(yùn)行的容器
操作倉(cāng)庫(kù)的命令:
docker pull 鏡像 # 下載鏡像
docker push 鏡像 # 推送鏡像
57.哪個(gè)命令無(wú)法查看linux文件內(nèi)容? d
A.tac B.more C.head D.man
58.使用rm -i 系統(tǒng)會(huì)提示什么信息? b
A.命令所有參數(shù)
B.是否真的刪除
C.是否有寫(xiě)的權(quán)限
D.文件的路徑
rm -rf -r 遞歸刪除文件夾 -f 強(qiáng)制刪除
59.為何說(shuō)rm -rf 慎用? -r遞歸刪除 -f強(qiáng)制刪除
rm -rf -r 遞歸刪除文件夾 -f 強(qiáng)制刪除
a60.python操作linux的模塊是?
os
subpreocess
sys
61.如果端口8080被占用,如何查看是什么進(jìn)程? netstat -tunlp | grep 8080
62.redis是如何做持久化的? rdb aof兩種機(jī)制
rdb
redis.conf
save
Redis會(huì)定期保存數(shù)據(jù)快照至一個(gè)rbd文件中,并在啟動(dòng)時(shí)自動(dòng)加載rdb文件,恢復(fù)之前保存的數(shù)據(jù),通過(guò)save指令觸發(fā)持久化,redis單獨(dú)開(kāi)啟一個(gè)子進(jìn)程進(jìn)行數(shù)據(jù)持久化。
rdb缺點(diǎn),定期執(zhí)行,可能會(huì)丟失數(shù)據(jù),并且數(shù)據(jù)量特別大時(shí)候,如果服務(wù)器cpu性能較低,rdb開(kāi)啟子進(jìn)程持久化性能影響很大,影響redis對(duì)外提供服務(wù)的能力。
aof
Redis會(huì)把每一個(gè)寫(xiě)請(qǐng)求都記錄(對(duì)數(shù)據(jù)進(jìn)行修改的命令)在一個(gè)日志文件里。
在Redis重啟時(shí),會(huì)把AOF文件中記錄的所有寫(xiě)操作順序執(zhí)行一遍,確保數(shù)據(jù)恢復(fù)到最新。
隨著AOF不斷地記錄寫(xiě)操作日志,因?yàn)樗械牟僮鞫紩?huì)記錄,所以必定會(huì)出現(xiàn)一些無(wú)用的日志。大量無(wú)用的日志會(huì)讓AOF文件過(guò)大,也會(huì)讓數(shù)據(jù)恢復(fù)的時(shí)間過(guò)長(zhǎng)。
優(yōu)先:數(shù)據(jù)安全,不怕數(shù)據(jù)損壞,如斷電燈問(wèn)題,還可以用redis-check-aof修復(fù)數(shù)據(jù),AOF文件人為可讀
缺點(diǎn):占磁盤(pán),性能損耗高,數(shù)據(jù)恢復(fù)慢
怎么用rdb和aof
如果既配置了RDB,又配置了AOF,則在進(jìn)行數(shù)據(jù)持久化的時(shí)候,都會(huì)進(jìn)行,但是在根據(jù)文件恢復(fù)數(shù)據(jù)的時(shí)候,以AOF文件為準(zhǔn),RDB文件作廢
63.簡(jiǎn)述mysql主從復(fù)制原理?
(1) master將改變記錄到二進(jìn)制日志(binary log)中(這些記錄叫做二進(jìn)制日志事件,binary log events);
(2) slave將master的binary log events拷貝到它的中繼日志(relay log);
(3) slave重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)。
64.創(chuàng)建mysql用戶(hù)alex,并且授予權(quán)限select權(quán)限,命令是什么?
grant select on . to alex@’%’;
65.nginx如何實(shí)現(xiàn)負(fù)載均衡?
upstream {}
66.nginx的負(fù)載均衡調(diào)度算法有幾種?是什么?
調(diào)度算法 概述
輪詢(xún) 按時(shí)間順序逐一分配到不同的后端服務(wù)器(默認(rèn))
weight 加權(quán)輪詢(xún),weight值越大,分配到的訪(fǎng)問(wèn)幾率越高
ip_hash 每個(gè)請(qǐng)求按訪(fǎng)問(wèn)IP的hash結(jié)果分配,這樣來(lái)自同一IP的固定訪(fǎng)問(wèn)一個(gè)后端服務(wù)器
url_hash 按照訪(fǎng)問(wèn)URL的hash結(jié)果來(lái)分配請(qǐng)求,是每個(gè)URL定向到同一個(gè)后端服務(wù)器
least_conn 最少鏈接數(shù),那個(gè)機(jī)器鏈接數(shù)少就分發(fā)
67.linux下載軟件包的方法有?
wget url地址
curl 也是發(fā)起http請(qǐng)求的命令
68.windows和linux常用遠(yuǎn)程連接工具有哪些?
xshell
putty
securecrt
69.如何給與一個(gè)腳本可執(zhí)行權(quán)限
chmod u+x file
70.過(guò)濾出settings.py中所有的空白和注釋行
grep -v “^#” file |grep -v “^$”
71.過(guò)濾出file1中以abc結(jié)尾的行
grep “abc$” file1
72.容器退出后,通過(guò)docker ps查看不到,數(shù)據(jù)會(huì)丟嗎?
docker ps -a #查看所有容器記錄
不會(huì)丟,因?yàn)槿萜魍V沽?#xff0c;并沒(méi)有被刪除 docker ps -a可以看到
73.如何批量清理后臺(tái)停止的容器
docker rm docker ps -aq
反引號(hào)的作用是 取出命令的結(jié)果
74.如何查看容器日志?
docker logs -f 容器id #實(shí)時(shí)刷新容器內(nèi)的日志
75.wsgi是什么?
WSGI是Web服務(wù)器網(wǎng)關(guān)接口。它是一個(gè)協(xié)議,描述了Web服務(wù)器(nginx)如何與Web應(yīng)用程序通信(django)。
python3 manage.py runserver wsgi wsgiref單機(jī)模塊 ,性能很低
uwsgi --socket :8000 --chdir crm.wsgi
在線(xiàn)上,走的協(xié)議是 nginx 通過(guò) uwsgi_socket找到 web應(yīng)用程序 uwsgi
76.Django中使用的是?
答:Django中實(shí)現(xiàn)wsgi的是:wsgiref和uwsgi,wsgiref是開(kāi)發(fā)測(cè)試用的,uwsgi是線(xiàn)上用的支持多進(jìn)程,多線(xiàn)程的web應(yīng)用
Flask中實(shí)現(xiàn)wsgi的是:werkzurg
Tornado中實(shí)現(xiàn)wsgi的是:tornado和gevent
77.消息隊(duì)列的作用?
1)程序解耦
2)數(shù)據(jù)冗余,例如rabbitmq的ack機(jī)制,消息確認(rèn)機(jī)制
3)削峰能力
4)可恢復(fù)性,就算系統(tǒng)中部分組件掛掉,消息在隊(duì)列也不丟失,待組件恢復(fù)后繼續(xù)處理消息。
5)異步通信,如發(fā)紅包,短信等流程丟入隊(duì)列,可以?xún)?yōu)先級(jí)很低的去處理。
78.服務(wù)器被攻擊,吃光了所有的CPU資源,怎么辦?禁止重裝系統(tǒng)
1.查看系統(tǒng)負(fù)載情況例如使用 top命令
2.殺死無(wú)用的 占資源的進(jìn)程
3.系統(tǒng)全局搜索,找到病毒文件, rm -rf 刪掉它
4.還需要檢查定時(shí)任務(wù),是否添加了些東西
git常用命令
1:git init—————————初始化
2:git add .————————-從工作區(qū),添加到版本庫(kù)
3:git commit -m”xxx”————從暫存區(qū),添加到分支
4.git push origin master
4:git status————————查看狀態(tài)
5:git log —————————查看版本庫(kù)的日志
6:git reflog————————查看所有日志
7:git reset —head 版本號(hào)—-切換
8:git stash————————-保存
9:git stash————————-將第一個(gè)記錄從“某個(gè)地方”重新拿到工作區(qū)(可能有沖突)
git stash list——————————————————————————查看“某個(gè)地方”存儲(chǔ)的所有記錄
git stash clear—————————————————————————-清空“某個(gè)地方”
git stash pop——————————————————————————-將第一個(gè)記錄從“某個(gè)地方”重新拿到工作區(qū)(可能有沖突)
git stash apply —————————————————————————編號(hào),將指定編號(hào)記錄從“某個(gè)地方”重新拿到工作區(qū)(可能有沖突)
git stash drop —————————————————————————編號(hào) ,刪除指定編號(hào)的記錄
10:git branch dev—————?jiǎng)?chuàng)建分支
11:git branch -d dev———-刪除分支
12:git checkout dev————切換分支
13:git merge dev—————-合并分支
14:git branch———————查看所有分支
15:git clone https:xxx——-克隆
16:git add origin https:xxx-起個(gè)別名
17:git push origin dev ——添加到dev分支
18:git pull origin master—拉代碼
19:git fetch origin master-去倉(cāng)庫(kù)獲取
20:git merge origin/master-和網(wǎng)上下的master分支合并
協(xié)同開(kāi)發(fā):
默認(rèn)是master分支——————————master
開(kāi)發(fā)的分支—————————————dev
做代碼review————————————reciew
程序員自己的分支——————————…….
1:每個(gè)員工創(chuàng)建自己的分支
2:將自己的代碼提交的到自己的分支—————xxx,sss,wwww…….
3:由組長(zhǎng)或老大做代碼的review,——————-代碼提交的review分支
4:再提交到dev.
5: 再合并到master分支
熟悉 Linux常用操作。
1:man rm———————————————查看命令幫助
2:mkdir———————————————-創(chuàng)建目錄
3:touch———————————————-創(chuàng)建文件
4:cd—————————————————切換。
5:ls—————————————————查看目錄
6:ls -lh————————————————查看目錄詳細(xì)
7:pwd————————————————-查看當(dāng)前目錄
8:vim————————————————-添加內(nèi)容
9:echo————————————————追加內(nèi)容
10:cat————————————————查看文件內(nèi)容
11:mv————————————————-移動(dòng)
12:cp————————————————-拷貝
13:mv————————————————重命名
15:find———————————————-搜索
16:rm————————————————-刪除數(shù)據(jù)
17:ping———————————————-查看能不能上網(wǎng)
19:tar cf ————————————————打壓縮
20:tar xf——————————————-解壓縮
安裝:
yum install
rpm包安裝
編譯安裝
快捷鍵:
1:Tab鍵—————————————-自動(dòng)補(bǔ)全命令或路勁。
2:ctrl+l—————————————清屏
3: ctrl+c—————————————取消當(dāng)前操作
4:vi/vim 快捷鍵:
復(fù)制當(dāng)前行 ——————————yy
粘貼—————————————-p
剪切—————————————-dd
撤銷(xiāo)—————————————-u
恢復(fù)—————————————-ctrl + r
轉(zhuǎn)載于:https://www.cnblogs.com/Godisgirl/p/11099867.html
總結(jié)
- 上一篇: windows下基于IIS配置ssl证书
- 下一篇: 项目第一天--ElementUI介绍