Linux 基础学习大考核
0.關(guān)于Linux的簡(jiǎn)介
Linux(好又免費(fèi))的組成部分:
Linux 是一種計(jì)算機(jī)操作系統(tǒng): 一系列能讓您與計(jì)算機(jī)進(jìn)行交互操作并運(yùn)行其它程序的程序。 操作系統(tǒng)由多種基礎(chǔ)程序構(gòu)成。它們使計(jì)算機(jī)可以與用戶(hù)進(jìn)行交流并接受指令, 讀取數(shù)據(jù)或?qū)⑵鋵?xiě)入硬盤(pán)、磁帶或打印機(jī),控制內(nèi)存的使用,以及運(yùn)行其它軟件。操作系統(tǒng)最重要的組成部分是內(nèi)核。在 GNU/Linux 系統(tǒng)中,Linux 就是內(nèi)核組件。Linux不是一個(gè)操作系統(tǒng),嚴(yán)格來(lái)講,Linux只是一個(gè)操作系統(tǒng)中的內(nèi)核。?內(nèi)核是什么?
內(nèi)核建立了計(jì)算機(jī)軟件與硬件之間通訊的平臺(tái),內(nèi)核提供系統(tǒng)服務(wù),比如文件管理、虛擬內(nèi)存、設(shè)備I/O等。既然Linux只是一個(gè)內(nèi)核。那么我們通常所說(shuō)的Linux操作系統(tǒng)又是什么?我們通常所說(shuō)的Linux,指 GNU/Linux ,即采用Linux內(nèi)核的GNU操作系統(tǒng)。操作系統(tǒng)的實(shí)際名稱(chēng)是GNU。?什么是GNU?
GNU代表GNU’s Not Unix。可以說(shuō)是一個(gè)操作系統(tǒng)又可以說(shuō)是一種規(guī)范。GNU主要有g(shù)cc,bash等基礎(chǔ)軟件Linux內(nèi)核有 Linux Kernel2.2 Linux Kernel2.4 Linux Kernel 2.6 DVD1.isomini.iso?Fedora,Centos和Redhat的區(qū)別
CentOS是Redhat的另一個(gè)分支,以Redhat發(fā)布的源碼重建符合GPL許可協(xié)議的Linux系統(tǒng),即把Redhat中取出商標(biāo)Logo以及非自由軟件的部分后重新編譯。CentOS以及被Redhat收購(gòu),但任然開(kāi)源,免費(fèi)。Redhat有版權(quán)有售后,CentOS無(wú)版權(quán)無(wú)售后Fodora是Redhat的一個(gè)分支,支持GPL協(xié)議,可以認(rèn)為是Redhat預(yù)發(fā)布版本?Linux安裝
ISO鏡像安裝、光盤(pán)安裝64位運(yùn)算速度快,可以更好的發(fā)揮硬件的性能,提高業(yè)務(wù)效率?Linux特點(diǎn):
硬件->內(nèi)核->shell解析器->外圍程序Linux以高效和靈活著稱(chēng)。Linux是自由軟件,開(kāi)方源碼,自由修改。兼容Unix且可以實(shí)現(xiàn)幾乎全部的Unix特性,多用戶(hù),多線程,多任務(wù),多CPU可以自由傳播,免費(fèi)、有很高的系統(tǒng)安全型,有大量的免費(fèi)應(yīng)用程序和大型數(shù)據(jù)庫(kù)平臺(tái)(Oracle+Mysql)?1.只查詢(xún)當(dāng)前目錄的一級(jí)目錄?
ls -l | grep "^d" 只顯示目錄==>ls -ld */ 只顯示目錄==>ls -ld | grep /==>ls -lF | awk '/^d/'==>ls -lF | sed -n '/^d/p'==>ls -lF | grep "/$" 目錄后會(huì)加斜線,清晰的表示目錄==>find ./ -maxdepth 1 -type d ! -name "oldboy" 只顯示1級(jí)目錄文件且過(guò)濾自身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 –f3.文件顯示行號(hào)
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.裝完系統(tǒng)后希望網(wǎng)絡(luò)文件共享NFS服務(wù),僅在3級(jí)別以上開(kāi)機(jī)自啟(chkconfig)
chkconfig --level 3456 nfs on chkconfig nfs on(默認(rèn)2345) ->關(guān)閉2 chkconfig --level 2 nfs off5.文本內(nèi)容是:??? I am oldboy, my qq is 123213231? 
? 請(qǐng)過(guò)濾出 "oldboy"? "123213231"???????? ?
? 請(qǐng)過(guò)濾出 "oldboy,123213231" ????
awk '{print $3 "," $7}' h.txt# 使用sed替逗號(hào)為空格,然后再用上面的命令去做awk -F "[, ]" '{print $3, $7}' h.txt grep -Eo "oldboy|123*" h.txt ??????6.向磁盤(pán)寫(xiě)入信息,發(fā)現(xiàn)提示如下錯(cuò)誤"No space on device",df -h 發(fā)現(xiàn)磁盤(pán)沒(méi)滿(mǎn),請(qǐng)問(wèn)什么情況可能是inode被消耗盡了??
df -i 查看inode數(shù)量 可能原因就是還有服務(wù)在調(diào)用,不停的在寫(xiě)入文件進(jìn)去(進(jìn)程訪問(wèn)的時(shí)候,文件可以被刪除) 雖然此時(shí)文件已經(jīng)被刪除,但是block沒(méi)有被刪除,還在占用磁盤(pán)空間(重啟服務(wù)即可/etc/init.d/httpd reload 啟后會(huì)生成新的,所以原來(lái)的釋放) lsof | grep deleted 可以查看被刪除的文件,但是沒(méi)有被link的內(nèi)容7.1個(gè)100M(100000K)的磁盤(pán)分區(qū),分別寫(xiě)入1k的文件或者寫(xiě)入1M的文件,可以寫(xiě)多少個(gè)?
?
7.?Linux跟Unix區(qū)別在于什么?為什么服務(wù)器使用Linux多于Unix?
 UNIX系統(tǒng)大多是與硬件配套的,而Linux則可運(yùn)行在多種硬件平臺(tái)上.
 UNIX是商業(yè)軟件,而Linux是自由軟件,免費(fèi)、公開(kāi)源代碼的,linux免費(fèi)
 unix和linux都是操作系統(tǒng)的名稱(chēng).但unix這四個(gè)字母除了是操作系統(tǒng)名稱(chēng)外,還作為商標(biāo)歸SCO所有.
 Linux商業(yè)化的有RedHat Linux 、SuSe Linux、slakeware Linux、國(guó)內(nèi)的紅旗等,還有Turbo Linux.
 Unix主要有Sun 的Solaris、IBM的AIX, HP的HP-UX,以及x86平臺(tái)的的SCO Unix/Unixware
 在網(wǎng)絡(luò)管理能力和安全方面,
 UNIX系統(tǒng)一直被用做高端應(yīng)用或服務(wù)器系統(tǒng),因此擁有一套完善的網(wǎng)絡(luò)管理機(jī)制和規(guī)則
 Linux沿用了這些出色的規(guī)則,使網(wǎng)絡(luò)的可配置能力很強(qiáng),為系統(tǒng)管理提供了極大的靈活性。
