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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux 基础学习大考核

發布時間:2024/6/30 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 基础学习大考核 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0.關于Linux的簡介

Linux(好又免費)的組成部分:

Linux 是一種計算機操作系統: 一系列能讓您與計算機進行交互操作并運行其它程序的程序。 操作系統由多種基礎程序構成。它們使計算機可以與用戶進行交流并接受指令, 讀取數據或將其寫入硬盤、磁帶或打印機,控制內存的使用,以及運行其它軟件。操作系統最重要的組成部分是內核。在 GNU/Linux 系統中,Linux 就是內核組件。Linux不是一個操作系統,嚴格來講,Linux只是一個操作系統中的內核。?

內核是什么?

內核建立了計算機軟件與硬件之間通訊的平臺,內核提供系統服務,比如文件管理、虛擬內存、設備I/O等。既然Linux只是一個內核。那么我們通常所說的Linux操作系統又是什么?我們通常所說的Linux,指 GNU/Linux ,即采用Linux內核的GNU操作系統。操作系統的實際名稱是GNU。?

什么是GNU?

GNU代表GNU’s Not Unix。可以說是一個操作系統又可以說是一種規范。GNU主要有gcc,bash等基礎軟件Linux內核有 Linux Kernel2.2 Linux Kernel2.4 Linux Kernel 2.6 DVD1.isomini.iso?

Fedora,Centos和Redhat的區別

CentOS是Redhat的另一個分支,以Redhat發布的源碼重建符合GPL許可協議的Linux系統,即把Redhat中取出商標Logo以及非自由軟件的部分后重新編譯。CentOS以及被Redhat收購,但任然開源,免費。Redhat有版權有售后,CentOS無版權無售后Fodora是Redhat的一個分支,支持GPL協議,可以認為是Redhat預發布版本?

Linux安裝

ISO鏡像安裝、光盤安裝64位運算速度快,可以更好的發揮硬件的性能,提高業務效率?

Linux特點:

硬件->內核->shell解析器->外圍程序Linux以高效和靈活著稱。Linux是自由軟件,開方源碼,自由修改。兼容Unix且可以實現幾乎全部的Unix特性,多用戶,多線程,多任務,多CPU可以自由傳播,免費、有很高的系統安全型,有大量的免費應用程序和大型數據庫平臺(Oracle+Mysql)?

1.只查詢當前目錄的一級目錄?

ls -l | grep "^d" 只顯示目錄==>ls -ld */ 只顯示目錄==>ls -ld | grep /==>ls -lF | awk '/^d/'==>ls -lF | sed -n '/^d/p'==>ls -lF | grep "/$" 目錄后會加斜線,清晰的表示目錄==>find ./ -maxdepth 1 -type d ! -name "oldboy" 只顯示1級目錄文件且過濾自身

2.保留7天的日志文件

for n in `seq 1 25` ; do date -s "2017/07/$n" ; touch access_web_`(date +%F)`.log; done; find . -name "*.log" -mtime +7 | xargs rm –f

3.文件顯示行號

nl h.txtvi h.txt ->set nucat -n h.txtless -N h.txt (不能直接顯示所有,只能顯示一屏)grep -n "." h.txt1 ==> grep -n "$" h.txt awk '{print NR,$0}' h.txt????

4.裝完系統后希望網絡文件共享NFS服務,僅在3級別以上開機自啟(chkconfig)

chkconfig --level 3456 nfs on chkconfig nfs on(默認2345) ->關閉2 chkconfig --level 2 nfs off

5.文本內容是:??? I am oldboy, my qq is 123213231?
? 請過濾出 "oldboy"? "123213231"???????? ?

awk '{print $3 "\n" $7}' h.txt cut -d" " -f3,7 h.txt cut -c 6-11,21- h.txt

? 請過濾出 "oldboy,123213231" ????

awk '{print $3 "," $7}' h.txt# 使用sed替逗號為空格,然后再用上面的命令去做awk -F "[, ]" '{print $3, $7}' h.txt grep -Eo "oldboy|123*" h.txt ?????

?6.向磁盤寫入信息,發現提示如下錯誤"No space on device",df -h 發現磁盤沒滿,請問什么情況可能是inode被消耗盡了??

df -i 查看inode數量 可能原因就是還有服務在調用,不停的在寫入文件進去(進程訪問的時候,文件可以被刪除) 雖然此時文件已經被刪除,但是block沒有被刪除,還在占用磁盤空間(重啟服務即可/etc/init.d/httpd reload 啟后會生成新的,所以原來的釋放) lsof | grep deleted 可以查看被刪除的文件,但是沒有被link的內容

7.1個100M(100000K)的磁盤分區,分別寫入1k的文件或者寫入1M的文件,可以寫多少個?
?

Inode:存放文件屬性和文件指向 Block:存放文件的實際內容,一般多用4k一個文件至少占用一個inode和一個block,默認分區時block大于inode在默認較大分區的生產環境下,inode的數據時充足的,block消耗的更快解答: 1K的文件寫入,根據inode數量大小

7.?Linux跟Unix區別在于什么?為什么服務器使用Linux多于Unix?

UNIX系統大多是與硬件配套的,而Linux則可運行在多種硬件平臺上.
UNIX是商業軟件,而Linux是自由軟件,免費、公開源代碼的,linux免費
unix和linux都是操作系統的名稱.但unix這四個字母除了是操作系統名稱外,還作為商標歸SCO所有.
Linux商業化的有RedHat Linux 、SuSe Linux、slakeware Linux、國內的紅旗等,還有Turbo Linux.
Unix主要有Sun 的Solaris、IBM的AIX, HP的HP-UX,以及x86平臺的的SCO Unix/Unixware
在網絡管理能力和安全方面,
UNIX系統一直被用做高端應用或服務器系統,因此擁有一套完善的網絡管理機制和規則
Linux沿用了這些出色的規則,使網絡的可配置能力很強,為系統管理提供了極大的靈活性。

8.軟硬連接的區別?(10條)?

1. ln 創建軟硬鏈接概念區別 2. ln 文件軟硬連接,inode區別,是否可以跨系統,是否可以對目錄創建連接 3. 刪除軟硬鏈接對源文件的影響

9.linux 系統文件的刪除原理? ??

i_nolid=0 && i_count=0 刪除 + 解析硬鏈接(內含inode的概念)Linux通過link的數量控制文件的刪除,只有當一個文件不存在任何link的時候,文件才會被刪除。rm命令而言,就是減少磁盤引用計數i_nlink(文件到inode的鏈接數量)inode節點指向存儲數據的block,刪除文件并不是清除inode和block。文件的硬鏈接為0,引用計數為0 才能刪除文件如果有新的數據存儲或者系統通過類似fsck命令做磁盤檢查的時候,被刪除的數據塊和目錄會被釋放,數據無法找回文件刪除的條件: i_link = 0 && i_count =0 i_nlink 文件的硬鏈接數量,磁盤的引用計數器i_count 內存引用計數(一個文件被幾個程序調用,有一個程序使用i_count + 1 )靜態文件:沒有程序調用的文件

