Для портов 993 и 995 требуется SSL/TLS, вы не можете просто подключиться к ним через telnet и ожидать, что данные будут напечатаны открытым текстом. Используйте что-то вроде openssl s_client -quiet -connect youdomain.tld:993
илиopenssl s_client -quiet -connect youdomain.tld:995
protocols = imap pop3 imap pop3
< -Почему вы перечисляете их дважды?
inet_listener imap { port = 0 }
< -Здесь вы отключаете IMAP на порту 143, поэтому вы не можете подключиться к этому порту через telnet. Не отключайте IMAP, просто используйте disable_plaintext_authentication=yes
, если вы хотите иметь безопасный вход в систему TLS.
inet_listener pop3 { port = 0 }
< -Здесь вы отключаете POP3 на порту 110, поэтому вы не можете подключиться к этому порту через telnet. Не отключайте POP3, просто используйте disable_plaintext_authentication=yes
, если вы хотите иметь безопасный вход в систему TLS.
Кстати,вы включаете протоколы imap и pop3 и имеете некоторую конфигурацию для lmtp, но не включаете протокол lmtp.
Спецификаторы формата -printf
в GNU find
принимают ширину и выравнивание (и т. д. )квалификаторы, как и функция printf()
C, что означает, что вы можете выравнивать данные по левому или правому краю и, что особенно важно, для вашего текущего проекта выделите определенную ширину для данных.
Выход по умолчанию:
$ find. -printf '%M %u %g %p\n'
drwxr-xr-x kk wheel.
-rw-r--r-- kk wheel./.zshrc
-rw-r--r-- kk wheel./file
drwxr-xr-x root wheel./rootstuff
-rw-r--r-- root wheel./rootstuff/SECRET
-rw------- kk wheel./.viminfo
Указание ширины (6 )для пользовательских и групповых столбцов (справа -по ширине):
$ find. -printf '%M %6u %6g %p\n'
drwxr-xr-x kk wheel.
-rw-r--r-- kk wheel./.zshrc
-rw-r--r-- kk wheel./file
drwxr-xr-x root wheel./rootstuff
-rw-r--r-- root wheel./rootstuff/SECRET
-rw------- kk wheel./.viminfo
То же, но оставлено -обоснованным:
$ find. -printf '%M %-6u %-6g %p\n'
drwxr-xr-x kk wheel .
-rw-r--r-- kk wheel ./.zshrc
-rw-r--r-- kk wheel ./file
drwxr-xr-x root wheel ./rootstuff
-rw-r--r-- root wheel ./rootstuff/SECRET
-rw------- kk wheel ./.viminfo
При размерах файлов в байтах выделение 5 цифр (нулями -заполнено, т.к. просто показано, как это можно было сделать):
$ find. -printf '%M %-6u %-6g %05s %p\n'
drwxr-xr-x kk wheel 00512.
-rw-r--r-- kk wheel 00000./.zshrc
-rw-r--r-- kk wheel 00095./file
drwxr-xr-x root wheel 00512./rootstuff
-rw-r--r-- root wheel 00000./rootstuff/SECRET
-rw------- kk wheel 00922./.viminfo
Обратите внимание, что команда ls
вполне может динамически распределять ширину для своих столбцов на основе фактической потребности, тогда как ваша команда find -printf
должна использовать статическую ширину, если вы не запустите find
дважды, чтобы сначала вычислить необходимое пространство для каждый столбец, а затем еще раз для фактического форматирования вывода (, вот почему вывод find -ls
такой широкий, он не использует подход с двумя -проходами, а вместо этого просто дает каждому столбцу достаточно места в надежде, что все будет выровнять несколько красиво ).
Конечно, если у вас не много тысяч файлов, и вы просто хотите получить список всего , рекурсивно (т. е. вам не нужно фильтровать или делать что-то еще с найденные пути в find
), вы можете просто использоватьls
:
$ ls -d -l **/*
-rw------- 1 kk wheel 922 Jul 25 23:46.viminfo
-rw-r--r-- 1 kk wheel 0 Jul 19 23:39.zshrc
-rw-r--r-- 1 kk wheel 95 Jul 25 23:51 file
drwxr-xr-x 2 root wheel 512 Jul 26 00:00 rootstuff
-rw-r--r-- 1 root wheel 0 Jul 26 00:00 rootstuff/SECRET
Это зависит от наличия шаблона подстановки **
, который используется по умолчанию в оболочке zsh
и в bash
, если вы используете shopt -s globstar
. Он также полагается на то, что оболочка сопоставляет скрытые имена. Оболочка zsh
сделает это, если вы установите опцию GLOB_DOTS
с помощью setopt GLOB_DOTS
, а bash
сделает это с помощью shopt -s dotglob
.
Это не сработает, если шаблон подстановки расширяется до списка настолько длинного, что генерирует ошибку «Слишком длинный список аргументов».
Этот вывод будет отличаться от обычного вывода ls -l -R
тем, что каталоги не будут перечислены по отдельности с разрывами между ними.
Вот еще одна простая альтернатива
$ find example -exec ls -ld {} +