Другой способ таков:openssl passwd -1 -stdin <<< password_here
Это не показывает пароль в списке процессов. Дополнительные параметры см. openssl passwd --help
Я полагаю, что ваша команда grep -r "gap" /u/user/.History/
на самом деле находила нужные файлы и отображала соответствующие строки; просто эти строки также имеют непечатаемые -части, которые затемняют текст, когда строка записывается на ваш терминал.
Я бы порекомендовал фильтровать вывод так, чтобы он расширял непечатаемые -части до печатаемых символов, чтобы вы могли видеть лежащий в основе текст.
grep -r "gap" /u/user/.History/ | cat -v
или
find /u/user/.History/ -type f -exec grep gap {} + | cat -v
Справится. Командаcat -v
"отображает непечатаемые символы как видимые..."
Я создал несколько тестовых файлов, чтобы продемонстрировать разницу:
$ grep -r gap.
./user1/.History/server/user:
./user2/user:gap
по сравнению с:
$ grep -r gap. | cat -v
./user1/.History/server/user:gap^?^?^?
./user2/user:gap
Где ^?^?^? символы представляют собой три символа «удалить». При печати в виде -эти символы удаления скрывают строку пробела из трех символов -.
Другим вариантом может быть передача вывода через od
, возможно, ... | od -c
.
Я нашел несколько способов сделать это.
strings /u/user/.History/*/* | grep gap
С find
.
find /u/user -xdev -type f -exec strings {} + | grep gap
find /u/user -xdev -type f -exec strings {} \; | grep gap