Возможна проблема заключается в ненадлежащем прохождении пути с символом подстановочного знака путем двуличности к rsync. Посмотрите на пример ниже. Это реальный пример прохождения за исключением rsync путем переменной окружающей среды в скрипте:
исключает = «- исключить = / etc / blkid.tab --exclude = / root / dir1 --exclude = '*. SQL '"
Обратите внимание, что кавычки« »используются для разделения записи, содержащей звездочку, чтобы предотвратить расширение оболочки этого символа подстановки. Попробуйте использовать кавычки в файле Include-list-test.txt.
Хорошо, проблема была в том, что по умолчанию CentOS 7 блокировал порты. Мне удалось подключиться к серверу по порту 2004, выполнив следующую команду:
firewall-cmd --zone=public --add-port=2004/tcp
И эта команда открывает порт при перезагрузке ВМ:
firewall-cmd --zone=public --add-port=2004/tcp --permanent
Я нашел информацию здесь.
Скорее всего, если сервер доступен и у вас есть IP-адрес этого сервера, вы должны быть в состоянии
ssh user@server-ip or ssh server-ip -l user
, но это не сработает, если у вас не запущен sshd на сервере для приема ssh/безопасного туннелирования. Вам необходимо включить sshd на вашем сервере, выпустив его:
sudo /etc/init.d/sshd start
Вам также следует посмотреть на свой
sudo tail -f /var/log/secure
, чтобы определить, что происходит с ssh при попытке соединения с ssh через шпаклевку или с терминала Linux/UNIX.
Можно использовать -l флаг расширения :
l: expr:: string1:: string2:
Поместите полученные слова слева. Каждый слово будет усечено при необходимости и помещено в поле expr символы в ширину.
Аргументы: string1: и: string2: необязательны; ни один, во-первых, или оба могут быть даны. Обратите внимание, что одни и те же пары разделителей должен использоваться для каждого из трех аргументов. Пространство слева заполняется строкой 1 (сцепляется так часто, как это необходимо) или места, если строка 1 не указана. Если заданы и строка 1, и строка 2, строка 2 вставляется один раз непосредственно слева от каждого слова, усеченная при необходимости перед использованием стринг1 для получения оставшейся набивки.
Если активна опция MULTIBYTE, также может быть задан флаг m, в который случай ширин будет использоваться для расчета набивки; в противном случае отдельные многобайтовые символы рассматриваются как занимающие один единица ширины.
Если опция MULTIBYTE не действует, каждый байт в последовательности имеет значение обрабатывается как занимающая одну единицу ширины.
Предполагается, что управляющие символы всегда имеют ширину в одну единицу; это позволяет механизм, используемый для генерации повторений управления персонажи.
Попробуйте:
zmv '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
-121--102953- Если у вас есть оболочка zsh
, вы можете сделать что-то подобное ниже.
zmv '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
Тестирование
touch 0-1.jpg
touch 0-23.jpg
touch 0-345.jpg
touch 0-6.jpg
touch 0-05.jpg
Измените оболочку на zsh
, и если zmv
не загружен, можно выполнить автозагрузку zmv
.
Теперь можно добавить флаг -n
к команде zmv
, чтобы увидеть, что произойдет при выполнении команды zmv
. Я выполняю команду как,
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
Вывод:
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
mv -- 0-05.jpg 0-005.jpg
mv -- 0-1.jpg 0-001.jpg
mv -- 0-23.jpg 0-023.jpg
mv -- 0-6.jpg 0-006.jpg
Если имена файлов правильно переименованы, можно удалить флаг -n
.
Ссылки
Спасибо пользователю Gnouc за разъяснение моих сомнений по этому вопросу, который я опубликовал в качестве другого вопроса для получения этого решения, и ссылка на ответ Gnouc этот один.
-121--67366-Некоторые маршрутизаторы потребительского класса путаются с мостовым режимом VirtureBox, поскольку тогда хост и гость совместно используют один и тот же MAC-адрес. Рекомендуется добавить второй интерфейс к виртуальной машине в режиме только хоста для связи с хостом.