chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【shell腳本】如何快速生成一個(gè)固定大小且內(nèi)容隨機(jī)的文件?

嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 來(lái)源:嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開(kāi)發(fā) ? 2022-08-31 13:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

筆者最近在項(xiàng)目自測(cè)試中,有個(gè)小小的需求:需要在原始文件的后面,追加一個(gè)**固定大小**的文件,組成一個(gè)更大的文件做測(cè)試,并且為了保證測(cè)試結(jié)果的準(zhǔn)確性和隨機(jī)性,這個(gè)固定大小的文件還必須是內(nèi)容隨機(jī)的。經(jīng)過(guò)學(xué)習(xí)和整理,發(fā)現(xiàn)在**linux命令行**有個(gè)非常有用的命令**dd**就可以解決此問(wèn)題。

? 為了今后也能快速使用這個(gè)功能,我把這個(gè)功能的實(shí)現(xiàn),用shell腳本文件的形式編寫(xiě)出來(lái),需要生成文件的時(shí)候只需要在命令行里,按照約定的命令行參數(shù)輸入對(duì)應(yīng)的配置信息,就可以生成所需的文件,方便、快捷,高效工作就從此刻開(kāi)始。

? 廢話(huà)不說(shuō),直接上腳本內(nèi)容:

#########################################################################
# File Name: random-file.sh
# Author : szullc
# Created Time: 2018年12月03日 星期一 11時(shí)28分23秒
#########################################################################
#!/bin/bash -e

out_file_name=$1
file_size=$2
size_unit=$3
tmp_out_file_name=$out_file_name.tmp

function check_input_param()
{
    if [[ "a" == "a"$out_file_name || "a" == "a"$file_size || "a" == "a"$size_unit ]]; then
        echo "Error param input !"
        echo "Type in like this: $0 [out-file-name] [file-szie] [size-unit]"
        echo "param list as follow:"
        echo "[out-file-name]: input your output file name, Relative path and absolute path are OK."
        echo "[file-size]: The file size of output file, which must be an integer."
        echo "[size-unit]: Only support K/M/G. They mean xxxKB/xxxMB/xxxGB."
        exit
    fi
}

function check_file_size_if_integer()
{
    if [ -n "$file_size" -a "$file_size" = "${file_size//[^0-9]/}" ]; then
        echo "file_size=$file_size"
    else
        echo "[file-size] error: The file size of output file, which must be an integer."
    exit
    fi
}

function check_size_unit()
{
    if [[ "K" != $size_unit && "M" != $size_unit && "G" != $size_unit ]]; then
        echo "[size-unit] error: Only support K/M/G. They mean xxxKB/xxxMB/xxxGB."
        exit
    fi
}

function create_random_file()
{
    dd if=/dev/urandom of=$tmp_out_file_name bs=1$size_unit count=$file_size conv=notrunc
    mv $tmp_out_file_name $out_file_name
}


check_input_param
check_file_size_if_integer
check_size_unit
create_random_file

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-esXhiHal-1661923836558)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

? 腳本內(nèi)容通俗易懂,稍微有點(diǎn)shell腳本的知識(shí)就可以看的明白;它的使用方法也非常簡(jiǎn)單,在需要在linux命令行環(huán)境下,先確保這個(gè)shell腳本文件有x可執(zhí)行屬性,然后輸入:

  • ./random-file.sh my-random.bin 1024 K

? 按下回車(chē),它就會(huì)自動(dòng)在當(dāng)前目錄生成一個(gè)1024KB大小,名字為my-random.bin的文件,且文件的內(nèi)容是隨機(jī)的。類(lèi)似地,輸入:

  • ./random-file.sh my-random2.bin 1234 M

? 按下回車(chē),它就可以自動(dòng)生成一個(gè)大小為1234MB,名字為my-random2.bin的隨機(jī)文件。如果你的硬盤(pán)夠猛,你想完一po大的,你也可以試下:

  • ./random-file.sh my-random.txt 12340 G

? 按下回車(chē),估計(jì)你要等個(gè)幾十分鐘,甚至幾個(gè)小時(shí),搞不好幾十個(gè)小時(shí)了。。。具體多久,筆者也沒(méi)有膽量去試一試,要不你來(lái)試試?

? 【值得注意的是】,該腳本僅支持xxxKB、xxxMB、xxxGB大小的文件生成;如果你想生成更小的文件(比如xxxB),或者更大的文件(比如1024TB),那么你就需要自己修改腳本實(shí)現(xiàn)了;畢竟【為我所用】才是程序猿應(yīng)該遵守的職業(yè)操守。

? 因時(shí)間匆忙,筆者未來(lái)得及將生成文件的記錄截圖附上,望讀者自行驗(yàn)證;若有不明白的地方,或者運(yùn)行操作出錯(cuò)的,歡迎在評(píng)論席回復(fù),筆者很樂(lè)意為你解答。


