日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux考试题

發布時間:2024/7/5 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux考试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux考試題
1.在登錄Linux時,一個具有唯一進程ID號的shell將被調用,這個ID是什么(b)
A.NID B.PID C.UID C.CID
答:
w命令查看用戶tty終端信息
ps -ef|grep pts/0

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.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只能查詢用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中查看內存,交換內存的情況命令是(c) #free -m
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.請問你公司的服務器環境是物理機還是虛擬化?
500人企:
26臺dell power r720服務器,托管在世紀互聯
通過vmware esxi虛擬化的280+linux服務器,有100+centos 100+redhat
分為三個環境
測試服務器、預生產服務器、生產服務器
技術棧:
svn 、java、apache、tomcat、oracle、nagios、redhat、centos、weblogic
初創企業:
5臺阿里云

21.vim有幾種工作模式
命令模式
編輯模式
底線命令模式

22.nginx的主配置文件是?如何實現多虛擬主機?nginx反向代理參數是?
nginx.conf
多個server{}
proxy_pass http://ip

23.如何解壓縮后綴是.gz文件?
gipz -d *.gz

24.如何解壓縮后綴是.tar文件?
tar -xf .tar

25.如何解壓縮后綴是.xz文件?
xz -d .xz

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.簡述dns解析流程?訪問www.pythonav.cn的解析流程
自上而下的順序
1.優先查找本地dns緩存
2.查找本地/etc/hosts文件,是否有強制解析
3.如果沒有去/etc/resolv.conf指定的dns服務器中查找記錄(需聯網
4.在dns服務器中找到解析記錄后,在本地dns中添加緩存
5.完成一次dns解析

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是什么?簡述如何使用
在開發Python應用程序的時候,系統安裝的Python3只有一個版本:3.4。所有第三方的包都會被pip安裝到Python3的site-packages目錄下。

如果我們要同時開發多個應用程序,那這些應用程序都會共用一個Python,就是安裝在系統的Python 3。如果應用A需要jinja 2.7,而應用B需要jinja 2.6怎么辦?

這種情況下,每個應用可能需要各自擁有一套“獨立”的Python運行環境。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
5.如何證明虛擬環境是正常的?

46.virtulevnwrapper是什么?簡述使用
virtualenv 的一個最大的缺點就是,每次開啟虛擬環境之前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就需要我們記住每個虛擬環境所在的目錄。
Virtaulenvwrapper是virtualenv的擴展包,用于更方便管理虛擬環
1.安裝虛擬環境 pip3 install virtualenvwrapper
2.創建并進入虛擬環境 mkvirtualenv env1
3.切換虛擬環境 workon 虛擬環境名

redis是什么?
Redis是一個開源的基于內存的,key-value數據結構的緩存數據庫,支持數據持久化,m-s復制,常用數據類型有string set hash list,
最佳應用場景:適用于數據變化快且數據庫大小可遇見(適合內存容量)的應用程序。
例如:股票價格、數據分析、實時數據搜集、實時通訊。
Redis只能使用單線程,性能受限于CPU性能,故單實例CPU最高才可能達到5-6wQPS每秒

其他nosql數據庫?
Memcached可以利用多核優勢,單實例吞吐量極高,可以達到幾十萬QPS(取決于key、value的字節大小以及服務器硬件性能,日常環境中QPS高峰大約在4-6w左右)。適用于最大程度扛量。
只支持簡單的key/value數據結構,不像Redis可以支持豐富的數據類型。
無法進行持久化,數據不能備份,只能用于緩存使用,且重啟后數據全部丟失。

MongoDB
更高的寫負載,MongoDB擁有更高的插入速度,支持高可用性,支持索引高速查詢,占用磁盤空間較大,支持持久化

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直接返回
動態請求
uwsgi_pass 后端uwsgi的地址

靜態資源指定的是網站的CSS/JS/HTML文件
動態資源一般指的是數據,即后端給前端提供的數據

50.配置linux軟連接的命令?
ln -s 目標文件名 軟連接名

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.安裝 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.寫入自定義的配置
vim /etc/supervisor.conf

supervisor其實就在幫我們執行命令而已

檢測pid是否存在,掛了就重啟

[program:mycrm] ; 項目名稱
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;啟動項目的命令
stopasgroup=true ;默認為false,進程被殺死時,是否向這個進程組發送stop信號,包括子進程
killasgroup=true ;默認為false,向進程組發送kill信號,包括子進程

[program:nginx]

[program:mysql]

4.啟動supervisor服務
supervisord -c /etc/supervisor.conf
5.啟動所有項目
supervisorctl -c /etc/supervisor.conf stop 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應用于快速構建應用,解決環境依賴等問題

容器生命周期

鏡像 容器 倉庫 三大生命周期

1.下載鏡像,運行出容器實例,通過docker hub 或者 私有容器倉庫,管理鏡像文件

1.安裝啟動后,使用

獲取docker鏡像 ,這個鏡像就如同那個iso鏡像系統文件
docker pull centos 獲取centos鏡像文件

安裝系統

通過鏡像,生成容器實例
docker run centos

容器中必須有進程在后臺運行,否則就會掛掉

容器就是將應用程序隔離,如同一個集裝箱

class foo():
def init(self):
self.name="我是郭德綱"

f1=foo()
f2=foo()
f3=foo()

1.掌握dockerfile的編寫
2.掌握常用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.文件的路徑

rm -rf -r 遞歸刪除文件夾 -f 強制刪除

59.為何說rm -rf 慎用? -r遞歸刪除 -f強制刪除
rm -rf -r 遞歸刪除文件夾 -f 強制刪除

a60.python操作linux的模塊是?

os
subpreocess
sys

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

62.redis是如何做持久化的? rdb aof兩種機制

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.簡述mysql主從復制原理?

(1) master將改變記錄到二進制日志(binary log)中(這些記錄叫做二進制日志事件,binary log events);

(2) slave將master的binary log events拷貝到它的中繼日志(relay log);

(3) slave重做中繼日志中的事件,將改變反映它自己的數據。

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地址

curl 也是發起http請求的命令

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 #查看所有容器記錄

不會丟,因為容器停止了,并沒有被刪除 docker ps -a可以看到

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

反引號的作用是 取出命令的結果

74.如何查看容器日志?
docker logs -f 容器id #實時刷新容器內的日志

75.wsgi是什么?
WSGI是Web服務器網關接口。它是一個協議,描述了Web服務器(nginx)如何與Web應用程序通信(django)。

python3 manage.py runserver wsgi wsgiref單機模塊 ,性能很低

uwsgi --socket :8000 --chdir crm.wsgi
在線上,走的協議是 nginx 通過 uwsgi_socket找到 web應用程序 uwsgi

76.Django中使用的是?
答:Django中實現wsgi的是:wsgiref和uwsgi,wsgiref是開發測試用的,uwsgi是線上用的支持多進程,多線程的web應用
Flask中實現wsgi的是:werkzurg
Tornado中實現wsgi的是:tornado和gevent

77.消息隊列的作用?
1)程序解耦
2)數據冗余,例如rabbitmq的ack機制,消息確認機制
3)削峰能力
4)可恢復性,就算系統中部分組件掛掉,消息在隊列也不丟失,待組件恢復后繼續處理消息。
5)異步通信,如發紅包,短信等流程丟入隊列,可以優先級很低的去處理。