10.企業目錄軟連接的作用? ?

1.編譯軟件時,指定版本號(apache/apcahce-2.2.3),訪問時需要去掉版本號(apache/apache)可以設置軟連接到編譯的路徑,所有程序都訪問軟連接文件當軟件升級高版本后,只需刪除連接文件后,重新連接到高版本的文件 2.企業代碼發布的時候(PHP),需要所有的代碼傳到一個新的目錄或者站點目錄。發布時,直接mv 也可以重建軟連接到新的臨時目錄或者站點目錄 3.不方便文件的移動,還想在當前目錄訪問到,也可以 ln -s

11.打印IP地址? ? ??

ifconfig eth0 | grep "inet addr" | sed -r 's#^.*dr:##g'|sed -r 's# B.*$##g' ifconfig eth0 | grep "inet addr" | sed -r 's#^.*dr:(.*) Bc.*$#\1#g'ifconfig eth0 | sed -nr '2s#^.*dr:(.*) Bc.*$#\1#pg' ifconfig eth0 | sed -n '2p' | awk -F "[:B]" '{print $2}'ifconfig eth0 | awk -F "[:B]" 'NR==3 {print $2}'ifconfig eth0 | sed -n '2p' | cut -c 21-34ifconfig eth0 | sed -n '/inet addr/p' | cut -c 21-34 ifconfig eth0 | awk '/inet addr/' | cut -c 21-34 ifconfig eth0 | awk -F '[: ]+' 'NR==2 {print $4} ifconfig eth0 | sed '/inet addr/'

12.文件目錄? ? ??

/var/log/sercure 系統安全日志/etc/sysctl.conf/etc/sysconfig/i18n/etc/sudoers/var/spool/cron/root/var/log/messages 系統日志/etc/passwd /etc/shadow/etc/group/etc/gshadow/etc/motd/etc/issue/etc/redhat-release/etc/inittab/etc/profile/etc/fstab 磁盤文件系統開機掛載文件/etc/rc.local/etc/resolv.conf/etc/network-script/ifcfg-eth0/etc/sysconfig/etc/hosts/var/spool/clientmqueue 郵件臨時目錄/proc/interrupts 查看中斷文件

12-1 ?文件解壓大全?

tar xf *.tar tar zxf *.tar.gz gunzip -d *.gz tar jxf *.bz2 gunzip *.zip unzip *.zip

13.說出10個通配特殊字符(bash環境下執行,多用于命令行)以及含義? ? ?

* 代表任意0到多個字符? 任意一個字符 ls oldbo?.log~ 用戶家目錄- 上次路徑 .. 上一級目錄>> 追加輸出重定向! 取反> 輸出重定向< 輸入重定向. 當前目錄$ 變量前面增加的內容'' 所見即所得`` 反引號,tab之上,2個``中間即命令,會先執行,等價于${}"" 會把變量解析 {} 中間位命令區塊組合或內容序列 touch {a,b,c}.log touch log.{4..6} echo {1..3} ==>1 2 3| 管道/ 路徑分隔符 # 注釋符號; 連續不同命令的分隔符|| 當前一個命令執行失敗 也會執行后面的命令行 二選一的 你去我就不去 你不去我就去&& 當前一個命令執行失敗 也不會執行后面的命令 echo "hello" && echo "world" -->hello world無引號:把內容輸出出來,但是可能不能將含有空格的字符串作為一個整體區輸出如果內容中有命令,變量等,會先解析出結果,最后輸出最終內容如果字符串有空格等特殊字符則不能完整輸出,需要改加雙引號???

14.Linux的開機啟動流程?

