Каково значение точки в командах удара и как это отличается от звездочки?

$ GET -e https://www.google.com

На дистрибутивах Debian/Ubuntu принадлежит пакету lwp-request.

11
22.01.2013, 00:38
1 ответ

Точка (.) просто . каталог в каталоге, который совпадает с самим каталогом (ls -la /foo покажет его Вам). Таким образом, если Вы копируете foo/. в другом месте Вы эффективно копируете все дерево ниже foo без копирования foo самостоятельно (Вы копируете его в foo2/. который совпадает с foo2).

/foo/* расширен оболочкой до списка нескрытых файлов и каталогов в /foo, таким образом, это скопировало бы ту же структуру каталогов под /foo в /foo2 также, за исключением dotfiles/dotdirs. Эффективно, cp получит (потенциально) много аргументов. Если список является слишком большим, он может даже вызвать выполнение cp перестать работать.

12
27.01.2020, 19:58
  • 1
    Извините, но я запутываюсь. Так по своей природе звездочка делает команду рекурсивной? Другими словами, cp -r /foo/* делает то же самое как cp /foo/* ? –  Mike B 21.01.2013, 23:28
  • 2
    @MikeB, нет, оболочка только разворачивает список файлов в / каталоге нечто. Это не изменяет поведение CP. Использовать set -x или echo cp -pr /foo/* /foo2 видеть, что продолжается. Важно понять, что это - оболочка, которая разворачивает подстановочные знаки. cp не видит звезду. –  Stéphane Chazelas 21.01.2013, 23:31
  • 3
    Что относительно этого? chmod 755-R. по сравнению с chmod 755-R * –  wayofthefuture 23.02.2017, 15:54

Теги

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