78.服務器被攻擊,吃光了所有的CPU資源,怎么辦?禁止重裝系統

1.查看系統負載情況例如使用 top命令
2.殺死無用的 占資源的進程
3.系統全局搜索,找到病毒文件, rm -rf 刪掉它
4.還需要檢查定時任務,是否添加了些東西

git常用命令

1:git init—————————初始化
2:git add .————————-從工作區,添加到版本庫
3:git commit -m”xxx”————從暫存區,添加到分支
4.git push origin master

4:git status————————查看狀態
5:git log —————————查看版本庫的日志
6:git reflog————————查看所有日志

7:git reset —head 版本號—-切換
8:git stash————————-保存
9:git stash————————-將第一個記錄從“某個地方”重新拿到工作區(可能有沖突)

git stash list——————————————————————————查看“某個地方”存儲的所有記錄
git stash clear—————————————————————————-清空“某個地方”
git stash pop——————————————————————————-將第一個記錄從“某個地方”重新拿到工作區(可能有沖突)
git stash apply —————————————————————————編號,將指定編號記錄從“某個地方”重新拿到工作區(可能有沖突)
git stash drop —————————————————————————編號 ,刪除指定編號的記錄

10:git branch dev—————創建分支
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-起個別名
17:git push origin dev ——添加到dev分支
18:git pull origin master—拉代碼
19:git fetch origin master-去倉庫獲取
20:git merge origin/master-和網上下的master分支合并
協同開發:
默認是master分支——————————master
開發的分支—————————————dev
做代碼review————————————reciew
程序員自己的分支——————————…….
1:每個員工創建自己的分支
2:將自己的代碼提交的到自己的分支—————xxx,sss,wwww…….
3:由組長或老大做代碼的review,——————-代碼提交的review分支
4:再提交到dev.
5: 再合并到master分支

熟悉 Linux常用操作。
1:man rm———————————————查看命令幫助
2:mkdir———————————————-創建目錄
3:touch———————————————-創建文件
4:cd—————————————————切換。
5:ls—————————————————查看目錄
6:ls -lh————————————————查看目錄詳細
7:pwd————————————————-查看當前目錄
8:vim————————————————-添加內容
9:echo————————————————追加內容
10:cat————————————————查看文件內容
11:mv————————————————-移動
12:cp————————————————-拷貝
13:mv————————————————重命名
15:find———————————————-搜索
16:rm————————————————-刪除數據
17:ping———————————————-查看能不能上網
19:tar cf ————————————————打壓縮
20:tar xf——————————————-解壓縮
安裝:
yum install
rpm包安裝
編譯安裝
快捷鍵:
1:Tab鍵—————————————-自動補全命令或路勁。
2:ctrl+l—————————————清屏
3: ctrl+c—————————————取消當前操作
4:vi/vim 快捷鍵:
復制當前行 ——————————yy
粘貼—————————————-p
剪切—————————————-dd
撤銷—————————————-u
恢復—————————————-ctrl + r

轉載于:https://www.cnblogs.com/Godisgirl/p/11099867.html

總結

以上是生活随笔為你收集整理的linux考试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。