Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
Joplin:开源加密笔记及待办事项应用

<a href="https://joplin.cozic.net/">Joplin</a> &#26159;&#19968;&#20010;&#33258;&#30001;&#24320;&#28304;&#30340;&#31508;&#35760;&#21644;&#24453;&#21150;&#20107;&#39033;&#24212;&#29992;&#65292;&#21487;&#29992;&#20110; Linux&#12289;Windows&#12289;macOS&#12289;Android &#21644; iOS&#12290;&#23427;&#30340;&#20027;&#35201;&#21151;&#33021;&#21253;&#25324;&#31471;&#21040;&#31471;&#21152;&#23494;&#65292;Markdown &#25903;&#25345;&#20197;&#21450;&#36890;&#36807; NextCloud&#12289;Dropbox&#12289;OneDrive &#25110; WebDAV &#31561;&#31532;&#19977;&#26041;&#26381;&#21153;&#36827;&#34892;&#21516;&#27493;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/102838p4awwjpaaijpiqw6.png">Media</a>&#22312; Joplin &#20013;&#20320;&#21487;&#20197;&#29992; Markdown &#26684;&#24335;&#65288;&#25903;&#25345;&#25968;&#23398;&#31526;&#21495;&#21644;&#22797;&#36873;&#26694;&#65289;&#35760;&#31508;&#35760;&#65292;&#26700;&#38754;&#31243;&#24207;&#26377; 3 &#31181;&#35270;&#22270;&#65306;Markdown &#20195;&#30721;&#12289;Markdown &#39044;&#35272;&#25110;&#20004;&#32773;&#24182;&#25490;&#12290;&#20320;&#21487;&#20197;&#22312;&#31508;&#35760;&#20013;&#28155;&#21152;&#38468;&#20214;&#65288;&#20351;&#29992;&#22270;&#20687;&#39044;&#35272;&#65289;&#25110;&#22312;&#22806;&#37096; Markdown &#32534;&#36753;&#22120;&#20013;&#32534;&#36753;&#23427;&#20204;&#24182;&#22312;&#27599;&#27425;&#20445;&#23384;&#25991;&#20214;&#26102;&#33258;&#21160;&#22312; Joplin &#20013;&#26356;&#26032;&#23427;&#20204;&#12290;&#36825;&#20010;&#24212;&#29992;&#24212;&#35813;&#21487;&#20197;&#24456;&#22909;&#22320;&#22788;&#29702;&#22823;&#37327;&#31508;&#35760;&#65292;&#23427;&#20801;&#35768;&#20320;&#23558;&#31508;&#35760;&#32452;&#32455;&#21040;&#31508;&#35760;&#26412;&#20013;&#12289;&#28155;&#21152;&#26631;&#31614;&#21644;&#25628;&#32034;&#12290;&#20320;&#36824;&#21487;&#20197;&#25353;&#26356;&#26032;&#26085;&#26399;&#12289;&#21019;&#24314;&#26085;&#26399;&#25110;&#26631;&#39064;&#23545;&#31508;&#35760;&#36827;&#34892;&#25490;&#24207;&#12290;&#27599;&#20010;&#31508;&#35760;&#26412;&#21487;&#20197;&#21253;&#21547;&#31508;&#35760;&#12289;&#24453;&#21150;&#20107;&#39033;&#25110;&#20004;&#32773;&#65292;&#20320;&#21487;&#20197;&#36731;&#26494;&#28155;&#21152;&#20854;&#20182;&#31508;&#35760;&#30340;&#38142;&#25509;&#65288;&#22312;&#26700;&#38754;&#24212;&#29992;&#20013;&#21491;&#38190;&#21333;&#20987;&#31508;&#35760;&#24182;&#36873;&#25321; “Copy Markdown link”&#65292;&#28982;&#21518;&#22312;&#31508;&#35760;&#20013;&#28155;&#21152;&#38142;&#25509;&#65289;&#12290;Joplin &#20013;&#30340;&#24453;&#21150;&#20107;&#39033;&#25903;&#25345;&#35686;&#25253;&#65292;&#20294;&#22312; Ubuntu 18.04 &#19978;&#65292;&#27492;&#21151;&#33021;&#25105;&#26080;&#27861;&#20351;&#29992;&#12290;&#20854;&#20182; Joplin &#21151;&#33021;&#21253;&#25324;&#65306;Firefox &#21644; Chrome &#20013;&#21487;&#36873;&#30340; Web Clipper &#25193;&#23637;&#65288;&#22312; Joplin &#26700;&#38754;&#24212;&#29992;&#20013;&#36827;&#20837; “Tools > Web clipper options” &#20197;&#21551;&#29992;&#21098;&#20999;&#26381;&#21153;&#24182;&#25214;&#21040; Chrome/Firefox &#25193;&#23637;&#31243;&#24207;&#30340;&#19979;&#36733;&#38142;&#25509;&#65289;&#65292;&#23427;&#21487;&#20197;&#21098;&#20999;&#31616;&#21333;&#25110;&#23436;&#25972;&#30340;&#39029;&#38754;&#12289;&#21098;&#20999;&#36873;&#20013;&#30340;&#21306;&#22495;&#25110;&#32773;&#25130;&#22270;&#12290;&#21487;&#36873;&#21629;&#20196;&#34892;&#23458;&#25143;&#31471;&#12290;&#23548;&#20837; Enex &#25991;&#20214;&#65288;Evernote &#23548;&#20986;&#26684;&#24335;&#65289;&#21644; Markdown &#25991;&#20214;&#12290;&#23548;&#20986; JEX &#25991;&#20214;&#65288;Joplin &#23548;&#20986;&#26684;&#24335;&#65289;&#12289;PDF &#21644;&#21407;&#22987;&#25991;&#20214;&#12290;&#31163;&#32447;&#20248;&#20808;&#65292;&#22240;&#27492;&#21363;&#20351;&#27809;&#26377;&#20114…
5 个适合系统管理员使用的告警可视化工具

这些开源的工具能够通过输出帮助用户了解系统的运行状况,并对可能发生的潜在问题作出告警。Media

via https://linux.cn/article-10221-1.html
5 &#20010;&#36866;&#21512;&#31995;&#32479;&#31649;&#29702;&#21592;&#20351;&#29992;&#30340;&#21578;&#35686;&#21487;&#35270;&#21270;&#24037;&#20855;

