考試總結(jié)
1. 一個(gè)目錄中有很多文件(ls -l 查看時(shí)好多屏),想用一條命令最快速度查看到最近更新的文件。如何看原环?
答:
ls -rtl
2. 在配置apache 服務(wù)時(shí) 執(zhí)行了./configure --prefix=/application/apache2.2.17 來編譯 apche,在make install 完成后,希望用戶訪問apache 路徑更簡單瘫絮,需要給/application/apache2.2.17目錄做一個(gè)軟鏈接/application/apache,使得內(nèi)部開發(fā)或管理人員通過/application/apache 就可以訪問到apache 的安裝目錄/application/apache2.2.17 下的內(nèi)容填硕,請你給出實(shí)現(xiàn)的命令麦萤。
答:
ln –s /application/apache2.2.17 /application/apache
3. 已知Nginx 服務(wù)的訪問日志按天記錄在服務(wù)器本地目錄/app/logs 下,由于磁盤空間緊張扁眯,現(xiàn)在要求只能保留最近 7 天的訪問日志壮莹!請問如何解決? 請給解決辦法或配置或處理命令姻檀。
答:
00 00 * * * /usr/bin/find /app/logs -type f -mtime +7 |xargs rm -f &> /dev/null
or
00 00 * * * /usr/bin/find /app/logs -type f -mtime +7 –exec rm –f {} \; &> /dev/null
or
00 00 * * * rm -f $(find /app/logs -type f -mtime +7) &> /dev/null
4. 調(diào)試系統(tǒng)服務(wù)時(shí)命满,希望能實(shí)時(shí)查看/var/log/messages 系統(tǒng)日志的更新,如何做绣版?
答:
tail –f /var/log/messages
or
tail –F /var/log/messages
or
tailf /var/log/messages
5. 打印輕量級web 服務(wù)的配置文件 nginx.conf 內(nèi)容的行號及內(nèi)容周荐,該如何做?
答:
cat –n nignx.conf
or
grep –n ‘.’ nginx.conf
or
awk ‘{print NR概作,$0}’ nginx.conf
or
vim nginx.conf ,:set nu
or
sed ‘=’ nginx.conf
or
less –N nginx.conf
6. 已知如下命令及結(jié)果:
[oldboy@test ~]$ echo "I am oldboy,my qq is 31333741">>oldboy.txt
[oldboy@test ~]$ cat oldboy.txt
I am oldboy,my qq is 31333741
現(xiàn)在需要從文件中過濾出“oldboy”和“31333741”字符串讯榕,請給出命令愚屁。
答:
grep –Eo ‘oldboy|31333741’ oldboy.txt
or
egrep –o ‘oldboy|31333741’ oldboy.txt
or
sed –r ‘s#am (.*),.*is (.*)#\1\2#g’ oldboy.txt
or
awk –F ‘[ ,]’ ‘{print $3,$NF}’ oldboy.txt
7. 問題:請問在一個(gè)命令上加什么參數(shù)可以實(shí)現(xiàn)下面命令的內(nèi)容在同一行輸出霎槐。
echo "oldboy";echo "oldboy"
答:
echo –n “oldboy”丘跌;echo “oldboy”
8. 如何快速查到 ifconfig 命令的全路徑(假如你不知道其路徑)闭树,請給出命令。
答:
which ifconfig
or
whereis ifconfig
9. 查找/oldboy/目錄下所有文件与殃,并把文件中的www.etiantian.org
字符串替換成www.oldboyedu.com
答:
find /oldboy/ -type f |xargs sed ‘s#www.etiantian.org#www.oldboyedu.com#g’
10. 過濾出/etc/services 文件包含 3306 或 1521 兩數(shù)據(jù)庫端口的行的內(nèi)容幅疼。
答:
grep -E ‘3306|1521’ /etc/services
or
egrep ‘3306|1521’ /etc/services
or
sed –nr ‘/3306|1521/p’ /etc/services
or
awk ‘/3306|1521/’ /etc/services
11. 請將 ifconfig eth0 和 ip add 結(jié)果中的 eth0 網(wǎng)卡對應(yīng) ip 地址取出(不低于 2 種方法)爽篷。
[root@oldboyedu ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::9fdb:66ba:dc7f:3fe5 prefixlen 64 scopeid 0x20<link>
[root@oldboyedu ~]# ip add
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen
1000
link/ether 00:0c:29:2a:ca:54 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global noprefixroute eth0
答:
ifconfig eth0|sed -rn 's#.*t (.*) net.*#\1#gp'
or
ifconfig eth0|awk -F'[ :]+' 'NR==2{print $3}'
or
ip addr|sed -rn 's#.*t (.*)/24.*#\1#gp'
or
ip addr|awk -F'[ /]+' 'NR==9{print $3}'
12. 如何賦予 oldboy.txt 文件如下權(quán)限狼忱、用戶钻弄、用戶組屬性窘俺。
-w--rw-rwx. 1 oldboy sa 24 Mar 13 11:46 oldboy.txt
答:
chmod 267 oldboy.txt
chown oldboy.sa oldboy.txt
or
chmod u=w g=rw o=rwx oldboy.txt
chown oldboy:sa oldboy.txt
13. 某系統(tǒng)管理員需每天做一定的重復(fù)工作瘤泪,請按照下列要求对途,編寫一個(gè)解決方案实檀,請按步驟寫清楚每一步操作:
(1)在下午 4:50 刪除/abc 目錄下的全部子目錄和全部文件膳犹。
(2)每逢星期一下午五點(diǎn)將/data 目錄下的所有目錄和文件歸檔并壓縮為以當(dāng)天日期命名的tar.gz 結(jié)尾打包文件须床。
答:
(1) :
50 16 * * * /bin/rm –rf /abc/* >/dev/null 2>&1
or
腳本:
vim shanchu.sh
/bin/rm –rf /abc/* 或
#!/bin/sh
cd /abc&& rm –rf ./*
50 16 * * * /bin/sh shanchu.sh >/dev/null 2>&1
(2)
00 17 * * 1 /bin/tar zcf ./$(date +\%F).tar.gz >/dev/null 2>&1
14. 如何取得/etc/hosts 文件的權(quán)限對應(yīng)的數(shù)字內(nèi)容豺旬,如-rw-r--r-- 為 644,要求使用命令取得644 這樣的數(shù)字(不低于 2 種方法)妻柒。
答:
stat /etc/hosts -c %a
or
stat /etc/hosts|awk -F'[0/]' 'NR==4{print $2}'
or
stat /etc/hosts|sed -nr 's#.*\(0(.*)/-.*#\1#gp'
15. Linux 下通過 mkdir 命令創(chuàng)建一個(gè)新目錄/oldboy/ett,它的硬鏈接數(shù)是多少,為什么渴频? 如果在/oldboy/ett 下面再創(chuàng)建一個(gè)目錄 test卜朗。再問/oldboy/ett 的硬鏈接數(shù)是多少场钉?為什么逛万。
答:
第一問是2個(gè), 目錄本身是一個(gè)硬鏈接埋心,.
也是一個(gè)
第二問是3個(gè)闲坎, 目錄本身是一個(gè)硬鏈接箫柳,.
也是一個(gè)库糠,..
也是一個(gè)
如果在創(chuàng)建一個(gè),還是3個(gè)艘虎,因?yàn)橄乱粋€(gè)目錄是它子目錄的子目錄,不是它的上級候生。
16.企業(yè)故障案例1:作為運(yùn)維工程師,你在工作中遇到的一個(gè)實(shí)際問題,情況是:一個(gè) lnmp 的服務(wù)器缭付,站點(diǎn)目錄下所有的文件均被植入了如下內(nèi)容:
<script language=javascript
src=http://%4%66E%78%6F%72%67%2E%70%6F/x.js?google_ad=93x28_ad></script>(可用 A 代替此行內(nèi)容解答)
包括圖片文件也被植入了大莫,當(dāng)用戶網(wǎng)站打開時(shí)就會(huì)調(diào)用這個(gè)地址蛉腌,顯示一個(gè)廣告,請問你如 何解決只厘。
答:
第一步:備份站點(diǎn)目錄下所有文件
tar zcf ./bak_$(date +%F).tar.gz 站點(diǎn)目錄
第二步:查找被修改的文件
find / -type f | xargs grep 'A'
第三步:批量刪除被篡改的文件
find / -type f |xargs sed -i '/A/d'
find / -type f | xargs grep 'A'
第四步:找到文件被篡改的來源烙丛,并優(yōu)化調(diào)整。
第五步:寫總結(jié)羔味,故障報(bào)告河咽。
17. 請輸出當(dāng)前日期和時(shí)間、3 天前的日期赋元、未來 10 天的日期忘蟹。
答:
當(dāng)前日期和時(shí)間:date
3 天前的日期:date +%F -d “-3 day”
未來 10 天的日期:date +%F -d “+10 day”
18. 寫出 10 個(gè)以上 Linux 命令行中特殊字符及對應(yīng)含義飒房。
答:
符號 | 作用 |
---|---|
~ | 用戶的家目錄,超級用戶為/root媚值,普通用戶為/home |
- | 代表上一次(相當(dāng)于當(dāng)前路徑)用戶所在的路徑 |
. | 代表當(dāng)前目錄 |
.. | 代表上一級目錄 |
單引號(' ') | 所見即所得狠毯,將單引號內(nèi)的內(nèi)容都原樣輸出。 |
雙引號(" ") | 先解析變量褥芒、命令嚼松、轉(zhuǎn)義字符,然后再輸出最終內(nèi)容锰扶。 |
無引號 | 基本和雙引號相時(shí)同献酗,不過還是用雙引號替代比較好。 |
反引號( ) |
一般用于引用命令坷牛,執(zhí)行時(shí)命令會(huì)被執(zhí)行罕偎,相當(dāng)于$()。 |
標(biāo)準(zhǔn)輸入(stdin) | 代碼為0京闰,配合<或<<使用颜及,數(shù)據(jù)流從右向左 |
標(biāo)準(zhǔn)輸出(stdout) | 代碼為1,配合>或>>使用忙干,數(shù)據(jù)流從左向右 |
標(biāo)準(zhǔn)錯(cuò)誤輸出(stderr) | 代碼為2器予,配合>或>>使用浪藻,數(shù)據(jù)流從左向右 |
重定向符號捐迫,數(shù)據(jù)流是箭頭方向 | |
標(biāo)準(zhǔn)輸入重定向 | 0<或<,清空已有內(nèi)容爱葵,數(shù)據(jù)一般從文件流向處理的命令 |
追加輸入重定向 | 0<<或<<施戴,追加內(nèi)容到底部,數(shù)據(jù)一般從文件流向處理的命令 |
標(biāo)準(zhǔn)輸出重定向 | 1>或>萌丈,正常輸出重定向到文件赞哗,會(huì)清空已有的內(nèi)容 |
標(biāo)準(zhǔn)追加輸出重定向 | 1>>或>>,將內(nèi)容追加重定向到底部辆雾,不會(huì)清空已有的內(nèi)容 |
標(biāo)準(zhǔn)錯(cuò)誤輸出重定向 | 2>肪笋,將標(biāo)準(zhǔn)錯(cuò)誤內(nèi)容重定向到文件,如果文件存在內(nèi)容則清空 |
標(biāo)準(zhǔn)錯(cuò)誤輸出追加重定向 | 2>>度迂,將標(biāo)準(zhǔn)錯(cuò)誤內(nèi)容追加到文件底部藤乙,不會(huì)清空已有的內(nèi)容 |
; | 表示一個(gè)命令的結(jié)束,也是命令間的分隔符 |
# | 1惭墓、表示注釋內(nèi)容坛梁,2、root用戶的命令提示符 |
│ | 表示管道腊凶,將一個(gè)命令處理后的中間內(nèi)容輸出給下一個(gè)命令繼續(xù)處理 |
$ | 1划咐、字符串前加$符號拴念,表示變量內(nèi)容,2褐缠、普通用戶的命令提示符 |
\ | 將特殊含義的字符還原成字符本意 |
{} | 1政鼠、生產(chǎn)序列,2队魏、引用變量與普通字符分隔 |
&& | 前一個(gè)命令執(zhí)行成功缔俄,再執(zhí)行后面一個(gè)命令 |
ll | 前一個(gè)命令執(zhí)行失敗,再執(zhí)行后面一個(gè)命令 |
! | 1器躏、在Bash中表示取反俐载,2、在vi/vim中表示強(qiáng)制登失,3遏佣、!ls表示最近一次以ls開頭的命令并運(yùn)行 |
19. 請說出軟鏈接和硬鏈接的區(qū)別。
答:
1)答分類:在Linux系統(tǒng)中揽浙,連接分兩種:一種被稱為硬鏈接(Hard Link
)状婶,另一種被稱為軟連接(soft link
)或符號鏈接(symbolic link
)。
2)答概念:硬鏈接文件與源文件的Inode
節(jié)點(diǎn)號相同馅巷,而軟連接文件相當(dāng)于Windows下面的快捷方式(Inode節(jié)點(diǎn)號與源文件不同)膛虫。
3)答創(chuàng)建:默認(rèn)不帶參數(shù)的情況下,ln命令創(chuàng)建的是硬鏈接钓猬,帶-s參數(shù)的ln命令創(chuàng)建的是軟連接稍刀。
4)答特點(diǎn):
a. 不能對目錄創(chuàng)建硬鏈接,但可以創(chuàng)建軟連接敞曹,對目錄的軟連接會(huì)經(jīng)常被用到账月。
b. 軟連接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)澳迫。
c. 刪除軟鏈接局齿,對源文件及硬鏈接文件無任何影響。
d. 刪除文件的硬鏈接橄登,對源文件及軟鏈接文件無任何影響抓歼。
e. 刪除鏈接文件的源文件,對硬鏈接文件無影響拢锹,會(huì)導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)谣妻。
f. 同時(shí)刪除源件及其硬鏈接文件,整個(gè)文件才會(huì)被真正的刪除面褐。
5)答案例:硬鏈接用處不多拌禾,可以用來對重要文件做快照防止誤刪,而對目錄建立軟鏈接在工作中很常用展哭。
20. 描述 ls -lhi 輸出中湃窍,每一列的意義闻蛀。
51513324 -rw-rw-r--. 1 oldboy oldboy 11 Mar 27 18:23 test.txt
答:
51513324 -rw-rw-r-- . 1 oldboy oldboy 11 Mar 27 18:23 test.txt
inode 文件類型權(quán)限 selinux標(biāo)識(shí)符 硬鏈接數(shù) 屬主 屬組 文件大小 最后修改時(shí)間 文件名
21. 什么是 PATH 環(huán)境變量,它有什么作用您市?
答:
PATH
是命令的搜索路徑
PATH
可以在其他子 shell
中定義命令的目錄路徑
22. 描述 Linux 下文件刪除的原理觉痛?
答:
硬鏈接數(shù)為 0 l_ink 為 0,進(jìn)程數(shù)為 0 i_count 為 0茵休,文件才被真正被刪除掉薪棒。
23. 企業(yè)故障案例2:往磁盤中寫入數(shù)據(jù)出現(xiàn) no space left on device 故障,請寫出可能原因榕莺。
答:
1)inode
滿:定時(shí)任務(wù)書寫有誤俐芯,導(dǎo)致郵件產(chǎn)生大量小文件,把 inode
占用完了
2)block
滿:df –h
,du –sh
定位到大文件钉鸯,并將其刪除
24. 企業(yè)故障案例3: Tomcat 服務(wù)器磁盤滿了吧史,臨時(shí)刪除對應(yīng)日志文件但是發(fā)現(xiàn)空間未釋放,可能原因是唠雕?如何解決)贸营。
答:
進(jìn)程占用,ps –ef|grep delete
相應(yīng)的服務(wù)進(jìn)程岩睁,并將其重啟即可釋放空間
25. 業(yè)故障案例4:定時(shí)任務(wù)的腳本手工可以執(zhí)行钞脂,但是放到定時(shí)任務(wù)里無法執(zhí)行,可能原因是什么捕儒?
答:
原因一:環(huán)境變量問題冰啃,沒有使用絕對路徑執(zhí)行定時(shí)任務(wù)
原因二:定時(shí)任務(wù)寫錯(cuò)了