一、在登陸Linux時,一個具備惟一進程ID號的shell將被調用,這個ID是 PIDhtml
二、查看用戶tty終端信息 ps -ef | grep pts/0 或last前端
三、哪一個用戶存放用戶密碼信息 /etcnode
四、改變文件屬主的命令式 chownpython
五、檢查nginx是否安裝了用哪些命令 rpm -q nginxmysql
六、linux配置文件通常放在那個目錄 etclinux
七、linux中查看內存,交換內存的狀況命令是 free -mnginx
八、觀察系統動態進程的命令是 topweb
九、找出檔期內目錄以及其子目錄全部擴展名爲txt的的文件 find -name "*.txt"正則表達式
十、退出交互式shell用什麼命令 quitredis
十一、在父目錄不存在的時候,添加的參數是 -p
十二、如何查看linux發行版信息 cat /etc/os-release
1三、vim有幾種命令模式 命令模式、編輯模式、底線命令模式
1四、nginx的主配置文件是 nginx.conf
1五、nginx反向代理參數是 proxy_pass
1六、如何解壓.gz文件 gipz -d *.gz
1七、如何加壓.tar文件 tar -xf *.tar
1八、如何解壓.xz文件 xz -d *.xz
1九、www服務採用的結構 Browser/server
20、如何給linux添加dns服務器記錄 /etc/resolv.conf
2一、添加兩條主備dns記錄 nameserver dns服務器IP
2二、每個月的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
2三、每分鐘清空tmp內容 /usr/bin/rm -rf /tmp/*
2四、天天早上6.30清空/tmp/的內容 30 6 /usr/bin/rm -rf /tmp/
2五、每一個星期三的下午6點和8點的第5到15分鐘之間備份mysql數據到/opt/
5-15 18,20 3 /usr/bin/cp -r /var/lib/mysql /opt/
2六、某文件權限是drw-r—rw-,請解讀該權限?
d:目錄文件
rw- 屬主:可讀可寫
r— 屬組:可讀
rw- other:可讀可寫
2七、centos版本系統服務管理命令是 service systemctl
2八、如何遠程登陸阿里雲123.206.16.61 ssh root@123.206.16.61
2九、備份mariadb的命令是 mysqldump -uroot -p
30、如何修改test.py屬組爲alex chgrp alex test.py
3一、如何在window和linux傳輸文件 xftp lrzsz scp
3二、如何殺死mariad進程
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb
3三、簡述dns解析流程
1.優先查找本地dns緩存
2.查找本地/etc/hosts文件,是否有強制解析
3.若是沒有去/etc/resolv.conf指定的dns服務器中查找記錄(需聯網
4.在dns服務器中找到解析記錄後,在本地dns中添加緩存
5.完成一次dns解析
3四、linux如何安裝軟件 yum/rpm/源碼包
3五、出於安全角度,簡述如何安裝redis服務端
更改端口
開啓protomode yes安全模式
設置redis密碼
redis-server redis.conf
3六、如何保證本地測試環境和線上開發環境一致
docker打包鏡像
手動解決環境問題,pip3 freeze導出依賴
3七、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 env1
3.激活虛擬環境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.測試 python3 或者 pip3 list
3八、virtulevnwrapper是什麼?簡述使用
virtualenv 的一個最大的缺點就是,每次開啓虛擬環境以前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就須要咱們記住每一個虛擬環境所在的目錄。
Virtaulenvwrapper是virtualenv的擴展包,用於更方便管理虛擬環
1.安裝虛擬環境 pip3 install virtualenvwrapper
2.建立並進入虛擬環境 mkvirtualenv env1
3.切換虛擬環境 workon 虛擬環境名
3九、redis是什麼
Redis是一個開源的基於內存的,key-value數據結構的緩存數據庫,支持數據持久化,m-s複製,經常使用數據類型有string set hash list,
最佳應用場景:適用於數據變化快且數據庫大小可碰見(適合內存容量)的應用程序。
例如:股票價格、數據分析、實時數據蒐集、實時通信。
Redis只能使用單線程,性能受限於CPU性能,故單實例CPU最高才可能達到5-6wQPS每秒(取決於數據結構,數據大小以及服務器硬件性能,平常環境中QPS高峯大約在1-2w左右)
40、redis哨兵是什麼?做用
Redis-Sentinel是Redis官方推薦的高可用性(HA)解決方案
redis哨兵是監控redis主從服務,不存儲數據的,做用是用於自動切換reidis服務主從關係,即當主庫服務中止後,會將其中一個從庫變爲主庫
4一、什麼是靜態資源?什麼是動態資源?
靜態資源指定的是網站的CSS/JS/HTML文件
動態資源通常指的是數據,即後端給前端提供的數據
4二、配置linux軟鏈接的命令 ln -s 目標文件名 軟鏈接名
4三、給如下代碼添加註釋
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
4四、經常使用的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 鏡像 # 推送鏡像
4五、使用rm -i系統會提示什麼信息 是否真的刪除
4六、若是端口8080被佔用,如何查看是什麼進程 netstat -tunlp |grep 8080
4七、linxu下載軟件包的方法有 wget curl
4八、windows和linxu經常使用遠程鏈接工具備哪些 xshell securecrt putty
4九、如何給一個腳本可執行權限 chmod +x 文件名
50、過濾出settings中全部的空白行和註釋行 grep -v "^#" file | grep -v "^$"
5一、過濾出file中以abc結尾的行 grep -v "abc$" file
5二、容器退出後,經過docker ps查看不到,數據會丟失嗎 不會,由於容器是中止了,並無被刪除,經過docker ps -a能夠查看到
5三、如何查看容器日誌 docker rm docker ps -aq
5四、wsgi是什麼 wsgi是web服務器網管接口。他是一個協議,描述了web服務器如何與web應用程序通訊
5五、Django中使用的是?
Django中實現wsgi的是:wsgiref和uwsgi,wsgiref是開發測試用的,uwsgi是線上用的
5六、消息隊列的做用?
1)程序解耦
2)數據冗餘
3)削峯能力
4)可恢復性,就算系統中部分組件掛掉,消息在隊列中也不丟失,待組件恢復後繼續處理消息
5)異步通訊,如發紅包、短信等流程丟入隊列,能夠優先級很低的去處理
7八、服務器被攻擊,之光了全部的CPU資源怎麼辦(不能重裝系統)
1)查看系統負載狀況 如top命令
2)殺死無用的、佔資源的進程
3)系統全局搜索,找到病毒文件刪掉他
4)檢查定時任務
7九、解釋下什麼是GPL,GNU,自由軟件
GPL:(通用公共許可證):一種受權,任何人有權取得、修改、從新發布自由軟件的權力。
GNU:(革奴計劃):目標是建立一套徹底自由、開放的的操做系統。 自由軟件:是一種能夠不受限制地自由使用、複製、研究、修改和分發的軟件。主要許可證有GPL和BSD許可證兩種。
80、如何選擇linux操做系統版本?
通常來講,桌面用戶首選ubuntu、服務器首選rhel或centos,二者中首選centos
8一、請描述linux系統優化的12個步驟
⑴登陸系統:不使用root登陸,經過sudo受權管理,使用普通用戶登陸。
⑵禁止SSH遠程:更改默認的遠程鏈接SSH服務及禁止root遠程鏈接。
⑶時間同步:定時自動更新服務器時間。
⑷配置yum更新源,從國內更新下載安裝rpm包。
⑸關閉selinux及iptables(iptables工做場景若有wan ip,通常要打開,高併發除外)
⑹調整文件描述符數量,進程及文件的打開都會消耗文件描述符。
⑺定時自動清理/var/spool/clientmquene/目錄垃圾文件,防止節點被佔滿(c6.4默認沒有sendmail,所以能夠不配。)
⑻精簡開機啓動服務(crond、sshd、network、rsyslog)
⑼Linux內核參數優化/etc/sysctl.conf,執行sysct -p生效。
更改字符集,支持中文,可是仍是建議使用英文,防止亂碼問題出現。
⑾鎖定關鍵系統文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
/etc/inittab 處理以上內容後,把chatter更名,就更安全了。)
⑿清空/etc/issue,去除系統及內核版本登錄前的屏幕顯示。
8二、描述linx運行級別0-6的各自含義
0:關機模式
1:單用戶模式<==破解root密碼
2:無網絡支持的多用戶模式
3:有網絡支持的多用戶模式(文本模式,工做中最經常使用的模式)
4:保留,未使用
5:有網絡支持的X-windows支持多用戶模式(桌面)
6: 從新引導系統,即重啓
經過init命令切換運行級別
8三、描述linux系統從開機到登陸界面的啓動過程
⑴開機BIOS自檢,加載硬盤。
⑵讀取MBR,MBR引導。
⑶grub引導菜單(Boot Loader)。
⑷加載內核kernel。
⑸啓動init進程,依據inittab文件設定運行級別
⑹init進程,執行rc.sysinit文件。
⑺啓動內核模塊,執行不一樣級別的腳本程序。
⑻執行/etc/rc.d/rc.local
⑼啓動mingetty,進入系統登錄界面。
8四、描述linux下軟硬連接的區別
在Linux系統中,連接分爲兩種,一種是硬連接(Hard link),另外一種稱爲符號連接或軟連接(Symbolic Link)。
①默認不帶參數的狀況下,ln建立的是硬連接,帶-s參數的ln命令建立的是軟連接。
②硬連接文件與源文件的inode節點號相同,而軟連接文件的inode節點號,與源文件不一樣,
③ln命令不能對目錄建立硬連接,但能夠建立軟連接。對目錄的軟連接會常用到。
④刪除軟連接文件,對源文件和硬連接文件無任何影響。
⑤刪除文件的硬連接文件,對源文件及軟連接文件無任何影響。
⑥刪除連接文件的源文件,對硬連接文件無影響,會致使其軟連接失效(紅底白字閃爍狀)。
⑦同時刪除源文件及其硬連接文件,整個文件纔會被真正的刪除。
⑧不少硬件設備的快照功能,使用的就是相似硬連接的原理。
⑨軟連接能夠跨文件系統,硬連接不能夠跨文件系統。
8五、簡單描述vi編輯器的使用
①vi編輯器是linux系統下最最基本和最經常使用的標準文本編輯器。
②vi編輯器有三種工做模式:普通模式、編輯模式、命令模式。
③普通模式下的鍵盤輸入任何字符都是看成命令來執行的,也能夠輸入命令進行光標的移動,字符、單詞、行的複製、粘帖以及刪除等操做。
④編輯模式主要用於文本的輸入。在該模式下,用戶輸入的任何字符都被做爲文件的內容保存起來。
⑤命令模式下,用戶能夠對文件進行一些如字符串查找、替換、顯示行號等操做仍是必需要進入命令模式的。
⑥在普通模式下輸入冒號便可進入命令模式,此時vi窗口的狀態行會顯示出冒號,等待用戶輸入命令。「i」插入模式,便可以進行編輯。用戶輸入完成後,按【Esc】以後編輯器又返回到普通模式下,在命令模式下,保存退出,可使用的命令爲wq和x。前面加!表示強制退出,強制保存等。
8六、請簡述基礎正則表達式grep高級參數的使用
經常使用參數:
-v排除匹配內容,
-e支持擴展的正則表達式,
-i忽略大小寫,
-o輸出匹配的內容(只是一塊,不是行),
–color=auto 匹配內容顯示顏色,
-n 在行首顯示行號。
特殊字符注意事項:
^(尖括號)word :表示搜索以word開頭的內容。
word$ 表示搜索以word結尾的內容。
^$ 表示的是空行,不是空格。
. 表明且只能表明任意一個字符。非正則表達式其餘功能(當前目錄,加載文件)
\ 轉義字符,讓有着特殊身份意義的字符,脫掉馬甲,還原原型。例如.只表示原始小數點意義。
.* 表示匹配全部的字符。^.*表示以任意字符開頭。
[任意字符如abc] 匹配字符集內任意一個字符[a-z]。 [^abc]
^在中括號裏面是非的意思,不包含之意。意思就是不包含a或b或c的行。 {n,m}
表示重複n到m次前一個字符。{n}至少n次,多了不限。{n}N次,{,m}至多m次,少了不限。
注:使用grep或sed要對{}轉義。即\{\}.egrep就不須要轉義了。
8七、