shell編程練習題


  1. 求2個數之和
  2. 計算1-100的和
  3. 將一目錄下所有的文件的擴展名改為bak
  4. 編譯當前目錄下的所有.c文件:
  5. 打印root可以使用可執行文件數,處理結果: root's bins: 2306
  6. 打印當前sshd的端口和進程id,處理結果: sshd Port&&pid: 22 5412
  7. 輸出本機創建20000個目錄所用的時間,處理結果:

real    0m3.367s

user    0m0.066s

sys     0m1.925s

  1. 打印本機的交換分區大小,處理結果: Swap:1024M
  2. 文本分析,取出/etc/password中shell出現的次數

第一種方法結果:

    4  /bin/bash

    1  /bin/sync

    1  /sbin/halt

    31 /sbin/nologin

    1  /sbin/shutdown

第二種方法結果:

/bin/sync       1

/bin/bash       1

/sbin/nologin   30

/sbin/halt      1

/sbin/shutdown  1

  1. 文件整理,employee文件中記錄了工號和姓名, bonus文件中記錄工號和工資要求把兩個文件合並並輸出如下,處理結果:(提示join)

400 ashok sharma $1,250

100 jason smith  $5,000

200 john doe  $500

300 sanjay gupta  $3,000

 

employee.txt:

100 Jason Smith

200 John Doe

300 Sanjay Gupta

400 Ashok Sharma

bonus.txt:

100 $5,000

200 $500

300 $3,000

400 $1,250

  1. 寫一個shell腳本來得到當前的日期,時間,用戶名和當前工作目錄。
  2. 編寫shell腳本獲取本機的網絡地址。
  3. 編寫個shell腳本將當前目錄下大於10K的文件轉移到/tmp目錄下
  4. 編寫一個名為myfirstshell.sh的腳本,它包括以下內容。

a) 包含一段注釋,列出您的姓名、腳本的名稱和編寫這個腳本的目的。

b) 問候用戶。

c) 顯示日期和時間。

d) 顯示這個月的日歷。

e) 顯示您的機器名。

f) 顯示當前這個操作系統的名稱和版本。

g) 顯示父目錄中的所有文件的列表。

h) 顯示root正在運行的所有進程。

i) 顯示變量TERM、PATH和HOME的值。

j) 顯示磁盤使用情況。

k) 用id命令打印出您的組ID。

m) 跟用戶說“Good bye”

  1. 文件移動拷貝,有m1.txt m2.txt m3.txt m4.txt,分別創建出對應的目錄,m1 m2 m3 m4 並把文件移動到對應的目錄下。
  2. root用戶今天登陸了多長時間
  3. 終端輸入一個文件名,判斷是否是設備文件
  4. 統計IP訪問:要求分析apache訪問日志,找出訪問頁面數量在前100位的IP數。日志大小在78M左右。以下是apache的訪問日志節選

202.101.129.218 - - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065 HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

  1. 設計一個Shell程序,在/userdata目錄下建立50個目錄,即user1~user50,並設置每個目錄的權限,其中其他用戶的權限為:讀;文件所有者的權限為:讀、寫、執行;文件所有者所在組的權限為:讀、執行。
  2. 設計一個shell程序,添加一個新組為class1,然后添加屬於這個組的30個用戶,用戶名的形式為stdxx,其中xx從01到30,並設置密碼為對應的stdxx。
  3. 編寫shell程序,實現自動刪除30個賬號的功能。賬號名為std01至std30。
  4. 用戶清理,清除本機除了當前登陸用戶以外的所有用戶
  5. 設計一個shell程序,在每月第一天備份並壓縮/etc目錄的所有內容,存放在/root/bak目錄里,且文件名,為如下形式yymmdd_etc,yy為年,mm為月,dd為日。Shell程序fileback存放在/usr/bin目錄下。
  6. 對於一個用戶日志文件,每行記錄了一個用戶查詢串,長度為1-255字節,共幾千萬行,請排出查詢最多的前100條。 日志可以自己構造> 。 (提示:awk sort uniq head)
  7. 編寫自己的ubuntu環境安裝腳本
  8. 編寫服務器守護進程管理腳本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM