[英]Linux script to create a directory structure
我正在嘗試按此處所述為圖片上傳創建目錄結構,結果應如下所示:
upload/
00/00/00/
...
00/00/ff/
...
00/ff/ff/
...
ff/ff/ff/
所以我寫了平面python腳本:
ROOT = '/var/upload'
for a in xrange(0, 256):
for b in xrange(0, 256):
for c in xrange(0, 256):
os.makedirs(os.path.join(ROOT, format(a, '02x'), format(b, '02x'), format(c, '02x')))
並得到:
...
os.makedirs(os.path.join(ROOT, format(a, '02x'), format(b, '02x'), format(c, '02x')))
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 28] No space left on device: '/var/upload/2e/04/cd'
我嘗試了其他位置-'/ opt / upload',結果相同。 但是有足夠的空間並且沒有配額:
[root@sky /]# df
/dev/mapper/rfremix_sky-root 51475068 23006628 25830616 48% /
devtmpfs 2016520 0 2016520 0% /dev
tmpfs 2024048 2064 2021984 1% /dev/shm
tmpfs 2024048 500 2023548 1% /run
tmpfs 2024048 0 2024048 0% /sys/fs/cgroup
tmpfs 2024048 32 2024016 1% /tmp
/dev/sda1 487652 90139 367817 20% /boot
/dev/mapper/rfremix_sky-home 424460680 47830948 355045248 12% /home
[root@sky /]# repquota /
repquota: Mountpoint (or device) / not found or has no quota enabled.
repquota: Not all specified mountpoints are using quota.
[root@sky /]#
系統:
[root@sky /]# uname -a
Linux sky.dep1 3.12.10-300.fc20.x86_64 #1 SMP Thu Feb 6 22:11:48 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@sky /]# python --version
Python 2.7.5
[root@sky /]#
所以,問題 :我在做什么錯?
還是在bash,perl等上還有其他具有更好性能的解決方案(256 ** 3 = 16.777.216文件夾)?
更新 (對於Thomas Orozco):
[root@sky /]# df -i
Файловая система Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
/dev/mapper/rfremix_sky-root 3276800 3276800 0 100% /
devtmpfs 504130 422 503708 1% /dev
tmpfs 506012 13 505999 1% /dev/shm
tmpfs 506012 504 505508 1% /run
tmpfs 506012 13 505999 1% /sys/fs/cgroup
tmpfs 506012 41 505971 1% /tmp
/dev/sdb3 164849116 96453 164752663 1% /mnt/win
/dev/sda1 128016 380 127636 1% /boot
/dev/mapper/rfremix_sky-home 26968064 218284 26749780 1% /home
tmpfs 506012 4364 501648 1% /home/chip/.chrome/ramdisk
[root@sky /]#
正如@RicardoCárdenes所說-異常的原因-文件系統中inode數量的限制。 在另一個具有足夠的inode的掛載點(在我的情況下是/ home)-此腳本運行良好。
正如@Krumelur所說,對我來說是合適的解決方案-根據需要創建目錄。
謝謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.