• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    今天面試的一道題,我不會做

    發布: 2007-6-08 22:43 | 作者: seanhe | 來源: | 查看: 33次 | 進入軟件測試論壇討論

    領測軟件測試網
    :(  :( 

    每天12:10,把/tmp目錄下大于1M的文件復制到/save目錄下。

     :(  :(

    <progress id="5koa6"></progress>

  •  race 回復于:2003-08-16 18:25:14
    厲害厲害

     zhangzzs 回復于:2003-08-16 18:28:11
    我也不會呀.這個是要寫腳本吧,可是我一點腳本都不會寫.

     blazewater 回復于:2003-08-16 18:44:05
    好像在crontab中可以定時做某些任務,具體看man;
    然后寫個腳本復制文件不就可以了么
    腳本結構可以如下:
    #!/bin/sh
    files=`ls -l /tmp |awk '{if (文件大小那一項 > 1M) print 文件名那一項}'`
    for file in $files 
    do
        cp $file /save
    done
    echo "backup OK!"

    寫的比較簡單

     yuwang007 回復于:2003-08-16 18:45:10
    crontab -e 
         10 12  * * *   /save.sh



    vi  /save.sh

    #!/bin/sh
    AWK=/usr/bin/awk 
    GREP=/usr/bin/grep 
    for i in `ls -tr /tmp/ | $GREP -v ^d | $AWK  '{ if ($5>1048576)  print  $9 }'`
    do
          cp  -f  /tmp/$i     /save
    done

     w8u8 回復于:2003-08-16 21:41:47
    我看不懂,
    唉,我真的是太菜了。

     Liu_xp2003 回復于:2003-08-16 21:51:10
    能看懂,現在叫我寫,估計功力不夠! :oops:

     aerolite 回復于:2003-08-16 23:38:36
    沒有這么復雜吧,這樣做就可以了
    crontab -e 
    10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;

     czw1413_cn 回復于:2003-08-17 11:17:27
    呵呵
    真夠簡練的
    是那么個意思
    行不行你試了嗎

     78020281 回復于:2003-08-17 11:26:44
    高手,  能看懂些,但是寫不出來。

     Arthurking 回復于:2003-08-17 14:30:04
    crontab -e 
    也是腳本里的嗎?
    第一次啟動后是不是就每天執行了?

     coffee and tea 回復于:2003-08-17 15:06:01
    真是好貼子~我估計此貼能激起很多人學習shell的興趣呢







     wanglp2000 回復于:2003-08-17 15:39:58
    這些討論我覺得很......(滑稽用的多些)
    這可是系統管理員最簡單的活了,難道這也叫難啊?
    看來.........

     itisok96 回復于:2003-08-17 16:42:09
    強的說

     yuwang007 回復于:2003-08-17 18:47:38
    10 12 * * * find /tmp -size +1048576c -exec cp {} /save \; 



       我沒用過那種  find    + , man里沒找到,可能沒仔細看

     rocazj 回復于:2003-08-18 08:55:05
    1、find . -size +200c -exec cp {} 1 \;
    將所有大于200字節的文件拷貝到子目錄1下。

    2、find . -size +26m -exec cp {} 1 \;
    將所有大于26兆字節的文件拷貝到子目錄1下。

    3、find . -size +1k -exec cp {} 1 \;
    將所有大于1K字節的文件拷貝到子目錄1下。

     houji 回復于:2003-08-18 11:03:12
    rocazj 的方法很簡單,好使。

     xiongshoufen 回復于:2003-08-18 13:37:40
    我連看讀看不懂,好慘。。!

     twlogin 回復于:2003-08-18 13:49:51
    做一個系統管理員不懂shell是無法想象的

     welbird 回復于:2003-08-18 14:12:24
    又學了一招,嘿嘿

     6liuy 回復于:2003-08-18 16:23:47
    不錯,使用find命令

     okwiner 回復于:2003-08-18 16:25:42
    shell和編程是一回事么?用什么控制命令執行的邏輯?

     llc107 回復于:2003-08-18 16:38:26
    [quote:505116de8a="aerolite"]沒有這么復雜吧,這樣做就可以了
    crontab -e 
    10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:505116de8a] 

    nice done!

     JuGar 回復于:2003-08-18 23:41:21
    find很好用的呀~~

     寒帶魚 回復于:2003-08-20 22:20:56
    xarg也可以撒

     snaking 回復于:2003-08-24 13:19:27
    收到

     blazewater 回復于:2003-08-24 15:07:14
    shell實際上是功能很強大的武器
    不同的功能都可以實現同一個功能
    所謂條條大陸通羅馬嘛
    不要在這上面浪費口水了
    還是多看看書吧

     浦東本地人 回復于:2003-08-24 23:15:27
    沒有想到那么菜!!!!  
    上次我應聘時還要現場寫個POSTSCRIPT的腳本呢,足有84行長.還必須用PERL和KSH寫兩個版本.

     wanfei 回復于:2003-08-25 12:28:56
    這個帖子不錯。應表揚

     akai_feng 回復于:2003-08-25 13:38:46
    說句老實話,好像這已經是熟練SA的最低要求了,不然,也不會出現在面試題

    good good study
    day day up

     ustcboy 回復于:2003-08-26 15:38:48
    http://ustcboy.51.net/download/sa239.rar
        http://ustcboy.51.net/download/sa299.rar


    sa299不是教材/好像是做的幻燈片
    希望對大家學習有幫助

     tiaozao 回復于:2003-08-27 00:33:46
    [quote:5a49ba9be2="rocazj"]1、find . -size +200c -exec cp {} 1 \;
    將所有大于200字節的文件拷貝到子目錄1下。

    2、find . -size +26m -exec cp {} 1 \;
    將所有大于26兆字節的文件拷貝到子目錄1下。

    3、find . -size +1k -exec cp {} ..........[/quote:5a49ba9be2]     

    有人試過這個方法么?
    我試了,不可以

     老同志lawson 回復于:2003-12-01 17:48:00
    腳本如下:
    #!/usr/bin/bash
    cd /tmp
    for file in `ls`
    do
    if [ -f $file ]
    then
    file2=`ls -al $file|awk '{print $5}'`
    long=`expr 1024 \* 1024`
    if [ "$file2" -gt "$long" ]
    then
    cp $file /save/
    fi
    else
    continue
    fi
    done
    cd ..

     xyf721127 回復于:2005-02-14 00:15:58
    看不懂啊,真是很著急!

     Linux@初學者 回復于:2005-02-14 13:45:13
    汗一下。

     jndu 回復于:2005-02-14 14:15:15
    1M=1048576c ?

    怎么得出來的?

    不應該是1024*1024*1024=1073741824 么?

     bosshoss_cn 回復于:2005-02-14 16:22:56
    我也問一下:
    要求在/save目錄下自動生成以日期為名字的子目錄再COPY行否?
    如何實現?
    格式:YYYY-MM-DD

     驍騎尉 回復于:2005-02-15 09:11:59
    [quote:67bb23a78f="tiaozao"]    

    有人試過這個方法么?
    我試了,不可以[/quote:67bb23a78f]

    find . xxxx

    這個表示find的操作是從當前目錄開始執行的。前面的題目要求是對/tmp目錄下的文件進行操作,所以要使用 find /tmp xxxx

     samshi 回復于:2005-02-16 13:52:15
    crontab -e 
    10 12 * * * find /tmp -size +1048576c -exec cp {} /save \;

     maping 回復于:2005-02-16 17:46:03
    上面說的我也好多看不懂,翻書找到下面內容,和大家共享!



    Crontab 安排某個命令有規律地在特定的時間執行
    語法:crontab filename
    crontab options [user_name]
    概述
    crontab 命令允許用戶提交一個工作列表,這些工作是在用戶指定的時間運行。這些命令保存被稱為crontab 的文件中。名為cron的系統命令讀取crontab文件,并運行這些命令。如果在用戶的crontab文件的命令行中沒有進行輸出重定向,那么才采用標準和錯誤輸出。
    參數
    在第一種語法格式中,filename是包含crontab命令的一個文件名。如果用戶使用一個連字號作為文件名,crontab將從用戶鍵入的標準輸入中讀取數據;以CONTROL-D結束。
    第二種語法格式中的user-name 能夠由超級用戶來指定,從而能為一個特別的用戶改變crontab文件。
    選項
     -e    edit.在用戶的crontab文件上運行由EDITOR這個shell變量指定的文本編輯器,使得用戶可以進行添加,改變或者刪除文件的全部。在創建/編輯crontab之后,這個選項將安裝它。
      -l    list 顯示用戶的crontab文件的內容
      -r    remove 刪除用戶的crontab文件。
    注意
    每條crontab命令以5個空格風隔字段開始,指定了命令應該什么時候運行:
    l 分鐘(0-59)
    l 小時(0-23)
    l 某月的一天(1-31)
    l 某年的一月(1-12)
    l 某星期的一天(0-6,0=Sunday)
    星號代表所有可能的植。
    示例
    在下面的示例中,root用戶設定了一個由cron在沒個周六的早上2:05開始執行的命令,這些命令將新五天中系統中沒有被訪問到的core文件全部刪除。ROOT用戶從控制臺直接輸入命令。
    # crontab
    5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;
    CONTROL-D
    紊亂在用戶的crontab 文件中增加一個條目,運行帶有-e選項的crontab命令。-l選項顯示了用戶crontab 文件的一個副本。
    # crontab –l
    5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;

     victor_hu 回復于:2005-02-17 14:42:12
    crontab -e
    0 12 * * * find /tmp -size +1048576c -exec cp -r {} /save \;

     victor_hu 回復于:2005-02-17 14:57:20
    試試下面的:

    crontab -e
    0 12 * * * find /tmp -size +1048576c -exec cp {} /save \;

     freedemon 回復于:2005-02-17 15:36:23
    [quote:f233a80069="aerolite"]沒有這么復雜吧,這樣做就可以了
    crontab -e 
    10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:f233a80069]

    不錯

    思路正確

    再嚴謹一點的話可以加上-type f,限定常規文件,避免一些可能發生的權限錯誤

    find [PATH] -type f -size +******c -exec "......."\;
    只要用find查找出對應目錄中常規file類型,大小大于(+)1024k的文件,使用find的exec參數調用命令就可以了。

    幾個需要注意的細節:
    1. -type f限定文件類型;
    2. -size參數默認數值單位為block(長度512B的Block),如果要用字節作為單位,需要在最后加c,比如1024c,就代表1024Byte;+/-表示大于或小于,否則就代表精確相等;
    3. 使用exec進行文件備份命令的執行;
    4. 使用crontab定時調用find一條命令就可以了,根本不必寫腳本。

    .

     sun_boy 回復于:2005-02-17 15:55:02
    發現自己很多東西學的還是不夠熟練!呵呵!

     xxxxl 回復于:2005-02-18 10:11:13
    在solaris下是這樣:
    crontab -e 
    10 12 * * * find /tmp -type f -size +1048576c -exec cp {} /save \;

     fywlily 回復于:2005-02-28 13:13:11
    知道個意思,具體的寫估計一遍要寫錯

     sbleo 回復于:2005-02-28 14:11:24
    現場那么緊張估計寫個大概,面試官也不會太為難的,不過如果不知道怎么下手就要自我檢討一下了。

     Crazy土匪 回復于:2005-03-29 21:08:39
    能看懂,寫不出來。呵呵

     nhzjoke 回復于:2005-03-29 23:31:51
    [quote:eff51c2489="aerolite"]沒有這么復雜吧,這樣做就可以了
    crontab -e 
    10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:eff51c2489]

    樓上的是正解!

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <strong id="5koa6"></strong>