Я часто использую SCP, чтобы копировать файлы - особенно связанные с сетью файлы. Проблема в том, что всякий раз, когда я делаю это, я не могу получить команду на копирование скрытых файлов (например, .htaccess).
Я обычно призываю это:
scp -rp src/ user@server:dest/
Это не копирует скрытые файлы. Я не хочу , чтобы ссылаться на этот раз (делать что - то подобное scp -rp src/.* ...
- и это имеет странное .
и ..
последствия в любом случае.
На scp
странице руководства я ничего не видел о «включении скрытых файлов».
Как я могу сделать это?
src/.*
также копииsrc/..
(родительский каталог), верно?Ответы:
Это должно абсолютно соответствовать скрытым файлам. / В конце источника говорит "каждый файл в этом каталоге". Тем не менее, тестирование и исследования подтверждают ваше мнение. Это глупое поведение.
« Ответ » заключается в добавлении точки в конец источника:
scp -rp src/. user@server:dest/
Реальный ответ заключается в использовании Rsync.
источник
scp -r source/ host:source2
копирует точечные файлы. Работает в OpenSSH 5.1 с 2007 года..
в конце больше не работает (2019) из-за проблем безопасности. Это объясняется здесь: superuser.com/questions/1403473/scp-error-unexpected-filenameВы можете попробовать rsync. Это лучше подходит для этой работы:
(И его руководство стоит прочитать.)
источник
Не ставьте косую черту после исходного каталога. Ваш код будет выглядеть так:
Это создаст каталог 'src' в папке 'dest' на удаленной машине со всеми включенными скрытыми файлами. Это, вероятно, не совсем то, что вы хотите, но он скопирует скрытые файлы в src.
источник
Следующее решит проблему, это было полностью проверено в нашей среде непрерывной интеграции
Надеюсь, это поможет
источник
scp: error: unexpected filename: .
. Обязательно проверьте, работает ли он с вашим дистрибутивом, приятель Гуглер :)Чтобы скопировать только скрытые файлы, используйте эту команду
Актуальная игра - это
/.[!.]*
тег, который ссылается на файлы, начинающиеся с.
(скрытые)источник
Ни одно из вышеперечисленных scp-решений не помогло мне. Однако я обнаружил, что на cygwin работает следующее: scp -r directory / * host: directory '*' соответствует всем видимым файлам и пропускает невидимое.
источник
Если логин с паролем отключен на удаленном компьютере, и единственный способ войти - через открытый ключ, то вы можете использовать это:
Он также копирует скрытые файлы.
Также обратите внимание, что «user1» должен иметь права на чтение этих файлов, например, вы не можете копировать ssh-папки другого пользователя с помощью этого метода.
источник
Так как
scp
поддерживает регулярные выражения, это будет хорошо для вас:scp -rp src/(*|.*) user@server:dest/
источник
Распределенный контроль версий обрабатывает скрытые файлы
Из - за уязвимости CVE-2018-20685, то
/.
трюк не может быть больше не используется сscp
. Однако распределенный контроль версий, какgit
или Hg Mecurial, будет обрабатывать скрытые файлы, как и любые другие файлы. Вот команды для моего любимого Hg Mercurial :Последующие изменения необходимо будет зафиксировать снова,
client:$ hg com -m "commit message"
а затем отправить с помощьюclient:$ hg push
команды. Узнайте больше о внесении изменений из этого листа Hg Mercurial .источник