? 經(jīng)筆者自測(cè)試,生成文件用于測(cè)試完全沒(méi)有問(wèn)題;在日常工作使用腳本確實(shí)是大大提升了我們的工作效率,希望后續(xù)可以分享更多實(shí)用的、高效的腳本操作給大家,敬請(qǐng)關(guān)注。謝謝。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    587

    瀏覽量

    25909
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    373

    瀏覽量

    25157
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    407

    瀏覽量

    29046
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    shell腳本進(jìn)階】幾個(gè)常用的shell進(jìn)階腳本

    shell腳本進(jìn)階】幾個(gè)常用的shell進(jìn)階腳本
    的頭像 發(fā)表于 09-19 08:59 ?2773次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進(jìn)階】幾個(gè)常用的<b class='flag-5'>shell</b>進(jìn)階<b class='flag-5'>腳本</b>

    100個(gè)Linux Shell腳本總結(jié)

    不知道大家有沒(méi)有發(fā)現(xiàn),會(huì)編寫(xiě)shell腳本的運(yùn)維,工資不會(huì)低,并且他的工作會(huì)很輕松!今天浩道跟大家分享每一個(gè)Linux運(yùn)維應(yīng)知必會(huì)的100個(gè)shel
    的頭像 發(fā)表于 12-05 09:28 ?1990次閱讀

    Linux Shell系列教程之第一個(gè)Shell腳本的建立

    通過(guò)上篇教程的學(xué)習(xí),相信大家已經(jīng)能夠?qū)?b class='flag-5'>shell建立起個(gè)大體的印象了,接下來(lái),我們通過(guò)個(gè)
    發(fā)表于 08-28 14:01

    嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門(mén)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)技術(shù)的是嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門(mén)免費(fèi)下載。
    發(fā)表于 09-11 17:15 ?20次下載
    嵌入式和物聯(lián)網(wǎng)的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學(xué)習(xí)指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門(mén)免費(fèi)下載

    shell腳本最簡(jiǎn)明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對(duì)個(gè)純文本的文件進(jìn)行解析,然后執(zhí)行這些功能
    的頭像 發(fā)表于 10-16 11:27 ?5457次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡(jiǎn)明的教程

    如何創(chuàng)建和執(zhí)行個(gè)簡(jiǎn)單的Linux shell腳本

     如果您愿意要嘗試更長(zhǎng)的shell腳本,請(qǐng)將下面的shell腳本(并附加為PDF和ODT文件)復(fù)制到文本編輯器中,保存,使其可執(zhí)行并運(yùn)行。當(dāng)
    的頭像 發(fā)表于 11-06 17:28 ?1.4w次閱讀

    文剖析隱藏shell腳本內(nèi)容的工具shc

    從事 Linux 開(kāi)發(fā)的同學(xué),經(jīng)常需要編寫(xiě) shell 腳本,有時(shí)腳本中會(huì)涉及到些敏感內(nèi)容,比如
    的頭像 發(fā)表于 08-14 10:44 ?2810次閱讀
    <b class='flag-5'>一</b>文剖析隱藏<b class='flag-5'>shell</b><b class='flag-5'>腳本</b><b class='flag-5'>內(nèi)容</b>的工具shc

    109個(gè)實(shí)用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對(duì)個(gè)純文本的文件進(jìn)行解析,然后執(zhí)行這些功能
    的頭像 發(fā)表于 03-16 08:58 ?3248次閱讀

    100個(gè)Shell腳本經(jīng)典案例解析

    今天浩道跟大家分享100個(gè)Linux Shell腳本經(jīng)典案例,讓你次擼個(gè)夠。
    的頭像 發(fā)表于 02-10 13:51 ?3410次閱讀

    shell腳本基礎(chǔ)知識(shí)

    shell腳本個(gè)文件,里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器翻譯或解析指令并執(zhí)行
    的頭像 發(fā)表于 04-17 15:00 ?1617次閱讀

    如何快速入門(mén)Shell腳本呢?

    Shell 語(yǔ)言作為類(lèi) Unix 系統(tǒng)的原生腳本,有著非常實(shí)用的價(jià)值。
    的頭像 發(fā)表于 05-22 11:51 ?970次閱讀

    Linux Shell腳本經(jīng)典案例分享

    ? 作為名 Linux 運(yùn)維工程師,會(huì)寫(xiě)好的腳本不僅能提高工作效率,還能有更多的時(shí)間做自己的事。最近在網(wǎng)上沖浪的時(shí)候,發(fā)現(xiàn)大家對(duì)Shell腳本都有“心結(jié)”,要么覺(jué)得自己寫(xiě)出來(lái)不好
    發(fā)表于 06-16 14:03 ?981次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享

    分享249個(gè)拿來(lái)即用的shell腳本

    ? 由于腳本案例太多,在此僅展示部分,完整版領(lǐng)取方式請(qǐng)見(jiàn)文末 ? ? ? 249個(gè)拿來(lái)即用的shell腳本! ? 這249個(gè)
    的頭像 發(fā)表于 07-07 10:52 ?1843次閱讀
    分享249<b class='flag-5'>個(gè)</b>拿來(lái)即用的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>

    BASH shell腳本篇—文件處理介紹

    在Bash Shell腳本中,可以使用多種方法來(lái)對(duì)文件進(jìn)行操作,包括讀取文件或?qū)懭?b class='flag-5'>文件。
    的頭像 發(fā)表于 10-23 16:51 ?1226次閱讀

    樹(shù)莓派新手必看!在樹(shù)莓派上編寫(xiě)和運(yùn)行 Shell 腳本

    執(zhí)行的操作。Shell腳本只是個(gè)文本文件,包含系列按順序執(zhí)行的
    的頭像 發(fā)表于 03-25 09:28 ?871次閱讀
    樹(shù)莓派新手必看!在樹(shù)莓派上編寫(xiě)和運(yùn)行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!