mkfile for Linux

By | October 3, 2008

Eu não conhecia o mkfile do Solaris até ontem, mas foi só usar um pouco e deu pra ver que é muito mais prático e rápido do que ficar utilizando o dd no Linux.

Não sei os meus 2 leitores geeks (já que meu pai, minha mãe e minha esposa – meus outros 3 leitores – não se encaixam nesta categoria), mas eu tenho que olhar o man ou o google toda vez que preciso criar um arquivo em branco com o dd. Tenho algum tipo de bloqueio com aquela sintaxe chata dele.

Então resolvi perder uns minutos e fazer um mkfile for Linux, em bash script mesmo. Divirtam-se.

#!/bin/bash
#=============================================================================
#
# mkfile - bash implementation of Solaris' mkfile tool for Linux
#
# Usage:  mkfile [-v] size [g | k | b | m] filename
#
#   Eri Ramos Bastos
#   http://geek.linuxman.pro.br
#=============================================================================

progname=$(basename $0)
function die () { echo "$progname: $1"; exit ${2:-1}  ; }
VERBOSE=">/dev/null 2>&1"

function Help ()
{
echo "Usage: mkfile [-v] <size>[g|k|b|m] <name1> [<name2>] ..."
echo "  -v    Verbose"
echo
return 0
}    # ----------  end of function Help  ----------

#-----------------------------------------------------------------------
#  Check number of command line arguments and set verbose
#-----------------------------------------------------------------------
if [ $# -lt 2 ]
then
Help; die "Insufficient number of arguments"
elif [ $# -gt 2 ]
then
[ "$1" = "-v" ] &&  VERBOSE="" && shift
fi

SIZE=$(echo "$1"|tr [kmg] [KMG]) ; shift

for file in ${@}
do
eval dd if=/dev/zero of="$file" count=1 bs="$SIZE" "$VERBOSE"
[ $? != 0 ] && Help && die "Error creating file $file" 2
done

One thought on “mkfile for Linux

  1. Júlio Mauro

    BOOOOOOOOOOOOOOOOOOOAAA !!!!

    ja ta no diretorio scripts 😀

Comments are closed.