1、使用shell,建立class1 使用者組,再批量建立stu1--stu30 的使用者,並指定使用者組為
class1。
vi autoaddusr
#!/usr/bin/php -q
<?php
exec("groupadd class1");
for($i=1; $i<=30; $i++)
?>
chmod +x autoaddusr
./autoaddusr
2..編寫個shell 指令碼將當前目錄下大於10k 的檔案轉移到/tmp 目錄下
#/bin/sh
#programm :
# using for move currently directory to /tmp
for filename in `ls -l |awk '$5>10240 '`
domv $filename /tmp
done
ls -al /tmp
echo "done! "
將/usr/local/test目錄下大於100k 的檔案轉移到/tmp 目錄下。
答:find /usr/local/test -type f -size +100k -exec mv {} /tmp \;
192.168.100.2/255.255.255.0,那麼它的網路位址是
192.168.100.1/255.255.255.0
方法一:
1. #!/bin/bash
2. #this script print ip and network
3. file="/etc/sysconfig/network-scripts/ifcfg-eth0"
4. if [ -f $file ] ;then
5. ip=`grep "ipaddr" $file|awk -f"=" ''`
6. mask=`grep "netmask" $file|awk -f"=" ''`
7. echo "$ip/$mask"
8. exit 1
9. fi
方法二:
1. #!/bin/bash
2. #this programm will printf ip/network
3. #
4. ip=`ifconfig eth0 |grep 'inet ' |sed 's/^.*addr://g'|sed 's/ bcast.*$//g'`
5. netmask=`ifconfig eth0 |grep 'inet '|sed 's/^.*mask://g'`
6. echo "$ip/$netmask"
7. exit
4.有檔案file1
1、請用shell查詢file1 裡面空行的所在行號
awk 『』 file
orgrep -n ^$ file |awk 『begin』
2、編寫shellscript查詢file1 以abc 結尾的行
grep abc$ file1
3、列印出file1 檔案第1 到第3 行
sed -n 』1,3p』 file1
head -3 file1
5.編寫個shell 指令碼將/usr/local/test 目錄下大於100k 的檔案轉移到/tmp 目錄下
#!/bin/bash
for file in `ls /root`
doif [ -f $file ]; then
if [ `ls -l $file|awk ''` -gt 10000 ]; then
mv $file /tmp/
fifi
done
6.有個檔案如下:
得到的結果應該是:
3 a.domain.com
2 b.domain.com
1 c.domain.com
[root@mail ~]# awk 『beginend』 list| sort -r 答案
3 a.domain.com
2 b.domain.com
1 c.domain.com
7.處理以下檔案內容,將網域名稱取出並進行計數排序,如處理:
得到如下結果:
網域名稱的出現的次數 網域名稱
可以使用bash/perl/php/c 任意一種
8.列印第乙個域
[root@localhost bin]# cat 3
eqeqedadasdd
eqeqdadfdfdd
fdsfdsfqwedd
dsadasdsadsa
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# awk -f "" '' 3ee
fd9.用shell 程式設計,判斷一檔案是不是字元裝置檔案,如果是將其拷貝到/dev 目錄下?
#!/bin/bash
directory=/dev
for file in anaconda-ks.cfg install.log install.log.syslog
doif [ -f $file ]
then
cp $file $directory/$file.bak
echo " hi, $logname $file is backed up already in $directory !!"fi
done
10.某系統管理員需要每天做一定的重複工作,編制乙個解決方案:
(1).從下午4:50 刪除/abc 目錄下的全部子目錄和全部檔案;
(2).從早上8:00~下午6:00 每小時讀取/xyz 目錄下x1 檔案中每行第乙個域的全部數
據加入到/backup 目錄下的back01.txt 檔案內;
(3).每逢周一下午5:50 將/data 目錄下的所有目錄和檔案歸檔並壓縮為檔案
backup.tar.gz;
(4).在下午5:55 將ide 介面的cd-rom 缷載(假設cd-rom 的裝置名為hdc);
(5).在早上8:00 前開機後啟動。
常用指令碼 常用指令碼整理
1 addloadevent 網頁載入完成後把多個自己編寫的函式繫結到window.onload事件中 把現有的window.onload事件處理函式的值存入便令oldonload。如果在這個處理函式上還沒有繫結任何函式,就像平時那樣把新函式新增給它。如果在這個處理函式上已經繫結了一些函式,就把新函...
shell指令碼常用指令碼
go指令碼總結 shell指令碼在我們工作過程中會起到相當重要的作用,下面是我在一年工作中儲存下來的常用的指令碼。在某個程式需要完成多機部署,並且路徑一致的時候,通過指令碼來完成部署,啟動,終止是一件很方便的事情。bin bash author zhaoyixing breif 程式部署指令碼 br...
9個實戰及面試常用Shell指令碼編寫
目錄 注意事項 1 獲取隨機字串或數字 2 定義乙個顏色輸出字串函式 3 批量建立使用者 4 檢查軟體包是否安裝 5 檢查服務狀態 6 檢查主機存活狀態 方法1 將錯誤ip放到陣列裡面判斷是否ping失敗三次 方法2 將錯誤次數放到fail count變數裡面判斷是否ping失敗三次 方法3 利用f...