1開機BIOS自檢 -->檢查CPU,硬盤信息等內容 2.MBR引導(讀取磁盤的0磁道,0柱面,1扇面,前446字節) -->預啟動,確定硬盤啟動 3.grub引導菜單(/etc/grub.conf)-->確定加載哪個系統 4.加載內核kernel 5.啟動init進程(Linux第一個進程) /sbin/init 6.讀取inittab文件(/etc/inittab),設定運行級別,init進程執行rc.sysinit(設置主機名,網絡等信息) -->(/etc/rc.d/rc.sysinit + /etc/rc.d/rc3.d/*) 7 啟動內核模塊,執行不同級別的腳本程序 8.執行/etc/rc.d/rc.local 9.執行/bin/login登錄程序,啟動mingetty(終端登錄進程),進入系統登陸界面http://oldboy.blog.51cto.com/2561410/791273/

15.??? 如何取得/etc/hosts? 文件的權限所對應的數字內容,例如 -rw-r--r--為644??

stat -c %a /etc/hosts --> -c==format %a 輸出二進制stat /etc/hosts | sed -nr '4s#^.*\(0(.*)/-.*$#\1#gp'stat /etc/hosts | sed -n '4p' | awk -F "[0/]" '{print $2}'stat /etc/hosts | sed -n '/Access: (/p' | awk -F "[0/]" '{print $2}'stat /etc/hosts | awk '/Access: \(/' | awk -F "[0/]" '{print $2}'stat /etc/hosts | awk -F "[0/]" 'NR == 4 {print $2}' stat /etc/hosts | awk -F "[0/]" '{ if(NR == 4) print $2}'stat /etc/hosts | sed -n '4p' | cut -d "/" -f1 | cut -d "0" -f2 (-d表示切割符,-f表示第幾列)stat /etc/hosts | head -4 | tail -1 | cut -d "/" -f1 | cut -d "0" -f2 (-d表示切割符,-f表示第幾列)ll /etc/hosts | tr rwx- 4210| awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'ll /etc/hosts | cut -c 2-10 | tr rwx- 4210 |awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}' 總結:head.tail,sed,awk,grep 定位到單行 -->慣用取行命令cut,awk 設置分隔符取出需要的內容 -->慣用取列命令可以用 sed -n '/***/p' ==> sed '/^$/d' h.txt 過濾信息 ==> awk '/***/' 過濾信息

如何查看當前的Linux服務器的運行級別?

# 命令可以用來查看當前的Linux服務器的運行級別。 # 方案一 who -r # 方案二 runlevel

如何查看Linux的默認網關?

# 方案一 route -n # 方案二 netstat -rn

如何在Linux上重建初始化內存盤鏡像文件?

在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令來創建初始化內存盤文件 如果你想要給特定的內核版本創建初始化內存盤,你就用所需的內核名替換掉 ‘uname -r’ 在CentOS 6.X / RHEL 6.X中,則用dracut命令來創建初始化內存盤文件

patch命令是什么?如何使用?

答: patch命令就是用來將修改(或補丁)寫進文本文件里。patch命令通常是接收diff的輸出并把文件的舊版本轉換為新版本。舉個例子,Linux內核源代碼由百萬行代碼文件構成,所以無論何時,任何代碼貢獻者貢獻出代碼,只需發送改動的部分而不是整個源代碼,然后接收者用patch命令將改動寫進原始的源代碼里

如何從命令行查看域SPF記錄?

答: 我們可以用dig命令來查看域SPF記錄

如何識別Linux系統中指定文件(/etc/fstab)的關聯包?

# 使用rpm命令 rpm -qf /etc/fstab

Linux系統中的/proc文件系統有什么用?

答: /proc文件系統是一個基于內存的文件系統,其維護著關于當前正在運行的內核狀態信息,其中包括CPU、內存、分區劃分、I/O地址、直接內存訪問通道和正在運行的進程。這個文件系統所代表的并不是各種實際存儲信息的文件,它們指向的是內存里的信息。/proc文件系統是由系統自動維護的

如何在/usr目錄下找出大小超過10MB的文件?

find /usr -size +10M

如何在/home目錄下找出120天之前被修改過的文件?

find /home -mtime +120

如何在/var目錄下找出90天之內未被訪問過的文件?

find /var ! -atime -90

如何在整個目錄樹下查找文件“core”,如發現則無需提示直接刪除它們?

答: find / -name core -exec rm {}

strings命令有什么作用?

答: strings命令用來提取和顯示非文本文件中的文本字符串。(LCTT 譯注:當用來分析你系統上莫名其妙出現的二進制程序時,可以從中找到可疑的文件訪問,對于追查入侵有用處)

tee 過濾器有什么作用 ?

答: tee 過濾器用來向多個目標發送輸出內容。如果用于管道的話,它可以將輸出復制一份到一個文件,并復制另外一份到屏幕上(或一些其它程序)

export PS1 = ”$LOGNAME@hostname:$PWD: 這條命令是在做什么?

答: 這條export命令會更改登錄提示符來顯示用戶名、本機名和當前工作目錄

ll | awk ‘{print $3,”owns”,$9}’ 這條命令是在做什么?

答: 這條ll命令會顯示這些文件的文件名和它們的擁有者

Linux中的at命令有什么用?

答: at命令用來安排一個程序在未來的做一次一次性執行。所有提交的任務都被放在 /var/spool/at 目錄下并且到了執行時間的時候通過atd守護進程來執行

linux中lspci命令的作用是什么?

答: lspci命令用來顯示你的系統上PCI總線和附加設備的信息。指定-v,-vv或-vvv來獲取越來越詳細的輸出,加上-r參數的話,命令的輸出則會更具有易讀性

查看請求訪問量

頁面訪問排名前十的IP

cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10

頁面訪問排名前十的URL

cat access.log | cut -f4 -d " " | sort | uniq -c | sort -k 1 -r | head -10

查看最耗時的頁面

cat access.log | sort -k 2 -n -r | head 10

16. test用戶下執行 sudo su - omd ,請問輸入誰的密碼??

[test@oldboy ~] $ sudo su - omd      -->test用戶的密碼# 通過test用戶切換到omd,所以此時輸入的是test用戶的密碼

17. echo "hello"; echo "world"?? -->希望輸出來 helloworld怎么解決??

echo -n "hello"; echo "world"echo $? -->為0表示執行沒有報錯

18. 希望輸出date日期為 17-08-02?

date +%F --> 2017-08-02 date +%y-%m-%d -->17-08-02 date +%y-%m-%d\ %H-%M-%S -->17-08-02 21-16-14 date +%y-%m-%d\ %H:%M:%S -->17-08-02 21:16:14 date +%F\ %T --> 2017-08-02 21:18:14 安裝時間打包:tar -czvf omd-`date +%F`.tar.gz ./home/tar -czvf omd-$(date +%F).tar.gz ./home/ echo $(date +%F -d +3day) --實現安裝周打包 date +%w 第3天 tar -czvf system_$(date +%F).tar.gz /host

19.生產環境中,要求保留最近的7天的內容,何解?
??

1. 定時刪除7天之前的文件(一定要用-name -f -mtime 3個參數確定好你的文件)find /var/log -type f -name "*.log" -mtime +7 | xargs rm -f 刪除7天前的 2. 按照周打包文件tar -czvf system_$(date +%w).tar.gz ./home/

20.root用戶切換到omd后,執行ifconfig后顯示命令不存在,何解?

這個是因為omd用戶的系統環境變量PATH路徑問題導致,但在只在CentOs5中有,因為此命令在/sbin,不再全局變量中解決1:帶全路徑執行 /sbin/ifconfit eth0解決2:-->臨時將ifconfig的環境變量添加到PATH路徑中 export PATH=$PATH:$HOME/bin:/sbin解決3: -->永久omd用戶下編輯vi .bash_profile ,修改如下后保存PATH=$PATH:$HOME/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binsource .bash_profile

20-1. 自動刪除n天前日志

刪除文件命令 find /var/log/ -mtime +30 -type f -name '*.log' -exec rm -f {} \; find /var/log/ -mtime +30 -type f -name '*.log' |xargs rm -f ;

21. 如何把文件中的空行去掉:
?

grep -v "^$" h.txt -->標準 grep "." h.txt -->不標準 sed '/^$/d' h.txt awk '/^[^$]/' h.txt


22.查找命令:
??????

快速查找ifconfig的全路徑,請給出命令 which --> 重PATH路徑查找 which ifocnfig whereis --> -b 查找二進制文件 whereis -b ifconfig find --> find / -type f -name "ifconfig" locate --> locate ifconfig | head -l locate是從一個數據庫(需要提前updatedb更新數據庫)中查找-->一般不用的

23. 開關機命令
?????

關機 關機之前使用 sync;sync;sync;將緩存中的數據寫入磁盤,避免造成數據丟失***shutdown -h now shutdown -h 1(1分鐘后) -->生產環境init 0 -->切換到運行級別0***halt -->立即停止系統,需要人工關閉電源 -->生產環境poweroff -->停止系統,關閉電源重啟命令rebootshutdown -r now shutdown -r +1 1分鐘后重啟init 6注銷:logoutexitctrl + d -->常用

24. 說出10個linux正則表達式

.*.* {n,m} [] [^abc] \b \w \d ^ $ ? + () | ^$ \

25. 說出Linux的默認目錄以及目錄對應權限,如何控制默認權限
?????????

文件 644 umask 022 666 - 022 644 (umask遇奇數位 + 1 ) 目錄 755 umaks 022 777 - 022 755

26. 如何Linux修改文件以及目錄權限
???

1.chmod 755 h.txt 2.chmod u=rx,g=rx,o=wx h.txt

27. 如何普通用戶執行某個特殊命令的使用?
?

a.sudob.suid c.chmod

28. Linux的特殊權限suid的作用以及應用場景
?

suid: 普通用戶執行某個命令的時候獲得了這個二進制命令/程序對應的用戶的權限 omd獲得root用戶的rwx,s用4表示應用場景:所有普通用戶需要處理的工作,但是很危險,又希望獲得root的特殊命令來自己執行passwd ping 授權uid

29. 描述對于文件和目錄,rwx-分別是什么權限作用

區別root和普通用戶不同的權限文件:r:查看內容 cat w:修改文件內容 echo >> vi(需要r配合) x:執行文件 需要wr配合-:沒有權限目錄:r:ls 顯示出來w:rm 創建文件,目錄x:cd 需要wr配合-:沒有權限

30. 描述一下三次握手和四次揮手

三次握手建立連接

1)客戶端發送 SYN 消息,其中包含服務器的端口和客戶端的初始序列號(ISN)到服務器(活動打開)。2)服務器會發送回SYN和ACK(其中包括的客戶端的 ISN + 1)。3)客戶端發送一個 ACK,(其中包括的服務器的 ISN + 1)。?

四次揮手關閉連接

TCP的連接是全雙工(可以同時發送和接收)連接,因此在關閉連接的時候,必須關閉傳和送兩個方向上的連接??蛻魴C給服務器一個FIN為1的TCP報文,然后服務器返回給客戶端一個確認ACK報文,并且發送一個FIN報文,當客戶機回復ACK報文后(四次握手),連接就結束了。1)客戶端發送一個FIN(活動收盤)。這是一個現在半關閉連接。客戶端不能再將數據發送,但仍然能夠從服務器接收數據。收到此 FIN 服務器進入被動關閉狀態。2)服務器發送一個ACK(這時客戶端 FIN 序列 + 1)3)服務器發送其自身FIN。4)客戶端發送一個ACK(這是服務器的 FIN 序列 + 1)。收到此 ACK 服務器關閉連接。

30-1 描述/dev/null和/dev/zero的區別

1./dev/null:表示 的是一個黑洞,通常用于丟棄不需要的數據輸出, 或者用于輸入流的空文件1.1 將無用的輸出流寫入到黑洞丟棄。curl -Iwww.baidu.com 2>/dev/null | head -l 錯誤信息定位到黑洞1.2 清空文件 cat /dev/null > /home/omd/h.txt1.3 在書寫定時任務總,規范的寫法就是將所有定時任務腳本結尾加上>/dev/null 2>&1,讓所有的輸出流(包括錯誤的和正確的)都定向到空設備丟棄。00 01 * * * /bin/sh/server/scripts/mysqlbak.sh >/dev/null 2>&12./dev/zero:當我們使用或者讀取他的時候,她是會提供無限連續不斷的空的數據流2.1覆蓋其他的文件信息2.2產生指定大小的空文件,如交換文件,模擬虛擬文件系統

31.程序和進程的區別:
??

程序:靜止的汽車進程:運動中的汽車 -->運行的程序叫進程

32.關于crond的問答:
???

omd用戶編輯內容: crontab -u omd -e 查看omd用戶編輯內容:crontab -u omd -l==> cat /var/spool/cron/omd 問:顯示omd用戶沒有權限執行修改命令,為何還能修改: [root@localhost cron]# ll /var/spool/cron/omd -rw-------. 1 root root 2 Aug 5 21:25 /var/spool/cron/omd 答:因為crontab命令的權限是 -rws 可以執行root用戶的權限[root@localhost cron]# which crontab/usr/bin/crontab [root@localhost cron]# ll /usr/bin/crontab-rwsr-xr-x. 1 root root 47520 Mar 4 2011 /usr/bin/crontab 問:怎么可以讓omd用戶不執行crontab命令呢? 答:1.取消/usr/bin/crontab 文件的s權限2.vim /etc/cron.deny

33.郵件隊列有哪些?怎么清空?
???

crond里面頂一樓很多定時任務,每執行一次,就會發送一個郵件給管理員,文件會占用系統的inode資源,導致服務器報錯,可以定時刪除,或者vi /etc/crontab 將‘MAILTO=root’改寫為MAILTO="" 或 crontab -e 第一行添加MAILTO="" /var/spool/clientqueue/ --> centOs5 /var/spool/postfix/maildrop/ --> centOs6 find /var/spool/clientqueue -type f | xargs rm -f -->刪除

34.每隔2小時,打包/home/omd文件到/tmp ? 定時任務??? $(date +%Y%H:%M:%S)
?????

vim tar.sh cd /home && tar -xfz /tmp/omd_$(date +%F_%H:%M:%S).tar.gz /bin/sh /home/omd/tar.sh crontab -e #tar /home/omd to /tmp for backup0 */2 * * * /bin/sh /home/omd/tar.sh >/dev/null 2>&1 01.每隔2小時 0 */202.打包到上級目錄打包03.測試命令正確后粘貼到crontab 04.定向的空設備,不要屏幕輸出,可以寫入log文件 05.寫腳本用來執行任務,腳本路徑要規范06.直接寫入crontab -e 里面注意特殊字符的轉義

35.為什么只要一添加用戶,就會從/etc/skel下面拷貝.bash*的文件呢??

因為在/etc/default/useradd文件中寫了默認從這個文件拷貝文件

36.批量創建10個用戶stu01-stu10,并且隨記設置8個密碼
?????

1.Linux中也有可以實現批量添加用戶并且設置密碼的命令(newusers chpasswd) 2.思路如下: -->待完善2.1 00 創建seq -w 10 --> 00 01 02 03 04 05 06 07 08 09 10 ==>echo {00..10} --> 00 01 02 03 04 05 06 07 08 09 10 2.2 隨記密碼生成 echo $RANDOM -->5位echo $RANDOM|md5sum|cut -c 1-8 ->8位pass=$((RANDOM + 10000000)); -->生成8為密碼2.3 創建用戶echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1;pass=$((RANDOM + 10000000));echo "$pass"|passwd --stdin \1;echo -e "\1 \t `echo "$pass"`" >> /home/omd/h.txt#g'|bash->分解一下echo stu{01..10} -->打印stu01到stu10 默認是空格顯示tr " " "\n" -->空格換成換行sed -r 's#(.*)#useradd \1; #g' -->顯示useradd stu01 pass=$((RANDOM + 10000000)); -->生成8為密碼echo "$pass"|passwd --stdin \1; -->交互式寫入用戶密碼echo -e "\1 \t `echo "$passwd"`" -->stu01 密碼sed -r 's#(.*)#useradd stu01 -p $pass #g' echo -e "stu01 密碼" >> /home/omd/h.txt 2.4 批量刪除echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#userdel -r \1#g' |bash 3.shell編程for stu in stu{00.10}dopass=$(echo $RANDOM|md5sum|cut -c 1-8)useradd $stu && echo "$pass"|passwd --stdin $studone;

