Ваша проблема определенно, кажется, заключается в конфигурации DNS. Большое общее руководство по поиску и устранению неисправностей, записанное Shawn, содержит большую полезную информацию и на основе его, Вы могли бы проверить, соединена ли проблема с DNS. Добавляя к предложениям Shawn, я рекомендовал бы Вам попытаться вручную разрешить использование имени хоста host
как это (microsoft.com
просто хороший пример ;)):
host microsoft.com
(это не должно приводить ни к какому результату, если серверы DNS не, настраивает правильно), и затем
host microsoft.com 8.8.8.8
- на этот раз Вы говорите host
оснастите явно, какой сервер имен это должно запросить. Это должно работать независимо от какой Ваш /etc/resolv.conf
файл содержит.
Кроме того, то, что Ваше проводное соединение хорошо работает, могло бы быть и подсказкой и средством исследования проблемы далее. Я предлагаю, чтобы Вы сделали:
Подключение, хотя провод, проверьте работы просмотра веб-страниц и затем скопируйте Ваш /etc/resolv.conf
к некоторому временному месту как /tmp/resolv1
.
Отсоедините провод и подключение через беспроводную связь. После установления соединения (можно сделать a ping 8.8.8.8
для тестирования этого) скопируйте содержание /etc/resolv.conf
во второй временный файл сказать tmp/resolv2
.
Сравните два скопированных файла. Первый должен содержать серверы имени собственного, второе не могло бы содержать ни один или единственную неподходящую запись, такую как Ваш адрес шлюза (обычно 192.168.1.1
или 192.168.0.1
).
К настоящему времени Вы, вероятно, понимаете, почему определение имен (обычно необходимый для просмотра веб-страниц) не работает с Вашей конфигурацией радиоресурсов. Однако это могло бы быть не очевидно где проблемные источники из.
Обычно (n стандартные настольные дистрибутивы), сетями управляет программа GUI как NetworkManager или wicd. Это оснащает, используются, чтобы легко определить, как проводные и беспроводные интерфейсы должны соединиться с сетью и в каждом случае, какая информация должна быть запрошена с сервера DHCP.
Так, наконец, я полагаю, что для решения проблемы просто необходимо открыть конфигурацию сети программа GUI и проверить, как параметры конфигурации для проводного и беспроводного интерфейса отличаются. Это могло быть, например, что проводной интерфейс просто использует статическую конфигурацию и IP-адреса и DNS. Другая опция состоит в том, что оба интерфейса используют DHCP, но у каждого есть некоторая опция, отмеченная для использования статического DNS (они могут быть определены в другом месте).
Если Ваша система имеет shuf
, можно использовать это вполне удобно (даже обрабатывающий ужасные имена файлов):
shuf -zen200 source/* | xargs -0 mv -t dest
Если Вы не имеете shuf
но имейте a sort
это берет -R
, это должно работать:
find source -type f -print0 | sort -Rz | cut -d $'\0' -f-200 | xargs -0 mv -t dest
files=(*)
for (( i=0; i<200; i++ )); do
keys=("${!files[@]}")
rnd=$(( RANDOM % ${#keys[@]} ))
key=${keys[$rnd]}
mv "${files[$key]}" "$otherdir"
unset files[$key]
done
Поместите все имена файлов в массив, названный "файлами" в ударе:
files=( * )
размер массива:
echo ${#files[@]}
определите 2/3 их как объем выборки:
take=$((2*${#files[@]}/3))
for i in $(seq 1 $take)
do
r=$((RANDOM%${#files[@]}))
echo ${files[r]}
done
Это выберет дубликаты и не тестируется с именами файлов с пробелами и таким.
Самый простой способ избежать дубликатов, чтобы выполнить итерации по всем файлам и выбрать каждого с 2/3 шансом, но это не обязательно приведет к 200 файлам.
Это удалит файл, если он был выбран из списка, и выполните свои требования:
#!/bin/bash
files=( * )
# define 2/3 of them as sample size:
take=$((2*${#files[@]}/3))
while (( i < $take ))
do
r=$((RANDOM%${#files[@]}))
f=${files[r]}
if [[ -n $f ]]
then
i=$((i+1))
echo ${files[r]}
unset files[r]
fi
done
$RANDOM
может только иметь значения 0 до 32 767, таким образом, это не будет работать правильно, если у Вас будет больше чем 32 768 файлов. Кроме того, выборка склоняется к первым файлам.
– l0b0
10.05.2012, 18:02
Если это должно быть статистически случайно, Вы не должны использовать RANDOM % ${#keys[@]}
. Рассмотрите:
$RANDOM
имеет 32 768 уникальных значенийТаким образом, при выборе первого объекта, существует 110/32768 ~ = шанс на 0,33569% для каждого из 68 первых элементов и 109/32768 ~ = шанс на 0,33264% для каждого из других 232 элементов, которые будут выбраны. Выбор несколько раз повторяется с различными возможностями, но склоняется к первым элементам каждый раз, когда 32768 % ${#keys[@]} -ne 0
, так ошибочные составные объекты.
Это должно быть несмещенным, и работы с любым именем файла:
while IFS= read -r -d '' -u 9
do
mv -- "$REPLY" /target/dir
done 9< <(find /source/dir -mindepth 1 -print0 | shuf -n 200 -z)
Один лайнер в bash:
ls original_directory/|sort -R|head -number_of_files_to_move|while read file; do cp "new_directory/"$file test; done
shuf
не названtros
потому что это делает противоположность сортировки.) – Ulrich Schwarz 10.05.2012, 19:52