日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Linux Shell腳本的10個有用的“面試問題和解答”

系統 2548 0

首先致上每日問候。Linux的浩瀚無垠,使人總能每次都提交與眾不同的內容。我們“ The-Tecmint-Team ”的工作是給我們的讀者提供一些獨特的內容,這些內容不僅對他們的職業生涯很有用,同時也讓他們增長知識。在此,我們就嘗試這么去做,至于能取得多大的成功,就由我們的讀者朋友們來判斷吧。

Questions on Shell Scripting

我們為各類用戶提供了關于 Shell腳本 語言和 面試問題 的很多教程,可以訪問以下鏈接去閱讀這些文章。

?

在此,作為shell腳本的附加內容,在本文中我們將從面試的角度解讀與Linux Shell相關的問題。

?

1. 在shell腳本成功執行前,如何中斷腳本執行?

解答 :我們需要使用‘exit’命令來實現以上描述的情境。‘exit’命令被強制輸出非0值時,腳本會報錯并退出。在Unix環境下的shell腳本中,0值表示成功執行。因此,在腳本終止前執行一個不帶引號的‘exit -1’命令將使腳本中止。

例如,創建以下一個名為“ anything.sh ”的腳本。

      #!/bin/bash
echo "Hello"
exit-1
echo "bye"
    

?

保存文件并執行。

      # sh anything.sh
     
Hello
exit.sh:3:exit:Illegal number:-1
    

?

從上面的腳本中可以清楚地看到,在exit -1命令前,腳本執行得很好。

?

2. 如何使用Linux命令來移除文件頭?

解答 :當我們需要刪除文件中的指定行時,‘sed’命令可以用來解決該問題。

這個是用來刪除文件頭(文件的首行)的正確命令。

      # sed '1 d' file.txt
    

?

上面命令的問題是,它會在標準輸出設備上輸出不帶首行的文件內容。為了保存輸出到文件,我們需要使用重定向操作符,它將幫助你將輸出重定向到文件。

      # sed '1 d' file.txt > new_file.txt
    

?

好吧,其實 sed 命令內建的‘ -i ’開關就可以干這活,就不需要重定向符了吧。

      # sed -i '1 d' file.txt
    

?

3. 你怎么檢查一個文本文件中某一行的長度?

解答 :‘sed’命令也可以用來查找文本文件中的某一行或者檢查其長度。

sed -n ‘n p’ file.txt ’可以解決,這里‘ n ’表示行號,‘ p ’打印出匹配內容(到標準輸出),該命令通常與 -n 命令行選項連用。那么,怎樣來獲取長度計數呢?很明顯,我們需要通過管道輸出給‘ wc ’命令來計算。

      # sed –n 'n p' file.txt | wc –c
    

?

要得到文本文件‘ tecmint.txt ’的第五行的長度,運行如下命令:

      # sed -n '5 p' tecmint.txt | wc -c
    

?

4. 可以在Linux系統上查看到所有非打印字符嗎?你是怎么做到的?

解答 :可以。可以在Linux中查看所有的非打印字符。要實現上面所講的方案,我們需要‘vi’編輯器的幫助。 怎樣在‘ vi ’編輯器中顯示非打印字符?

  • 打開vi編輯器。
  • 先按[esc]鍵,然后按‘:’進入到vi編輯器的命令模式。
  • 最后,從‘vi’編輯器的命令界面輸入set list命令并執行。

: 這種方式可以查看文本文件中的所有非打印字符,包括 ctrl+m(^M)

?

5. 假如你是一個員工組的團隊領導,為xyz公司工作。公司要求你創建一個‘dir_xyz’目錄,讓該組成員都能在該目錄下創建或訪問文件,但是除了文件創建者之外的其他人不能刪除文件,你會怎么做?

解答 :這真是個有趣的工作方案。好吧,上面所講的方案,我們需要通過下面的步驟來實施,這簡直就是小菜一碟。

      # mkdir dir_xyz
# chmod g+wx dir_xyz
# chmod +t dir_xyz
    

?

第一行命令創建了一個目錄( dir_xyz ),上面的第二行命令讓組(g)具有‘寫’和‘執行’的權限,而上面的最后一行命令——權限位最后的‘+t’是‘粘滯位’,它用來替換‘x’,表明在這個目錄中,文件只能被它們的擁有者、目錄的擁有者或者是超級用戶root刪除。

?

6. 你能告訴我一個Linux進程經歷的各個階段嗎?

解答 :一個Linux進程在它的一生中,通常經歷了四個主要階段。

這里是Linux進程要經歷的四個階段。

  • 等待:Linux進程等待資源。
  • 運行:Linux進程當前正在執行中。
  • 停止:Linux進程在成功執行后或收到殺死進程信號后停止。
  • 僵尸:如果該進程已經結束,但仍然留在進程表中,被稱為‘僵尸’。

?

7. Linux中cut命令怎么用?

解答 :‘cut’是一個很有用的Linux命令,當我們要截取文件的指定部分并打印到標準輸出,當文本區域以及文件本身很大時,這個命令很有用。

例如,截取‘ txt_tecmint ’文件的前10列。

      # cut -c1-10 txt_tecmint
    

?

要截取該文件中的第二,第五和第七列。

      # cut -d;-f2 -f5 -f7 txt_tecmint
    

?

8. ‘cmp’和‘diff’命令的區別是什么?

解答 :‘cmp’和‘diff’命令用來獲取相同的東西,但各有側重。

diff ’命令輸出為了使兩個文件一樣而應該做的修改。而‘ cmp ’命令則將兩個文件逐字節對比,并報告第一個不匹配的項。

?

9. 可以用‘echo’命令來替換‘ls’命令嗎?

解答 :可以的。‘ls’命令可以用‘echo’命令來替代。‘ls’命令列出目錄內容,從替換上述命令的角度講,我們可以使用‘echo *’,兩個命令的輸出完全一樣。

?

10. 你可能聽過inode吧。你能簡要描述一下inode嗎?

解答 :‘inode’是一個‘數據結構’,在Linux上用于文件標識。每個文件在Unix系統上有一個獨立的‘inode’和一個‘唯一的’inode號。

到此為止吧。在下一篇文章中,我們將討論另外一些有趣味性而又有知識性的面試問題。到那時,別跑開,請上Tecmint.com,別忘了在下面的評論部分給我們提供一些有價值的反饋哦。


via: http://www.tecmint.com/interview-questions-on-shell-scripting/

譯者: GOLinux 校對: wx

原文由 LCTT 原創翻譯, Linux中國 榮譽推出

原文地址: http://linux.cn/article-3101-1.html

?

?

?

Linux Shell腳本的10個有用的“面試問題和解答”


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 桂东县| 凌云县| 那坡县| 确山县| 齐齐哈尔市| 平罗县| 乌拉特后旗| 全椒县| 桐城市| 新疆| 三原县| 灵宝市| 绥中县| 西平县| 克什克腾旗| 宜丰县| 上犹县| 周至县| 保定市| 若尔盖县| 观塘区| 齐齐哈尔市| 鲁甸县| 开原市| 长宁区| 广水市| 尼木县| 普兰店市| 洪泽县| 乐山市| 兰州市| 临沧市| 邛崃市| 石河子市| 阜阳市| 长阳| 黄梅县| 松滋市| 宁阳县| 房山区| 尼玛县|