批量生成inode

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#!/bin/bash
# 指定要创建文件的目录
TARGET_DIR="/tmp"
# 指定要创建的文件数量
FILE_COUNT=3000
# 检查目录是否存在
if [ ! -d "$TARGET_DIR" ]; then
    echo "目标目录不存在,请检查路径!"
    exit 1
fi
for ((i = 1; i <= FILE_COUNT; i++)); do
    touch "$TARGET_DIR/file_$i"
    # 定期输出进度信息
    if [ $((i % 1000)) -eq 0 ]; then
        echo "已创建 $i 个文件"
    fi
done
echo "文件创建完成!"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

# 指定要创建文件的目录
TARGET_DIR="/tmp"
# 指定要创建的文件数量
FILE_COUNT=30776
# 指定并发进程数
NUM_PROCESSES=100

# 检查目录是否存在
if [ ! -d "$TARGET_DIR" ]; then
    echo "目标目录不存在,请检查路径!"
    exit 1
fi

# 每个进程创建的文件数量
FILES_PER_PROCESS=$(( (FILE_COUNT + NUM_PROCESSES - 1) / NUM_PROCESSES ))

# 创建多个并发进程创建文件
for ((i = 0; i < NUM_PROCESSES; i++)); do
    start=$((i * FILES_PER_PROCESS + 1))
    end=$(( (i + 1) * FILES_PER_PROCESS ))
    if [ $end -gt $FILE_COUNT ]; then
        end=$FILE_COUNT
    fi
    (for ((j = start; j <= end; j++)); do
        touch "$TARGET_DIR/run_$j"
    done) &
done

# 等待所有进程完成
wait

echo "文件创建完成!"