&#36825;&#20123;&#24320;&#28304;&#30340;&#24037;&#20855;&#33021;&#22815;&#36890;&#36807;&#36755;&#20986;&#24110;&#21161;&#29992;&#25143;&#20102;&#35299;&#31995;&#32479;&#30340;&#36816;&#34892;&#29366;&#20917;&#65292;&#24182;&#23545;&#21487;&#33021;&#21457;&#29983;&#30340;&#28508;&#22312;&#38382;&#39064;&#20316;&#20986;&#21578;&#35686;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/174106stsihq448h4hcemi.png">Media</a>&#20320;&#22823;&#27010;&#24050;&#32463;&#30693;&#36947;&#65288;&#25110;&#29468;&#21040;&#65289;&#21578;&#35686;&#21487;&#35270;&#21270;alerting and visualization&#24037;&#20855;&#26159;&#29992;&#26469;&#20570;&#20160;&#20040;&#30340;&#20102;&#12290;&#19979;&#38754;&#25105;&#20204;&#23601;&#35201;&#26469;&#35828;&#19968;&#19979;&#65292;&#20026;&#20160;&#20040;&#35201;&#35752;&#35770;&#36825;&#26679;&#30340;&#24037;&#20855;&#65292;&#29978;&#33267;&#26576;&#20123;&#31995;&#32479;&#19987;&#38376;&#23558;&#21487;&#35270;&#21270;&#20316;&#20026;&#29305;&#26377;&#30340;&#21151;&#33021;&#12290;&#21487;&#35266;&#23519;&#24615;Observability&#30340;&#27010;&#24565;&#26469;&#33258;&#25511;&#21046;&#29702;&#35770;control theory&#65292;&#36825;&#20010;&#27010;&#24565;&#25551;&#36848;&#20102;&#25105;&#20204;&#36890;&#36807;&#23545;&#31995;&#32479;&#30340;&#36755;&#20837;&#21644;&#36755;&#20986;&#26469;&#20102;&#35299;&#20854;&#30340;&#33021;&#21147;&#12290;&#26412;&#25991;&#23558;&#37325;&#28857;&#20171;&#32461;&#20855;&#26377;&#21487;&#35266;&#23519;&#24615;&#30340;&#36755;&#20986;&#32452;&#20214;&#12290;&#21578;&#35686;&#21487;&#35270;&#21270;&#24037;&#20855;&#21487;&#20197;&#23545;&#20854;&#23427;&#31995;&#32479;&#30340;&#36755;&#20986;&#36827;&#34892;&#20998;&#26512;&#65292;&#36827;&#32780;&#23545;&#36755;&#20986;&#30340;&#20449;&#24687;&#36827;&#34892;&#32467;&#26500;&#21270;&#34920;&#31034;&#12290;&#21578;&#35686;&#23454;&#38469;&#19978;&#26159;&#23545;&#31995;&#32479;&#24322;&#24120;&#29366;&#24577;&#30340;&#25551;&#36848;&#65292;&#32780;&#21487;&#35270;&#21270;&#21017;&#26159;&#35753;&#29992;&#25143;&#33021;&#22815;&#30452;&#35266;&#29702;&#35299;&#30340;&#32467;&#26500;&#21270;&#34920;&#31034;&#12290;&#24120;&#35265;&#30340;&#21487;&#35270;&#21270;&#21578;&#35686;&#21578;&#35686;&#39318;&#20808;&#35201;&#26126;&#30830;&#19968;&#19979;&#21578;&#35686;alert&#30340;&#21547;&#20041;&#12290;&#22312;&#20154;&#21592;&#26080;&#27861;&#21709;&#24212;&#21578;&#35686;&#20869;&#23481;&#24773;&#20917;&#19979;&#65292;&#19981;&#24212;&#35813;&#21457;&#36865;&#21578;&#35686; —— &#21253;&#25324;&#37027;&#20123;&#21457;&#32473;&#22810;&#20010;&#20154;&#20294;&#21482;&#26377;&#20854;&#20013;&#23569;&#25968;&#20154;&#21487;&#20197;&#21709;&#24212;&#30340;&#21578;&#35686;&#65292;&#20197;&#21450;&#31995;&#32479;&#20013;&#30340;&#27599;&#20010;&#24322;&#24120;&#37117;&#35302;&#21457;&#30340;&#21578;&#35686;&#12290;&#22240;&#20026;&#36825;&#26679;&#20250;&#20135;&#29983;&#21578;&#35686;&#30130;&#21171;&#65292;&#21578;&#35686;&#25509;&#25910;&#32773;&#20063;&#24448;&#24448;&#20250;&#23545;&#36825;&#20123;&#36807;&#22810;&#30340;&#21578;&#35686;&#37319;&#21462;&#24573;&#35270;&#30340;&#24577;&#24230; —— &#30452;&#21040;&#31995;&#32479;&#24694;&#21270;&#21040;&#20197;&#23569;&#35265;&#30340;&#26041;&#24335;&#21578;&#35686;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#31649;&#29702;&#21592;&#27599;&#22825;&#37117;&#20250;&#25910;&#21040;&#21578;&#35686;&#31995;&#32479;&#21457;&#26469;&#30340;&#25968;&#30334;&#23553;&#21578;&#35686;&#37038;&#20214;&#65292;&#20182;&#23601;&#24456;&#23481;&#26131;&#20250;&#24573;&#30053;&#21578;&#35686;&#31995;&#32479;&#30340;&#25152;&#26377;&#37038;&#20214;&#12290;&#38500;&#38750;&#20182;&#30495;&#30340;&#30475;&#21040;&#38382;&#39064;&#21457;&#29983;&#65292;&#25110;&#32773;&#21463;&#21040;&#20102;&#23458;&#25143;&#25110;&#19978;&#32423;&…
Python 函数式编程:不可变数据结构

不可变性可以帮助我们更好地理解我们的代码。下面我将讲述如何在不牺牲性能的条件下来实现它。Media

via https://linux.cn/article-10222-1.html
Python &#20989;&#25968;&#24335;&#32534;&#31243;&#65306;&#19981;&#21487;&#21464;&#25968;&#25454;&#32467;&#26500;

&#19981;&#21487;&#21464;&#24615;&#21487;&#20197;&#24110;&#21161;&#25105;&#20204;&#26356;&#22909;&#22320;&#29702;&#35299;&#25105;&#20204;&#30340;&#20195;&#30721;&#12290;&#19979;&#38754;&#25105;&#23558;&#35762;&#36848;&#22914;&#20309;&#22312;&#19981;&#29306;&#29298;&#24615;&#33021;&#30340;&#26465;&#20214;&#19979;&#26469;&#23454;&#29616;&#23427;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/224129ysll52s353dsnvyd.png">Media</a>&#22312;&#36825;&#20010;&#30001;&#20004;&#31687;&#25991;&#31456;&#26500;&#25104;&#30340;&#31995;&#21015;&#20013;&#65292;&#25105;&#23558;&#35752;&#35770;&#22914;&#20309;&#23558;&#20989;&#25968;&#24335;&#32534;&#31243;&#26041;&#27861;&#35770;&#20013;&#30340;&#24605;&#24819;&#24341;&#20837;&#33267; Python &#20013;&#65292;&#26469;&#20805;&#20998;&#21457;&#25381;&#36825;&#20004;&#20010;&#39046;&#22495;&#30340;&#20248;&#21183;&#12290;&#26412;&#25991;&#65288;&#20063;&#23601;&#26159;&#31532;&#19968;&#31687;&#25991;&#31456;&#65289;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#19981;&#21487;&#21464;&#25968;&#25454;&#32467;&#26500;&#30340;&#20248;&#21183;&#12290;&#31532;&#20108;&#37096;&#20998;&#20250;&#25506;&#35752;&#22914;&#20309;&#22312; toolz &#24211;&#30340;&#24110;&#21161;&#19979;&#65292;&#29992; Python &#23454;&#29616;&#39640;&#23618;&#27425;&#30340;&#20989;&#25968;&#24335;&#32534;&#31243;&#29702;&#24565;&#12290;&#20026;&#20160;&#20040;&#35201;&#29992;&#20989;&#25968;&#24335;&#32534;&#31243;&#65311;&#22240;&#20026;&#21464;&#21270;&#30340;&#19996;&#35199;&#26356;&#38590;&#25512;&#29702;&#12290;&#22914;&#26524;&#20320;&#24050;&#32463;&#30830;&#20449;&#21464;&#21270;&#20250;&#24102;&#26469;&#40635;&#28902;&#65292;&#37027;&#24456;&#26834;&#12290;&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;&#34987;&#35828;&#26381;&#65292;&#22312;&#25991;&#31456;&#32467;&#26463;&#26102;&#65292;&#20320;&#20250;&#26126;&#30333;&#36825;&#19968;&#28857;&#30340;&#12290;&#25105;&#20204;&#20174;&#24605;&#32771;&#27491;&#26041;&#24418;&#21644;&#30697;&#24418;&#24320;&#22987;&#12290;&#22914;&#26524;&#25105;&#20204;&#25243;&#24320;&#23454;&#29616;&#32454;&#33410;&#65292;&#21333;&#20174;&#25509;&#21475;&#30340;&#35282;&#24230;&#32771;&#34385;&#65292;&#27491;&#26041;&#24418;&#26159;&#30697;&#24418;&#30340;&#23376;&#31867;&#21527;&#65311;&#23376;&#31867;&#30340;&#23450;&#20041;&#22522;&#20110;<a href="https://en.wikipedia.org/wiki/Liskov_substitution_principle">&#37324;&#27663;&#26367;&#25442;&#21407;&#21017;</a>&#12290;&#19968;&#20010;&#23376;&#31867;&#24517;&#39035;&#33021;&#22815;&#23436;&#25104;&#36229;&#31867;&#25152;&#20570;&#30340;&#19968;&#20999;&#12290;&#22914;&#20309;&#20026;&#30697;&#24418;&#23450;&#20041;&#25509;&#21475;&#65311;<pre class="prettyprint linenums">from zope.interface import Interfaceclass IRectangle(Interface): def get_length(self): """&#27491;&#26041;&#24418;&#33021;&#20570;&#21040;""" def get_width(self): """&#27491;&#26041;&#24418;&#33021;&#20570;&#21040;""" def set_dimensions(self, length, width): """&#21834;&#21734;"""</pre>&#22914;&#26524;&#25105;&#20204;&#36825;&#20040;&#23450;&#20041;&#65292;&#37027;&#27491;&#26041;&#24418;&#23601;&#19981;&#33021;&#25104;&#20026;&#30697;&#24418;&#30340;&#23376;&#31867;&#65306;&#22914;&#26524;&#38271;&#24230;&#21644;&#23485;&#24230;&#19981;&#31561;&#65292;&#23427;&#23601;&#26080;&#27861;&#23545; set_dimensions &#26041;&#27861;&#20570;&#20986;&#21709;&#24212;&#12290;&#21478;&#19968;&#31181;&#26041;&#27861;&#65292;&#26159;&#36873;&#25321;&#23558;&#30697;&#24418;&#20570;&#25104;&#19981;&#21487;&#21464;&#23545;&#35937;&#12290;<pre class="prettyprint linenums">class IRectangle(Interface): def get_length(self): """&#27491;&#26041;&#24418;&#33021;&#20570;&#21040;""" def get_width(self): """&#27491;&#26041;&#24418;&#33021;&#20570;&#21040;""" def with_dimensions(self, length, width): """&#36820;&#22238;&#19968;&#20010;&#26032;&#30697…
KRS:一个收集 Kubernetes 资源统计数据的新工具

