Обнаружьте плохой USB-кабель

Необходимо оптимизировать filestructure. Таким образом вместо

for i in $(seq 1 1000); do touch file.$i; done

сделайте что-то более умное как (принятый удар):

function bucklocate() 
{ 
    hash=$(echo -n "$1"|md5sum|cut -f1); 
    echo -n "${hash:1:1}/${hash:7:1}/${hash:9:2}/$1"; 
}

hexdig="{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}"
eval mkdir -p $hexdig/$hexdig/$hexdig$hexdig


for i in $(seq 1 1000); do touch $(bucklocate file.$i); done

Теперь этот пример является довольно медленным из-за использования md5sum[1], используйте что-то как следующее для намного более быстрого ответа, пока Вам не нужны никакие конкретные имена файлов, дубликаты не вызывают беспокойства и нет никакой потребности в повторяемом хеше определенного имени :)

mkdir -pv {0,1,2,3,4,5,6}/{0,1,2,3,4,5,6,7,8,9,10,12}
for  a in $(seq 1 100); do i=$RANDOM; echo touch "$(($i%7))/$(($i%13))/file.$i"; done

Конечно, это все грязно одалживает понятия у хеш-таблиц

2
15.09.2011, 15:47
2 ответа

Это могло бы звучать как немного старая школа, но безусловно самый легкий путь состоит в том, чтобы использовать другой USB-кабель и видеть, сохраняется ли проблема.

Если это делает, кабель почти наверняка не виновным

4
27.01.2020, 21:51

Не действительно возможно легко определить, является ли это устройством или кабелем в отказе в клиенте, поскольку оба часто проявляют с подобными признаками. Вероятно, лучший способ сделать это должно просто попробовать другой USB-кабель. В большинстве случаев USB-кабель немного больше, чем немой канал между устройством и клиентом - это почти невидимо для операционной системы кроме того, что ОС может знать, соединено ли это и/или данные получения от данных до него.

Редактирование к Вашему вопросу, указывающему, что у Вас есть только один USB-кабель, оставляет другую опцию: попробуйте кабель другим устройством.

4
27.01.2020, 21:51

Теги

Похожие вопросы