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
BOOOOOOOOOOOOOOOOOOOAAA !!!!
ja ta no diretorio scripts 😀