北京好未來(lái)公司linux面試試題

題一:用shell程序查找192.168.190.1-192.168.190.100哪個(gè)主機(jī)在線,分別顯示其在線情況

答:

for NUM  in $(seq 100)
do
ping 192.168.190.$NUM -c 1 &>/dev/null 
if [ $? -eq 0 ]
then
echo "192.168.190.$NUM is on-line"
else
echo "192.168.190.$NUM is off-line"
fi
done

題二:用RANDOM如何得到0-38中間的數(shù):

答:

RANDOM的范圍是:0-32767
則:
1.若取0-38中間的數(shù):
  expr $RANDOM % 39  # expr命令獲得后面運(yùn)算后的結(jié)果,空格必須要有
2.若取1-38之間的數(shù):
  先(同時(shí)減一)取得0 -37之間的數(shù) $RANDOM % 38
  后加1 即可:$RANDOM % 38 + 1
  即:expr $RANDOM % 38  + 1  #注意空格
3.若取3-90之間的隨機(jī)數(shù):
  先(同時(shí)減去3)取得0-87之間的隨機(jī)數(shù):expr $RANDOM % 88
  在加3即可  expr $Rrandom % 88 + 3
  例如:隨機(jī)1-1000中的一個(gè)數(shù)
  expr $RANDOM%999 + 1  

題三:批量創(chuàng)造20個(gè)用戶,賬戶為user_1、2、3…20 .,密碼是user_5位隨機(jī)數(shù)

答:

#!/bin/bash
for USER in $(seq 20)
do
id user_$USER &>>/dev/null
if [ $? -eq 0 ]
        then
                echo "user_$USER already exists"
else
        RPASSWD=$(expr $RANDOM % 12768 + 10000) #10000-32767之間的5位隨機(jī)數(shù)
        useradd user_$USER -p user_$RPASSWD
        if [ $? -eq 0 ]
                then 
                        echo "user_$USER created successfully"
                else
                        echo "user_$USER created failed"
        fi
fi
done

題四:隨機(jī)生成一個(gè)5位隨機(jī)字符串:

答:

此處給出2中種簡(jiǎn)單的方式
head -c x  顯示前面x字節(jié)的內(nèi)容
head -c -x 顯示除了前面x字節(jié)的內(nèi)容

1.date | md5num | head –c 5
2.openssl rand 100  –base64 |head -c 5 
# 將隨機(jī)產(chǎn)生的100個(gè)字符用base64編碼輸出后選中選前5個(gè)字符
#若是 -hex 則是用16進(jìn)制輸出

題五:linux開機(jī)的具體流程

答:
1.加載BIOS的硬件信息與進(jìn)行自我檢測(cè),并且依據(jù)設(shè)置取得第一個(gè)可啟動(dòng)的設(shè)備
2.讀取并執(zhí)行第一個(gè)啟動(dòng)設(shè)備內(nèi)MBR內(nèi)的boot loader(即grub等程序)
3.根據(jù)boot loader的設(shè)置加載內(nèi)核,內(nèi)核開始檢測(cè)硬件和加載驅(qū)動(dòng)程序
4.硬件驅(qū)動(dòng)成功后,內(nèi)核會(huì)主動(dòng)調(diào)用init進(jìn)程,取得運(yùn)行等級(jí)的信息
5.init執(zhí)行/etc/rc.d.rc.sysinit文件準(zhǔn)備軟件的小左環(huán)境
6.init執(zhí)行運(yùn)行等級(jí)的各個(gè)服務(wù)的啟動(dòng)
7.init執(zhí)行/etc/rc.d/rc.local
8.init執(zhí)行終端模擬程序mingetty啟動(dòng)進(jìn)程,等待用戶登錄

題六:如何查看并發(fā)鏈接數(shù)

答:


image.png
netstat 參數(shù)
-a (all)顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)

-p 顯示建立相關(guān)鏈接的程序名
注:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
sort參數(shù):
-n :以純數(shù)字進(jìn)行排序(默認(rèn)是以文字類型進(jìn)行排序)
-r  :反向排序
-t  :  分割符(以什么符號(hào)分割來(lái)進(jìn)行排序,默認(rèn)是空格)
-k  :以某個(gè)區(qū)間進(jìn)行排序
eg:cat /etc/passwd | sort -t ':' -k  3 # 以':'為分隔符選取第3列進(jìn)行排序

uniq參數(shù):
 -i : 忽略大小寫
 -c :  進(jìn)行計(jì)數(shù)

題七:如何查看特定用戶的進(jìn)程

答:ps  -u  root  #查看root用戶的對(duì)應(yīng)進(jìn)程

題八:如何以八進(jìn)制和十六進(jìn)制的方式查看一個(gè)文件

答:

八進(jìn)制:
od filename
注:od默認(rèn)以八進(jìn)制顯示,其他參數(shù)詳見(jiàn):
http://www.itdaan.com/blog/2017/10/09/b2297cc3d424414d9a61a49e329652f2.html
十六機(jī)制:
xxd  filename
參數(shù):
-l :從開始顯示多少字節(jié)的內(nèi)容。(2個(gè)十六進(jìn)制為一個(gè)字節(jié))
-g : 多少字節(jié)為一個(gè)組
-i:以數(shù)組的方式輸出

題九:linux如何掛在windows下的共享目錄

linux服務(wù)器上的操作
創(chuàng)建掛載目錄/mnt/APP
[root@dev ~]# mkdir /mnt/APP
使用mount.cifs進(jìn)行掛載操作:(下面的用戶名和密碼是登陸windows的)
[root@dev ~]# mount.cifs //192.168.9.155/APP /mnt/APP/ -o user=administrator,pass=dsff#$TTT

題十:怎么把腳本添加到系統(tǒng)服務(wù)里,即用service來(lái)調(diào)用

在腳本里加入  
#!/bin/bash
# chkconfig: 345 85 15
# description: httpd

然后保存
chkconfig httpd –add  創(chuàng)建系統(tǒng)服
現(xiàn)在就可以使用service 來(lái) start or restart

若僅僅想使用service命令調(diào)用,只把腳本放到/etc/init.d/木目錄下即可
chkconfig里面的服務(wù)是系統(tǒng)服務(wù),即隨著系統(tǒng)開機(jī)而開啟,關(guān)機(jī)而關(guān)機(jī)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容