零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。Media

via https://linux.cn/article-10223-1.html
KRS&#65306;&#19968;&#20010;&#25910;&#38598; Kubernetes &#36164;&#28304;&#32479;&#35745;&#25968;&#25454;&#30340;&#26032;&#24037;&#20855;

&#38646;&#37197;&#32622;&#24037;&#20855;&#31616;&#21270;&#20102;&#20449;&#24687;&#25910;&#38598;&#65292;&#20363;&#22914;&#22312;&#26576;&#20010;&#21629;&#21517;&#31354;&#38388;&#20013;&#36816;&#34892;&#20102;&#22810;&#23569;&#20010; pod&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/000555pwe0z50h59dvw9dz.png">Media</a>&#26368;&#36817;&#25105;&#22312;&#32445;&#32422;&#30340; O'Reilly Velocity &#23601; <a href="http://troubleshooting.kubernetes.sh/">Kubernetes &#24212;&#29992;&#25925;&#38556;&#25490;&#38500;</a>&#30340;&#20027;&#39064;&#21457;&#34920;&#20102;&#28436;&#35762;&#65292;&#24182;&#19988;&#22312;&#31215;&#26497;&#30340;&#21453;&#39304;&#21644;&#35752;&#35770;&#30340;&#25512;&#21160;&#19979;&#65292;&#25105;&#20915;&#23450;&#37325;&#26032;&#23457;&#35270;&#36825;&#20010;&#39046;&#22495;&#30340;&#24037;&#20855;&#12290;&#32467;&#26524;&#65292;&#38500;&#20102; <a href="https://github.com/kubernetes-incubator/spartakus">kubernetes-incubator/spartakus</a> &#21644; <a href="https://github.com/kubernetes/kube-state-metrics">kubernetes/kube-state-metrics</a> &#20043;&#22806;&#65292;&#25105;&#20204;&#36824;&#27809;&#26377;&#22826;&#22810;&#30340;&#36731;&#37327;&#32423;&#24037;&#20855;&#26469;&#25910;&#38598;&#36164;&#28304;&#32479;&#35745;&#25968;&#25454;&#65288;&#20363;&#22914;&#21629;&#21517;&#31354;&#38388;&#20013;&#30340; pod &#25110;&#26381;&#21153;&#30340;&#25968;&#37327;&#65289;&#12290;&#25152;&#20197;&#65292;&#25105;&#22312;&#22238;&#23478;&#30340;&#36335;&#19978;&#24320;&#22987;&#32534;&#20889;&#19968;&#20010;&#23567;&#24037;&#20855; —— &#21019;&#36896;&#24615;&#22320;&#21629;&#21517;&#20026; krs&#65292;&#23427;&#26159; Kubernetes Resource Stats &#30340;&#31616;&#31216; &#65292;&#23427;&#20801;&#35768;&#20320;&#25910;&#38598;&#36825;&#20123;&#32479;&#35745;&#25968;&#25454;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20004;&#31181;&#26041;&#24335;&#20351;&#29992; <a href="https://github.com/mhausenblas/krs">mhausenblas/krs</a>&#65306;&#30452;&#25509;&#22312;&#21629;&#20196;&#34892;&#65288;&#26377; Linux&#12289;Windows &#21644; MacOS &#30340;&#20108;&#36827;&#21046;&#25991;&#20214;&#65289;&#65292;&#20197;&#21450;&#22312;&#38598;&#32676;&#20013;&#20351;&#29992; <a href="https://github.com/mhausenblas/krs/blob/master/launch.sh">launch.sh</a> &#33050;&#26412;&#37096;&#32626;&#65292;&#35813;&#33050;&#26412;&#21160;&#24577;&#21019;&#24314;&#36866;&#24403;&#30340;&#22522;&#20110;&#35282;&#33394;&#30340;&#35775;&#38382;&#25511;&#21046;&#65288;RBAC&#65289; &#26435;&#38480;&#12290;&#25552;&#37266;&#20320;&#65292;&#23427;&#36824;&#22312;&#26089;&#26399;&#65292;&#24182;&#19988;&#36824;&#22312;&#24320;&#21457;&#20013;&#12290;&#20294;&#26159;&#65292;krs &#30340; 0.1 &#29256;&#26412;&#25552;&#20379;&#20197;&#19979;&#21151;&#33021;&#65306;&#22312;&#27599;&#20010;&#21629;&#21517;&#31354;&#38388;&#30340;&#22522;&#30784;&#19978;&#65292;&#23427;&#23450;&#26399;&#25910;&#38598;&#36164;&#28304;&#32479;&#35745;&#20449;&#24687;&#65288;&#25903;&#25345; pod&#12289;&#37096;&#32626;&#21644;&#26381;&#21153;&#65289;&#12290;&#23427;&#20197; <a href="https://openmetrics.io/">OpenMetrics &#26684;&#24335;</a>&#20844;&#24320;&#36825;&#20123;&#32479;&#35745;&#12290;&#23427;&#21487;&#20197;&#30452;&#25509;&#36890;&#36807;&#20108;&#36827;&#21046;&#25991;&#20214;&#20351;&#29992;&#65292;&#20063;&#21487;&#20197;&#22312;&#21253;&#21547;&#25152;&#26377;&#20381;&#36182;&#39033;&#30340;&#23481;&#22120;&#21270;&#35774;&#32622;&#20013;&#20351;&#29992;&#12290;&#30446;&#21069;&#65292;&#20320;&#38656;&#35201;&#23433;&#35013;&#24182;&#37197;&#32622; kubectl&#65292;&#22240;&#20026; krs &#20381;&#36182;&#20110;&#25191;&#34892; kubectl get all &#21629;&#20196;&#26469;&#25910;&#38598;&#32479;&#35745;&#25968;&#25454;&#12290;&#65288;&#21478;&#19968;&#26041;&#38754;&#65292;&#35841;&#20250;&#20351;&#29992; Kubernetes…
Bash 脚本中如何使用 here 文档将数据写入文件

here 文档不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。Media

via https://linux.cn/article-10224-1.html
Bash &#33050;&#26412;&#20013;&#22914;&#20309;&#20351;&#29992; here &#25991;&#26723;&#23558;&#25968;&#25454;&#20889;&#20837;&#25991;&#20214;

here &#25991;&#26723;here document &#65288;LCTT &#35793;&#27880;&#65306;here &#25991;&#26723;&#21448;&#31216;&#20316; heredoc &#65289;&#19981;&#26159;&#20160;&#20040;&#29305;&#27530;&#30340;&#19996;&#35199;&#65292;&#21482;&#26159;&#19968;&#31181; I/O &#37325;&#23450;&#21521;&#26041;&#24335;&#65292;&#23427;&#21578;&#35785; bash shell &#20174;&#24403;&#21069;&#28304;&#35835;&#21462;&#36755;&#20837;&#65292;&#30452;&#21040;&#35835;&#21462;&#21040;&#21482;&#26377;&#20998;&#38548;&#31526;&#30340;&#34892;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/095122pd5k2kwhkkj22k2s.jpg">redirect output of here document to a text file</a>&#36825;&#23545;&#20110;&#21521; ftp&#12289;cat&#12289;echo&#12289;ssh &#21644;&#35768;&#22810;&#20854;&#20182;&#26377;&#29992;&#30340; Linux/Unix &#21629;&#20196;&#25552;&#20379;&#25351;&#20196;&#24456;&#26377;&#29992;&#12290; &#27492;&#21151;&#33021;&#36866;&#29992;&#20110; bash &#20063;&#36866;&#29992;&#20110; Bourne&#12289;Korn&#12289;POSIX &#36825;&#19977;&#31181; shell&#12290;here &#25991;&#26723;&#35821;&#27861;&#35821;&#27861;&#26159;&#65306;<pre class="prettyprint linenums">command <<EOFcmd1cmd2 arg1EOF</pre>&#25110;&#32773;&#20801;&#35768; shell &#33050;&#26412;&#20013;&#30340; here &#25991;&#26723;&#20351;&#29992; EOF<<- &#20197;&#33258;&#28982;&#30340;&#26041;&#24335;&#32553;&#36827;&#65306;<pre class="prettyprint linenums">command <<-EOF msg1 msg2 $var on line EOF</pre>&#25110;&#32773;<pre class="prettyprint linenums">command <<'EOF' cmd1 cmd2 arg1 $var won't expand as parameter substitution turned off by single quotingEOF</pre>&#25110;&#32773; <strong>&#37325;&#23450;&#21521;&#24182;&#23558;&#20854;&#35206;&#30422;</strong> &#21040;&#21517;&#20026; my_output_file.txt &#30340;&#25991;&#20214;&#20013;&#65306;<pre class="prettyprint linenums">command <<EOF > my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>&#25110;<strong>&#37325;&#23450;&#21521;&#24182;&#23558;&#20854;&#36861;&#21152;</strong>&#21040;&#21517;&#20026; my_output_file.txt &#30340;&#25991;&#20214;&#20013;&#65306;<pre class="prettyprint linenums">command <<EOF >> my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>&#31034;&#20363;&#20197;&#19979;&#33050;&#26412;&#23558;&#25152;&#38656;&#20869;&#23481;&#20889;&#20837;&#21517;&#20026; /tmp/output.txt &#30340;&#25991;&#20214;&#20013;&#65306;<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."cat <<EOF >$OUT Status of backup as on $(date) Backing up files $HOME and /etc/EOFecho "Starting backup using rsync..."</pre>&#20320;&#21487;&#20197;&#20351;&#29992;<a href="https//www.cyberciti.biz/faq/linux-unix-appleosx-bsd-cat-command-examples/">cat&#21629;&#20196;</a>&#26597;&#30475;/tmp/output.txt&#25991;&#20214;&#65306;<pre class="prettyprint linenums">$ cat /tmp/output.txt</pre>&#31034;&#20363;&#36755;&#20986;&#65306;<pre class="prettyprint linenums"> Status of backup as on Thu Nov 16 17:00:21 IST 2017 Backing up files /home/vivek and /etc/</pre>&#31105;&#29992;&#36335;&#24452;&#21517;/&#21442;&#25968;/&#21464;&#37327;&#25193;&#23637;&#12289;&#21629;&#20196;&#26367;&#25442;&#12289;&#31639;&#26415;&#25193;&#23637;&#20687; $HOME &#36825;&#31867;&#21464;&#37327;&#21644;&#20687; $(date) &#36825;&#31867;&#21629;&#20196;&#22312;&#33050;&#26412;&#20013;&#20250;&#34987;&#35299;&#37322;&#20026;&#26367;&#25442;&#12290; &#35201;&#31105;&#29992;&#23427;&#65292;&#35831;&#20351;&#29992;&#24102;&#26377; 'EOF' &#36825;&#26679;&#24102;&#26377;&#21333;&#24341;&#21495;&#30340;&#24418;&#24335;&#65292;&#22914;&#19979;&#25152;&#31034;&#65306;<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."# No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on…
10 分钟建设一个加密货币商城

这篇文章将会教你如何在 10 分钟中内借助 WordPress 建立起一个支持 ERC20 通证的在线 B2C 商城。Media

via https://linux.cn/article-10225-1.html
10 &#20998;&#38047;&#24314;&#35774;&#19968;&#20010;&#21152;&#23494;&#36135;&#24065;&#21830;&#22478;

&#36825;&#31687;&#25991;&#31456;&#23558;&#20250;&#25945;&#20320;&#22914;&#20309;&#22312; 10 &#20998;&#38047;&#20013;&#20869;&#20511;&#21161; WordPress &#24314;&#31435;&#36215;&#19968;&#20010;&#25903;&#25345; ERC20 &#36890;&#35777;&#30340;&#22312;&#32447; B2C &#21830;&#22478;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230122jrplqhf0qlm0zhm9.jpg">Media</a>&#22312;&#21306;&#22359;&#38142;&#21450;&#36890;&#35777;&#32463;&#27982;&#22791;&#21463;&#30633;&#30446;&#30340;&#20170;&#22825;&#65292;&#24456;&#22810;&#24320;&#28304;&#31038;&#21306;&#32439;&#32439;&#22312;&#25506;&#35752;&#22914;&#20309;&#23558;&#24320;&#28304;&#31038;&#21306;&#19982;&#21306;&#22359;&#38142;&#25216;&#26415;&#21644;&#36890;&#35777;&#32463;&#27982;&#30456;&#32467;&#21512;&#65292;&#20174;&#32780;&#20026;&#24320;&#28304;&#31038;&#21306;&#21644;&#24320;&#28304;&#29983;&#24577;&#25552;&#20379;&#33258;&#20027;&#12289;&#33258;&#27965;&#12289;&#21457;&#23637;&#30340;&#21160;&#21147;&#21644;&#25903;&#25345;&#12290;&#25105;&#20204; Linux &#20013;&#22269;&#23601;&#26159;&#36825;&#35832;&#22810;&#25506;&#32034;&#30340;&#24320;&#28304;&#31038;&#21306;&#20043;&#19968;&#65292;&#21487;&#21916;&#30340;&#26159;&#65292;&#25105;&#20204;&#24050;&#32463;&#36808;&#20986;&#20102;&#31532;&#19968;&#27493;&#65306;<a href="https://linux.cn/article-9886-1.html">&#21457;&#24067;&#31038;&#21306;&#36890;&#35777;</a>&#65292;&#20063;&#36808;&#20986;&#20102;&#31532;&#20108;&#27493;&#65292;<a href="https://linux.cn/article-10178-1.html">&#20351;&#36890;&#35777;&#27969;&#36890;&#36215;&#26469;</a>&#12290;&#36825;&#37324;&#65292;&#25105;&#20204;&#24895;&#24847;&#20998;&#20139;&#25105;&#20204;&#30340;&#32463;&#39564;&#32473;&#21508;&#20010;&#31038;&#21306;&#20249;&#20276;&#65292;&#20351;&#26356;&#22810;&#30340;&#24320;&#28304;&#31038;&#21306;&#20063;&#21487;&#20197;&#25237;&#36523;&#20110;&#26032;&#30340;&#29983;&#24577;&#25506;&#32034;&#65292;&#36991;&#24320;&#19968;&#20123;&#25105;&#20204;&#36935;&#21040;&#30340;&#38519;&#38449;&#65292;&#20174;&#32780;&#20849;&#21516;&#33829;&#36896;&#19968;&#20010;&#26356;&#32321;&#33635;&#30340;&#24320;&#28304;&#19990;&#30028;&#12290;&#25105;&#20204;&#30340;<a href="https://shop.linux.cn/">&#36890;&#35777;&#21830;&#22478;</a>&#26159;&#22522;&#20110; WordPress &#30340; WooCommerce &#21830;&#22478;&#26500;&#24314;&#30340;&#12290;&#23433;&#35013; WordPress&#22312;&#24320;&#22987;&#37197;&#32622;&#21830;&#22478;&#21069;&#65292;&#20320;&#38656;&#35201;&#20808;&#23433;&#35013; WordPress &#12290;&#20320;&#38656;&#35201;&#36141;&#20080;&#19968;&#20010;&#25903;&#25345; PHP + MySQL &#30340;&#34394;&#25311;&#20027;&#26426;&#65292;&#25110;&#33258;&#34892;&#37197;&#32622; VPS&#12289;&#20113;&#26381;&#21153;&#22120;&#30340;&#29615;&#22659;&#65292;&#20197;&#25903;&#25345; WordPress &#30340;&#36816;&#34892;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241urkdj4dzk2b06crj.jpg">Media</a>&#24403;&#20320;&#23433;&#35013;&#22909; WordPress &#21518;&#65292;&#20320;&#21487;&#20197;&#30475;&#21040;&#19968;&#20010;&#36825;&#26679;&#30340;&#21518;&#21488;&#12290;&#23433;&#35013; WooCommerce&#23433;&#35013;&#23436; WordPress &#21518;&#65292;&#25509;&#19979;&#26469;&#23433;&#35013; WordPress &#30340;&#21830;&#22478;&#25554;&#20214; WooCommerce &#65292;&#28857;&#20987;&#33756;&#21333;&#26639;&#20013;&#30340;“&#25554;&#20214;”-“&#23433;&#35013;&#25554;&#20214;”&#65292;&#35775;&#38382;&#21040;&#23433;&#35013;&#25554;&#20214;&#30340;&#30028;&#38754;&#65292;&#22312;&#30028;&#38754;&#21491;&#19978;&#35282;&#30340;&#25628;&#32034;&#26694;&#20869;&#23481;&#36755;&#20837;“WooCommerce”&#65292;&#24182;&#25353;&#19979;&#22238;&#36710;&#65292;&#21487;&#20197;&#25628;&#32034;&#21040; WooCommerce &#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241w4202h26s8hpzqs8.jpg">Media</a>&#28857;&#20987;&#29616;&#22312;…
在 Linux 中怎么运行 MS-DOS 游戏和程序

DOSBox 可以模拟带有声音、图形、鼠标、操纵杆和调制解调器等的因特尔 x86 电脑,它允许你运行许多旧的 MS-DOS 游戏和程序Media

via https://linux.cn/article-10226-1.html
&#22312; Linux &#20013;&#24590;&#20040;&#36816;&#34892; MS-DOS &#28216;&#25103;&#21644;&#31243;&#24207;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235116y1q0qgh8qnc8jiej.png">Media</a>&#20320;&#26159;&#21542;&#24819;&#36807;&#23581;&#35797;&#19968;&#20123;&#32463;&#20856;&#30340; MS-DOS &#28216;&#25103;&#21644;&#20687; Turbo C++ &#36825;&#26679;&#30340;&#24223;&#24323;&#30340; C++ &#32534;&#35793;&#22120;&#65311;&#36825;&#31687;&#25945;&#31243;&#23558;&#20250;&#20171;&#32461;&#22914;&#20309;&#20351;&#29992; DOSBox &#22312; Linux &#29615;&#22659;&#19979;&#36816;&#34892; MS-DOS &#30340;&#28216;&#25103;&#21644;&#31243;&#24207;&#12290;DOSBox &#26159;&#19968;&#20010; x86 &#24179;&#21488;&#30340; DOS &#27169;&#25311;&#22120;&#65292;&#21487;&#20197;&#29992;&#26469;&#36816;&#34892;&#32463;&#20856;&#30340; DOS &#28216;&#25103;&#21644;&#31243;&#24207;&#12290; DOSBox &#21487;&#20197;&#27169;&#25311;&#24102;&#26377;&#22768;&#38899;&#12289;&#22270;&#24418;&#12289;&#40736;&#26631;&#12289;&#25805;&#32437;&#26438;&#21644;&#35843;&#21046;&#35299;&#35843;&#22120;&#31561;&#30340;&#22240;&#29305;&#23572; x86 &#30005;&#33041;&#65292;&#23427;&#20801;&#35768;&#20320;&#36816;&#34892;&#35768;&#22810;&#26087;&#30340; MS-DOS &#28216;&#25103;&#21644;&#31243;&#24207;&#65292;&#36825;&#20123;&#28216;&#25103;&#21644;&#31243;&#24207;&#26681;&#26412;&#26080;&#27861;&#22312;&#20219;&#20309;&#29616;&#20195; PC &#21644;&#25805;&#20316;&#31995;&#32479;&#19978;&#36816;&#34892;&#65292;&#20363;&#22914; Microsoft Windows XP &#21450;&#26356;&#39640;&#29256;&#26412;&#12289;Linux &#21644;FreeBSD&#12290; DOSBox &#26159;&#20813;&#36153;&#30340;&#65292;&#20351;&#29992; C++ &#32534;&#31243;&#35821;&#35328;&#32534;&#20889;&#24182;&#22312; GPL &#19979;&#20998;&#21457;&#12290;&#22312; Linux &#19978;&#23433;&#35013; DOSBoxDOSBox &#22312;&#22823;&#22810;&#25968; Linux &#21457;&#34892;&#29256;&#30340;&#40664;&#35748;&#20179;&#24211;&#20013;&#37117;&#33021;&#25214;&#30340;&#21040;&#12290;&#22312; Arch Linux &#21450;&#20854;&#34893;&#29983;&#29256;&#22914; Antergos&#12289;Manjaro Linux &#19978;&#65306;<pre class="prettyprint linenums">$ sudo pacman -S dosbox</pre>&#22312; Debian&#12289;Ubuntu&#12289;Linux Mint &#19978;&#65306;<pre class="prettyprint linenums">$ sudo apt-get install dosbox</pre>&#22312; Fedora &#19978;&#65306;<pre class="prettyprint linenums">$ sudo dnf install dosbox</pre>&#37197;&#32622; DOSBoxDOSBox &#26159;&#19968;&#20010;&#24320;&#31665;&#21363;&#29992;&#30340;&#36719;&#20214;&#65292;&#23427;&#19981;&#38656;&#35201;&#36827;&#34892;&#21021;&#22987;&#21270;&#37197;&#32622;&#12290;&#23427;&#30340;&#37197;&#32622;&#25991;&#20214;&#20301;&#20110; ~/.dosbox &#25991;&#20214;&#22841;&#20013;&#65292;&#21517;&#20026; dosbox-x.xx.conf&#12290; &#22312;&#27492;&#37197;&#32622;&#25991;&#20214;&#20013;&#65292;&#20320;&#21487;&#20197;&#32534;&#36753;/&#20462;&#25913;&#21508;&#31181;&#35774;&#32622;&#65292;&#20363;&#22914;&#20197;&#20840;&#23631;&#27169;&#24335;&#21551;&#21160; DOSBox&#65292;&#20840;&#23631;&#20351;&#29992;&#21452;&#32531;&#20914;&#65292;&#35774;&#32622;&#39318;&#36873;&#20998;&#36776;&#29575;&#65292;&#40736;&#26631;&#28789;&#25935;&#24230;&#65292;&#21551;&#29992;&#25110;&#31105;&#29992;&#22768;&#38899;&#65292;&#25196;&#22768;&#22120;&#65292;&#25805;&#32437;&#26438;&#31561;&#31561;&#12290;&#22914;&#21069;&#25152;&#36848;&#65292;&#40664;&#35748;&#35774;&#32622;&#21363;&#21487;&#27491;&#24120;&#24037;&#20316;&#12290;&#20320;&#21487;&#20197;&#19981;&#29992;&#36827;&#34892;&#20219;&#20309;&#26356;&#25913;&#12290;&#22312; Linux &#20013;&#36816;&#34892; MS-DOS &#19978;&#30340;&#28216;&#25103;&#21644;&#31243;&#24207;&#22312;&#32456;&#31471;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#21551;&#21160; DOSBox&#65306;<pre class="prettyprint linenums">$ dosbox</pre>&#19979;&#22270;&#23601;&#26159; DOSBox &#30340;&#30028;&#38754;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235117s18kaalxv8892ngk.png">Media</a>&#27491;&#229…
如何弄清 Linux 系统运行何种系统管理程序

Linux 系统中主要有三种有名而仍在使用的初始化系统。大多数 Linux 发行版都使用其中之一。Media

