Linux 的浩瀚無垠,使人總能每次都提交與眾不同的內(nèi)容。這些內(nèi)容不僅對他們的職業(yè)生涯很有用,同時也讓他們增長知識。在此,我們就嘗試這么去做,至于能取得多大的成功,就由我們的讀者朋友們來判斷吧。
在此,作為 shell 腳本的附加內(nèi)容,在本文中我們將從面試的角度解讀與 Linux Shell 相關(guān)的問題。1、在 shell 腳本成功執(zhí)行前,如何中斷腳本執(zhí)行?解答:我們需要使用exit
命令來實現(xiàn)以上描述的情境。exit
命令被強制輸出非0值時,腳本會報錯并退出。在 Unix 環(huán)境下的 shell 腳本中,0值表示成功執(zhí)行。因此,在腳本終止前執(zhí)行一個不帶引號的exit -1
命令將使腳本中止。
echo "Hello"
exit -1
echo "bye"
保存文件并執(zhí)行。
# sh linuxmi.sh
Hello
linuxmi.sh:行3: exit-1: 未找到命令
bye
從上面的腳本中可以清楚地看到,在exit -1
命令前,腳本執(zhí)行得很好。
2、如何使用 Linux 命令來移除文件頭?
解答:當(dāng)我們需要刪除文件中的指定行時,sed
命令可以用來解決該問題。
這個是用來刪除文件頭(文件的首行)的正確命令。
# sed '1 d' file.txt
好吧,其實sed命令內(nèi)建的-i
開關(guān)就可以干這活,就不需要重定向符了吧。
# sed -i '1 d' file.txt
3、你怎么檢查一個文本文件中某一行的長度?解答:
sed
命令也可以用來查找文本文件中的某一行或者檢查其長度。sed -n ‘n p’ file.txt
可以解決,這里n
表示行號,p
打印出匹配內(nèi)容(到標(biāo)準(zhǔn)輸出),該命令通常與-n
命令行選項連用。那么,怎樣來獲取長度計數(shù)呢?很明顯,我們需要通過管道輸出給wc
命令來計算。
# sed –n 'n p' file.txt | wc –c
要得到文本文件‘linuxmi.txt’的第五行的長度,運行如下命令:
# sed -n '5 p' linuxmi.txt | wc -c
vi
編輯器的幫助。怎樣在vi
編輯器中顯示非打印字符?打開vi編輯器。先按[esc]鍵,然后按:
進入到vi編輯器的命令模式。最后,從 vi 編輯器的命令界面輸入set list
命令并執(zhí)行。5、假如你是一個員工組的團隊領(lǐng)導(dǎo),為xyz公司工作。公司要求你創(chuàng)建一個注: 這種方式可以查看文本文件中的所有非打印字符,包括 ctrl+m(^M)。
dir_xyz
目錄,讓該組成員都能在該目錄下創(chuàng)建或訪問文件,但是除了文件創(chuàng)建者之外的其他人不能刪除文件,你會怎么做?解答:這真是個有趣的工作方案。好吧,上面所講的方案,我們需要通過下面的步驟來實施,這簡直就是小菜一碟。
# mkdir dir_xyz
# chmod g+wx dir_xyz
# chmod +t dir_xyz
第一行命令創(chuàng)建了一個目錄(dir_xyz),上面的第二行命令讓組(g)具有‘寫’和‘執(zhí)行’的權(quán)限,而上面的最后一行命令——權(quán)限位最后的‘+t’是‘粘滯位’,它用來替換‘x’,表明在這個目錄中,文件只能被它們的擁有者、目錄的擁有者或者是超級用戶root刪除。
6、你能告訴我一個Linux進程經(jīng)歷的各個階段嗎?
解答:一個 Linux 進程在它的一生中,通常經(jīng)歷了四個主要階段。
這里是Linux進程要經(jīng)歷的四個階段。
-
等待:Linux進程等待資源。
-
運行:Linux進程當(dāng)前正在執(zhí)行中。
-
停止:Linux進程在成功執(zhí)行后或收到殺死進程信號后停止。
-
僵尸:如果該進程已經(jīng)結(jié)束,但仍然留在進程表中,被稱為‘僵尸’。
7、Linux中cut
命令怎么用?
解答:cut
是一個很有用的 Linux 命令,當(dāng)我們要截取文件的指定部分并打印到標(biāo)準(zhǔn)輸出,當(dāng)文本區(qū)域以及文件本身很大時,這個命令很有用。
例如,截取txt_linuxmi
文件的前10列。
# cut -c1-10 txt_linuxmi
要截取該文件中的第二,第五和第七列。
# cut -d;-f2 -f5 -f7 txt_linuxmi
8、
cmp
和diff
命令的區(qū)別是什么?解答:cmp
和diff
命令用來獲取相同的東西,但各有側(cè)重。diff
命令輸出為了使兩個文件一樣而應(yīng)該做的修改。而‘cmp’命令則將兩個文件逐字節(jié)對比,并報告第一個不匹配的項。9、可以用echo
命令來替換ls
命令嗎?解答:可以的?!甽s’命令可以用‘echo’命令來替代。‘ls’命令列出目錄內(nèi)容,從替換上述命令的角度講,我們可以使用‘echo *’,兩個命令的輸出完全一樣。10、你可能聽過 inode 吧。你能簡要描述一下 inode 嗎?解答:inode 是一個數(shù)據(jù)結(jié)構(gòu),在 Linux 上用于文件標(biāo)識。每個文件在 Unix 系統(tǒng)上有一個獨立的 inode 和一個唯一的 inode 號。審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11352瀏覽量
210544 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41614 -
命令
+關(guān)注
關(guān)注
5文章
698瀏覽量
22136 -
Shell
+關(guān)注
關(guān)注
1文章
366瀏覽量
23478 -
腳本
+關(guān)注
關(guān)注
1文章
392瀏覽量
14963
原文標(biāo)題:Linux Shell 腳本的 10 個有用的“面試問題和解答”
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Linux Shell相關(guān)面試問題
![<b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b><b class='flag-5'>相關(guān)</b><b class='flag-5'>面試問</b>題](https://file1.elecfans.com/web2/M00/A5/5A/wKgaomUKmc2AMW2KAAAPJQa9sXI046.png)
shell腳本的相關(guān)資料分享
Linux常見調(diào)用shell腳本的三種方法
Linux Shell腳本編程基礎(chǔ)和相關(guān)資料合集免費下載
![<b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>編程基礎(chǔ)和<b class='flag-5'>相關(guān)</b>資料合集免費下載](https://file.elecfans.com/web1/M00/93/4A/pIYBAFznwhKAFAIaAAMwgIlHr4c440.png)
如何創(chuàng)建和執(zhí)行一個簡單的Linux shell腳本
Linux中shell腳本執(zhí)的4種方式
![<b class='flag-5'>Linux</b>中<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>執(zhí)的4種方式](https://file.elecfans.com/web1/M00/BC/E5/o4YBAF7Ie0uAV-14AAApnLOBhTg151.jpg)
Linux開發(fā)_Makefile規(guī)則與Shell腳本語言
Linux Shell腳本經(jīng)典案例分享
![<b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享](https://file1.elecfans.com/web2/M00/89/DD/wKgZomSL-7eAcRBVAAA0YQQcU5I277.png)
分享249個拿來即用的shell腳本
![分享249個拿來即用的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>](https://file1.elecfans.com/web2/M00/8C/31/wKgaomSnfgCAfb0vAAA0YQQcU5I769.png)
評論