- 求2個數之和
- 計算1-100的和
- 將一目錄下所有的文件的擴展名改為bak
- 編譯當前目錄下的所有.c文件:
- 打印root可以使用可執行文件數,處理結果: root's bins: 2306
- 打印當前sshd的端口和進程id,處理結果: sshd Port&&pid: 22 5412
- 輸出本機創建20000個目錄所用的時間,處理結果:
real 0m3.367s
user 0m0.066s
sys 0m1.925s
- 打印本機的交換分區大小,處理結果: Swap:1024M
- 文本分析,取出/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
- 文件整理,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
- 寫一個shell腳本來得到當前的日期,時間,用戶名和當前工作目錄。
- 編寫shell腳本獲取本機的網絡地址。
- 編寫個shell腳本將當前目錄下大於10K的文件轉移到/tmp目錄下
- 編寫一個名為myfirstshell.sh的腳本,它包括以下內容。
a) 包含一段注釋,列出您的姓名、腳本的名稱和編寫這個腳本的目的。
b) 問候用戶。
c) 顯示日期和時間。
d) 顯示這個月的日歷。
e) 顯示您的機器名。
f) 顯示當前這個操作系統的名稱和版本。
g) 顯示父目錄中的所有文件的列表。
h) 顯示root正在運行的所有進程。
i) 顯示變量TERM、PATH和HOME的值。
j) 顯示磁盤使用情況。
k) 用id命令打印出您的組ID。
m) 跟用戶說“Good bye”
- 文件移動拷貝,有m1.txt m2.txt m3.txt m4.txt,分別創建出對應的目錄,m1 m2 m3 m4 並把文件移動到對應的目錄下。
- root用戶今天登陸了多長時間
- 終端輸入一個文件名,判斷是否是設備文件
- 統計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)"
- 設計一個Shell程序,在/userdata目錄下建立50個目錄,即user1~user50,並設置每個目錄的權限,其中其他用戶的權限為:讀;文件所有者的權限為:讀、寫、執行;文件所有者所在組的權限為:讀、執行。
- 設計一個shell程序,添加一個新組為class1,然后添加屬於這個組的30個用戶,用戶名的形式為stdxx,其中xx從01到30,並設置密碼為對應的stdxx。
- 編寫shell程序,實現自動刪除30個賬號的功能。賬號名為std01至std30。
- 用戶清理,清除本機除了當前登陸用戶以外的所有用戶
- 設計一個shell程序,在每月第一天備份並壓縮/etc目錄的所有內容,存放在/root/bak目錄里,且文件名,為如下形式yymmdd_etc,yy為年,mm為月,dd為日。Shell程序fileback存放在/usr/bin目錄下。
- 對於一個用戶日志文件,每行記錄了一個用戶查詢串,長度為1-255字節,共幾千萬行,請排出查詢最多的前100條。 日志可以自己構造> 。 (提示:awk sort uniq head)
- 編寫自己的ubuntu環境安裝腳本
- 編寫服務器守護進程管理腳本。