via https://linux.cn/article-10227-1.html
&#22914;&#20309;&#24324;&#28165; Linux &#31995;&#32479;&#36816;&#34892;&#20309;&#31181;&#31995;&#32479;&#31649;&#29702;&#31243;&#24207;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/003654a6ytyyyomtl62ydy.jpg">Media</a>&#34429;&#28982;&#25105;&#20204;&#32463;&#24120;&#21548;&#21040;&#31995;&#32479;&#31649;&#29702;&#22120;System Manager&#36825;&#35789;&#65292;&#20294;&#24456;&#23569;&#26377;&#20154;&#28145;&#31350;&#20854;&#30830;&#20999;&#24847;&#20041;&#12290;&#29616;&#22312;&#25105;&#20204;&#23558;&#21521;&#20320;&#23637;&#31034;&#20854;&#21306;&#21035;&#12290;&#25105;&#20250;&#23613;&#33258;&#24049;&#25152;&#33021;&#26469;&#35299;&#37322;&#28165;&#26970;&#19968;&#20999;&#12290;&#25105;&#20204;&#22823;&#22810;&#37117;&#30693;&#36947; System V &#21644; systemd &#20004;&#31181;&#31995;&#32479;&#31649;&#29702;&#22120;&#12290; System V &#65288;&#31616;&#20889; SysV&#65289; &#26159;&#32769;&#24335;&#31995;&#32479;&#25152;&#20351;&#29992;&#30340;&#21476;&#32769;&#19988;&#20256;&#32479;&#30340;&#21021;&#22987;&#21270;&#31995;&#32479;&#21450;&#31995;&#32479;&#31649;&#29702;&#22120;&#12290;Systemd &#26159;&#20840;&#26032;&#30340;&#21021;&#22987;&#21270;&#31995;&#32479;&#21450;&#31995;&#32479;&#31649;&#29702;&#22120;&#65292;&#24182;&#19988;&#24050;&#34987;&#22823;&#37096;&#20998;&#20027;&#27969; Linux &#21457;&#34892;&#29256;&#25152;&#37319;&#29992;&#12290;Linux &#31995;&#32479;&#20013;&#20027;&#35201;&#26377;&#19977;&#31181;&#26377;&#21517;&#32780;&#20173;&#22312;&#20351;&#29992;&#30340;&#21021;&#22987;&#21270;&#31995;&#32479;&#12290;&#22823;&#22810;&#25968; Linux &#21457;&#34892;&#29256;&#37117;&#20351;&#29992;&#20854;&#20013;&#20043;&#19968;&#12290;&#20160;&#20040;&#26159;&#21021;&#22987;&#21270;&#31995;&#32479;&#31649;&#29702;&#22120;&#65311;&#22312;&#22522;&#20110; Linux/Unix &#30340;&#25805;&#20316;&#31995;&#32479;&#20013;&#65292;init (&#21021;&#22987;&#21270;&#30340;&#31616;&#31216;) &#26159;&#20869;&#26680;&#21551;&#21160;&#31995;&#32479;&#26102;&#24320;&#21551;&#30340;&#31532;&#19968;&#20010;&#36827;&#31243;&#12290;&#23427;&#25345;&#26377;&#30340;&#36827;&#31243; ID&#65288;PID&#65289;&#21495;&#20026; 1&#65292;&#20854;&#22312;&#21518;&#21488;&#19968;&#30452;&#36816;&#34892;&#30528;&#65292;&#30452;&#21040;&#20851;&#26426;&#12290;init &#20250;&#26597;&#25214; /etc/inittab &#25991;&#20214;&#20013;&#30456;&#24212;&#37197;&#32622;&#20449;&#24687;&#26469;&#30830;&#23450;&#31995;&#32479;&#30340;&#36816;&#34892;&#32423;&#21035;&#65292;&#28982;&#21518;&#26681;&#25454;&#36816;&#34892;&#32423;&#21035;&#22312;&#21518;&#21488;&#21551;&#21160;&#25152;&#26377;&#30340;&#20854;&#23427;&#36827;&#31243;&#21644;&#24212;&#29992;&#12290;&#20316;&#20026; Linux &#21551;&#21160;&#36807;&#31243;&#30340;&#19968;&#37096;&#20998;&#65292;BIOS&#12289;MBR&#12289;GRUB &#21644;&#20869;&#26680;&#36827;&#31243;&#22312;&#27492;&#36827;&#31243;&#20043;&#21069;&#23601;&#34987;&#28608;&#27963;&#20102;&#12290;&#19979;&#38754;&#21015;&#20986;&#30340;&#26159; Linux &#30340;&#21487;&#29992;&#36816;&#34892;&#32423;&#21035;&#65288;&#23384;&#22312;&#19971;&#20010;&#36816;&#34892;&#32423;&#21035;&#65292;&#20174; 0 &#21040; 6&#65289;&#12290;0&#65306;&#20572;&#26426;1&#65306;&#21333;&#29992;&#25143;&#27169;&#24335;2&#65306;&#22810;&#29992;&#25143;&#65292;&#26080; NFS&#65288;LCTT &#35793;&#27880;&#65306;NFS &#21363; Network File System&#65292;&#32593;&#32476;&#25991;&#20214;&#31995;&#32479;&#65289;3&#65306;&#20840;&#21151;&#33021;&#22810;&#29992;&#25143;&#27169;&#24335;4&#65306;&#26410;&#20351;&#29992;5&#65306;X11&#65288;GUI – &#22270;&#24418;&#29992;&#25143;&#30028;&#38754;&#65289;6&#65306;&#37325;&#21551;&#19979;&#38754;&#21015;&#20986;&#30340;&#26159; Linux &#31995;&#32479;&#20013;&#24191;&#27867;&#20351;&#29992;&#30340;&#19977;&#31181;&#21021;&#22987;&#21270;&#31995;&#32479;&#12290;System V (Sys V)&#65306;&#26159;&#31867; Unix &#25805;&#20316;&#31995;&#32479;&#20256;&#32479;&#30340;&#20063;&#26159;&#39318;&#27454;&#21021;&#22987;&#21270;&#31995;&#324…
在命令行使用 Pandoc 进行文件转换

这篇指南介绍如何使用 Pandoc 将文档转换为多种不同的格式。

via https://linux.cn/article-10228-1.html
&#22312;&#21629;&#20196;&#34892;&#20351;&#29992; Pandoc &#36827;&#34892;&#25991;&#20214;&#36716;&#25442;