8.軟硬連接的區(qū)別?(10條)?
1. ln 創(chuàng)建軟硬鏈接概念區(qū)別 2. ln 文件軟硬連接,inode區(qū)別,是否可以跨系統(tǒng),是否可以對(duì)目錄創(chuàng)建連接 3. 刪除軟硬鏈接對(duì)源文件的影響9.linux 系統(tǒng)文件的刪除原理? ??
i_nolid=0 && i_count=0 刪除 + 解析硬鏈接(內(nèi)含inode的概念)Linux通過(guò)link的數(shù)量控制文件的刪除,只有當(dāng)一個(gè)文件不存在任何link的時(shí)候,文件才會(huì)被刪除。rm命令而言,就是減少磁盤(pán)引用計(jì)數(shù)i_nlink(文件到inode的鏈接數(shù)量)inode節(jié)點(diǎn)指向存儲(chǔ)數(shù)據(jù)的block,刪除文件并不是清除inode和block。文件的硬鏈接為0,引用計(jì)數(shù)為0 才能刪除文件如果有新的數(shù)據(jù)存儲(chǔ)或者系統(tǒng)通過(guò)類(lèi)似fsck命令做磁盤(pán)檢查的時(shí)候,被刪除的數(shù)據(jù)塊和目錄會(huì)被釋放,數(shù)據(jù)無(wú)法找回文件刪除的條件: i_link = 0 && i_count =0 i_nlink 文件的硬鏈接數(shù)量,磁盤(pán)的引用計(jì)數(shù)器i_count 內(nèi)存引用計(jì)數(shù)(一個(gè)文件被幾個(gè)程序調(diào)用,有一個(gè)程序使用i_count + 1 )靜態(tài)文件:沒(méi)有程序調(diào)用的文件10.企業(yè)目錄軟連接的作用? ?
1.編譯軟件時(shí),指定版本號(hào)(apache/apcahce-2.2.3),訪問(wèn)時(shí)需要去掉版本號(hào)(apache/apache)可以設(shè)置軟連接到編譯的路徑,所有程序都訪問(wèn)軟連接文件當(dāng)軟件升級(jí)高版本后,只需刪除連接文件后,重新連接到高版本的文件 2.企業(yè)代碼發(fā)布的時(shí)候(PHP),需要所有的代碼傳到一個(gè)新的目錄或者站點(diǎn)目錄。發(fā)布時(shí),直接mv 也可以重建軟連接到新的臨時(shí)目錄或者站點(diǎn)目錄 3.不方便文件的移動(dòng),還想在當(dāng)前目錄訪問(wèn)到,也可以 ln -s11.打印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 系統(tǒng)安全日志/etc/sysctl.conf/etc/sysconfig/i18n/etc/sudoers/var/spool/cron/root/var/log/messages 系統(tǒng)日志/etc/passwd /etc/shadow/etc/group/etc/gshadow/etc/motd/etc/issue/etc/redhat-release/etc/inittab/etc/profile/etc/fstab 磁盤(pán)文件系統(tǒng)開(kāi)機(jī)掛載文件/etc/rc.local/etc/resolv.conf/etc/network-script/ifcfg-eth0/etc/sysconfig/etc/hosts/var/spool/clientmqueue 郵件臨時(shí)目錄/proc/interrupts 查看中斷文件12-1 ?文件解壓大全?
tar xf *.tar tar zxf *.tar.gz gunzip -d *.gz tar jxf *.bz2 gunzip *.zip unzip *.zip13.說(shuō)出10個(gè)通配特殊字符(bash環(huán)境下執(zhí)行,多用于命令行)以及含義? ? ?
* 代表任意0到多個(gè)字符? 任意一個(gè)字符 ls oldbo?.log~ 用戶(hù)家目錄- 上次路徑 .. 上一級(jí)目錄>> 追加輸出重定向! 取反> 輸出重定向< 輸入重定向. 當(dāng)前目錄$ 變量前面增加的內(nèi)容'' 所見(jiàn)即所得`` 反引號(hào),tab之上,2個(gè)``中間即命令,會(huì)先執(zhí)行,等價(jià)于${}"" 會(huì)把變量解析 {} 中間位命令區(qū)塊組合或內(nèi)容序列 touch {a,b,c}.log touch log.{4..6} echo {1..3} ==>1 2 3| 管道/ 路徑分隔符 # 注釋符號(hào); 連續(xù)不同命令的分隔符|| 當(dāng)前一個(gè)命令執(zhí)行失敗 也會(huì)執(zhí)行后面的命令行 二選一的 你去我就不去 你不去我就去&& 當(dāng)前一個(gè)命令執(zhí)行失敗 也不會(huì)執(zhí)行后面的命令 echo "hello" && echo "world" -->hello world無(wú)引號(hào):把內(nèi)容輸出出來(lái),但是可能不能將含有空格的字符串作為一個(gè)整體區(qū)輸出如果內(nèi)容中有命令,變量等,會(huì)先解析出結(jié)果,最后輸出最終內(nèi)容如果字符串有空格等特殊字符則不能完整輸出,需要改加雙引號(hào)???14.Linux的開(kāi)機(jī)啟動(dòng)流程?
1開(kāi)機(jī)BIOS自檢 -->檢查CPU,硬盤(pán)信息等內(nèi)容 2.MBR引導(dǎo)(讀取磁盤(pán)的0磁道,0柱面,1扇面,前446字節(jié)) -->預(yù)啟動(dòng),確定硬盤(pán)啟動(dòng) 3.grub引導(dǎo)菜單(/etc/grub.conf)-->確定加載哪個(gè)系統(tǒng) 4.加載內(nèi)核kernel 5.啟動(dòng)init進(jìn)程(Linux第一個(gè)進(jìn)程) /sbin/init 6.讀取inittab文件(/etc/inittab),設(shè)定運(yùn)行級(jí)別,init進(jìn)程執(zhí)行rc.sysinit(設(shè)置主機(jī)名,網(wǎng)絡(luò)等信息) -->(/etc/rc.d/rc.sysinit + /etc/rc.d/rc3.d/*) 7 啟動(dòng)內(nèi)核模塊,執(zhí)行不同級(jí)別的腳本程序 8.執(zhí)行/etc/rc.d/rc.local 9.執(zhí)行/bin/login登錄程序,啟動(dòng)mingetty(終端登錄進(jìn)程),進(jìn)入系統(tǒng)登陸界面http://oldboy.blog.51cto.com/2561410/791273/15.??? 如何取得/etc/hosts? 文件的權(quán)限所對(duì)應(yīng)的數(shù)字內(nèi)容,例如 -rw-r--r--為644??
stat -c %a /etc/hosts --> -c==format %a 輸出二進(jìn)制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}' 總結(jié):head.tail,sed,awk,grep 定位到單行 -->慣用取行命令cut,awk 設(shè)置分隔符取出需要的內(nèi)容 -->慣用取列命令可以用 sed -n '/***/p' ==> sed '/^$/d' h.txt 過(guò)濾信息 ==> awk '/***/' 過(guò)濾信息如何查看當(dāng)前的Linux服務(wù)器的運(yùn)行級(jí)別?
# 命令可以用來(lái)查看當(dāng)前的Linux服務(wù)器的運(yùn)行級(jí)別。 # 方案一 who -r # 方案二 runlevel如何查看Linux的默認(rèn)網(wǎng)關(guān)?
# 方案一 route -n # 方案二 netstat -rn如何在Linux上重建初始化內(nèi)存盤(pán)鏡像文件?
在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令來(lái)創(chuàng)建初始化內(nèi)存盤(pán)文件 如果你想要給特定的內(nèi)核版本創(chuàng)建初始化內(nèi)存盤(pán),你就用所需的內(nèi)核名替換掉 ‘uname -r’ 在CentOS 6.X / RHEL 6.X中,則用dracut命令來(lái)創(chuàng)建初始化內(nèi)存盤(pán)文件patch命令是什么?如何使用?
答: patch命令就是用來(lái)將修改(或補(bǔ)丁)寫(xiě)進(jìn)文本文件里。patch命令通常是接收diff的輸出并把文件的舊版本轉(zhuǎn)換為新版本。舉個(gè)例子,Linux內(nèi)核源代碼由百萬(wàn)行代碼文件構(gòu)成,所以無(wú)論何時(shí),任何代碼貢獻(xiàn)者貢獻(xiàn)出代碼,只需發(fā)送改動(dòng)的部分而不是整個(gè)源代碼,然后接收者用patch命令將改動(dòng)寫(xiě)進(jìn)原始的源代碼里
如何從命令行查看域SPF記錄?
答: 我們可以用dig命令來(lái)查看域SPF記錄
如何識(shí)別Linux系統(tǒng)中指定文件(/etc/fstab)的關(guān)聯(lián)包?
# 使用rpm命令 rpm -qf /etc/fstabLinux系統(tǒng)中的/proc文件系統(tǒng)有什么用?
答: /proc文件系統(tǒng)是一個(gè)基于內(nèi)存的文件系統(tǒng),其維護(hù)著關(guān)于當(dāng)前正在運(yùn)行的內(nèi)核狀態(tài)信息,其中包括CPU、內(nèi)存、分區(qū)劃分、I/O地址、直接內(nèi)存訪問(wèn)通道和正在運(yùn)行的進(jìn)程。這個(gè)文件系統(tǒng)所代表的并不是各種實(shí)際存儲(chǔ)信息的文件,它們指向的是內(nèi)存里的信息。/proc文件系統(tǒng)是由系統(tǒng)自動(dòng)維護(hù)的
如何在/usr目錄下找出大小超過(guò)10MB的文件?
find /usr -size +10M如何在/home目錄下找出120天之前被修改過(guò)的文件?
find /home -mtime +120如何在/var目錄下找出90天之內(nèi)未被訪問(wèn)過(guò)的文件?
find /var ! -atime -90如何在整個(gè)目錄樹(shù)下查找文件“core”,如發(fā)現(xiàn)則無(wú)需提示直接刪除它們?
答: find / -name core -exec rm {}
strings命令有什么作用?
答: strings命令用來(lái)提取和顯示非文本文件中的文本字符串。(LCTT 譯注:當(dāng)用來(lái)分析你系統(tǒng)上莫名其妙出現(xiàn)的二進(jìn)制程序時(shí),可以從中找到可疑的文件訪問(wèn),對(duì)于追查入侵有用處)
tee 過(guò)濾器有什么作用 ?
答: tee 過(guò)濾器用來(lái)向多個(gè)目標(biāo)發(fā)送輸出內(nèi)容。如果用于管道的話,它可以將輸出復(fù)制一份到一個(gè)文件,并復(fù)制另外一份到屏幕上(或一些其它程序)
export PS1 = ”$LOGNAME@hostname:$PWD: 這條命令是在做什么?
答: 這條export命令會(huì)更改登錄提示符來(lái)顯示用戶(hù)名、本機(jī)名和當(dāng)前工作目錄
ll | awk ‘{print $3,”owns”,$9}’ 這條命令是在做什么?
答: 這條ll命令會(huì)顯示這些文件的文件名和它們的擁有者
Linux中的at命令有什么用?
答: at命令用來(lái)安排一個(gè)程序在未來(lái)的做一次一次性執(zhí)行。所有提交的任務(wù)都被放在 /var/spool/at 目錄下并且到了執(zhí)行時(shí)間的時(shí)候通過(guò)atd守護(hù)進(jìn)程來(lái)執(zhí)行
linux中l(wèi)spci命令的作用是什么?
答: lspci命令用來(lái)顯示你的系統(tǒng)上PCI總線和附加設(shè)備的信息。指定-v,-vv或-vvv來(lái)獲取越來(lái)越詳細(xì)的輸出,加上-r參數(shù)的話,命令的輸出則會(huì)更具有易讀性
查看請(qǐng)求訪問(wèn)量
頁(yè)面訪問(wèn)排名前十的IP
cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10頁(yè)面訪問(wèn)排名前十的URL
cat access.log | cut -f4 -d " " | sort | uniq -c | sort -k 1 -r | head -10查看最耗時(shí)的頁(yè)面
cat access.log | sort -k 2 -n -r | head 1016. test用戶(hù)下執(zhí)行 sudo su - omd ,請(qǐng)問(wèn)輸入誰(shuí)的密碼??
[test@oldboy ~] $ sudo su - omd -->test用戶(hù)的密碼# 通過(guò)test用戶(hù)切換到omd,所以此時(shí)輸入的是test用戶(hù)的密碼17. echo "hello"; echo "world"?? -->希望輸出來(lái) helloworld怎么解決??
echo -n "hello"; echo "world"echo $? -->為0表示執(zhí)行沒(méi)有報(bào)錯(cuò)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 安裝時(shí)間打包:tar -czvf omd-`date +%F`.tar.gz ./home/tar -czvf omd-$(date +%F).tar.gz ./home/ echo $(date +%F -d +3day) --實(shí)現(xiàn)安裝周打包 date +%w 第3天 tar -czvf system_$(date +%F).tar.gz /host19.生產(chǎn)環(huán)境中,要求保留最近的7天的內(nèi)容,何解?
??
20.root用戶(hù)切換到omd后,執(zhí)行ifconfig后顯示命令不存在,何解?
這個(gè)是因?yàn)閛md用戶(hù)的系統(tǒng)環(huán)境變量PATH路徑問(wèn)題導(dǎo)致,但在只在CentOs5中有,因?yàn)榇嗣钤?sbin,不再全局變量中解決1:帶全路徑執(zhí)行 /sbin/ifconfit eth0解決2:-->臨時(shí)將ifconfig的環(huán)境變量添加到PATH路徑中 export PATH=$PATH:$HOME/bin:/sbin解決3: -->永久omd用戶(hù)下編輯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_profile20-1. 自動(dòng)刪除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. 如何把文件中的空行去掉:
?
22.查找命令:
??????
23. 開(kāi)關(guān)機(jī)命令
?????
24. 說(shuō)出10個(gè)linux正則表達(dá)式
.*.* {n,m} [] [^abc] \b \w \d ^ $ ? + () | ^$ \25. 說(shuō)出Linux的默認(rèn)目錄以及目錄對(duì)應(yīng)權(quán)限,如何控制默認(rèn)權(quán)限
?????????
26. 如何Linux修改文件以及目錄權(quán)限
???
27. 如何普通用戶(hù)執(zhí)行某個(gè)特殊命令的使用?
?
28. Linux的特殊權(quán)限suid的作用以及應(yīng)用場(chǎng)景
?
29. 描述對(duì)于文件和目錄,rwx-分別是什么權(quán)限作用
區(qū)別root和普通用戶(hù)不同的權(quán)限文件:r:查看內(nèi)容 cat w:修改文件內(nèi)容 echo >> vi(需要r配合) x:執(zhí)行文件 需要wr配合-:沒(méi)有權(quán)限目錄:r:ls 顯示出來(lái)w:rm 創(chuàng)建文件,目錄x:cd 需要wr配合-:沒(méi)有權(quán)限30. 描述一下三次握手和四次揮手
三次握手建立連接
1)客戶(hù)端發(fā)送 SYN 消息,其中包含服務(wù)器的端口和客戶(hù)端的初始序列號(hào)(ISN)到服務(wù)器(活動(dòng)打開(kāi))。2)服務(wù)器會(huì)發(fā)送回SYN和ACK(其中包括的客戶(hù)端的 ISN + 1)。3)客戶(hù)端發(fā)送一個(gè) ACK,(其中包括的服務(wù)器的 ISN + 1)。?四次揮手關(guān)閉連接
TCP的連接是全雙工(可以同時(shí)發(fā)送和接收)連接,因此在關(guān)閉連接的時(shí)候,必須關(guān)閉傳和送兩個(gè)方向上的連接。客戶(hù)機(jī)給服務(wù)器一個(gè)FIN為1的TCP報(bào)文,然后服務(wù)器返回給客戶(hù)端一個(gè)確認(rèn)ACK報(bào)文,并且發(fā)送一個(gè)FIN報(bào)文,當(dāng)客戶(hù)機(jī)回復(fù)ACK報(bào)文后(四次握手),連接就結(jié)束了。1)客戶(hù)端發(fā)送一個(gè)FIN(活動(dòng)收盤(pán))。這是一個(gè)現(xiàn)在半關(guān)閉連接。客戶(hù)端不能再將數(shù)據(jù)發(fā)送,但仍然能夠從服務(wù)器接收數(shù)據(jù)。收到此 FIN 服務(wù)器進(jìn)入被動(dòng)關(guān)閉狀態(tài)。2)服務(wù)器發(fā)送一個(gè)ACK(這時(shí)客戶(hù)端 FIN 序列 + 1)3)服務(wù)器發(fā)送其自身FIN。4)客戶(hù)端發(fā)送一個(gè)ACK(這是服務(wù)器的 FIN 序列 + 1)。收到此 ACK 服務(wù)器關(guān)閉連接。30-1 描述/dev/null和/dev/zero的區(qū)別
1./dev/null:表示 的是一個(gè)黑洞,通常用于丟棄不需要的數(shù)據(jù)輸出, 或者用于輸入流的空文件1.1 將無(wú)用的輸出流寫(xiě)入到黑洞丟棄。curl -Iwww.baidu.com 2>/dev/null | head -l 錯(cuò)誤信息定位到黑洞1.2 清空文件 cat /dev/null > /home/omd/h.txt1.3 在書(shū)寫(xiě)定時(shí)任務(wù)總,規(guī)范的寫(xiě)法就是將所有定時(shí)任務(wù)腳本結(jié)尾加上>/dev/null 2>&1,讓所有的輸出流(包括錯(cuò)誤的和正確的)都定向到空設(shè)備丟棄。00 01 * * * /bin/sh/server/scripts/mysqlbak.sh >/dev/null 2>&12./dev/zero:當(dāng)我們使用或者讀取他的時(shí)候,她是會(huì)提供無(wú)限連續(xù)不斷的空的數(shù)據(jù)流2.1覆蓋其他的文件信息2.2產(chǎn)生指定大小的空文件,如交換文件,模擬虛擬文件系統(tǒng)31.程序和進(jìn)程的區(qū)別:
??
32.關(guān)于crond的問(wèn)答:
???
33.郵件隊(duì)列有哪些?怎么清空?
???
34.每隔2小時(shí),打包/home/omd文件到/tmp ? 定時(shí)任務(wù)??? $(date +%Y%H:%M:%S)
?????
35.為什么只要一添加用戶(hù),就會(huì)從/etc/skel下面拷貝.bash*的文件呢??
因?yàn)樵?etc/default/useradd文件中寫(xiě)了默認(rèn)從這個(gè)文件拷貝文件36.批量創(chuàng)建10個(gè)用戶(hù)stu01-stu10,并且隨記設(shè)置8個(gè)密碼
?????
37.怎么可以阻止一個(gè)用戶(hù)登錄?
???
38.企業(yè)生產(chǎn)環(huán)境用戶(hù)權(quán)限集中管理方案實(shí)例 ? ? ? ? ? ? ?
???
39.企業(yè)生產(chǎn)環(huán)境日志審計(jì)解決方案???????????????????
1.日志審計(jì):記錄所有系統(tǒng)以及相關(guān)用戶(hù)行為的信息,并且可以自動(dòng)分析,處理,展示(文本形式) 2.思路如下:1.通過(guò)環(huán)境變量命令以及syslog服務(wù)進(jìn)行全部日志的審計(jì) -->信息太大,不推薦2.sudo配合syslog服務(wù),進(jìn)行日志審計(jì) (信息較少,效果不錯(cuò),推薦使用)3.在bash解釋器程序中潛入一個(gè)監(jiān)視器,讓所有被審計(jì)的系統(tǒng)用戶(hù)使用修改過(guò)的增加了監(jiān)視器的特殊bash作為程序解釋程序4.使用商業(yè)產(chǎn)品 -->堡壘機(jī) 3.項(xiàng)目;sudo日志審計(jì) -->專(zhuān)門(mén)對(duì)使用sudo命令的系統(tǒng)用戶(hù)記錄其執(zhí)行的命令3.0.以下針對(duì)單機(jī)版本(完整版):1.安裝/查看sudo命令,syslog服務(wù)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 -->其實(shí)可以不用的--> 再rsyslog.conf的文件指定一個(gè)local2的設(shè)備,執(zhí)行級(jí)別是debug,把執(zhí)行的命令,通過(guò)rsyslog寫(xiě)入sudo.log查看添加的配置信息tail -1 /etc/sudoerstail -l /etc/rsyslog.conf echo使用時(shí)要檢查語(yǔ)法visudo -c -->針對(duì)/etc/sudoers重啟rsyslog服務(wù)service rsyslog restart==> /etc/init.d/rsyslog restart查看日志文件:ll /var/log/sudo.log權(quán)限600 root.root3.1 日志集中管理 ---集群環(huán)境(部分參考版)1.思路 1.rsync + inotify或者定時(shí)任務(wù)+rsync,推送日志管理到服務(wù)器上, 10.185.163.162_20170813_sudo.log2.rsync服務(wù)處理echo "10.185.163.162 logserver" >> /etc/hosts日志服務(wù)器地址:echo "*.info @logserver" >> /etc/rsyslog.conf -->適合所有的日志推走3.日志收集 scribeflume對(duì)nginx采集stormlogstash2.配置日志服務(wù)器記錄日志1.配置logserver服務(wù)器echo "10.185.163.162 logserver" >> /etc/hoststail -1 /etc/hostsping logserver2.配置客戶(hù)端syslog文件echo "*.info @logserver" >> /etc/rsyslog.conf 將日志推送到服務(wù)器tail -1 /etc/syslog.conf/etc/init.d/rsyslog restart
40.已知一個(gè)端口為333,如何查看端口對(duì)應(yīng)的服務(wù)名
??
41.如何查看一個(gè)已經(jīng)被刪除但任然占用進(jìn)程的文件名?
? lsof |grep deleted
??? groff???? 5734????? root??? 0r????? REG????????????? 253,0??? 53449???? 534312 /tmp/man.HZYQ8B (deleted)
42.網(wǎng)絡(luò)以及服務(wù)故障的檢查:
-->先確定是個(gè)人問(wèn)題還是全部的問(wèn)題 1.上不了網(wǎng)(局域網(wǎng)以及個(gè)人)0. 網(wǎng)卡壞了 a. ping www.baidu.com -->icmp協(xié)議1.1不通則 ping 網(wǎng)關(guān) -->不通則路由有問(wèn)題b. traceroute www.baidu.com -->測(cè)試路由之間是否通c. telnet www.baidu.com 22 -->測(cè)試服務(wù)器WEB有沒(méi)有開(kāi)啟服務(wù),以及防火層有沒(méi)有擋==>nmap www.baidu.com -p 22==>nc 不通:端口沒(méi)開(kāi),或者不存在fw防火墻阻擋服務(wù)監(jiān)聽(tīng)的端口不在連接的IP上其他: IP被占用,IP沖突,其他人是否可以上網(wǎng),大面積不能上網(wǎng),檢查路由,交換機(jī)附:window的跟蹤路由tracert -d www.baidu.com 2.能上網(wǎng),但是很慢(運(yùn)維人員)同上abc服務(wù)器負(fù)載資源過(guò)高,服務(wù)器以及服務(wù)器的連接數(shù)過(guò)多服務(wù)器帶寬滿(mǎn)了,用戶(hù)帶寬 流量監(jiān)控檢查是不是存儲(chǔ)服務(wù)器,NFS以及磁盤(pán)IO搞查看數(shù)據(jù)庫(kù)是不是負(fù)載高,IO搞,CPU搞服務(wù)器受攻擊3.總結(jié)以上:1.先確定是個(gè)人還是全部a. ping www.baidu.com -->icmp協(xié)議通:不丟包: 正常丟包: 服務(wù)器帶寬不穩(wěn)定,過(guò)載不通:服務(wù)器掛了,交換機(jī)故障b. traceroute www.baidu.com -->測(cè)試路由之間是否通2.機(jī)房業(yè)務(wù)是否OKc. telnet www.baidu.com 22 -->測(cè)試服務(wù)器WEB有沒(méi)有開(kāi)啟服務(wù),以及防火層有沒(méi)有擋==>nmap www.baidu.com -p 223.外部問(wèn)題d.帶寬滿(mǎn)了f.服務(wù)器IO,CPU過(guò)載等g.代碼問(wèn)題4.其他問(wèn)題客戶(hù)自己的問(wèn)題,帶寬小,CPU處理慢等5.集群架構(gòu)(數(shù)百臺(tái)服務(wù)器)h.數(shù)據(jù)庫(kù)問(wèn)題,登錄數(shù)據(jù)庫(kù),優(yōu)化數(shù)據(jù)庫(kù)等i.存儲(chǔ)服務(wù)器的問(wèn)題等,IO以及NFS是否過(guò)高等43.http協(xié)議(應(yīng)用層)的工作原理
???
44.dns的解析原理????????????????????????????????????? -----畫(huà)圖解答
45.OSI的7層模型?? 
46.生產(chǎn)環(huán)境中磁盤(pán)的選型和應(yīng)用案例???????????? --
41.磁盤(pán)工作的過(guò)程和原理
??
42.問(wèn)172.16.22.38/27,求子網(wǎng)ID,廣播地址,主機(jī)數(shù)和主機(jī)可用數(shù)目
答: 32-27=5,故主機(jī)為有2的5次方 -2 = 30個(gè)(這串地址的最小和最大地址分別用作網(wǎng)絡(luò)地址(也叫網(wǎng)絡(luò)號(hào))和廣播地址,不能分配給主機(jī))子網(wǎng)掩碼連續(xù)27個(gè)111111111 11111111 11111111 11100000 -> 子網(wǎng)DI為255.255.255.224.0網(wǎng)絡(luò)位27個(gè),172.16.22就不用看了,占用了24個(gè)網(wǎng)絡(luò)位,還有3個(gè)網(wǎng)絡(luò)位,計(jì)算一下38的二進(jìn)制00100110,我們?nèi)∏叭?01;那就是現(xiàn)在這樣172.16.22.001xxxxx,如果我們都改成0就是網(wǎng)絡(luò)地址(網(wǎng)絡(luò)號(hào)),都改成1就是廣播地址,計(jì)算一下,地址的范圍是32到634? 一臺(tái)服務(wù)器6塊600G磁盤(pán),raid5后,總大小3T,此時(shí)無(wú)法安裝操作系統(tǒng),解決辦法是做raid5后,不要重啟裝系統(tǒng),而是raid界面,繼續(xù)分1個(gè)小的虛擬磁盤(pán)vd 200G,用這個(gè)200G的虛擬磁盤(pán)安裝系統(tǒng),安裝完成后再把剩余的2.8T分區(qū)通過(guò)parted
43.企業(yè)不同業(yè)務(wù)場(chǎng)景的服務(wù)器你是如何區(qū)分的?(備用)
?
44.說(shuō)出5個(gè)以上的磁盤(pán)管理的命令*(分區(qū),格式化,掛載)
??
45.RAID 0 1 5 10原理,冗余,性能的區(qū)別?
???
46.fstab修改錯(cuò)誤導(dǎo)致文件系統(tǒng)無(wú)法啟動(dòng)故障修復(fù)案例
???
47.磁盤(pán)設(shè)備實(shí)戰(zhàn)
1.磁盤(pán)的外部,內(nèi)部構(gòu)造以及原理 2.機(jī)械磁盤(pán)的讀取數(shù)據(jù)的工作原理 3.什么是磁道,扇區(qū),柱面 4.什么是文件系統(tǒng),常見(jiàn)的文件系統(tǒng) 5.磁盤(pán)存儲(chǔ)的最小單位是?數(shù)據(jù)均為10-100M的視頻文件,該如何配置文件儲(chǔ)存在硬盤(pán)上,硬盤(pán)的最小存儲(chǔ)單位叫做"扇區(qū)"(Sector)。每個(gè)扇區(qū)儲(chǔ)存512字節(jié)(相當(dāng)于0.5KB)。 6.一個(gè)硬盤(pán)最p多有多少分區(qū)?為什么? 7.一個(gè)100M大小的分區(qū),1k的文件可以寫(xiě)入多少個(gè),威懾么? 8.如何查看操作系統(tǒng)以及內(nèi)核的版本uname -rcat /etc/redhat-releaseuname -m 9.配置nfs需要啟動(dòng)那些相關(guān)的服務(wù)服務(wù)器端:/etc/init.d/rpcbind/etc/init.d/nfs客戶(hù)端:/etc/init.d/rpcbind -->掛載完成后可以卸載 10.如何在客戶(hù)端查看當(dāng)前nfs掛載的客戶(hù)端以及共享目錄有哪些showmount -e ip 11.NFS的局限:有網(wǎng)絡(luò)要求耦合度高高并發(fā)下性能差文件是銘文的12.配置NFS服務(wù)后,不重啟服務(wù),如何使配置生效/etc/init.d/nfs reload ==> exportfs -tv 13.救援模式修復(fù)/etc/fstab ? 14.root密碼忘記如何修改 ? 15.如何添加IP 基于別名配置:ifconfig eth0:ws 192.168.25.132/24 up -->臨時(shí)生效,重啟失效基于輔助IP: ip addr add 192.168.25.131/24 dev eth048.全網(wǎng)服務(wù)器數(shù)據(jù)備份方案的cron+rsync???????????? 
???
49.網(wǎng)絡(luò)的面試題
??? 1.寫(xiě)出下面端口對(duì)應(yīng)的服務(wù)
?????
?
??? 2.FTL R2288的6塊600G SAS盤(pán)作RAID5后,計(jì)劃安裝部署mysql提供讀取服務(wù)器,如何劃分分區(qū)安裝操作系統(tǒng)?
??????? 用什么命令來(lái)分區(qū)?
??????? 分區(qū)后如何不啟服務(wù)就能生效?
?
??????? 答:chkconfig是系統(tǒng)開(kāi)機(jī)自啟動(dòng),與現(xiàn)在系統(tǒng)的狀態(tài)無(wú)關(guān)
??? 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 原字符 目標(biāo)字符 文件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'|bash50.把/etc/hello.sh 配置成開(kāi)機(jī)自啟動(dòng)的服務(wù)
???
51.查看apache進(jìn)程命令
??
52.192.168.0.0/24 網(wǎng)段通過(guò)192.168.0.1網(wǎng)關(guān)連入172.16.1.0/ip段,請(qǐng)問(wèn)路由如何添加
?
53.處理一下的文件內(nèi)容,將域名取出并根據(jù)域名進(jìn)行計(jì)數(shù)排序處理
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.html54.使用expect交互式命令語(yǔ)言把文件從A服務(wù)器推送到B,C服務(wù)器,請(qǐng)寫(xiě)出腳本。
???
55.集群環(huán)境防止木馬的方案:
???
56.Linux下安裝軟件的方式
1.源碼編譯安裝:靈活,自己做飯自己吃2.yum或rpm: 簡(jiǎn)單,但不靈活,下飯店吃訪問(wèn)量小的時(shí)候可用 追求方便服務(wù)器數(shù)量大3.結(jié)合編譯和yum的雙重優(yōu)點(diǎn)根據(jù)業(yè)務(wù)需求->自制rpm->放到y(tǒng)um倉(cāng)庫(kù)自制rpm?放到y(tǒng)um倉(cāng)庫(kù)?
57.Apache分析日志
??? 1.分析所有Web服務(wù)器的訪問(wèn)日志,對(duì)IP地址段進(jìn)行去重
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 基礎(chǔ)命令 Apache Mysql Php Nginx Lvx+keepalive + Iptables +Cacti/流量監(jiān)控 ?
??? 61.Linux 高可用(HA)集群之keepalived詳解?????????
?
??? 62.怎么把自己寫(xiě)腳本放在服務(wù)里面,即使用service調(diào)用
??????? 方案一:
???????
?
??????? 方案二:
??????
?
??? 63.如何執(zhí)行秒級(jí)別的任務(wù):
????????
??????? echo $RANDOM| echo $RANDOM|md5sum|cut -c 1-6 echo $((RANDOM+100000)) echo $(date +%t%N) cat /proc/sys/kernel/random/uuid
?
??? 65.判斷一個(gè)網(wǎng)絡(luò)里面有哪些IP在線:
??????? 方案一:
?????????
???????? #!/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 ? ? ? ? ? ??
?
轉(zhuǎn)載于:https://www.cnblogs.com/ftl1012/p/linuxExam.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Linux 基础学习大考核的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 打印数组所有排列 python
- 下一篇: python面试题库——3数据库和缓存
