Comments 44
пока писалась статья dig
уже устарел и вместо него всё чаще предлагают использовать drill
Она, вероятно, просто очень долго писалась.
Уже в Демосе админы (tasha@, кто помнит) смотрели в DNS dig'ом, а не nslookup'ом. А год был 94-й.
BTW, кто как смотрит счётчики пакетов и байт на интерфейсах без помощи ifconfig?
Будет интересно послушать о реальном опыте использования drill, в сравнении с dig.
dig
не так? Это же вроде часть BIND, он не заброшен, последний релиз меньше месяца назад, да и если drill -h
и dig -h
сравнить, как-то drill
выглядит совсем печально.А я не говорил что не так, просто часто вижу как в разных местах рекомендуют именно drill как более шустрый гладкий и шелковистый..
dig
и итоговый вес (у меня на Fedora 37 bind-utils с bind-libs занимают 9 МБ, ldns-utils с ldns — чуть больше 1 МБ). И ещё видел утверждение, что ldns больше подходит для дебага BIND'а, т.к. не зависит от него.Попробуйте cat `which egrep`
узнаете что-то новое.
Про iproute2 даже на хабре была статья https://habr.com/ru/post/320278/
И net-tools устарели не потому, что их перестали поддерживать, а их перестали поддерживать, потому что они используют устаревшие системные вызовы и не поддерживают новые возможности ядра linux.
$ which egrep
egrep: aliased to egrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}
Впрочем, никогда егрепом не пользовался, а на домашних машинах давно на ag перешёл. Btw, I use Arch.
Попробуйте
cat `which egrep`
узнаете что-то новое.
Попробовал в SUSE – увидел содержимое бинарника. Попробовал в Astra Linux – увидел содержимое бинарника. Даже попробовал в macOS – увидел содержимое бинарника.
Догадываюсь, на что вы намекаете, но это наблюдение не носит универсального характера. У вас, небось, и /bin/true через пустой скрипт сделано.
Чего там намекать, в gnu grep, который используется в т.ч. в астре и сюзи написано в мейкфайле как получаются egrep и fgrep, вы-ж разработчик, посмотрите.
Астра Орел есть под рукой, распаковал .deb, там бинарник grep и два скрипта для egrep/fgrep по 28 байт. Возможно, вам стоит разобраться, что за бинарники у вас вместо них.
Скорее всего, это хардлинки к grep.
для masOS:
> ls -li /usr/bin/grep
1152921500312779382 -rwxr-xr-x 9 root wheel 202816 Feb 26 2022 /usr/bin/grep
> ls -li /usr/bin/egrep
1152921500312779382 -rwxr-xr-x 9 root wheel 202816 Feb 26 2022 /usr/bin/egrep
> ls -li /usr/bin/fgrep
1152921500312779382 -rwxr-xr-x 9 root wheel 202816 Feb 26 2022 /usr/bin/fgrep
для Debian:
$ cat /usr/bin/egrep
#!/bin/sh
exec grep -E "$@"
$ cat /usr/bin/fgrep
#!/bin/sh
exec grep -F "$@"
Реализации разные, а суть одна.... А вот печатать egrep
удобнее, чем `grep -E`
Вентура:
$ ls -li /usr/bin/grep
1152921500312422599 -rwxr-xr-x 4 root wheel 186512 28 окт 11:43 /usr/bin/grep
$ ls -li /usr/bin/egrep
1152921500312422597 -rwxr-xr-x 5 root wheel 186512 28 окт 11:43 /usr/bin/egrep
$ diff /usr/bin/grep /usr/bin/egrep
Binary files /usr/bin/grep and /usr/bin/egrep differ
R(1);
$ uname -a
Darwin . 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct 9 20:14:54 PDT 2022; root:xnu-8792.41.9~2/RELEASE_X86_64 x86_64
Слес:
$ ls -li /usr/bin/grep
60032 -rwxr-xr-x 1 root root 150920 сен 16 2015 /usr/bin/grep
$ ls -li /usr/bin/egrep
60030 -rwxr-xr-x 1 root root 146760 сен 16 2015 /usr/bin/egrep
$ diff /usr/bin/grep /usr/bin/egrep
Binary files /usr/bin/grep and /usr/bin/egrep differ
$ uname -a
Linux . 4.12.14-122.26-default #1 SMP Wed Jun 17 11:17:05 UTC 2020 (5c515dc) x86_64 x86_64 x86_64 GNU/Linux
И о чем эти простыни, сказать-то вы что хотели?
На https://ftp.gnu.org/gnu/grep/ в grep 2.0, которая 96-го года (27 лет назад) egrep/fgrep получались из grep c помощью ln grep e/fgrep. Т.е. в 96 году egrep/fgrep уже были deprecated и отдельных исходников не было. Отдельный вопрос - были ли они когда нибудь вообще и с чего вдруг автор статьи начал об этом вспоминать. Ну, т.е. на самом деле понятно, корп.блог/нужна палка/сосать палец.
В grep 2.20 (2014 год) уже были скрипты типа egrep -> exec grep -E $@
Где-то в между эту разницу хардкодили в e/f/grep.c ~10-20 строк кода, main был общим. И это универсальное наблюдение и носит общий характер.
А в /bin/true у меня небось то что туда мантейнеры пакета положили: #!/usr/bin/coreutils --coreutils-prog-shebang=true.
Или на что вы намекаете?
Намекаю на то, что везде по-разному. И далеко не везде системные утилиты взяты из GNU.
Ну вот я написал выше в чем разница.
Если уж прям далеко - назовите 3 линукс дистрибутива где grep не GNU.
назовите 3 линукс дистрибутива где grep не GNU.
Как минимум OpenWRT, Tiny Core, LTSP, thinSTATION и куча других, использующих busybox
Alpine Linux, например
А вот печатать
egrep
удобнее, чемgrep -E
С fgrep то же самое. 8 нажатий на клавиши вместо 4 - офигительно удобное усовершенствование.
Попробовал. Узнал, что не умею в уме интерпретировать бинарники
????@Y@
??X@????H? H__PAGEZERO(__TEXT??__text__TEXT
FA/
F?__stubs__TEXTNu?N?__stub_helper__TEXT?v??v?__const__TEXT?y??y__cstring__TEXTz0z__unwind_info__TEXTL?L?__DATA_CONST?@?@__got__DATA_CONST?H?B__const__DATA_CONSTP?0P??__DATA???@__la_symbol_ptr__DATA??K__data__DATA?h?__bss__DATA?? ?__common__DATA?C?H__LINKEDIT??@Y"?0??X? hMp
8
PK8
?
/usr/lib/dyld%h???4??"?`?(c2
?*0?(??L
/usr/lib/libbz2.1.0.dylib
8/usr/lib/liblzma.5.dylib
0
/usr/lib/libz.1.dylib
8x/usr/lib/libSystem.B.dylib&8)P??IUH??AWAVAUATSH??H?u?H?}?H?T|H????L?%L|H????0L??H????/H????I??I??L??L)?L?{H?=|L9=?|s L???*H??H?|L?=?|L?%?{L??H???/H)?{L?-?{H?E?H??H??{??xH?}??~???!H?E?Hǀ1??QE1?I??H??PH?=?{H9;|s H???#*H??H?o{H? |L?%Y{L?L??L)?L???
/H?M??8??H?}?????u?H?{H????L?%{H?[??0L??H???.L?M??H???`???I??I??L??L)?N?4;I??H?=?zL95?{s L???w)H??H??zL?5t{L?%?zN?4;L?L??H???].H)?zL?-?zM???/H?yzH???%???H?E?HǀH?bz?L)=QzH?E?L??H?OzB?8H??[A\A]A^A_]?UH??AWAVATSH??H?)??1?????I??H?5.z1?H??Eʃ?E?H? zH??yH??y?Q???r-???????NH?=?yH?ƺ??7-H??CH??yL?5dzA??H??yH?=?yu0L?5?yA????L???Z-H???u?zH??y?z?4@H????,??????H??yH??t??t H?y?$??H)?H?yH? yH?IyL?%Jy1?H???????W????H?]??H??H?¹??+H??
??tW??tS???upH?5?xH?}??q+H??xA??1?1?? ,H???t1A??H?5?x???
A????H???S,H??x
H?Sx1???????H??[A\A^A_]?H????????UH??AVSH??H???&I??H?H??tH??1?1???+A????u?H?Z??A?1?H????;u|H?Hc?H???A?>H?5?.?*H?)w?A?>H?5?.??)H?wH??uS?H?=wH???????s*?H?=?vH???????R*??ulH??vH??v??QwH?=?vt9H????8tLH????8t@H?=pvH?av1??*H??t&A?F?L???????t?A?>?>)L???x)E1?L??H?Đ[A^]? ???!???A???[???UH??SP???)H???8H?=vuH?5v?)H??u1?H?=?u1?H??uH?=?u?)H??uH?uvH?[]Ð?UH??AWAVAUATSH???I??A??H?5-1??)??(??w??bt-????S?xzuM???8??xt#??zu7???"?xzu%????xzu???*?H????rt??ft+??eu0??t?$???t???
??t? ?
B2E1???'A??A?D$=???D?0E???D??H?E??E?E1??A?H?}?M??L??H?I.H?
??
?1?D?=u1??H?<?H????????H?
H9??H??A?L$?H?AH??H???d?=?su
?s?(????H?G1H?H???????H?*1H?8??"?????H?
1L?8H?=?,L???l'??t9H?=?,L???Y'??t5H?=?,L???F'???? ? ?????w???hH??H??0L?8M????H?=L,L????&????H?=:,L????&????H?=',L???&????H?=',L???&????H?=,L???&????H?=,L???q&????H?=?+L???Z&????H?=?+L???C&????H?=?+L???,&???s?*
????j?)?H??/H?8???????*??<????0?a??H?R/H?H?5?*H???%???H?5?*H???%???????l????]??H??.H?8???$?H??.H?8H?u??
?X%I????#?8"????#?8??H?E??8??M????A??B??A??AtL?=??L?=???3??p?$??p??????????????????????????=p??????k???????R???????"?H??-H?8H?u??
?8$H?a?H?j???"?8"uH????????H9?????"?8uH?='???H?E??8??N?????????fo???Wo?????H?-H?81??
?H??,L?8H?=e(L???L#????H?=:(L???5#????H?=((L???#???????^H??,H?8?2H?????H?H?5(?#H??t1H??H????"H??H??? H?5?'H???????"H??H??u?H???????!??H? ,H?H?54(H???"???H?5?%H???{!I??H??????????n??????H?H??+H?81?? ?mL?=??aH?=s'?J!H?ÿ?a!H??t;??t7H?5V'H????!??t$H?=?)?!H??t?8uH?2'H????%nm??????????l????=Umu
?Im?~??`??H??*L?8L???U H????????k ??????????%?=@to1?H?u?H?H?}?H?L???a H???t%H?}????t1Ҁ?
HD?H???>H?}?H?u???H?}???L???????>H?5n&H???? ??L????E?H?6*?1?D9???E??A??M????????x???L?}?L?e?H??? E1??H??t/1?A?? @??H??t??1??< @???????H9?w???H???H??H?5?$H?}??2 H??t5E1?L?%?$L?}??8tH???.D??A??H??L??L????H??u?L?u?C?<.??GI??L?E?IHD??E??t1?H?4?I?tH??H9?u?E?A??L?m??????D??I?<??1I?<?H??H9?u??????*??$??H?5%$????"?1?1??H??j?H?D$H??H??1???1???H??(Hc?=?ju
N!???m?A?i?=??? ?H????=w????=:?tH?i'H?8??A??w?=??u???'???E????????H?=M#1?? L?%?#L?????H???H??H???L??L???vH??H??u?H??????fM??A??I?Hc?iH????H?
??H?1??hH?????ucA? E1?I?ċ??I9?? 4????H?5-#?H??1??]H?5?hH?p"?H?5?hH??"?H?5?hH?b"?1??)H?
???H?=~?H?H?d?J?4p??h?I?H?? ??t????uKL??A???E1?I??L%4?L?55????L??L???yH?57"?L???????E??uE1??FE??1?A?E1???
I?<?????tI?<?1???
E???EE?H??A9?u?A???Z?D:%/?u
<????1???u??1??=??@?????H?5zgH??!????f?????N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???N???u???u???u???u???u???u???u???u???u???u???N???N???N???N???N???N???N???????????x?????????e??????????????Z???N???t???i???N???@???N???N???????O???N???????????N???????N???%???N???N???N???N???N???N???????????????{???????E???N???????????N???N???"???????5???4???????A???????????N?????????????M???????O???N???N???N???N???N???[???????N???;7?u"H?=???4?Ɖ5#?H???H???C?|>?UH??AWAVSPH????I??I???
?;{?u"H?=???4?Ɖ5g?H???DH???H?????H???
?????H??H?H???D????[A^]?UH??AVSA??H?????;?u"H?=u??4?Ɖ5??H????H?Z?H???h
K??M?H??H?H?6?D??3?[A^]?UH??AWAVSPL?=e!I?L?5{c?@H??L??H??1???I?7H?=dc??I?7H?=]c??I?7H?=Vc????UH??SPH???H?;?0?H?6?H?7?H?8?H?
H?
IH??H?H???H?'?H?[]?UH???HD?H???H???H?5?H?6H9?}H?
H??H????,H9?u'H???H?r0H9?HD?H?5??H?{??A??E1?I?H???'H?CI?OH?KA?O(?K(AI?WI?wH???7H?CI?OI?G H?C D??H?[A^A_]?UH??SPH?.?H?{tBH?߾-??H?{?gH?CH9
??u?H?o?H?p?H?u?H?[]Ð?UH??AWAVAUATSH??H??H???D?0?yH????A??H?E?H???(H?E?H????8t]E1?L?-n?E1?I?EJ?<8H??1??/??tI?EJ?<8H?u?1????uI?EB?|A??I??H?.??I??I9?r?H?}??A??D??H??[A\A]A^A_]??fUH??AWAVAUATSH??(H?H?H?E?(i$)E?H?b`???t??t????A??A??A?H??H?E?HE?H??D??1??H????I?????L???iH???$I??H?l?E?D?}?L?m?A?FX??f??
????Hc?H???H??D? H???????A??H????8??M?~h1?E1?H???H?H?<L??1????uH???H??A??I??H????H??I9?r?D?}?L?m??H????H????8?L???'? H? _???????u
fA?~V??H?F@?H?
??D?)A????tSM?f0E1?1?M??t0H???H?J?<8L??1????uH???H?B?|A??H??H????I??H9?r?A??D?}?L?m?uL??L????~H?????L???^I??H???
?????v0H?=01??4???E???8u1L???H?N?H;E?u?E?$H??([A\A]A^A_]??x?????????????????I???????????I???????????????????y???p???UH??AWAVAUATSH???H??I??H??L??????I??MD?H?5??K??tmH????H??LE?A?F%?H???9u]1?????????=???=???1H??L? M??u
4??9?E???H?D?H?;???L?e????8??H????8??H?N??8u?:uzH???HH???H?H??H??t?E?H??uH??uH?"??8uE?H?E?(??p???A?G?E??E?W?)E?????H?
H?&??8t<?E??6H????H?+??8??H?=51?L??1????E?H???H?L?5??I?E1?L?m?H??p???E??tH????$H?
H?;??8t6H?b??8u*E??t%H?>?1ɀ8?^?H?8~?]???L??????H?O??8L?u?L?-??t;H????8u/H?]??8uH?u?H?=a1?????H???8tI?>H?}?H??1??????3????'H???H?
A?}t6H?%??8u*E??u%H??1ɀ8?
E????tSH?v??8uGH????8u;A?}u4H?4??8u(A?t!H????8uH??XH?x8L??1???
H?}??4
L???,
????????H?}??
L???
1ۉ?H???[A\A]A^A_]?= t?=`t??#???UH????
H??t]???
UH??AWAVAUATSPH??I??L?-??A?}L?%??t4I?<$-H??H?߾-?I?A??D??H?[A\A]A^A_]?A?F
??????tB?=!?uA?~tA?~
H?=???
t\H???H??8 r6L?=p?Hǃ8H????A???8?uH???uH??8wѰ???A?FA?A?A?}?+???I?$H?H?I? H??H?8~????H??H?I?A?~
$H??????I?>???A???????I?>~2H??H?߾-??I?H?G?H?8??????B????????H?,?H?8t?????H?????9??I??$0I;?$v1?H?E?H?E?I??$8H?E?$?1?H?E?L?-??H?E?H?E?1?H??tI??$?D?1?H?9?:??A??A?}?/H?u?H?}?E1?1?H?E??E?H?E?H?E?D?u?A??$Dt1?H?5C? H?E?H?E?I??$H?E?L??H??H??H8I??$?H?M?E???a ??A??$Dt1?H?5?
????}ą?uH??_tCH?M?H??H?E????D?H;M?H?E?vPH?A?H??H?M?I;H?u?I??$H)?t+I?$H??HcH9?HB?H?}???????}?H??wH???D?<?!?? ? ?EĉE?H?E?H??tSH?
}tH?U?D?u?L?-F??{?UЉЋM???9?B?I9?$0DщU?D?u?L?-??A???H?AH??E?A
H?M?1?H9M???H?H?U?H?E?D?u?L?-???1u???9?????=H????8?-H?D??8?H?}? ??H?E??~????E?H?u?u<H?}??M??
?Q?H??I??$H9?vdI??$0H??H?U?H?U?H??H??I;?$?????????H?U?I??$0H??H?}??M???????H?5???>?Ä????? ??????H?
???? ?H??H??X[A\A]A^A_]???UH???H??t]???UH???PH??t]???UH???7H??t]???UH??SPH???1H?sH?{H??H??qH?V??8H?[]??UH??AVSA??H??H?B??8u%H?c??8H?s tuH?=?
1??yH????8t+D???k??=]
n??9??????H??H?:?ʀ??vL??8M???f??u??@uH???:????H??H?E?H?]?L?1?I?^?I?I??I)???H?
??8H?M?tH?}?H??:?l????%H??H)?H?E?H?H??
H??H?h?H?H??L?-?
tI?}H?5?
1??IH?E?H?I?M?H??L???ZH?!?H?8tI?M??H?=r
?3H?T??8t
?
?H?}?I??I??????H?-??8H?]?uDH??H)?t?H?
H????
?I?H???:??????@H??[A\A]A^A_]?UH??H?5*
j_1??.UH??H?5R
j_1??UH??H?5s
j_1??UH??SPH?_0?8?H?=#
???H??1????UH??H?5?H?=? j_1??UH??H?=7
2?5? H?
???RUH??H?5? j_1??gUH??H?5? j_1??RUH??H?5? j_1??=??%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%?J?%K?%K?%K?%K?K?%
K?%
K?%K?%K?%K?%K?%K?%K?%K?%K?%K?% K?%"K?%$K?%&K?%(K?%*K?%,K?%.KL?-KAS?%U ?h?????h?????h)?????hV?????hq????h?????h????h*????h<????hP????h_????hq?x???h??n???h??d???h??Z???h??P???h??F???h??<???h??2???h??(???h?????h????h?
???h????h/?????h=?????hJ?????h`?????hz?????h??????h?????h?????h?????h?????h?????h????h9?~???hH?t???h??j???h??`???h??V???h??L???h??B???h??8???h??.???h?$???h????h#????h3????h@?????hM?????h]?????hm?????h~?????h??????h??????h?????h?????h?????h?????h?????h
????h?z???h(?p???h8?f???hE?\???@(#)PROGRAM:grep PROJECT:text_cmds-138.100.3
33333Ca@$FreeBSD$$FreeBSD$$FreeBSD$????????$FreeBSD$r(standard input)unknown %s optionusage: %s [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]
Binary file %s matches
%s (BSD grep, GNU compatible) %s
GREP_OPTIONS context argument must be non-negativeskipread--devicesrecurse--directories
2.6.0-FreeBSDbinarywithout-matchtext--binary-filesautottyif-ttyTERMdumb01;31alwaysyesforcenevernoneno--color%s-0123456789A:B:C:D:EFGHIJLMOSRUVXZabcd:e:f:hilm:nopqrsuvwxyzbinary-fileshelpmmapline-bufferedlabelnullcolorcolourexcludeincludeexclude-dirinclude-dirafter-contextbefore-contextbyte-offsetcontextcountdevicesdirectoriesextended-regexpregexpfixed-stringsfilebasic-regexpno-filenamewith-filenameignore-casebz2decompressfiles-with-matchesfiles-without-matchmax-countlzmaline-numberonly-matchingquietsilentrecursiveno-messagesunix-byte-offsetsinvert-matchversionword-regexpline-regexpxznull-datadecompressGREP_COLORstrdup.grep_treeutil.c0 && "Unreachable segment reached"fts_open%s: %swarning: %s: recursive directory loopfts_read%s:%u
%s%cmalloccallocreallocmCproclinenst > st%d%lld--00?X!a
FHHNuH
`I@d?????L#?#+C+?+P,;.z.?.
?|??|??|??|??|??|??|??|??|??|??|??|??|A?{a?|B}b}C"}c(}D0}d<}EL}eS}Fa}ff}Gs}h}H?}i?}J?}l?}L?}m?}M?}n?}o?}q?}q~r~s?{U~u,~v9~VA~wM~xY~X\~zf~Z?~?v?vw<wFwPwZwdwnwxw?w?w?w?w?w?w?w?w?w?w?w?w?wxxx"x,x6x@xJx(w2wTx^x
wwwhxrx|x?x?x?x?x?x?x?x?x?x?x?x?x?yyy&y0y:yDyNyXybylyvyzz.z@z?z?z{2{J{
"P?/p8Q#`BBY@__DefaultRuneLocaleQr?@___mb_cur_max?@___stack_chk_guard?@___stderrp?@___stdinp?@___stdoutp?@_optarg?@_optind?@dyld_stub_binder?s@_BZ2_bzRead?@_BZ2_bzReadClose?s@_BZ2_bzdopen?s@___assert_rtn?s @___error?s(@___maskrune?s0@___stack_chk_fail?s8@_basename?s@@_calloc?sH@_close?sP@_err?sX@_errx?s`@_exit?sh@_fclose?sp@_ferror?sx@_fileno?s?@_fnmatch?s?@_fopen?s?@_fprintf?s?@_fputs?s?@_free?s?@_fstat$INODE64?s?@_fts_close$INODE64?s?@_fts_open$INODE64?s?@_fts_read$INODE64?s?@_fts_set$INODE64?s?@_fwrite?s?@_getenv?s?@_getline?s?@_getopt_long?s?@_getprogname?s?@_gzdopen?s?@_gzread?s?@_isatty?s?@_lseek?s?@_lzma_alone_decoder?s?@_lzma_code?s?@_lzma_stream_decoder?s?@_madvise?s?@_malloc?s?@_mbtowc?s?@_memchr?s?@_memcpy?s?@_mmap?s?@_munmap?s?@_open?s?@_printf?s?@_putchar?s?@_puts?s?@_read?s?@_realloc?s?@_regcomp?s?@_regerror?s?@_regexec?s?@_setlinebuf?s?@_setlocale?s?@_stat$INODE64?s?@_strcasecmp?s?@_strcmp?s?@_strdup?s?@_strerror?s?@_strlen?s?@_strsep?s?@_strtoll?s?@_warn?s?@_warnx?__mh_execute_header?????l? ?qqgO?}b??? ??
???-##`L?Z0?d4#<BEa$5BVdmy?????????????'.4CVhz????????????3;AIOW_gpv|?????????????
!"#$%&'()*+,-./01234589:;<=>?@ABCDEFGHIJK
67L
!"#$%&'()*+,-./01234589:;<=>?@ABCDEFGHIJK__mh_execute_header_BZ2_bzRead_BZ2_bzReadClose_BZ2_bzdopen__DefaultRuneLocale___assert_rtn___error___maskrune___mb_cur_max___stack_chk_fail___stack_chk_guard___stderrp___stdinp___stdoutp_basename_calloc_close_err_errx_exit_fclose_ferror_fileno_fnmatch_fopen_fprintf_fputs_free_fstat$INODE64_fts_close$INODE64_fts_open$INODE64_fts_read$INODE64_fts_set$INODE64_fwrite_getenv_getline_getopt_long_getprogname_gzdopen_gzread_isatty_lseek_lzma_alone_decoder_lzma_code_lzma_stream_decoder_madvise_malloc_mbtowc_memchr_memcpy_mmap_munmap_open_optarg_optind_printf_putchar_puts_read_realloc_regcomp_regerror_regexec_setlinebuf_setlocale_stat$INODE64_strcasecmp_strcmp_strdup_strerror_strlen_strsep_strtoll_warn_warnxdyld_stub_binderradr://5614542??
??$?2??
??X?
?com.apple.bzfgrep??ŀ?b???r???JI?????$)???'\nVG-Ӿ^??'?|8?M13'Tk????Ry???Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,??+??6M??b4?oFA?',??yo[??$??gk?9Ya?/D????RK?N'9E?R?<???????摝y/?:D!f?p?&? ??3??[?w?r?k?u??Z<?{
???????{%YK??}?jR?mLY??be???=Jmc?&??<4e?r???Xo??f?O{`?\O鏭??Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,???r??s?Zׂ}?(?t??I????nƇ??-????
D??
0com.apple.bzfgrep??
b0? *?H0b10???!*?H??? *?H??
0 UUS10U
Apple Inc.1&0$U
261024173941Z01Apple Certification Authority10U
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
?0? *?H?? *Apple Code Signing Certification Authority0?"0
???q??
??]kY?Z?????9?#59H?!?'?? ?dk
???P??[?]?Te?s/b?8?drm|iGa?&???,$?j????̬)L?Iy?uv???? ?LSx??v????2ʑ?????9????j??f? K?;-???Ɉ-i¤*a/ۇ?!?L????-?r?n????̣@??Q????-???YN]e3'?g??$?LJy?]????>?H?$?m?0????ȧ???#?8?_a?????0??0U??0U%
0
?ps??Rj?ީ*ѝv??i?????+??]p??<ZHG?9l??s?b:ʣZ??%J???s?s]???~??????Xn????O??????r2??'ިә?j??a?O??g?0??pleca/root.crl0
??D?????yA???kg|?lI?L??jn??\8?0??0?g(??yڟ?;Qb;"?~S|
01 *?H?? ??M?ID??:[??鲷[R???X?r??̳?P???j?8?{y1?c?????m????/?oR????D?p??&w?0??0??d????9?0
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
261024173941Z0V1 *Apple Code Signing Certification Authority0
0 UUS10U
Apple Inc.10U
Apple Software10U
?0? *?H?? Software Signing0?"0
??0?t?O?
??n1Tm ?<??9???`"]?䄢@A?d?`=?a?R?E'?,d???$
R:???Ax????x%???A??5?Q\??ѝq{?ɪK??ڏ?)?/?o??e??j?=hm?x¥/?2?~?]\?> ^????MA?J?k?EP?L??j'????<??R9????TR??/#Ve??*?Q?#?????՚??_??Glu?????z??bAt??4??Ztd9??9_0???[0?W0_
U?00U#0??i??wBN?VB?Q??? ? 0??U ??0??0?? *?H??cd0{0+0m
kThis certificate is to be used exclusively for functions internal to Apple Products and/or Apple processes.0U%?
0
?????6??f?s?#s????Z^?0O?%`?I1le.R6??nJfW?U?????u?[?e??(??iJɩ?? ??~?bA?????H?q????>??>??g??؝:????I???:?M},?}Č?[d??o\5?^O??Nף??}????_7?$E??????L4??0b1X3`o?*?H??H??kM??T15?9Hk??U?xN???Xo?Q??UA?iUܣ???4?Lڂ??B?2?7??????5?rV?0??0???0
0 UUS10U
Apple Inc.1&0$U
350209214036Z0b1pple Certification Authority10U
0 UUS10U
Apple Inc.1&0$U
?0?le Ro*?H??0?"0ple Certification Authority10U
?䑩 ??GP??^y?-?6?WLU????Kl??"0?>?P ?A?????f?$kУ????z
?d5#KY???????P??XPg? ?ˬ, op??0??C??=?+I(??ε??^??=?:??? ?G?[?73??M?i??r?]?_??%?U?M]
?b??q?GSU??/A????p??LE~LkP?A??tb ?!.t?<
?A?3???0X?Z2?h???es?g^e?I?v?3e?w??-??z0?v0U?0U?0?0U+?iG?v ??k?.@??G^0U#0?+?iG?v ??k?.@??G^0?U 0?0? *?H??cd0??0+https://www.apple.com/appleca/0?+0????Reliance on this certificate by any party assumes acceptance of the then applicable standard terms a?\6?L-x?팛??w??v?w0O????=G7?@?,Ա?ؾ?s???d?yO4آ>?x?k??}9??S ?8ı??Oice statements.0
????/?Sj[d?c3w?:,V??!ںsO??6??U٧??2B???q?~?R??B$*??M?^c?K?P??????????DH?`7?uu!1??0??0??01
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
1?He???0 *?H?? *Apple Code Signing Certification Authoritd????9?0
L???I?Ô?,0?)???[*?H??cdi1??<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>cdhashes</key>
<array>
<data>
zaqvkAXAAKEeW98RJGNK4jXkaTM=
</data>
</array>
</dict>
</plist>
0 *?H??
??)??p.D?Hy???7??&0?곐?E?ܲ߷?˱?O
??r+??X?s1a???)q????;0?!\??;"???E ???N??FO??|??K??F?w+W?????????I <S??&
T??C!K
????Ր ?V]B??H????y}r+??c4?ڑ??8?46?elj?I?:a?AŒ?0??q?????e?? ?l^b.?&~?Ȕ???B8?z??N?k<ԧh?y??#-]?D???????
??? H__PAGEZERO?__TEXT??__text__TEXTPB3PB?__auth_stubs__TEXT`u `?__const__TEXT?y??y__cstring__TEXT
z0
z__unwind_info__TEXT<?<8__DATA_CONST?@?@__auth_got__DATA_CONST??B__got__DATA_CONST?@??__const__DATA_CONSTP?0P?8__DATA???@__data__DATA?X?__bss__DATAX? ?__common__DATAD
H__LINKEDIT??@X4?`3?` ?L?
?
PJ? ?
/usr/lib/dyldz]??K8o??)?q??2
?*0?(??I
/usr/lib/libbz2.1.0.dylib
8/usr/lib/liblzma.5.dylib
0
/usr/lib/libz.1.dylib
8x/P?`??t˖?Y?(?@?W??6@???T??z?@)???I#?????o??g??_??W??O??{???????? ???X??X?3@??
?I?(-@?(-?3?T ??6?6??3@?????E
??6@?h48X????]?4???@? ?P????[?Y ????B?h?@? 7@???T??U
????? ????t˚?V?h?@? 7@???T??3? ? 7?v??3@??????
? 7?v??3@??@???????
?I?(-@?(-?3??? ?6?X?@?v???_
? ???X I?(-@?(-??@??
q?T@?h78qaF??OE??WD??_C??gB??oA?????_?#?????o??g??_??W??O??{???? ? ?H?qa?Rq??T??F@??? Cz?? ?b?XI?"1?V??.? Q? q?T
T ??X???R?
?|@?
??UX?H?U?? ??R[?|?R?? ?Y?? O@???H?I?`@????R?
????`?(?Rhc9O?hcD9q????{
?q?T([@??Az?T??.? ???X?j??.@?R ?q???T%???3??R?
?|@??@?q?T?41?T?F@??3??
??F?`@????RN
???T`@? ???X`@????R?
????R?.?????????{F??OE??WD??_C??gB??oA?????_?#????W ??O
??{
???????Rj
????????RQ
?`?1?T? ?)?R 9??? Ո@?U?q?T?o??????????????=`@????
?1 T?
!@q?T?3@?H?9?d@???"?RC??R??" @y
??>?? T?3@?H?-? ?1?B?R
????>@??T?R+
??>??@? Qq?T????? ?0z??0??`@??P ??
?H?A???4`@??P ?S
?H?E???,@? ????R?
??5`? ????
?H?a9T??.@?h? ? ?????P ?)@9 q$@z@T ???X?.@??R? ?? ?? ?R
???(?Rh9 ?????????4`@?>
???h
??????{K??OJ??WI????_?
,Lh#??O???{??C?@?+
? ? ը?S?`>@?q?T ?A?X?
???>?H?1? ?-?S?`6@?D
??g??_??W??O??{?????????{A??O¨?_?#?????o
??? ??R?
?U
@9?qLT?q?T?qA@9?q?T??R?q`T?q!TH?R)?R
@9?qaTh?@9?q?T??RI?R??H? ?9\??q T?q?T?q?TH?RI?(Q?
?(?R ?(?9H?Q?H?R??(9@? ? H?R?W???(
???????@9v5??A???
?`?R߂q???@TI?R*?R?jj8_??? *@)?)H???}?L ?????0 ??c?x
??R???0 @9?4H??Z7???c???l
?????
??R> ?h@??4?* ?ʆ@?*????T?
qKT?*h"?)??
?@?
X*?J)???T???R9?R?? ?:?R;?R?? ????????????
?(?R??(?9?(?R??(U9H??0??I@?)2?(?R? ?@???(-??(?R??(9 ??X@?!?R??9? ??X@??rp ????
??4?rP ????
?`4`r ????
?`E5H?R????(?R??(????_? ?H?X@?x'??p ????
??&4p0 ????
? &4?o0 ????
??%4?o ????
??&4 op ????
??%4?np ????
?@%4@n0 ????
??%4?mp ????
? %4`m ????
(9$4L(?R ?șX@?d0 ???u ?(?X@?!?R????9(?R??(Q9S(?R??(?9O(?R??(
?? 4?cP ???p
?@85?? ?;h?Rr??Rp ?H?@?H?? ?? Ո?X@??C?B?Rt
???? @??q@'T? @?Yq?&T?
@@9?$58%???
????q`T??H?R(?RI?(Q????9(?Ri?(?9 (?Ri?(9(?Ri?(Q9(?Ri?((9?(?Ri?(?9?(?Q??h??9(?Ri?(?9???R'(?Ri?(?9?(?Ri?(?9C ?? ?X@??C?B?R(
?x?7?h?=?7 @??q?7B? ? ??T/ @?Yqa7B?(??
@@9H4?H?Ri?(??(?Ri?( 9(?RU?W??(?Ri?(9 ը?X@??Re?? ??X@??Q0 ???? ??4?P0 ???? ??4PP ???????? ?(?X@????aOp ????? ???????? ??????Np ????? ?????????# ?? ?X@??o??????????=?OP ???? ?@ 4?=P ??? ?????(?Ri?((9lH?R?W(9?q$?Jh9J4???????RR, ըu????!8p ?r?H??@?R??? ճ]X?H90 ??#?????R? ըl???W@???Ri?( ?:H?RZ???W@?
qbT?" ?(yh?5?J@?*?J?w???D??R??t??N??D?h5h?Q9?4 ՈcX@???q?Th?P9?5(?Ri?(Q9?? Ոp5"? q?T?1P ???R??|???a0p ?@?R?? ՁNX?*p ?
??MXh,0 ? ?AM*0 ???@?R??xGB?@??J@????5?RR9??D??B??T?NBGB?iz??J@??ZC?{?????4?NB??? ???@?R???*p ???? q?T??-????5h?P9H4hQ9???4hQR9q??yS???Ru?w??Q?Q9?Q9 *?4`@????4`@?????*s"?v??5h?P9q???k??ThQ9q(?R??? ?!B#p է??? ? ? ? ? ? ? ? ? ? ? ?
?
??????d?? ?? ?? ? p?? X? ? ?? ? ? ? ? ? P?\?? t?? ? ?0??(?p? ?4????? ? ? ? ?t? ???D??DT#??W???O??{??????????u?D?i?*)A?v?
kT?FB?*?R
y3*)?A?|Ә??F???ijh8?)q???????FB???D?)?|?i)??FB?ii?????Y??FB???D? ?4 ???D?)?|ii?i48??D???(?Ri?(?9?{B??OA??Wè?_?#??W???O??{????????u?RD?i?*-A?v?
kT?&B?*?R
y3*-?A?|?a??&???V??&B??RD?*?|?i*??&B? ? ??RD?R??{B??OA??Wè?_?#??W???O??{????????u?BD?i?*1A?v?
kT?B?*?R
y3*1?A?|?<?????1??B??BD?*?|?i*??B?? ??BD?B??{B??OA??Wè?_?#????W??O??{???? ??/X?@? ??@????????????@??@????@??
@????@??@???@?Rh?#??O???{??C?3< ?`@??R?R??h??? ??? ???h@??i?(???{A??O¨?_?#??W???O??{??????j?U?@? ?H"X ?I!X????+??K?? ?K?@? ? ?,7X
aTj?K?@?l?? ?T?Rh?H??
?(??H???@?L?4?R?Rh
@??????hA??
?h*@??*?`?=??=b
@????@?i
@?i)8h@??????{B??OA??Wè?_?#??W???O??{????t?@?v?u?h@?????R??`@?#??ɪ@???@?j????????@? ?!??T??@?i?(?????h????{B??OA??Wè?_?#??W???O??{????s?t?@?u?v??@??????@?Ȟ@????????i?@?? ????Ti?(??h??h????{B??OA??Wè?_?#??g???_??W??O??{?????H*p ?@9?????????q???) ??@??4??????z( ?H@?ix????R???4H@?ix????RqT??R??R??@??C?? ????Ҟ????O???????????R? ?? ?Z ?y0 ?5?R?J0 ???Ȳ@yQ2qH??O????? ը@??? ? ՀC???= ? ?(q?T q?T
T2????1 ?0z??0???@9h0 @9*?r?
Tq?? @?I
4???ע?H@?i{????RN??5H@? @?q???@?{C??#??T? ??@?6I0 ?)@9?q???4????@???H@?i{????R0??5H@? @?q???@?{C????T ??@??6*59?@9H5????' ? Ո? q@Tq?TȮ?yq? @9?p ?)@9 *?4?@?%???@4{7?2@????@???*
q?T??????R5?R?;0 ?????????@???@????0 լ?????R?@?h5?????@? ???X)@??T`?{H??OG??WF??_E??gD??oC??C??_?G?L???`?
?PP
PPPP?(#??o???g??_??W??O??{??C??
??????o???????????????????????
???
???
??? ?????????????
? ?I??qaT@q?!T ? ?I??q?T?R@q?!T@q` T @q T ? ?3?X?? ? ?3?X???????`??4?????????????????k?)??c? ???ீ=?@9??
9??
9?
?)?R?9?? ??@??q @z??p ?V? ?y?0 ?)?0 ժ? ?<? ?!@9?5?@9?5(@9h5(@9(5 ? Չ?XH@??j?*?R?9 ????@9?5?? @9H4(?R??
?0 ?)?R 9h"0 @9(5????p ??????9R ? Ո?X?? ?????5?P ??4(@9?@9)*?5?[?_?_??cA??_A? ??_??????????g???cA??? hh8?@9?
??????P @Rk??{?????????? ? ?X?KT????????????p ?H@9?@9q @z??0 ??? @9?5?kA???? ?;????? ?7?(@9?4?@9qd
@z`?0 @9qH????#??? ?'@9?4?@9q`
@za?0 @9qH????#??? ??q??[4H@5(@9?@9?5?@?H5?@4?@9?5 ? ?`?X????kA????????8????kA????????R???
??{E??OD??WC??_B??gA??oƨ?_????T1@q???T??#??{?????`??{???_??#??_???W??O??{?????????? ??@9? թ@?q @??Th2@94w??4?E9q!Th:@9?4h
@?q?T ?p ??? ? ը?X?KT"??? ? ը?Xh?h6@4??9??A????TP ՟???B@Rk?T??+??A?}???T(?R?9h:9
? ?X????T??????4h?R??h@?h????4h@???T???R??h@?h? ? ???X?????
@h
? ?R?{C??OB??WA??_Ĩ?_?#?????o??g??_??W????{ ??C??????/? ? ??+?ԫA?(?P @9?4?? @9?4i
A? *???p ?)@9?q??
? ?h?h5J??p ?)@9)(4 ?R ? ?*??'4|A?h
A??T??z??@?9??
?Ҹ? ?Vt ?y? ՛? ???\?hA??_8??P ?)@9 k??@?????????'??@?hI9?4?RA?p ?6?h
A??#?(@??aA????"?R??%???hI9?4?R??'??4?@?????T?h@9?4?????@?i
A? ???T????H?p @9? ?R?#)???? ??X)?? ?;????
?iA???8?R????????1?T??????TG?@?h
A? ?TjA?A ? Չ?X)?? ?"1??????1T?/@??q(T ?ȦX =@? ??R
?4-??R????/@5|q?T?+@??q(T Ո?X =@? ??R
?4?R????+@??5|q?T_????@?_ ??TI?i ?+@???_
??T?@?????Y? ?{? ?+?'@??
*iA??3@?K
k$!H????'?????Y? ?{? ?????=`z?<Z??'C?_ ?)?????????? ջ? ?_
???T,@??@?
?????? ?;? ??T??= ?=_
?i?????@? *?? ? ը?XI?P ?)@9?q @?H? @9@z? ?0 @9 5_??T(?R??G???@??@?(6??p @9?5 ?R?@??'@??
?hA?A)?bT? **??p @9???5(?R?? ? ??X????J?P ?J@9_q??)
??7 ? ?)@9
?0 ?J@9??0 ?k@9?q@ @z` @z!???7? @9H6l
A???Tl??
??
?h
A?????????T????@?h???'@????(?Rq??(
?{I??OH??WG??_F??gE??oD?????_??#??{??????`??{???_? ?#??{????N?`??{???_??#??{??????`??{???_??#??O???{??C????aA? ??X@?"?R~?șP ??9?{A??O¨?#???P? ?8??#?????O??{????????(? @9??0 @9?@?H4??Vp հ??R???? @9?4?*@???@lp ե???P @9?4??????P @9h4?"@????@jP Ք????{B??OA?????#???P? ?8ԏ ??X@?Ȓ @9???4????????{B??OA?????_?#?????o??g??_??W??O??{????X?P @9?P ?)@9q$@z?
T??A?:? ?I@??? @z$??T?A?R????E?5hBB??5?A?R??????|"? ?X?????T @9?4????A?R????iA???c@?"?R??H@???`@????]p ???hA??c@???"?R??H@???c@??\ ???R"?R?@9h4@?R-????C?9???T @9i5i
A???TiA??c@?"?R??@?R?hBBhB??{F??OE??WD??_C??gB??oA?????_?@?R??P? ?8?y#??{????R ?????#??{????!S0 ?????#??{????Tp ?????#?????O??{????@?8@?'??? QP ?7??{B??OA?????_?#??{????N0 ?Np ?NP ?B?R0?#??{????aL ?????#??{???? Q0 ??Kp ??PP ?b]?R?#??{?????N0 ո???#??{????N ղ???#??{????aMp լ????1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
??1?0@?
??1"?0@?
??1B?0@?
??1b?0@?
??1??0@?
??1??0@?
??1??0@?
??1??0@?
???0@?
??1?0@?
?@(#)PROGRAM:grep PROJECT:text_cmds-138.100.3
33333Ca@$FreeBSD$$FreeBSD$$FreeBSD$????????$FreeBSD$r(standard input)unknown %s optionusage: %s [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C[num]]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context[=num]] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]
Binary file %s matches
%s (BSD grep, GNU compatible) %s
GREP_OPTIONS context argument must be non-negativeskipread--devicesrecurse--directories
2.6.0-FreeBSDbinarywithout-matchtext--binary-filesautottyif-ttyTERMdumb01;31alwaysyesforcenevernoneno--color%s-0123456789A:B:C:D:EFGHIJLMOSRUVXZabcd:e:f:hilm:nopqrsuvwxyzbinary-fileshelpmmapline-bufferedlabelnullcolorcolourexcludeincludeexclude-dirinclude-dirafter-contextbefore-contextbyte-offsetcontextcountdevicesdirectoriesextended-regexpregexpfixed-stringsfilebasic-regexpno-filenamewith-filenameignore-casebz2decompressfiles-with-matchesfiles-without-matchmax-countlzmaline-numberonly-matchingquietsilentrecursiveno-messagesunix-byte-offsetsinvert-matchversionword-regexpline-regexpxznull-datadecompressGREP_COLORstrdup.grep_treeutil.c0 && "Unreachable segment reached"fts_open%s: %swarning: %s: recursive directory loopfts_read%s:%u
%s%cmalloccallocreallocmCproclinenst > st%d%lld--00PBHHauH
hd??\??4??t? !L&l&H(,.?.0?1?12X2 ? ? ? ? ? ? ? ?
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?! ?" ?# ?$ ?% ?& ?' ?( ?) ?* ?+ ?, ?- ?. ?/ ?0 ?1 ?2 ?3?4 ?5 ?6 ?7 ?8 ?9 ?: ?; ?< ?= ?> ?? ?@ ?A ?@@@@@@@@|| ??| ??| ??| ??| ??| ??| ??| ??| ??| ??| ??| ??| A?{ a?| B?| b
} C} c} D } d,} E<} eC} FQ} fV} Gc} ho} H}} i?} J?} l?} L?} m?} M?} n?} o?} q?} q?} r?} s?{ U
~ u~ v)~ V1~ w=~ xI~ XL~ zV~@Zs~
0|?":{ z
h?J0@
?@
?<Vr??????$4DVdv???????? :Tfv?????.>NZjv????????(4L\l???????6L`v?_BZ2_bzRead_BZ2_bzReadClose_BZ2_bzdopen___assert_rtn___error___maskrune___stack_chk_fail_basename_calloc_close_err_errx_exit_fclose_ferror_fileno_fnmatch_fopen_fprintf_fputs_free_fstat_fts_close_fts_open_fts_read_fts_set_fwrite_getenv_getline_getopt_long_getprogname_gzdopen_gzread_isatty_lseek_lzma_alone_decoder_lzma_code_lzma_stream_decoder_madvise_malloc_mbtowc_memchr_memcpy_mmap_munmap_open_printf_putchar_puts_read_realloc_regcomp_regerror_regexec_setlinebuf_setlocale_stat_strcasecmp_strcmp_strdup_strerror_strlen_strsep_strtoll_warn_warnx__DefaultRuneLocale___mb_cur_max___stack_chk_guard___stderrp___stdinp___stdoutp_optarg_optind__mh_execute_headerЄ???|?????p`??t??4?
??
X??@,,?<BEa$5BVdmy?????????????'.4;FPZcks|???????????
!'/7?HNT]fpy???????????
!"#$%&'()*+,-./01234589:;<=>?@ABCDEFGHIJK
!"#$%&'()*+,-./01234589:;<=>?@ABCDEFGHIJK
67__mh_execute_header_BZ2_bzRead_BZ2_bzReadClose_BZ2_bzdopen__DefaultRuneLocale___assert_rtn___error___maskrune___mb_cur_max___stack_chk_fail___stack_chk_guard___stderrp___stdinp___stdoutp_basename_calloc_close_err_errx_exit_fclose_ferror_fileno_fnmatch_fopen_fprintf_fputs_free_fstat_fts_close_fts_open_fts_read_fts_set_fwrite_getenv_getline_getopt_long_getprogname_gzdopen_gzread_isatty_lseek_lzma_alone_decoder_lzma_code_lzma_stream_decoder_madvise_malloc_mbtowc_memchr_memcpy_mmap_munmap_open_optarg_optind_printf_putchar_puts_read_realloc_regcomp_regerror_regexec_setlinebuf_setlocale_stat_strcasecmp_strcmp_strdup_strerror_strlen_strsep_strtoll_warn_warnxradr://5614542??
??$?2??
??X?
?com.apple.bzfgrep??ŀ?b???r???JI?????$)???'?H?G??r??~??L??ٍ??J?z????j????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,?C???1?PSi?e? ?rCTN?}?w?1Vធ@??xe??ؑ
P?;Bh?`?r?;??Nĩ|DO????0')6??j?pϺ?#???KbO&?\???"??Vf#??֫D?#|?aX$Vٗ<(?
??\
??@?d=?ǐ????%?B????`E㴭??Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,??ἱ??????1"w??B_Om??2?|??o???Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,????Xo??f????kOX?|?|z?ڽ?H?,??)rRE? }?~????{>|3??b????6$??
D??
0com.apple.bzfgrep??
0b10???!*?H??? *?H?? b0? *?H??
0 UUS10U
Apple Inc.1&0$U
261024173941Z01Apple Certification Authority10U
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
?0? *?H?? *Apple Code Signing Certification Authority0?"0
???q??
??]kY?Z?????9?#59H?!?'?? ?dk
???P??[?]?Te?s/b?8?drm|iGa?&???,$?j????̬)L?Iy?uv???? ?LSx??v????2ʑ?????9????j??f? K?;-???Ɉ-i¤*a/ۇ?!?L????-?r?n????̣@??Q????-???YN]e3'?g??$?LJy?]????>?H?$?m?0????ȧ???#?8?_a?????0??0U??0U%
0
?ps??Rj?ީ*ѝv??i?????+??]p??<ZHG?9l??s?b:ʣZ??%J???s?s]???~??????Xn????O??????r2??'ިә?j??a?O??g?0??pleca/root.crl0
??D?????yA???kg|?lI?L??jn??\8?0??0?g(??yڟ?;Qb;"?~S|
01 *?H?? ??M?ID??:[??鲷[R???X?r??̳?P???j?8?{y1?c?????m????/?oR????D?p??&w?0??0??d????9?0
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
261024173941Z0V1 *Apple Code Signing Certification Authority0
0 UUS10U
Apple Inc.10U
Apple Software10U
?0? *?H?? Software Signing0?"0
??0?t?O?
??n1Tm ?<??9???`"]?䄢@A?d?`=?a?R?E'?,d???$
R:???Ax????x%???A??5?Q\??ѝq{?ɪK??ڏ?)?/?o??e??j?=hm?x¥/?2?~?]\?> ^????MA?J?k?EP?L??j'????<??R9????TR??/#Ve??*?Q?#?????՚??_??Glu?????z??bAt??4??Ztd9??9_0???[0?W0_
U?00U#0??i??wBN?VB?Q??? ? 0??U ??0??0?? *?H??cd0{0+0m
kThis certificate is to be used exclusively for functions internal to Apple Products and/or Apple processes.0U%?
0
?????6??f?s?#s????Z^?0O?%`?I1le.R6??nJfW?U?????u?[?e??(??iJɩ?? ??~?bA?????H?q????>??>??g??؝:????I???:?M},?}Č?[d??o\5?^O??Nף??}????_7?$E??????L4??0b1X3`o?*?H??H??kM??T15?9Hk??U?xN???Xo?Q??UA?iUܣ???4?Lڂ??B?2?7??????5?rV?0??0???0
0 UUS10U
Apple Inc.1&0$U
350209214036Z0b1pple Certification Authority10U
0 UUS10U
Apple Inc.1&0$U
?0?le Ro*?H??0?"0ple Certification Authority10U
?䑩 ??GP??^y?-?6?WLU????Kl??"0?>?P ?A?????f?$kУ????z
?d5#KY???????P??XPg? ?ˬ, op??0??C??=?+I(??ε??^??=?:??? ?G?[?73??M?i??r?]?_??%?U?M]
?b??q?GSU??/A????p??LE~LkP?A??tb ?!.t?<
?A?3???0X?Z2?h???es?g^e?I?v?3e?w??-??z0?v0U?0U?0?0U+?iG?v ??k?.@??G^0U#0?+?iG?v ??k?.@??G^0?U 0?0? *?H??cd0??0+https://www.apple.com/appleca/0?+0????Reliance on this certificate by any party assumes acceptance of the then applicable standard terms a?\6?L-x?팛??w??v?w0O????=G7?@?,Ա?ؾ?s???d?yO4آ>?x?k??}9??S ?8ı??Oice statements.0
????/?Sj[d?c3w?:,V??!ںsO??6??U٧??2B???q?~?R??B$*??M?^c?K?P??????????DH?`7?uu!1??0??0??01
0 UUS10U
Apple Inc.1&0$U
Apple Certification Authority1301U
1?He???0 *?H?? *Apple Code Signing Certification Authoritd????9?0
220618011" ???̚?T??Q?ʟW?>??L&H??80< *?H??cd 1/0- `?He ???̚?T??Q?ʟW?>??L&H??80?) *?H??cd 1??<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>cdhashes</key>
<array>
<data>
+5ipzJoXjFS91hJR88qfV+Q+8bs=
</data>
</array>
</dict>
</plist>
0 *?H??
?4???a???bJ?Jy?? t.mQ[![?8'????KT
?O?+?[??}V??????=??j5? ?
??<??b??-???C]?Oe?L???3??%?^ɣF?[?w}w??nMx'J???IY????=i*J?g?K%???EP%α?B??5(&X?ZAғ?e?Cm???r??:?Kr?%wF?@?)?$?~?pQ?Y?#k?=:$n?r?F_?Ѩ9?)?j?4????C???V띛g?{?YWK%
Ваш комментарий устарел :)
Заходя в статью ожидал увидеть рекомендацию по использованию ripgrep вместо grep
тру инженеры парсят /proc глазами :-)
Вот привыкаешь к новому быстро, а потом тебе приходится какой-нибудь древний кластер разгребать, который работал себе полтора десятка лет. Таким тупым себя начинаешь ощущать, а техника такая теплая и ламповая
обратная ситуация. Меняю дистрибутив очень редко. На полевом ноутбуке вообще стоит 12.04. И каждый раз приходится, чертыхаясь, выяснять, что ещё в заботе обо мне у меня отобрали, и как теперь без этого обходиться. Как будто пришёл какой-то умник, переставил все привычные инструменты на полках, часть старых добрых гаечных ключей выкинул, "потому что древние", а вместо них напихал трансклюкаторов с километровыми инструкциями мелким текстом.
Мне ss не нравится тем, что он включает выравнивание по ширине. Тем самым читать неудобно, много пустого места. Как-нибудь можно это выключить?
Как это nslookup не позволяет трансфер зоны? Что за чушь?
sysop@eris:~$ nslookup -query=NS example.com.
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
example.com nameserver = a.iana-servers.net.
example.com nameserver = b.iana-servers.net.
Authoritative answers can be found from:
sysop@eris:~$ nslookup -query=AXFR a.iana-servers.ne. a.iana-servers.net
Server: a.iana-servers.net
Address: 199.43.135.53#53
** server can't find a.iana-servers.ne: NOTAUTH
; Transfer failed
Другие типы запросов через -query тоже можно задавать, тот же NS, например. nslookup в первом приближении не хуже, чем dig.
Nslookup позволяет трансферы зон. Отличается формат вывода: dig axfr myoffice-app.ru @ns.myoffice.ru.
...
mail-ex.myoffice-app.ru. 300 IN A 10.20.30.40
nslookup -query=AXFR myoffice-app.ru ns.myoffice.ru
...
Name: mail-ex.myoffice-app.ru
Address: 10.160.101.217
У dig вывод сопоставим с форматом файла зоны BIND.
ifconfig был заменен на ip
Что значит был заменён? Он никуда не девался. И можно поставить и пользоваться ifconfig. Проблема ip -- что он сделан для роботов или иноплонетян и нормальные люди им пользоваться, в отличии от ifconfig, не могут. Вывод не читаемый, команды не запомнить и т.п.
С route аналогичная история. Он никуда не делся и есть на любом юниксе (а не линуксе).
И netstat -- та же самая история. Зачем нужны ни с чем несовместимые аналоги, которые непонятно как использовать -- не знаю. Всегда устанавливают старые утилиты. Потому, что 1) половина скриптов их всё равно требует, 2) сам руками без них работать не сможешь.
Новое вообще не всегда -- хорошее...
Кирилл, ты чего?! ifconfig на линуксе устарел - он использует устаревшие системные вызовы и ты тупо можешь не увидеть часть информации которые покажет тебе ip
и ss
.
На практике замечено, что ss как минимум работает в разы (если не на порядки) быстрее, чем netstat при большом количестве открытых соединений
Есть действительно устаревшие программы, вроде which. Или type. Вот это действительно проблемные программы или команды (встроенные в шелл). Ибо у всех работают не пойми как и лучше использовать command -v.
Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс.
Ничего универсального в текстовых потоках нет — наоборот, у каждой программы может быть свой произвольный вывод (таблица, текст, JSON, CSV, или что угодно еще), который нужно прилаживать к входу другой программы с помощью костылей из регулярок. Если программа обновится и будет выводить результаты в ином формате — все развалится.
У некоторых программ есть специальные аргументы, настраивающие формат вывода. Это еще один большой костыль, нарушающий идеологию "одна программа делает одну задачу".
Более перспективным решением, имхо, является взаимодействие между приложениями с помощью объектов или структур, как это делают nushell и powershell: это действительно универсальный интерфейс, форматирование реализовано один раз на уровне системы, можно делать осмысленный автокомплит вместо регулярок. Жаль, что пока они не особо популярны по историческим причинам
6 устаревших команд Linux и инструменты, которые пришли им на замену