37.怎么可以阻止一個用戶登錄?
???

1.確保刪除一個文件之前,先進行備份,管好你的回車鍵,除非你確保沒問題 2.比刪除更好的是注釋掉這個文件 3.刪除用戶,可以#也可以使用/bin/nologin 4.pawd -l omd -->鎖定賬戶 5.設置文件過期chage -E "2017/08/11" omd==>useradd -e "2017/08/11" omd==>usermod -e "2017/08/11" omd

38.企業生產環境用戶權限集中管理方案實例 ? ? ? ? ? ? ?
???

1.創建初級工程師3個,網絡工程師1個,中級工程師1個,經理1個for user in chuji{01..03} net01 senior01 manager01 > do> useradd $user> echo "111111"|passwd --stdin $user> done; 2.創建5個開發人員,屬于phpers組groupadd -g 999 phpersfor n in `seq 5`do useradd -g phpers php0$ndone 3.創建開發經理,中級phperfor user in kaifaManager seniorPhper> do> useradd $user> echo "111111"|passwd --stdin $user> done 4.sudo的配置內容########################Cmnd_Alias By FTL ###################################Cmnd_Alias CY_CMD_1=/usr/bin/free, /usr/bin/iostat,/usr/bin/top, /bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route Cmnd_Alias GY_CMD_1=/usr/bin/free, /usr/bin/iostat,/usr/bin/top, /bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route, /sbin/iptables, /etc/init.d/network, /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall, /bin/rpm, /usr/bin/updatedb, /usr/bin/yum, /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umountCmnd_Alias CK_CMD_1=/usr/bin/tail, /bin/grep, /var/log/messages*Cmnd_Alias GK_CMD_1=/sbin/service, /sbin/chkconfig, /bin/tail, /var/log/*, /bin/grep, /bin/cat, /bin/ls, /bin/shCmnd_Alias GW_CMD_1= /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /sbin/iwconfig, /sbin/mii-tool, /bin/cat, /var/log/*########################User Aliases By FTL ###################################User_Alias CHUJI_YUNWEI_ADMINS=chuji01,chuji02,chuji03User_Alias CHUJI_KAIFA_ADMINS=php01,php02,php03,php04,php05User_Alias GAOJI_WANG_ADMINS=net01########################Runas_Alias By FTL ###################################Runas_Alias OP = root -->未來切換到某個角色執行任務########################Config By FTL ###################################senior01 ALL=(OP) GY_CMD_1manager01 ALL=(ALL) NOPASSWD:ALLkaifaManager ALL=(ALL) ALL, /usr/bin/passwd [A-Za-z], !/usr/bin/passwd root, !/usr/sbin/visudo,\!/usr/bin/vi *sudoer*, !/usr/bin/sudo su -, !/bin/suseniorPhper ALL=(OP) GK_CMD_1CHUJI_YUNWEI_ADMINS ALL=(OP) CY_CMD_1CHUJI_KAIFA_ADMINS ALL=(OP) CK_CMD_1GAOJI_WANG_ADMINS ALL=(OP) GW_CMD_1注意:別名要大寫 命令的路徑要全路徑 超過一行,用"\"換行 排除的命令一定在最后面寫kaifaManager 因為有ALL,所以可以直接su - 切換root,但是 sudo su -切換不了

39.企業生產環境日志審計解決方案???????????????????

1.日志審計:記錄所有系統以及相關用戶行為的信息,并且可以自動分析,處理,展示(文本形式) 2.思路如下:1.通過環境變量命令以及syslog服務進行全部日志的審計 -->信息太大,不推薦2.sudo配合syslog服務,進行日志審計 (信息較少,效果不錯,推薦使用)3.在bash解釋器程序中潛入一個監視器,讓所有被審計的系統用戶使用修改過的增加了監視器的特殊bash作為程序解釋程序4.使用商業產品 -->堡壘機 3.項目;sudo日志審計 -->專門對使用sudo命令的系統用戶記錄其執行的命令3.0.以下針對單機版本(完整版):1.安裝/查看sudo命令,syslog服務rpm -qa | egrep "sudo|syslog"2.配置/etc/sudoers增加配置,表示sudo的log記錄到/var/log/sudo.log文件中 echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoersecho "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf -->其實可以不用的--> 再rsyslog.conf的文件指定一個local2的設備,執行級別是debug,把執行的命令,通過rsyslog寫入sudo.log查看添加的配置信息tail -1 /etc/sudoerstail -l /etc/rsyslog.conf echo使用時要檢查語法visudo -c -->針對/etc/sudoers重啟rsyslog服務service rsyslog restart==> /etc/init.d/rsyslog restart查看日志文件:ll /var/log/sudo.log權限600 root.root3.1 日志集中管理 ---集群環境(部分參考版)1.思路 1.rsync + inotify或者定時任務+rsync,推送日志管理到服務器上, 10.185.163.162_20170813_sudo.log2.rsync服務處理echo "10.185.163.162 logserver" >> /etc/hosts日志服務器地址:echo "*.info @logserver" >> /etc/rsyslog.conf -->適合所有的日志推走3.日志收集 scribeflume對nginx采集stormlogstash2.配置日志服務器記錄日志1.配置logserver服務器echo "10.185.163.162 logserver" >> /etc/hoststail -1 /etc/hostsping logserver2.配置客戶端syslog文件echo "*.info @logserver" >> /etc/rsyslog.conf 將日志推送到服務器tail -1 /etc/syslog.conf/etc/init.d/rsyslog restart


40.已知一個端口為333,如何查看端口對應的服務名
??

1. lsof -i :3332. netstat -lntup|grep 333-n:number 數字形式顯示-t: tcp協議-u: udp協議-l: list-p: print 進程附加:如果給你一個進程名,如何查看端口:netstat -lntpu|grep sshd

41.如何查看一個已經被刪除但任然占用進程的文件名?
? lsof |grep deleted
??? groff???? 5734????? root??? 0r????? REG????????????? 253,0??? 53449???? 534312 /tmp/man.HZYQ8B (deleted)

42.網絡以及服務故障的檢查:

-->先確定是個人問題還是全部的問題 1.上不了網(局域網以及個人)0. 網卡壞了 a. ping www.baidu.com -->icmp協議1.1不通則 ping 網關 -->不通則路由有問題b. traceroute www.baidu.com -->測試路由之間是否通c. telnet www.baidu.com 22 -->測試服務器WEB有沒有開啟服務,以及防火層有沒有擋==>nmap www.baidu.com -p 22==>nc 不通:端口沒開,或者不存在fw防火墻阻擋服務監聽的端口不在連接的IP上其他: IP被占用,IP沖突,其他人是否可以上網,大面積不能上網,檢查路由,交換機附:window的跟蹤路由tracert -d www.baidu.com 2.能上網,但是很慢(運維人員)同上abc服務器負載資源過高,服務器以及服務器的連接數過多服務器帶寬滿了,用戶帶寬 流量監控檢查是不是存儲服務器,NFS以及磁盤IO搞查看數據庫是不是負載高,IO搞,CPU搞服務器受攻擊3.總結以上:1.先確定是個人還是全部a. ping www.baidu.com -->icmp協議通:不丟包: 正常丟包: 服務器帶寬不穩定,過載不通:服務器掛了,交換機故障b. traceroute www.baidu.com -->測試路由之間是否通2.機房業務是否OKc. telnet www.baidu.com 22 -->測試服務器WEB有沒有開啟服務,以及防火層有沒有擋==>nmap www.baidu.com -p 223.外部問題d.帶寬滿了f.服務器IO,CPU過載等g.代碼問題4.其他問題客戶自己的問題,帶寬小,CPU處理慢等5.集群架構(數百臺服務器)h.數據庫問題,登錄數據庫,優化數據庫等i.存儲服務器的問題等,IO以及NFS是否過高等

43.http協議(應用層)的工作原理
???

超文本傳輸協議(HTTP:Hypertext Transport Protocol)是萬維網應用層的協議。它通過兩個程序實現:一個是客戶端程序(各種瀏覽器),另一個是服務器 (常稱Web服務器)。這兩個通常運行在不同的主機上,通過交換報文來完成網頁請求和響應。 一次HTTP操作稱為一個事務,其工作過程可分為四步:1)首先客戶機與服務器需要建立連接。只要單擊某個超級鏈接,HTTP的工作開始。 2)建立連接后,客戶機發送一個請求給服務器,請求方式的格式為:統一資源標識符(URL)、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。 3)服務器接到請求后,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容。 4)客戶端接收服務器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機與服務器斷開連接。 如果在以上過程中的某一步出現錯誤,那么產生錯誤的信息將返回到客戶端,有顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標點擊,等待信息顯示就可以了


44.dns的解析原理????????????????????????????????????? -----畫圖解答
45.OSI的7層模型??
46.生產環境中磁盤的選型和應用案例???????????? --

磁盤接口類型:IDEA,SCSI,SAS(15000/m),SATA,SSD(除了SSD,都是串口),光纖IDEA:淘汰企業級SAS: 15000/分, 300G 600G 1T, 多用線上的服務器 -->首選企業級SATA:7200-10000/分 1T 2-4T 6T 經濟實惠,多用數據存儲,站點數據庫,線下備份等 -->HW 企業級SSD: 線上高并發,小容量業務思想: 根據/業務場景進行選擇,SSD + STAT(訪問頻率大的放SSD,訪問次數不高的放入SATA,始終把SSD放入高頻率用戶,冷熱數據可以動態調動,從而兼顧性能,容量,成本)提醒: 不要用SATA用作磁盤做在線的高并發服務存儲數據和數據庫業務

41.磁盤工作的過程和原理
??

磁盤工作的過程:磁盤工作的時候,磁盤會高速運動,當達到一定速度的時候,氣流很強,足夠將磁頭托起并保持微小的距離(距離越小,磁頭讀取數據的靈活性越高),磁頭會慢慢地由啟停區向外移動,磁頭讀取最外面的0磁道的數據(由0磁道檢測器進行引導)磁頭沿著直徑做徑向運動,盤片旋轉,轉一圈讀取一圈的數據?!げ还ぷ鞯臅r候回到啟停區。1.磁盤的讀寫是按照柱面為單位進行的;從0盤面開始,讀取完數據后,讀取1盤面相同半徑的數據,以此類推,讀取半徑相同的磁盤的數據到結束后讀取另一個半徑的數據2.不同磁頭之間的切換是電子切換,不同半徑直接的切換是機械的(依靠電機移動磁頭手臂)磁盤讀取數據的原理:電脈沖信號轉換為電腦可識別的信息利用特定的磁粒子的極性來記錄數據。磁頭在讀取數據時,將磁里自帶不同極性轉換成不同的電脈沖信號,再利用數據轉換器將原有的初始信號變成電腦可用的數據。寫與此相反磁盤讀寫數據的時候,應盡可能的讓磁頭不動,這樣才能盡可能多的讀取更多的數據

42.問172.16.22.38/27,求子網ID,廣播地址,主機數和主機可用數目

答: 32-27=5,故主機為有2的5次方 -2 = 30個(這串地址的最小和最大地址分別用作網絡地址(也叫網絡號)和廣播地址,不能分配給主機)子網掩碼連續27個111111111 11111111 11111111 11100000 -> 子網DI為255.255.255.224.0網絡位27個,172.16.22就不用看了,占用了24個網絡位,還有3個網絡位,計算一下38的二進制00100110,我們取前三位001;那就是現在這樣172.16.22.001xxxxx,如果我們都改成0就是網絡地址(網絡號),都改成1就是廣播地址,計算一下,地址的范圍是32到63

4? 一臺服務器6塊600G磁盤,raid5后,總大小3T,此時無法安裝操作系統,解決辦法是做raid5后,不要重啟裝系統,而是raid界面,繼續分1個小的虛擬磁盤vd 200G,用這個200G的虛擬磁盤安裝系統,安裝完成后再把剩余的2.8T分區通過parted

43.企業不同業務場景的服務器你是如何區分的?(備用)
?

普通: /boot 100 /dev 1.5(8-16G) / db: /boot 100 /dev 1.5(8-16G) date 50G / 門戶: /boot 100 /dev 1.5(8-16G) / 50-100 剩余的留著備用

44.說出5個以上的磁盤管理的命令*(分區,格式化,掛載)
??

fdisk -l -cupartedmkfsmount -a -t -o umount tune2fs -c -1dump2fs(塊組,可用的inode) 詳細信息df -hidu -sh partprobe

45.RAID 0 1 5 10原理,冗余,性能的區別?
???