&#36825;&#31687;&#25351;&#21335;&#20171;&#32461;&#22914;&#20309;&#20351;&#29992; Pandoc &#23558;&#25991;&#26723;&#36716;&#25442;&#20026;&#22810;&#31181;&#19981;&#21516;&#30340;&#26684;&#24335;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/115159kt7mokqq5m5umitr.jpg">Media</a>Pandoc &#26159;&#19968;&#20010;&#21629;&#20196;&#34892;&#24037;&#20855;&#65292;&#29992;&#20110;&#23558;&#25991;&#20214;&#20174;&#19968;&#31181;&#26631;&#35760;&#35821;&#35328;&#36716;&#25442;&#20026;&#21478;&#19968;&#31181;&#26631;&#35760;&#35821;&#35328;&#12290;&#26631;&#35760;&#35821;&#35328;&#20351;&#29992;&#26631;&#31614;&#26469;&#26631;&#35760;&#25991;&#26723;&#30340;&#21508;&#20010;&#37096;&#20998;&#12290;&#24120;&#29992;&#30340;&#26631;&#35760;&#35821;&#35328;&#21253;&#25324; Markdown&#12289;ReStructuredText&#12289;HTML&#12289;LaTex&#12289;ePub &#21644; Microsoft Word DOCX&#12290;&#31616;&#21333;&#26469;&#35828;&#65292;<a href="https://pandoc.org/">Pandoc</a> &#20801;&#35768;&#20320;&#23558;&#19968;&#20123;&#25991;&#20214;&#20174;&#19968;&#31181;&#26631;&#35760;&#35821;&#35328;&#36716;&#25442;&#20026;&#21478;&#19968;&#31181;&#26631;&#35760;&#35821;&#35328;&#12290;&#20856;&#22411;&#30340;&#20363;&#23376;&#21253;&#25324;&#23558; Markdown &#25991;&#20214;&#36716;&#25442;&#20026;&#28436;&#31034;&#25991;&#31295;&#12289;LaTeX&#65292;PDF &#29978;&#33267;&#26159; ePub&#12290;&#26412;&#25991;&#23558;&#35299;&#37322;&#22914;&#20309;&#20351;&#29992; Pandoc &#20174;&#21333;&#19968;&#26631;&#35760;&#35821;&#35328;&#65288;&#22312;&#26412;&#25991;&#20013;&#20026; Markdown&#65289;&#29983;&#25104;&#22810;&#31181;&#26684;&#24335;&#30340;&#25991;&#26723;&#65292;&#24341;&#23548;&#20320;&#23436;&#25104;&#20174; Pandoc &#23433;&#35013;&#65292;&#21040;&#23637;&#31034;&#22914;&#20309;&#21019;&#24314;&#22810;&#31181;&#31867;&#22411;&#30340;&#25991;&#26723;&#65292;&#20877;&#21040;&#25552;&#20379;&#26377;&#20851;&#22914;&#20309;&#32534;&#20889;&#26131;&#20110;&#31227;&#26893;&#21040;&#20854;&#20182;&#26684;&#24335;&#30340;&#25991;&#26723;&#30340;&#25552;&#31034;&#12290;&#25991;&#20013;&#36824;&#23558;&#35299;&#37322;&#20351;&#29992;&#20803;&#20449;&#24687;&#25991;&#20214;&#23545;&#25991;&#26723;&#20869;&#23481;&#21644;&#20803;&#20449;&#24687;&#65288;&#20363;&#22914;&#65292;&#20316;&#32773;&#22995;&#21517;&#12289;&#20351;&#29992;&#30340;&#27169;&#26495;&#12289;&#20070;&#30446;&#26679;&#24335;&#31561;&#65289;&#36827;&#34892;&#20998;&#31163;&#30340;&#24847;&#20041;&#12290;Pandoc &#23433;&#35013;&#21644;&#35201;&#27714;Pandoc &#40664;&#35748;&#23433;&#35013;&#22312;&#22823;&#22810;&#25968; Linux &#21457;&#34892;&#29256;&#20013;&#12290;&#26412;&#25945;&#31243;&#20351;&#29992; pandoc-2.2.3.2 &#21644; pandoc-citeproc-0.14.3&#12290;&#22914;&#26524;&#19981;&#25171;&#31639;&#29983;&#25104; PDF&#65292;&#37027;&#20040;&#36825;&#20004;&#20010;&#21253;&#23601;&#36275;&#22815;&#20102;&#12290;&#20294;&#26159;&#65292;&#25105;&#24314;&#35758;&#20063;&#23433;&#35013; texlive&#65292;&#36825;&#26679;&#23601;&#21487;&#20197;&#36873;&#25321;&#29983;&#25104; PDF &#20102;&#12290;&#36890;&#36807;&#20197;&#19979;&#21629;&#20196;&#22312; Linux &#19978;&#23433;&#35013;&#36825;&#20123;&#31243;&#24207;&#65306;<pre class="prettyprint linenums">sudo apt-get install pandoc pandoc-citeproc texlive</pre>&#24744;&#21487;&#20197;&#22312; Pandoc &#30340;&#32593;&#31449;&#19978;&#25214;&#21040;&#20854;&#20182;&#24179;&#21488;&#30340; <a href="http://pandoc.org/installing.html">&#23433;&#35013;&#35828;&#26126;</a>&#12290;&#25105;&#24378;&#28872;&#24314;&#35758;&#23433;&#35013; <a href="https://hackage.haskell.org/package/pandoc-crossref">pandoc-crossref</a>&#65292;&#36825;&#26159;&#19968;&#20010;“&#29992;&#20110;&#23545;&#22270;&#34920;&#65292;&#26041;&#31243;&#24335;&#65292;&#34920;&#26684;&#21644;&#20132;&#21449;&#24341;&#29992;&#36827;&#34892;&#32534;&#21495;&#30340;&#36807;&#2838…
什么是纯粹的开源社区精神,我用了十年去探索

今天,我们有一个机会,可以好好了解一下中国互联网发展史上发展最亲密的一个社群。这个社群追求的理想,让许多新东西的出现成为了可能。Media

via https://linux.cn/article-10229-1.html
&#20160;&#20040;&#26159;&#32431;&#31929;&#30340;&#24320;&#28304;&#31038;&#21306;&#31934;&#31070;&#65292;&#25105;&#29992;&#20102;&#21313;&#24180;&#21435;&#25506;&#32034;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/145941dn6iezi3diies1ui.jpg">Media</a>&#20154;&#31867;&#26412;&#36523;&#26159;&#19968;&#20010;&#21327;&#20316;&#33021;&#21147;&#26497;&#24378;&#30340;&#29289;&#31181;&#65292;&#32780;&#38543;&#30528;&#24456;&#22810;&#21010;&#26102;&#20195;&#31185;&#25216;&#21457;&#26126;&#30340;&#35806;&#29983;&#65292;&#33976;&#27773;&#26426;&#12289;&#30005;&#12289;&#20114;&#32852;&#32593;&#31561;&#25216;&#26415;&#30340;&#20986;&#29616;&#65292;&#20154;&#20204;&#21464;&#30340;&#26356;&#23481;&#26131;&#32858;&#22312;&#19968;&#36215;&#12290;&#36825;&#20123;&#23567;&#20249;&#20276;&#20174;&#19968;&#24320;&#22987;&#30340;&#19977;&#20116;&#25104;&#32676;&#65292;&#21040;&#26368;&#21518;&#25317;&#26377;&#19968;&#22871;&#20849;&#21516;&#35821;&#35328;&#21644;&#35748;&#30693;&#30340;&#21382;&#21490;&#12290;&#22312;&#20114;&#32852;&#32593;&#26102;&#20195;&#65292;&#22823;&#23478;&#36890;&#36807;&#31038;&#21306;&#30340;&#21147;&#37327;&#65292;&#25226;&#24320;&#28304;&#30340;&#31934;&#31070;&#20256;&#25773;&#21040;&#19990;&#30028;&#21508;&#22788;&#12290;&#23567;&#20249;&#20276;&#21487;&#20197;&#26356;&#23481;&#26131;&#30340;&#32452;&#38431;&#65292;&#36890;&#36807;&#21512;&#29702;&#30340;&#20998;&#24037;&#65292;&#23558;&#19981;&#21487;&#33021;&#30340;&#20107;&#24773;&#21464;&#20026;&#21487;&#33021;&#65288;&#29978;&#33267;&#36825;&#20123;&#23567;&#20249;&#20276;&#37117;&#19981;&#38656;&#35201;&#32858;&#38598;&#22312;&#21516;&#19968;&#20010;&#21150;&#20844;&#23460;&#65289;&#12290;&#32780;&#20170;&#22825;&#65292;&#25105;&#20204;&#26377;&#19968;&#20010;&#26426;&#20250;&#65292;&#21487;&#20197;&#22909;&#22909;&#20102;&#35299;&#19968;&#19979;&#20013;&#22269;&#20114;&#32852;&#32593;&#21457;&#23637;&#21490;&#19978;&#21457;&#23637;&#26368;&#20146;&#23494;&#30340;&#19968;&#20010;&#31038;&#32676;&#12290;&#36825;&#20010;&#31038;&#32676;&#36861;&#27714;&#30340;&#29702;&#24819;&#65292;&#35753;&#35768;&#22810;&#26032;&#19996;&#35199;&#30340;&#20986;&#29616;&#25104;&#20026;&#20102;&#21487;&#33021;&#12290;&#36825;&#21040;&#24213;&#26159;&#24590;&#26679;&#30340;&#19968;&#20010;&#31038;&#32676;&#65311;&#24590;&#26679;&#30340;&#19968;&#27573;&#22855;&#22937;&#32463;&#21382;&#65311;&#23601;&#35753;&#25285;&#20219; Ruby China &#35770;&#22363;&#31649;&#29702;&#21592;&#30340; Daniel &#32473;&#25105;&#20204;&#22909;&#22909;&#35762;&#36848;&#19968;&#19979;&#12290;&#65288;enjoy&#65374;&#37027;&#26102;&#25105;&#25165; 25 &#23681; &#36825;&#26159;&#19968;&#27573;&#36229;&#36807; 10 &#24180;&#30340;&#32463;&#21382;&#65292;&#20180;&#32454;&#31639;&#31639;&#24212;&#35813;&#26159; 11 &#24180;&#22810;&#20102;&#12290;&#36825;&#27573;&#32463;&#21382;&#65292;&#38142;&#25509;&#20102;&#24456;&#22810;&#36807;&#21435;&#30340;&#20154;&#21644;&#24456;&#22810;&#30340;&#20107;&#65292; &#29616;&#22312;&#30340;&#31192;&#29503;&#21644; Nervos &#31038;&#21306;&#25152;&#26377;&#30340;&#20154;&#65292;&#37117;&#26159;&#36890;&#36807; Ruby &#32467;&#32536;&#30340;&#12290;&#21487;&#33021;&#35201;&#20174; 2007 &#24180;&#24320;&#22987;&#35828;&#36215;&#65292;&#37027;&#26102;&#20505;&#25105;&#25165;&#24320;&#22987;&#25509;&#35302;&#31038;&#21306;&#12290;&#24403;&#26102;&#65292;&#25105;&#22312;&#19978;&#28023;&#19968;&#23478;&#20570; Ruby &#25216;&#26415;&#30340;&#20844;&#21496;&#24037;&#20316; &#12290;&#30001;&#20110;&#24037;&#20316;&#30340;&#21407;&#22240;&#65292;&#25105;&#21442;&#21152;&#20102;&#24403;&#26102; Ruby &#31038;&#21306;&#30340;&#19968;&#20123;&#32447;&#19979;&#27963;&#21160;&#65292;&#20063;&#26426;&#32536;&#24039;&#21512;&#22320;&#35748;&#35782;&#20102; Ruby &#31038;&#21306;&#30340;&#20004;&#20010;&#21019;&#22987;&#20154;&#65306;&#19968;&#20010;&#21483;&#24352;&#20803;&#19968;&#65292;&#21478;&#19968;&#20010;&#21483; Steven&#12290;&#37027;&#27573;&#26102;&#38388;&#25105;…
使用 SonarQube 追踪代码问题

