Я хотел бы добавить некоторую информацию к предыдущему ответу, так как это покрывает основную поддержку и функциональность, и т.д. (Я также соглашаюсь относительно Nvidia по сравнению с ATI).
Производительность будет не только зависеть от карты, которую Вы выбираете, но также и принимаете ли Вы решение использовать Драйверы с открытым исходным кодом или собственные драйверы Катализатора AMD. Разница между ними огромна (приблизительно половина производительности для драйверов FOSS), но они медленно улучшаются для каждого выпуска.
Phoronix является страницей, которая регулярно публикует сравнительные тесты производительности, и для собственных драйверов и для драйверов FOSS. Сравнительный тест, с которым я связался, является тестом специально для карты, которую Вы упомянули, с помощью драйверов Катализатора. Вот одно выполнение сравнения между что карта ATI и NVidia GTX680
Можно также найти намного больше тестов, специально для драйверов FOSS.
Цитаты защищают содержимое от расширения подстановки оболочки. Запустите эту команду (или даже проще всего просто echo * test.txt
в каталоге с помощью файла footest.txt
, а затем один без каких-либо файлов, которые заканчиваются в test.txt
И вы увидите разницу.
$ ls
a b c d e
$ echo *test.txt
*test.txt
$ touch footest.txt
$ echo *test.txt
footest.txt
Это то же самое произойдет с находом.
$ set -x
$ find . -name *test.txt
+ find . -name footest.txt
./footest.txt
$ find . -name '*test.txt'
+ find . -name '*test.txt'
./footest.txt
$ touch bartest.txt
+ touch bartest.txt
$ find . -name *test.txt
+ find . -name bartest.txt footest.txt
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
$ find . -name '*test.txt'
+ find . -name '*test.txt'
./bartest.txt
./footest.txt
TL; DR версия
Вы передаваете строку буквально в команду / программе, точно так же, как двойные кавычки, но отличаются тем, что односмысленные кавычки предотвращают переменную и Удаление подстановки во время двойного qu ОТЭС расширяют их в строку литерала.
Пример:
$ export MY_VAR=my_string
$ echo "$MY_VAR"
my_string
$ echo '$MY_VAR'
$MY_VAR
То же самое относится к подстановочным ценам
Редактирование:
Пример, как тот, который вы спрашиваете, это IMO невозможно, потому что любой буквальный литерал, что второе командные матчи будет неизбежно сопоставлять подстановочный знак в первом команда.
В дополнение к остальным ответам, zsh
, fish
и (t)csh
здесь более полезны, так как они могут помочь вам показать вашу ошибку до того, как она станет проблемой:
Если нет *теста. Файл txt
в текущем каталоге:
zsh$ find . -name *test.txt
zsh: no matches found: *test.txt
fish> find . -name *test.txt
fish: No matches for wildcard '*test.txt'.
find . -name *test.txt
^
tcsh> find . -name *test.txt
find: No match.
fish
и zsh
корректно дают понять, что здесь жалуется shell (а не find
), в то время как ошибка tcsh
вводит в заблуждение. (tcsh сообщает только об ошибке No match
, однако, если все глобусы в командной строке не совпадают. Если некоторые из них совпадут, а некоторые нет, то те, которые не совпадают, расширятся на себя, как в Bourne-подобных оболочках).
С помощью bash
вы можете получить то же самое поведение с:
$ shopt -s failglob
$ find . -name *test.txt
bash: no match: *test.txt
В первом случае аргумент * TEST.TXT
Считается оператором команды
самой команды , в то время как с кавычками аргумент * test.txt
будет считаться параметром на выключатель .
.
Если у вас есть более одного текстовых файлов с расширением .txt
в текущем каталоге, следующее потерпит неудачу, так как Find не увидит *. TXT
Аргумент:
find . -name *.txt
, тогда как Это будет успешно:
find . -name '*.txt'