如何在 shell 脚本中生成一个 uuid
How to generate a uuid in shell script
有没有办法在shell脚本中生成uuid,类似于$RANDOM,我可以使用$uuidgen获取uuid,还是需要安装任何包才能在[=中生成uuid 14=] 脚本
#!/bin/bash
echo $RANDOM
echo $uuid
你试过了吗
uuidgen
已安装 out-of-the-box 在 MacOS 等 freeBSD 系统上。
在 Fedora、CentOS 和 RHEL 上,从 util-linux
包中获取它(CentOS6 在 util-linux-ng
中有它)。在 debian 上,使用 sudo apt-get install uuid-runtime
获取它。在其他 linux 系统上,尝试寻找 e2fsprogs
软件包。
看看这个,我有完全相同的问题,我已经通过这种方式解决了,忽略代码在做什么,只关注我正在使用 uuidgen 的部分。
#!/bin/bash
# Create 100000 small files between 1K and 100K and stored in directory
# sh create_small_files.sh 1000 small_3
MAX=
DIR=
for i in $(seq $MAX)
do
for y in $(shuf -i 1-100 -n 100)
do
name=$(uuidgen)
dd if=/dev/urandom of=.//$name bs=${y}k count=1
done
done
我使用的是 fedora 29,因此为了使用此命令,您需要安装它。
util-linux-2.32.1-1.fc29.x86_64 : A collection of basic system utilities
Repo : fedora
Matched from:
Filename : /usr/bin/uuidgen
干杯。
来自这篇相当全面的文章。
http://0pointer.de/blog/projects/ids.html
(顺便说一句,那是 Lennart Poettering 的博客)
Linux 提供了一个内核接口来按需生成 UUID,通过读取
/proc/sys/kernel/random/uuid
这是一个非常简单的生成UUID的界面。也就是说,UUID 背后的逻辑不必要地复杂,通常从 /dev/urandom
中简单地读取 16 个字节左右是更好的选择
有没有办法在shell脚本中生成uuid,类似于$RANDOM,我可以使用$uuidgen获取uuid,还是需要安装任何包才能在[=中生成uuid 14=] 脚本
#!/bin/bash
echo $RANDOM
echo $uuid
你试过了吗
uuidgen
已安装 out-of-the-box 在 MacOS 等 freeBSD 系统上。
在 Fedora、CentOS 和 RHEL 上,从 util-linux
包中获取它(CentOS6 在 util-linux-ng
中有它)。在 debian 上,使用 sudo apt-get install uuid-runtime
获取它。在其他 linux 系统上,尝试寻找 e2fsprogs
软件包。
看看这个,我有完全相同的问题,我已经通过这种方式解决了,忽略代码在做什么,只关注我正在使用 uuidgen 的部分。
#!/bin/bash
# Create 100000 small files between 1K and 100K and stored in directory
# sh create_small_files.sh 1000 small_3
MAX=
DIR=
for i in $(seq $MAX)
do
for y in $(shuf -i 1-100 -n 100)
do
name=$(uuidgen)
dd if=/dev/urandom of=.//$name bs=${y}k count=1
done
done
我使用的是 fedora 29,因此为了使用此命令,您需要安装它。
util-linux-2.32.1-1.fc29.x86_64 : A collection of basic system utilities
Repo : fedora
Matched from:
Filename : /usr/bin/uuidgen
干杯。
来自这篇相当全面的文章。
http://0pointer.de/blog/projects/ids.html
(顺便说一句,那是 Lennart Poettering 的博客)
Linux 提供了一个内核接口来按需生成 UUID,通过读取 /proc/sys/kernel/random/uuid
这是一个非常简单的生成UUID的界面。也就是说,UUID 背后的逻辑不必要地复杂,通常从 /dev/urandom
中简单地读取 16 个字节左右是更好的选择