Raid有”廉價磁盤冗余陣列”的意思,就是利用多塊廉價的硬盤組成磁盤組,讓數據分部儲存在這些硬盤里面,從而達到讀取和寫入加速的目的;也可以用作數據的冗余,當某塊硬盤損毀后,其他硬盤可以通過冗余數據計算出損壞磁盤的數據,這樣就提高了數據儲存的安全性。可以提供較普通磁盤更高的速度、安全性,所以服務器在安裝時都會選擇創建RAID。創建方式:軟RAID(通過操作系統軟件來實現)硬RAID(使用硬件陣列卡)。為什么用RAID:提高數據安全性 提升數據讀寫性能 提供更大的單一邏輯磁盤數據容量存儲RAID-0 :striping(條帶模式)特點:在讀寫的時候可以實現并發,所以相對其讀寫性能最好,每個磁盤都保存了完整數據的一部分讀取也采用并行方式,磁盤數量越多,讀取和寫入速度越快。因為沒有冗余,一個硬盤壞掉全部數據丟失至少兩塊硬盤才能組成Raid0陣列。 容量:所有硬盤之和。磁盤利用率為100%生產應用場景 1、負載均衡集群下面的多個相同RS節點服務器 2、分布式文件存儲下面的主節點3、MySQL主從復制的多個slave服務器 4、對性能要求很高,對冗余要求很低的相關業務RAID-1 :mirroring(鏡像卷)特點:至少需要兩塊硬盤raid大小等于兩個raid分區中最小的容量(最好將分區大小分為一樣)數據有冗余,在存儲時同時寫入兩塊硬盤,實現了數據備份; 磁盤利用率為50%,即2塊100G的磁盤構成RAID1只能提供100G的可用空間。RAID-5特點:采用奇偶校驗,可靠性強磁盤校驗和被散列到不同的磁盤里面,增加了讀寫速率。只有當兩塊磁盤同時丟失時,數據才無法恢復至少三塊硬盤并且硬盤大小應該相等才能組成Raid5陣列。容量:所有硬盤容量之和減去其中一塊硬盤的容量被減去的容量被分配到三塊硬盤的不同區域用來存放數據校驗信息。Raid10(Raid1+Raid0)特點:是現在比較常用的一種磁盤陣列級別,它的容錯好,讀寫數據效率較高,但經費相對也較高。備份和并發式存取數據,可靠性強。D1、D2組成一個陣列Raid1,其中D1是數據盤,D2是備份盤;D3、D4也組成一個Raid1,其中D3是數據盤,D4是備份盤;在這個基礎上將D1、D2作為一個整體,將D3、D4也作為一個整體這兩個整體之間再組成一個Raid0陣列。這樣不僅僅讀取數據會非???#xff0c;并發寫入的速度也會隨著磁盤的增多而變快。至少四塊硬盤并且每塊硬盤大小應該相等才能組成Raid10陣列。容量:所有硬盤容量之和的一半(一半寫數據,一半用來備份數據)??偨Y:(從節點)RAID0 讀寫速度很快 沒有任何冗余 MySQL Slave(數據庫的從庫,小弟),集群的節點RS(監控,重要)RAID1 100%冗余,鏡像 讀寫性能一般 成本高 單獨的,數據重要,且不能宕機的業務,監控,系統盤(正常業務)RAID5 具備一定性能和冗余,可以壞一塊盤,讀性能不錯 寫入性能不高 一般的業務都可以用(數據庫的主節點)RAID10 讀寫速度很快,100%冗余 成本高 性能和冗余要求很好的業務。數據庫主庫和存儲的主

46.fstab修改錯誤導致文件系統無法啟動故障修復案例
???

維護、單用戶模式mount -o remount,rw / -->文件系統只讀的時候需要處理修改fstab

47.磁盤設備實戰

1.磁盤的外部,內部構造以及原理 2.機械磁盤的讀取數據的工作原理 3.什么是磁道,扇區,柱面 4.什么是文件系統,常見的文件系統 5.磁盤存儲的最小單位是?數據均為10-100M的視頻文件,該如何配置文件儲存在硬盤上,硬盤的最小存儲單位叫做"扇區"(Sector)。每個扇區儲存512字節(相當于0.5KB)。 6.一個硬盤最p多有多少分區?為什么? 7.一個100M大小的分區,1k的文件可以寫入多少個,威懾么? 8.如何查看操作系統以及內核的版本uname -rcat /etc/redhat-releaseuname -m 9.配置nfs需要啟動那些相關的服務服務器端:/etc/init.d/rpcbind/etc/init.d/nfs客戶端:/etc/init.d/rpcbind -->掛載完成后可以卸載 10.如何在客戶端查看當前nfs掛載的客戶端以及共享目錄有哪些showmount -e ip 11.NFS的局限:有網絡要求耦合度高高并發下性能差文件是銘文的12.配置NFS服務后,不重啟服務,如何使配置生效/etc/init.d/nfs reload ==> exportfs -tv 13.救援模式修復/etc/fstab ? 14.root密碼忘記如何修改 ? 15.如何添加IP 基于別名配置:ifconfig eth0:ws 192.168.25.132/24 up -->臨時生效,重啟失效基于輔助IP: ip addr add 192.168.25.131/24 dev eth0

48.全網服務器數據備份方案的cron+rsync????????????
???

1.針對公司重要的數據備份混亂狀況和領導提出備份全網數據的解決方案 2.通過本地打包備份,然后rsync結合inotify應用將全網數據統一備份到一個固定的存儲服務器然后在存儲服務器上通過腳本檢查并報警管理員備份結果 3.定期將IDC機房的數據備份公司內部的服務器,防止自然災害導致數據丟失

49.網絡的面試題
??? 1.寫出下面端口對應的服務
?????

grep -b "\b22\b" /etc/services端口 21 ftp端口 22 ssh端口 25 SMTP -->sendmail端口 3306 mysql端口 873 rsync端口 161 snmp -->遠程管理設備端口 111 rpcbind端口 3389 window遠程桌面 端口 80 http端口 443 https端口 110 pop3端口 53 dns端口 514 syslog

?

??? 2.FTL R2288的6塊600G SAS盤作RAID5后,計劃安裝部署mysql提供讀取服務器,如何劃分分區安裝操作系統?
??????? 用什么命令來分區?
??????? 分區后如何不啟服務就能生效?
?

0.若3T的內存安裝不了系統 1.RAID界面分出200G虛擬磁盤安裝系統,boot分區200G swap分區100G(內存大于16G 2倍,小于則1.5) /分區給剩余data(用于數據存儲)安裝系統后用parted(先設置為gpt后分區)進行分區 2.如果不是RAID5,則可以先劃分2個RAID1進行安裝操作系統 3.NFS 的啟動沒有問題,但是為什么chkconfig|grep nfs 任然是關閉的呢?


??????? 答:chkconfig是系統開機自啟動,與現在系統的狀態無關

??? 4.批量改名題,移除文件名中的fin字樣

# ll stu* -rw-r--r--. 1 root root 0 Aug 25 22:53 stu_1_fin.jpg -rw-r--r--. 1 root root 0 Aug 25 22:53 stu_2_fin.jpg -rw-r--r--. 1 root root 0 Aug 25 22:53 stu_3_fin.jpg 0.touch stu_{1..3}_fin.jpg 1. rename 原字符 目標字符 文件rename "fin" "" * 2. for f in `ls *.fin.jpg`domv $f `echo $f|sed 's#_fin##g'`done 3.ls *.jpg|awk -F '_fin' '{print "mv " $0 " " $1$2}'|bash 4.ls *.jpg|sed -r 's#(^.*)_fin.*$#mv & \1.jpg #g'|bash

50.把/etc/hello.sh 配置成開機自啟動的服務
???

1. 添加到rc.local 2. 添加到/etc/init.d下 增加chkconfig

51.查看apache進程命令
??

prefork進程模式:ps -ef | grep httpdworker線程:pstree -a |grep httpd | wc -l

52.192.168.0.0/24 網段通過192.168.0.1網關連入172.16.1.0/ip段,請問路由如何添加
?

route add -net 172.16.1.0 gw 192.168.0.1 netmask 255.255.255.0

53.處理一下的文件內容,將域名取出并根據域名進行計數排序處理

http://www.etiantian.com/index.htmlhttp://www.etiantian.com/1.htmlhttp://post.etiantian.com/index.htmlhttp://mp3.etiantian.com/index.htmlhttp://www.etiantian.com/3.htmlhttp://post.etiantian.com/2.html

54.使用expect交互式命令語言把文件從A服務器推送到B,C服務器,請寫出腳本。
???

已知root/HHH200@FTL 22端口

55.集群環境防止木馬的方案:
???

主要是防止web,文件root.root 文件644 目錄755 分開服務器:上傳服務器:限制木馬訪問,只能post,不能get,然后數據存儲在Mysql服務器上動態服務器:只能跟數據庫進行讀寫(雙向),控制文件的解析圖片服務器:只能讀取圖片(單向) 程序目錄: 目錄755 文件644,用戶root 上傳文件: 目錄755 文件644,用戶webserver

56.Linux下安裝軟件的方式

1.源碼編譯安裝:靈活,自己做飯自己吃2.yum或rpm: 簡單,但不靈活,下飯店吃訪問量小的時候可用 追求方便服務器數量大3.結合編譯和yum的雙重優點根據業務需求->自制rpm->放到yum倉庫自制rpm?放到yum倉庫?


57.Apache分析日志
??? 1.分析所有Web服務器的訪問日志,對IP地址段進行去重

awk '{print $1}' h.log|sort|uniq -c|sort -rn awk '{++S[$1]} END {for (key in S) print S[key], key }' www-access_20170905_log |sort -rn -k1

58.清空日志的方法:?

1.echo >/var/log/runlog.log2.>/var/log/runlog.log3.cat /dev/null >/var/log/runlog.log -->查看黑洞并重定向到日志文件
??????59.高可用?
??? 60.Rsync Nfs Crond Ssh key 基礎命令 Apache Mysql Php Nginx Lvx+keepalive + Iptables +Cacti/流量監控 ?
??? 61.Linux 高可用(HA)集群之keepalived詳解?????????

http://freeloda.blog.51cto.com/2033581/1280962

keepalived是一個類似于layer3(網絡層), 4(傳輸層) & 7(應用層)交換機制的軟件 Keepalived使用的vrrp協議方式,虛擬路由冗余協議 (Virtual Router Redundancy Protocol,簡稱VRRP); 作用:檢測服務器的狀態,如果有一臺web服務器宕機,或工作出現故障,Keepalived將檢測到,并將有故障的服務器從系統中剔除同時使用其他服務器代替該服務器的工作,當服務器工作正常后Keepalived自動將服務器加入到服務器群中這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的服務器。 Layer3:Keepalived使用Layer3的方式工作式時,Keepalived會定期向服務器群中的服務器發送一個ICMP的數據包(既我們平時用的Ping程序),如果發現某臺服務的IP地址沒有激活,Keepalived便報告這臺服務器失效,并將它從服務器群中剔除,這種情況的典型例子是某臺服務器被非法關機。Layer3的方式是以服務器的IP地址是否有效作為服務器工作正常與否的標準。 Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的狀態來決定服務器工作正常與否。如web server的服務端口一般是80,如果Keepalived檢測到80端口沒有啟動,則Keepalived將把這臺服務器從服務器群中剔除。 Layer7:Layer7就是工作在具體的應用層了,比Layer3,Layer4要復雜一點,在網絡上占用的帶寬也要大一些。Keepalived將根據用戶的設定檢查服務器程序的運行是否正常,如果與用戶的設定不相符,則Keepalived將把服務器從服務器群中剔除。

?

??? 62.怎么把自己寫腳本放在服務里面,即使用service調用
??????? 方案一:
???????

#!/bin/bash # chkconfig: - 90 10 # description: just a testecho "Hello,$1" # mv test /etc/init.d/ # chmod +x /etc/init.d/test # chkconfig --add test # service test start //可以看到Hello,start表示成功

?

??????? 方案二:
??????

1、開機自啟(兩種方法)1、加入到rc.local系統配置文件2、將腳本做成服務形式(拷貝到/etc/init.d/) 2. 可以通過init.d下的腳本控制其啟動說明腳本要支持start|stop|restart等參數,使用case配合函數進行控制 3、每5分鐘將系統進程信息發送至syslog提示:logger命令是syslogd提供的shell接口。通過調用該命令可達到效果每5分鐘自動發送系統進程信息:方法:1、腳本中加入sleep 300(秒為單位)2、定時任務??????

?

??? 63.如何執行秒級別的任務:
????????

1.用while循環執行while truedouptime usleep 1000000 ->usleep表示毫秒級別,1000000為1秒done ??? 64.隨機數的6中方法
??????? echo $RANDOM| echo $RANDOM|md5sum|cut -c 1-6 echo $((RANDOM+100000)) echo $(date +%t%N) cat /proc/sys/kernel/random/uuid

?

??? 65.判斷一個網絡里面有哪些IP在線:
??????? 方案一:
?????????

#!/bin/bashwhile true; dofor I in {1..5};doping -c 2 -w 2 192.168.3.$I &>/dev/nullif [ $? -eq 0 ]; thenecho -e "\033[32;40m 192.168.3.$I is UP.\033[0m"elseecho -e "\033[31;40m 192.168.3.$I is Down.\033[0m"fidonebreakdone ??????? 方案二:
???????? #!/bin/bashIP=1while [ $IP -le 5 ]; doping -c 2 -w 2 192.168.3.$IP &>/dev/nullSTRING=$?# if ping -w 2 -c 2 192.168.3.$IP &>/dev/null;thenif [ $STRING -eq 0 ];thenecho -e "\033[32;40m192.168.3.$IP is up.\033[0m"elseecho -e "\033[31;40m192.168.3.$IP is down.\033[0m"filet IP=$IP+1done ? ? ? ? ? ??

?



轉載于:https://www.cnblogs.com/ftl1012/p/linuxExam.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Linux 基础学习大考核的全部內容,希望文章能夠幫你解決所遇到的問題。

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