通过不断分析代码以了解潜在的质量问题,开源的 SonarQube 项目支持了 DevOps 的“尽早发布和经常发布” 的思维模式。Media

via https://linux.cn/article-10230-1.html
&#20351;&#29992; SonarQube &#36861;&#36394;&#20195;&#30721;&#38382;&#39064;

&#36890;&#36807;&#19981;&#26029;&#20998;&#26512;&#20195;&#30721;&#20197;&#20102;&#35299;&#28508;&#22312;&#30340;&#36136;&#37327;&#38382;&#39064;&#65292;&#24320;&#28304;&#30340; SonarQube &#39033;&#30446;&#25903;&#25345;&#20102; DevOps &#30340;“&#23613;&#26089;&#21457;&#24067;&#21644;&#32463;&#24120;&#21457;&#24067;” &#30340;&#24605;&#32500;&#27169;&#24335;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/14/092831ypfrsw7f2z5iyy2w.jpg">Media</a>&#36234;&#26469;&#36234;&#22810;&#30340;&#32452;&#32455;&#27491;&#22312;&#23454;&#26045; <a href="https://en.wikipedia.org/wiki/DevOps">DevOps</a> &#20197;&#20415;&#22312;&#36890;&#36807;&#20013;&#38388;&#24320;&#21457;&#21644;&#27979;&#35797;&#29615;&#22659;&#20197;&#21518;&#26356;&#24555;&#26356;&#22909;&#30340;&#23558;&#26032;&#20195;&#30721;&#24341;&#20837;&#21040;&#29983;&#20135;&#29615;&#22659;&#12290;&#34429;&#28982;&#29256;&#26412;&#25511;&#21046;&#12289;&#25345;&#32493;&#38598;&#25104;&#21644;&#37096;&#32626;&#20197;&#21450;&#33258;&#21160;&#21270;&#27979;&#35797;&#37117;&#23646;&#20110; DevOps &#30340;&#33539;&#30068;&#65292;&#20294;&#20173;&#28982;&#23384;&#22312;&#19968;&#20010;&#20851;&#38190;&#38382;&#39064;&#65306;&#32452;&#32455;&#22914;&#20309;&#37327;&#21270;&#20195;&#30721;&#36136;&#37327;&#65292;&#32780;&#19981;&#20165;&#20165;&#26159;&#37096;&#32626;&#30340;&#36895;&#24230;&#65311;<a href="https://www.sonarqube.org/">SonarQube</a> &#26159;&#29992;&#26469;&#22635;&#34917;&#36825;&#20010;&#31354;&#38553;&#30340;&#19968;&#31181;&#36873;&#25321;&#12290;&#23427;&#26159;&#19968;&#20010;&#24320;&#28304;&#24179;&#21488;&#65292;&#36890;&#36807;&#20195;&#30721;&#30340;&#33258;&#21160;&#21270;&#38745;&#24577;&#20998;&#26512;&#19981;&#26029;&#30340;&#26816;&#26597;&#20195;&#30721;&#36136;&#37327;&#12290; SonarQube &#25903;&#25345; 20 &#22810;&#31181;&#35821;&#35328;&#30340;&#20998;&#26512;&#65292;&#24182;&#22312;&#21508;&#31181;&#31867;&#22411;&#30340;&#39033;&#30446;&#20013;&#36755;&#20986;&#21644;&#23384;&#20648;&#38382;&#39064;&#12290;SonarQube &#21516;&#26102;&#20063;&#25552;&#20379;&#20102;&#19968;&#20010;&#21487;&#21516;&#26102;&#32500;&#25252;&#21644;&#31649;&#29702;&#19981;&#21516;&#39033;&#30446;&#12289;&#19981;&#21516;&#20195;&#30721;&#30340;&#38598;&#20013;&#30340;&#29615;&#22659;&#12290;&#21487;&#20197;&#20026;&#27599;&#20010;&#39033;&#30446;&#23450;&#21046;&#35268;&#21017;&#12290;&#25345;&#32493;&#30340;&#26816;&#26597;&#21644;&#20998;&#26512;&#20195;&#30721;&#30340;&#20581;&#24247;&#36712;&#36857;&#12290;SonarQube &#36824;&#21487;&#20197;&#38598;&#25104;&#21040;&#21487;&#25345;&#32493;&#38598;&#25104;&#21644;&#24320;&#21457;&#65288;CI/CD&#65289;&#27969;&#31243;&#20013;&#65292;&#21327;&#21161;&#21644;&#33258;&#21160;&#30830;&#23450;&#20195;&#30721;&#26159;&#21542;&#20026;&#29983;&#20135;&#29615;&#22659;&#20570;&#22909;&#20102;&#20934;&#22791;&#30340;&#36807;&#31243;&#12290;&#23427;&#21487;&#20197;&#34913;&#37327;&#20160;&#20040;&#24320;&#31665;&#21363;&#29992;&#65292;SonarQube &#21487;&#20197;&#27979;&#37327;&#30340;&#20851;&#38190;&#25351;&#26631;&#65292;&#21253;&#25324;&#20195;&#30721;&#38169;&#35823;&#12289;&#20195;&#30721;&#24322;&#21619;code smells&#12289;&#23433;&#20840;&#28431;&#27934;&#21644;&#37325;&#22797;&#30340;&#20195;&#30721;&#12290;<strong>&#20195;&#30721;&#38169;&#35823;</strong> &#26159;&#20195;&#30721;&#20013;&#30340;&#19968;&#37096;&#20998;&#19981;&#27491;&#30830;&#25110;&#26080;&#27861;&#27491;&#24120;&#36816;&#34892;&#12289;&#21487;&#33021;&#20250;&#23548;&#33268;&#38169;&#35823;&#30340;&#32467;&#26524;&#65292;&#26159;&#25351;&#37027;&#20123;&#22312;&#20195;&#30721;&#21457;&#24067;&#21040;&#29983;&#20135;&#29615;&#22659;&#20043;&#21069;&#24212;&#35813;&#34987;&#20462;&#22797;&#30340;&#26126;&#26174;&#30340;&#38169;&#35823;&#12290;<a href="https://en.wikipedia.org/wiki/Code_smell">&#20195;&#30721;&#24322;&#21619;</a> &#19981;&#21516;&#20110;&#20195…