我必须检查很多usb,所有这些文件都应该有相同的文件。但因为我是Windows用户,我不知道如何在mac上自动执行以下操作(如Windows上的批处理):
这甚至可以在Mac上使用吗?
提前致谢!
答案 0 :(得分:4)
您可以使用df
命令找到以千字节为单位的可用空间:
df -k /Volumes/label | tail -n +2 | awk '{ print $4 }'
由于您需要使用该号码,因此您需要将其分配给变量:
FREE=$(df -k /Volumes/Label | tail -n +2 | awk '{ print $4 }')
然后你可以将它与另一个数字进行比较:
if [ $FREE -eq 12345678 ]
then
# matches
else
# doesn't match
fi
最后弹出音量:
umount /Volumes/Label
但请注意,检查可用空间可能不是最强大的方法。不同制造商的闪存驱动器的大小略有不同,即使它们的标称容量相同。此外,闪存随着使用而降级,并且有缺陷的块可能会重新映射到工作模块,从而进一步降低了驱动器的总容量。即使您拥有相同的内容,可用空间也可能不同。
如果您确实有一个包含闪存驱动器所需文件的模板目录,则可以将其与驱动器的内容进行比较:
diff -qr /Volumes/Label /template/directory
这将打印出所有差异,但您也可以根据是否存在差异采取行动,放弃diff
的实际输出:
if diff -qr /Volumes/Label /template/directory > /dev/null
then
# directories are the same
else
# contents differ
fi
手册页: