Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
McFly:利用神经网络为 Bash 提供历史命令搜索功能

McFly 是一个使用 Rust 编程语言写就的简洁工具,自带一个智能的搜索引擎,用来替换默认的 Ctrl+r 这个 Bash 历史命令搜索功能。 McFly 提供的命令建议都是通过一个小巧的 神经网络 来实时排序给出的。Media

via https://linux.cn/article-10414-1.html
McFly:利用神经网络为 Bash 提供历史命令搜索功能

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/04/232508t98p95pyp5ww2h9w.png">Media</a>&#20551;&#22914;&#20320;&#22312;&#21629;&#20196;&#34892;&#27169;&#24335;&#19979;&#28193;&#36807;&#20102;&#24456;&#38271;&#26102;&#38388;&#65292;&#37027;&#20040;&#20320;&#24517;&#23450;&#20351;&#29992;&#36807;&#25110;&#32773;&#21548;&#35828;&#36807; BASH &#30340; <strong>&#21453;&#21521;&#25628;&#32034;</strong> &#21151;&#33021;&#65292;&#22312; Bash &#20013;&#25191;&#34892;&#21453;&#21521;&#25628;&#32034;&#21151;&#33021;&#30340;&#24555;&#25463;&#38190;&#26159; Ctrl+r&#12290;&#36890;&#36807;&#20351;&#29992;&#36825;&#20010;&#29305;&#24615;&#65292;&#25105;&#20204;&#21487;&#20197;&#25214;&#21040;&#25105;&#20204;&#25191;&#34892;&#36807;&#30340;&#21629;&#20196;&#32780;&#26080;&#38656;&#20877;&#27425;&#36755;&#20837;&#23427;&#20204;&#12290;&#24403;&#28982;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#19978;&#19979;&#38190;&#26469;&#25628;&#32034;&#20320;&#30340; bash &#21629;&#20196;&#35760;&#24405;&#65292;&#20294;&#20351;&#29992; Ctrl+r &#24555;&#25463;&#38190;&#21487;&#20197;&#35753;&#36825;&#20010;&#25628;&#32034;&#36807;&#31243;&#26356;&#31616;&#21333;&#24555;&#36895;&#12290;&#20170;&#22825;&#25105;&#25214;&#23547;&#21040;&#20102; Bash &#21382;&#21490;&#21629;&#20196;&#25628;&#32034;&#29305;&#24615; Ctrl+r &#30340;&#19968;&#20010;&#26367;&#20195;&#21697;&#65292;&#23427;&#23601;&#26159; McFly&#12290;McFly &#26159;&#19968;&#20010;&#20351;&#29992; Rust &#32534;&#31243;&#35821;&#35328;&#20889;&#23601;&#30340;&#31616;&#27905;&#24037;&#20855;&#65292;&#33258;&#24102;&#19968;&#20010;&#26234;&#33021;&#30340;&#25628;&#32034;&#24341;&#25806;&#65292;&#29992;&#26469;&#26367;&#25442;&#40664;&#35748;&#30340; Ctrl+r &#36825;&#20010; Bash &#21382;&#21490;&#21629;&#20196;&#25628;&#32034;&#21151;&#33021;&#12290; McFly &#25552;&#20379;&#30340;&#21629;&#20196;&#24314;&#35758;&#37117;&#26159;&#36890;&#36807;&#19968;&#20010;&#23567;&#24039;&#30340; <strong>&#31070;&#32463;&#32593;&#32476;</strong> &#26469;&#23454;&#26102;&#25490;&#24207;&#32473;&#20986;&#30340;&#12290;McFly &#37325;&#26032;&#32465;&#23450;&#20102; Ctrl+r &#24555;&#25463;&#38190;&#65292;&#21487;&#20197;&#20174;&#20320;&#30340; Bash &#21382;&#21490;&#21629;&#20196;&#20013;&#25214;&#21040;&#25152;&#26377;&#26368;&#36817;&#25191;&#34892;&#36807;&#30340;&#21629;&#20196;&#12290;&#23427;&#36890;&#36807;&#36861;&#28335;&#19979;&#38754;&#30340;&#20449;&#24687;&#26469;&#22686;&#24378;&#20320;&#30340; shell &#21382;&#21490;&#21629;&#20196;&#25628;&#32034;&#29305;&#24615;&#65306;&#21629;&#20196;&#32467;&#26463;&#29366;&#24577;&#24403;&#20320;&#36816;&#34892;&#21629;&#20196;&#26102;&#30340;&#26102;&#38388;&#25139;&#20197;&#21450;&#20320;&#36816;&#34892;&#21629;&#20196;&#30340;&#25191;&#34892;&#30446;&#24405;&#23427;&#23558;&#25152;&#26377;&#36861;&#28335;&#30340;&#20449;&#24687;&#20445;&#23384;&#22312;&#19968;&#20010; SQLite &#25968;&#25454;&#24211;&#20013;&#12290;&#30001;&#20110;&#23427;&#36861;&#28335;&#20102;&#21629;&#20196;&#30340;&#21382;&#21490;&#32467;&#26463;&#29366;&#24577;&#65292;&#25152;&#20197;&#20320;&#21487;&#20197;&#24456;&#36731;&#26131;&#22320;&#24573;&#30053;&#25481;&#22833;&#36133;&#30340;&#21629;&#20196;&#12290;&#21548;&#36215;&#26469;&#24456;&#37239;&#65292;&#23545;&#21543;&#65311;&#22312;&#32473;&#20986;&#19968;&#20010;&#21629;&#20196;&#24314;&#35758;&#26102;&#65292;&#23427;&#23558;&#32771;&#34385;&#22914;&#19979;&#22240;&#32032;&#65306;&#20320;&#22312;&#21738;&#20010;&#30446;&#24405;&#25191;&#34892;&#30340;&#36825;&#20010;&#21629;&#20196;&#65292;&#23558;&#26469;&#20320;&#24456;&#26377;&#21487;&#33021;&#22312;&#30456;&#21516;&#30340;&#30446;&#24405;&#37325;&#22797;&#36825;&#20010;&#21629;&#20196;&#22312;&#20320;&#25191;&#34892;&#36825;&#20010;&#21629;&#20196;&#20043;&#21069;&#65292;&#25191;&#34892;&#36807;&#20160;&#2…
用 PGP 保护代码完整性(五):将子密钥移到一个硬件设备中

在这个系列教程中,将为你提供使用 PGP 和保护你的私钥的最佳体验。Media

via https://linux.cn/article-10415-1.html
&#29992; PGP &#20445;&#25252;&#20195;&#30721;&#23436;&#25972;&#24615;&#65288;&#20116;&#65289;&#65306;&#23558;&#23376;&#23494;&#38053;&#31227;&#21040;&#19968;&#20010;&#30828;&#20214;&#35774;&#22791;&#20013;

&#22312;&#36825;&#20010;&#31995;&#21015;&#25945;&#31243;&#20013;&#65292;&#23558;&#20026;&#20320;&#25552;&#20379;&#20351;&#29992; PGP &#21644;&#20445;&#25252;&#20320;&#30340;&#31169;&#38053;&#30340;&#26368;&#20339;&#20307;&#39564;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/05/001540guuubwk558wvc8sx.jpg">Media</a>&#22312;&#26412;&#31995;&#21015;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25552;&#20379;&#19968;&#20010;&#20351;&#29992; PGP &#30340;&#23454;&#29992;&#25351;&#21335;&#12290;&#22914;&#26524;&#20320;&#27809;&#26377;&#30475;&#36807;&#21069;&#38754;&#30340;&#25991;&#31456;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#19979;&#38754;&#30340;&#38142;&#25509;&#21435;&#26597;&#30475;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#20204;&#23558;&#32487;&#32493;&#35752;&#35770;&#22914;&#20309;&#20445;&#25252;&#20320;&#30340;&#23494;&#38053;&#65292;&#35848;&#19968;&#35848;&#23558;&#20320;&#30340;&#23376;&#23494;&#38053;&#31227;&#21040;&#19968;&#20010;&#19987;&#38376;&#30340;&#30828;&#20214;&#35774;&#22791;&#20013;&#30340;&#19968;&#20123;&#25216;&#24039;&#12290;<a href="https://linux.cn/article-9524-1.html">&#31532;&#19968;&#37096;&#20998;&#65306;&#22522;&#26412;&#27010;&#24565;&#21644;&#24037;&#20855;</a><a href="https://linux.cn/article-9529-1.html">&#31532;&#20108;&#37096;&#20998;&#65306;&#29983;&#25104;&#20320;&#30340;&#20027;&#23494;&#38053;</a><a href="https://linux.cn/article-9607-1.html">&#31532;&#19977;&#37096;&#20998;&#65306;&#29983;&#25104; PGP &#23376;&#23494;&#38053;</a><a href="https://linux.cn/article-10402-1.html">&#31532;&#22235;&#37096;&#20998;&#65306;&#23558;&#20027;&#23494;&#38053;&#31227;&#21040;&#31163;&#32447;&#23384;&#20648;&#20013;</a>&#28165;&#21333;&#21462;&#24471;&#19968;&#20010; GnuPG &#20860;&#23481;&#30340;&#30828;&#20214;&#35774;&#22791;&#65288;&#24517;&#35201;&#65289;&#37197;&#32622; GnuPG &#22312;&#35774;&#22791;&#19978;&#24037;&#20316;&#65288;&#24517;&#35201;&#65289;&#35774;&#32622;&#29992;&#25143;&#21644;&#31649;&#29702;&#21592;&#30340; PIN&#65288;&#24517;&#35201;&#65289;&#31227;&#21160;&#23376;&#23494;&#38053;&#21040;&#35774;&#22791;&#20013;&#65288;&#24517;&#35201;&#65289;&#32771;&#34385;&#20107;&#39033;&#34429;&#28982;&#29616;&#22312;&#20027;&#23494;&#38053;&#24050;&#32463;&#19981;&#29992;&#25285;&#24515;&#27844;&#38706;&#25110;&#22833;&#31363;&#20102;&#65292;&#20294;&#23376;&#23494;&#38053;&#20173;&#28982;&#22312;&#20320;&#30340;&#23478;&#30446;&#24405;&#20013;&#12290;&#20219;&#20309;&#24471;&#21040;&#23427;&#30340;&#20154;&#37117;&#33021;&#22815;&#35299;&#23494;&#20320;&#30340;&#36890;&#35759;&#25110;&#20551;&#20882;&#20320;&#30340;&#31614;&#21517;&#65288;&#22914;&#26524;&#20182;&#20204;&#30693;&#36947;&#23494;&#38053;&#30340;&#23494;&#30721;&#65289;&#12290;&#24182;&#19988;&#65292;&#27599;&#27425;&#25191;&#34892;&#19968;&#20010; GnuPG &#25805;&#20316;&#37117;&#35201;&#23558;&#23494;&#38053;&#21152;&#36733;&#21040;&#25805;&#20316;&#31995;&#32479;&#20869;&#23384;&#20013;&#65292;&#36825;&#23558;&#20351;&#19968;&#20123;&#26356;&#39640;&#32423;&#30340;&#24694;&#24847;&#36719;&#20214;&#26377;&#26426;&#20250;&#24471;&#21040;&#20320;&#30340;&#23494;&#38053;&#65288;&#24819;&#24819; Meltdown &#21644; Spectre&#65289;&#12290;&#23436;&#20840;&#20445;&#25252;&#23494;&#38053;&#30340;&#26368;&#22909;&#26041;&#24335;&#23601;&#26159;&#65292;&#23558;&#23427;&#31227;&#21040;&#19968;&#20010;&#19987;&#38376;&#30340;&#30828;&#20214;&#35774;&#22791;&#20013;&#65292;&#36825;&#31181;&#30828;&#20214;&#35774;&#22791;&#26159;&#19968;&#20010;&#21487;&#25805;&#20316;&#30340;&#26234;&#33021;&#21345;&#12290;&#26234;&#33021;&#21345;&#30340;&#22909;&#22788;&#19968;&#20010;&#26234;&#33021;&#21345;&#21253;&#21547;&#19968;&#20010;&#21152;&#23494;&#33455;&…
让 Linux 终端说出它的想法

eSpeak 是一个可在 Linux 命令行中使用的开源的 TTS 合成器。Media

via https://linux.cn/article-10416-1.html
&#35753; Linux &#32456;&#31471;&#35828;&#20986;&#23427;&#30340;&#24819;&#27861;

eSpeak &#26159;&#19968;&#20010;&#21487;&#22312; Linux &#21629;&#20196;&#34892;&#20013;&#20351;&#29992;&#30340;&#24320;&#28304;&#30340; TTS &#21512;&#25104;&#22120;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/05/154129z41mh4s61bf6q0bt.png">Media</a>&#27426;&#36814;&#22238;&#21040;&#12298;24 &#22825;&#20171;&#32461; Linux &#21629;&#20196;&#34892;&#23567;&#29609;&#20855;&#12299;&#12290;&#22914;&#26524;&#36825;&#26159;&#20320;&#39318;&#27425;&#38405;&#35835;&#26412;&#31995;&#21015;&#25991;&#31456;&#65292;&#20320;&#21487;&#33021;&#19981;&#30693;&#36947;&#20160;&#20040;&#26159; Linux &#21629;&#20196;&#34892;&#23567;&#29609;&#20855;&#12290;&#26080;&#38656;&#25285;&#24515;&#65292;&#20320;&#21482;&#38656;&#35201;&#36793;&#30475;&#36793;&#20307;&#20250;&#12290;&#36890;&#24120;&#26469;&#35828;&#65292;&#23427;&#26377;&#21487;&#33021;&#26159;&#28216;&#25103;&#25110;&#20854;&#23427;&#33021;&#35753;&#20320;&#22312;&#32456;&#31471;&#20013;&#23089;&#20048;&#30340;&#23567;&#31243;&#24207;&#12290;&#25110;&#35768;&#20320;&#24050;&#32463;&#23545;&#19968;&#20123;&#29609;&#20855;&#26377;&#20102;&#35299;&#20102;&#65292;&#19981;&#36807;&#25105;&#20204;&#30456;&#20449;&#65292;&#22312;&#26412;&#31995;&#21015;&#25991;&#31456;&#20013;&#24635;&#26377;&#37027;&#20040;&#20960;&#20010;&#20320;&#27809;&#35265;&#36807;&#30340;&#29609;&#24847;&#12290;&#24180;&#36731;&#35835;&#32773;&#21487;&#33021;&#19981;&#30693;&#36947;&#65292;&#22312; Alexa&#12289;Siri &#25110; Google Assistant &#38382;&#19990;&#20043;&#21069;&#65292;&#35745;&#31639;&#26426;&#23601;&#33021;&#35828;&#35805;&#20102;&#12290;&#25105;&#20204;&#20063;&#35768;&#27704;&#36828;&#19981;&#20250;&#24536;&#35760;&#26469;&#33258; <a href="https://en.wikipedia.org/wiki/2001:_A_Space_Odyssey_(film)">2001 &#22826;&#31354;&#28459;&#28216;</a> &#20013;&#19982;&#26426;&#32452;&#20154;&#21592;&#20132;&#27969;&#30340; HAL 9000&#12290;&#20294;&#26159;&#22312; 1960 &#24180;&#20195;&#21040;&#20170;&#22825;&#30340;&#26102;&#38388;&#37324;&#65292;&#26159;&#23384;&#22312;&#30528;&#35768;&#22810;&#33021;&#35828;&#35805;&#30340;&#35745;&#31639;&#26426;&#30340;&#12290;&#23427;&#20204;&#26377;&#20123;&#24456;&#20986;&#33394;&#65292;&#20063;&#26377;&#20123;&#19981;&#37027;&#20040;&#20986;&#33394;&#12290;&#20854;&#20013;&#19968;&#20010;&#25105;&#26368;&#29233;&#30340;&#26159;&#19968;&#20010;&#21483;&#20570; <a href="http://espeak.sourceforge.net/">eSpeak</a> &#30340;&#24320;&#28304;&#39033;&#30446;&#12290;&#23427;&#20197;&#22810;&#31181;&#24418;&#24335;&#21457;&#24067;&#65292;&#27604;&#22914;&#21487;&#20197;&#23884;&#20837;&#20320;&#33258;&#24049;&#39033;&#30446;&#20013;&#30340;&#24211;&#12290;&#19982;&#27492;&#21516;&#26102;&#65292;&#23427;&#20063;&#25552;&#20379;&#20102;&#21487;&#20379;&#20320;&#23433;&#35013;&#30340;&#21629;&#20196;&#34892;&#29256;&#26412;&#12290;&#22312;&#25105;&#25152;&#29992;&#30340;&#21457;&#34892;&#29256;&#20013;&#65292;&#23433;&#35013;&#21313;&#20998;&#31616;&#21333;&#65292;&#21482;&#38656;&#20351;&#29992;&#65306;<pre class="prettyprint linenums">$ sudo dnf install espeak</pre>&#20320;&#26082;&#21487;&#20197;&#19982; eSpeak &#20132;&#20114;&#65292;&#20063;&#21487;&#20197;&#29992;&#23427;&#26469;&#36755;&#20986;&#20854;&#23427;&#31243;&#24207;&#30340;&#20449;&#24687;&#65292;&#29978;&#33267;&#36890;&#36807;&#31616;&#21333;&#30340; echo &#21629;&#20196;&#26469;&#20351;&#29992;&#23427;&#12290;<a href="http://espeak.sourceforge.net/voices.html">&#36825;&#37324;</a> &#26377;&#19968;&#20123;&#21487;&#20379; eSpeak &#20351;&#29992;&#30340;&#22768;&#38899;&#25991;&#20214;&#65292;&#20320;&#21487;&#20197;&#22312;&#26080;&#32842;&#26102;&#20999;&#25442;&#20182;&#20204;&#12290;&#29978;&#32773;&#20320;&#21487;&#20197;&#21046;&#20316;&#19968;&#20010;&#23646;&#20110;&#20320;&#33258;&#24049;&#30340;&#22768;&#38899;&#12290;&#22312; 2015 &#24180;&#65292;&#19968;&#20123;&#24076;&#26395;&#32487;&#32493; eSpeak &#2…
如何用 Gonimo 创建一个免费的婴儿监视系统

当你可以用两个设备、浏览器和网络连接就能免费搭建一个婴儿监视器时,谁还会花钱去买呢?Media

via https://linux.cn/article-10417-1.html
&#22914;&#20309;&#29992; Gonimo &#21019;&#24314;&#19968;&#20010;&#20813;&#36153;&#30340;&#23156;&#20799;&#30417;&#35270;&#31995;&#32479;

&#24403;&#20320;&#21487;&#20197;&#29992;&#20004;&#20010;&#35774;&#22791;&#12289;&#27983;&#35272;&#22120;&#21644;&#32593;&#32476;&#36830;&#25509;&#23601;&#33021;&#20813;&#36153;&#25645;&#24314;&#19968;&#20010;&#23156;&#20799;&#30417;&#35270;&#22120;&#26102;&#65292;&#35841;&#36824;&#20250;&#33457;&#38065;&#21435;&#20080;&#21602;&#65311;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/05/203201zgxa7o1glvleu1qq.png">Media</a>&#26032;&#29238;&#27597;&#21644;&#20934;&#29238;&#27597;&#24456;&#24555;&#23601;&#20250;&#30693;&#36947;&#23558;&#20250;&#26377;&#19968;&#20010;&#26082;&#38271;&#19988;&#26114;&#36149;&#30340;&#26032;&#29983;&#20799;&#25152;&#38656;&#35774;&#22791;&#30340;&#28165;&#21333;&#65292;&#28165;&#21333;&#20013;&#30340;&#39318;&#20301;&#26159;&#19968;&#20010;&#23156;&#20799;&#30417;&#35270;&#22120;&#65292;&#20511;&#27492;&#20182;&#20204;&#21487;&#20197;&#22312;&#20570;&#20854;&#20182;&#20107;&#24773;&#26102;&#29031;&#30475;&#33258;&#24049;&#30340;&#23156;&#20799;&#65292;&#20294;&#36825;&#20799;&#26377;&#19968;&#20214;&#19981;&#24517;&#28040;&#32791;&#20320;&#30340;&#23156;&#20799;&#32463;&#36153;&#30340;&#35774;&#22791;&#65292;Gonimo &#26159;&#19968;&#20010;&#21487;&#20197;&#23558;&#29616;&#26377;&#30340;&#35774;&#22791;&#36716;&#25442;&#25104;&#23156;&#20799;&#30417;&#25511;&#31995;&#32479;&#30340;&#33258;&#30001;&#24320;&#28304;&#35299;&#20915;&#26041;&#26696;&#65292;&#38468;&#36817;&#22823;&#22411;&#23156;&#20799;&#29992;&#21697;&#21830;&#24215;&#30340;&#36807;&#36947;&#20013;&#26377;&#25968;&#20197;&#21315;&#35745;&#30340;&#20854;&#20182;&#24517;&#22791;&#25110;&#26102;&#23578;&#29289;&#21697;&#65292;&#23601;&#21487;&#20197;&#20026;&#20854;&#20013;&#26576;&#19968;&#20010;&#33150;&#20986;&#19968;&#20123;&#23156;&#20799;&#30340;&#39044;&#31639;&#12290;Gonimo &#35806;&#29983;&#26102;&#65292;&#23427;&#30340;&#24320;&#21457;&#32773;&#65292;&#19968;&#20010;&#26377;&#21452;&#32990;&#32974;&#30340;&#24320;&#28304;&#31881;&#19997;&#65292;&#21457;&#29616;&#29616;&#26377;&#36873;&#25321;&#23384;&#22312;&#38382;&#39064;&#65306;&#29616;&#26377;&#30828;&#20214;&#23156;&#20799;&#30417;&#35270;&#22120;&#20215;&#26684;&#26114;&#36149;&#65292;&#20351;&#29992;&#33539;&#22260;&#26377;&#38480;&#65292;&#38656;&#35201;&#24744;&#24102;&#30528;&#39069;&#22806;&#30340;&#35774;&#22791;&#12290;&#34429;&#28982;&#26377;&#31227;&#21160;&#30417;&#25511;&#24212;&#29992;&#31243;&#24207;&#65292;&#20294;&#22823;&#22810;&#25968;&#29616;&#26377;&#30340; iOS / Android &#23156;&#20799;&#30417;&#25511;&#24212;&#29992;&#31243;&#24207;&#37117;&#19981;&#21487;&#38752;&#19988;&#19981;&#23433;&#20840;&#65292;&#19981;&#22826;&#23481;&#26131;&#25214;&#21040;&#24320;&#28304;&#20135;&#21697;&#12290;&#22914;&#26524;&#24744;&#26377;&#20004;&#20010;&#23567;&#23401;&#65288;&#20363;&#22914;&#21452;&#32990;&#32974;&#65289;&#65292;&#24744;&#23558;&#38656;&#35201;&#20004;&#21488;&#30417;&#35270;&#22120;&#65292;&#20351;&#24744;&#30340;&#25104;&#26412;&#32763;&#20493;&#12290;Gonimo &#26159;&#20316;&#20026;&#19968;&#20010;&#35299;&#20915;&#20856;&#22411;&#30340;&#30417;&#35270;&#22120;&#30340;&#32570;&#28857;&#30340;&#24320;&#28304;&#35299;&#20915;&#26041;&#26696;&#32780;&#21019;&#24314;&#30340;&#65306;&#26114;&#36149;&#65311;&#19981;&#65292;&#23427;&#26159;&#20813;&#36153;&#30340;&#65281;&#20351;&#29992;&#33539;&#22260;&#26377;&#38480;&#65311;&#19981;&#65292;&#23427;&#36866;&#29992;&#20110;&#20114;&#32852;&#32593; / WiFi&#65292;&#26080;&#35770;&#24744;&#36523;&#22312;&#20309;&#22788;&#12290;&#19979;&#36733;&#24182;&#23433;&#35013;&#24212;&#29992;&#31243;&#24207;&#65311;&#22114;&#19981;&#65292;&#23427;&#36866;&#29992;&#20110;&#24744;&#29616;&#26377;&#30340;&#32593;&#32476;&#27983;&#35272;&#22120;&#12290;&#36141;&#20080;&#26032;&#35774;&#22791;&#65311;&#19981;&#29992;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#20219;&#…
在 Linux 上使用 tarball

Tarball 提供了一种在 Linux 系统上备份和管理一组文件的通用方法。请按照以下提示了解如何创建它们,以及从中提取和删除单个文件。Media

via https://linux.cn/article-10418-1.html
&#22312; Linux &#19978;&#20351;&#29992; tarball

Tarball &#25552;&#20379;&#20102;&#19968;&#31181;&#22312; Linux &#31995;&#32479;&#19978;&#22791;&#20221;&#21644;&#31649;&#29702;&#19968;&#32452;&#25991;&#20214;&#30340;&#36890;&#29992;&#26041;&#27861;&#12290;&#35831;&#25353;&#29031;&#20197;&#19979;&#25552;&#31034;&#20102;&#35299;&#22914;&#20309;&#21019;&#24314;&#23427;&#20204;&#65292;&#20197;&#21450;&#20174;&#20013;&#25552;&#21462;&#21644;&#21024;&#38500;&#21333;&#20010;&#25991;&#20214;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/05/215151s2zqe3qzcd43f3ls.jpg">Media</a>“tarball” &#65288;LCTT &#35793;&#27880;&#65306;&#22269;&#20869;&#20063;&#24120;&#31216;&#20026;“tar &#21253;”&#65289;&#19968;&#35789;&#36890;&#24120;&#29992;&#20110;&#25551;&#36848;&#22791;&#20221;&#19968;&#32452;&#36873;&#25321;&#30340;&#25991;&#20214;&#24182;&#23558;&#23427;&#20204;&#25171;&#21253;&#22312;&#19968;&#20010;&#25991;&#20214;&#20013;&#30340;&#19968;&#31181;&#25991;&#20214;&#26684;&#24335;&#12290;&#35813;&#21517;&#31216;&#26469;&#33258; .tar &#25991;&#20214;&#25193;&#23637;&#21517;&#21644; tar &#21629;&#20196;&#65292;&#23427;&#29992;&#20110;&#23558;&#25991;&#20214;&#25171;&#21253;&#21040;&#19968;&#20010;&#25991;&#20214;&#20013;&#65292;&#26377;&#26102;&#36824;&#20250;&#21387;&#32553;&#35813;&#25991;&#20214;&#65292;&#20351;&#20854;&#22312;&#31227;&#21160;&#21040;&#20854;&#23427;&#31995;&#32479;&#26102;&#26356;&#23567;&#12290;tarball &#36890;&#24120;&#29992;&#20110;&#22791;&#20221;&#20010;&#20154;&#25110;&#31995;&#32479;&#25991;&#20214;&#26469;&#21019;&#24314;&#23384;&#26723;&#65292;&#29305;&#21035;&#26159;&#22312;&#36827;&#34892;&#21487;&#33021;&#38656;&#35201;&#25764;&#28040;&#30340;&#26356;&#25913;&#20043;&#21069;&#12290;&#20363;&#22914;&#65292;Linux &#31995;&#32479;&#31649;&#29702;&#21592;&#36890;&#24120;&#20250;&#22312;&#26356;&#25913;&#24212;&#29992;&#20043;&#21069;&#21019;&#24314;&#21253;&#21547;&#19968;&#31995;&#21015;&#37197;&#32622;&#25991;&#20214;&#30340; tarball&#65292;&#20197;&#38450;&#24517;&#39035;&#25764;&#28040;&#36825;&#20123;&#26356;&#25913;&#12290;&#20174; tarball &#20013;&#35299;&#21387;&#25991;&#20214;&#36890;&#24120;&#27604;&#22312;&#22791;&#20221;&#20013;&#25628;&#32034;&#25991;&#20214;&#24555;&#12290;&#22914;&#20309;&#22312; Linux &#19978;&#21019;&#24314; tarball&#20351;&#29992;&#22914;&#19979;&#21629;&#20196;&#65292;&#20320;&#21487;&#20197;&#22312;&#21333;&#26465;&#21629;&#20196;&#20013;&#21019;&#24314; tarball &#24182;&#21387;&#32553;&#23427;&#12290;<pre class="prettyprint linenums">$ tar -cvzf PDFs.tar.gz *.pdf</pre>&#20854;&#32467;&#26524;&#26159;&#19968;&#20010;&#21387;&#32553;&#25991;&#20214;&#65288;gzip &#21387;&#32553;&#30340;&#65289;&#65292;&#20854;&#20013;&#21253;&#21547;&#20102;&#24403;&#21069;&#30446;&#24405;&#20013;&#30340;&#25152;&#26377; PDF &#25991;&#20214;&#12290;&#24403;&#28982;&#65292;&#21387;&#32553;&#26159;&#21487;&#36873;&#30340;&#12290;&#19968;&#20010;&#31245;&#24494;&#31616;&#21333;&#30340;&#21482;&#26159;&#23558; PDF &#25991;&#20214;&#25171;&#21253;&#25104;&#26410;&#21387;&#32553; tarball &#30340;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">$ tar -cvf PDFs.tar *.pdf</pre>&#27880;&#24847;&#65292;&#36873;&#39033;&#20013;&#30340; z &#23558;&#25991;&#20214;&#21464;&#25104;&#21387;&#32553;&#30340;&#12290; c &#34920;&#26126;&#21019;&#24314;&#25991;&#20214;&#65292;v&#65288;&#35814;&#32454;&#65289;&#34920;&#31034;&#20320;&#22312;&#21629;&#20196;&#36816;&#34892;&#26102;&#38656;&#35201;&#19968;&#20123;&#21453;&#39304;&#12290;&#22914;&#26524;&#20320;&#19981;&#24819;&#26597;&#30475;&#21015;&#20986;&#30340;&#25991;&#20214;&#65292;&#35831;&#24573;&#30053; v&#12290;&#21478;&#19968;&#20010;&#24120;&#35265;&#30340;&#21629;&#21517;&#32422;&#23450;&#26159;&#32473;&#21387;&#32553;&#30340; tarball &#21629;&#21517;&#25104; .tgz &#32780;&#19981;&#26159;&#21452;&#25193;&#23637;&#21517; .tar.gz&#65292;&#22914;&#19979;&#25152;&#31034;&#65306;<pre class="prettyprint linenums">$ tar cvzf MyPDFs.tgz…
如何成为一名懒惰的系统管理员

我们是聪明地工作,而不是刻苦工作,但仍能把工作做好。Media

via https://linux.cn/article-10419-1.html
&#22914;&#20309;&#25104;&#20026;&#19968;&#21517;&#25042;&#24816;&#30340;&#31995;&#32479;&#31649;&#29702;&#21592;

&#25105;&#20204;&#26159;&#32874;&#26126;&#22320;&#24037;&#20316;&#65292;&#32780;&#19981;&#26159;&#21051;&#33510;&#24037;&#20316;&#65292;&#20294;&#20173;&#33021;&#25226;&#24037;&#20316;&#20570;&#22909;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/06/225109ycdfdggifxcdg43w.png">Media</a>Linux &#30340;&#31995;&#32479;&#31649;&#29702;&#21592;&#30340;&#24037;&#20316;&#24635;&#26159;&#22797;&#26434;&#30340;&#65292;&#24182;&#19988;&#24635;&#26159;&#20276;&#38543;&#30528;&#21508;&#31181;&#38519;&#38449;&#21644;&#38556;&#30861;&#12290;&#20570;&#27599;&#20214;&#20107;&#37117;&#27809;&#26377;&#36275;&#22815;&#26102;&#38388;&#65292;&#24403;&#20320;&#24819;&#23436;&#25104;&#37027;&#20010;&#21322;&#31171;&#22836;&#32769;&#26495;&#65288;PHB&#65289;&#32473;&#30340;&#20219;&#21153;&#26102;&#65292;&#20182;&#65288;&#21482;&#20250;&#65289;&#19981;&#20572;&#22312;&#20320;&#30340;&#21518;&#38754;&#30447;&#30528;&#65292;&#32780;&#26368;&#26680;&#24515;&#30340;&#26381;&#21153;&#22120;&#24635;&#26159;&#22312;&#26368;&#19981;&#21512;&#26102;&#23452;&#30340;&#26102;&#38388;&#28857;&#23849;&#28291;&#65292;&#38382;&#39064;&#21644;&#25361;&#25112;&#27604;&#27604;&#30342;&#26159;&#12290;&#32780;&#25105;&#21457;&#29616;&#65292;&#25104;&#20026;&#19968;&#21517;&#25042;&#24816;&#30340;&#31995;&#32479;&#31649;&#29702;&#21592;Lazy SysAdmin&#21487;&#20197;&#35299;&#20915;&#36825;&#19968;&#22256;&#22659;&#12290;&#65288;LCTT &#35793;&#27880;&#65306;<a href="https://en.wikipedia.org/wiki/Pointy-haired_Boss">&#21322;&#31171;&#22836;&#32769;&#26495;</a>Pointy-Haired Boss&#65288;PHB&#65289;&#65292;&#37027;&#26159;<a href="https://zh.wikipedia.org/wiki/%E5%91%86%E4%BC%AF%E7%89%B9">&#21574;&#20271;&#29305;&#28459;&#30011;</a>&#20013;&#30340;&#35282;&#33394;&#65292;&#32570;&#20047;&#19968;&#33324;&#30693;&#35782;&#24120;&#35782;&#21450;&#20854;&#32844;&#20301;&#25152;&#24212;&#20855;&#26377;&#30340;&#31649;&#29702;&#33021;&#21147;&#65292;&#29233;&#35828;&#22823;&#35805;&#19988;&#23500;&#26377;&#21521;&#29289;&#29702;&#26174;&#31034;&#25361;&#25112;&#30340;&#31934;&#31070;&#65292;&#22823;&#27010;&#38271;&#25104;&#19979;&#22270;&#36825;&#26679;&#12290;&#65289;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/06/225349yeenfejjjmvveoyo.jpeg">Media</a>&#25105;&#22312;&#21363;&#23558;&#22312; Apress &#20986;&#29256;&#30340;&#26032;&#20070; &#12298;The Linux Philosophy for SysAdmins&#12299;&#65288;LCTT &#35793;&#27880;&#65306;&#26242;&#35793;&#12298;&#31995;&#32479;&#31649;&#29702;&#21592;&#30340; Linux &#21746;&#23398;&#12299;&#65289;&#20013;&#26356;&#35814;&#32454;&#22320;&#35752;&#35770;&#22914;&#20309;&#25104;&#20026;&#19968;&#20010;&#25042;&#24816;&#30340;&#31995;&#32479;&#31649;&#29702;&#21592;&#65292;&#37027;&#20070;&#39044;&#35745;&#20250;&#22312; 9 &#26376;&#20986;&#29256;&#65288;LCTT &#35793;&#27880;&#65306;&#24050;&#20110; 2018 &#24180; 8 &#26376;&#20986;&#29256;&#65289;&#12290;&#36825;&#26412;&#30340;&#37096;&#20998;&#20869;&#23481;&#25688;&#24405;&#33258;&#35813;&#20070;&#65292;&#29305;&#21035;&#26159;&#31532;&#20061;&#31456;&#65292;“&#25104;&#20026;&#19968;&#21517;&#25042;&#24816;&#30340;&#31995;&#32479;&#31649;&#29702;&#21592;”&#12290;&#22312;&#25105;&#20204;&#35752;&#35770;&#22914;&#20309;&#20570;&#21040;&#36825;&#28857;&#21069;&#65292;&#35753;&#25105;&#20204;&#31616;&#21333;&#20102;&#35299;&#19968;&#19979;&#25104;&#20026;&#19968;&#20010;&#21517;&#25042;&#24816;&#30340;&#31995;&#32479;&#31649;&#29702;&#21592;&#24847;&#21619;&#30528;&#20160;&#20040;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/06/225110t47tw44ibvvmvcuu.jpg">Media</a>&#30495;&#23454;&#29983;&#20135;&#21147; vs. &#34394;&#20551;&#29983;&#20135;&#21147;&#34394;&#20551;&#29983;&#20135;&#21147;&#22312;&#25105;&#24037;&#20316;&#30340;&#22320;&#26041;&#65292;&#21322;&#31171;&#22836;&#32769;&#26495;&#30456;&#20449;&#30340;&#31…
COPR 仓库中 4 个很酷的新软件(2018.12)

COPR 是软件的个人存储库的集合,它包含那些不在标准的 Fedora 仓库中的软件。Media

via https://linux.cn/article-10420-1.html
COPR &#20179;&#24211;&#20013; 4 &#20010;&#24456;&#37239;&#30340;&#26032;&#36719;&#20214;&#65288;2018.12&#65289;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/06/232251f997n99953z98z8y.jpg">Media</a>COPR &#26159;&#36719;&#20214;&#30340;&#20010;&#20154;&#23384;&#20648;&#24211;&#30340;<a href="https://copr.fedorainfracloud.org/">&#38598;&#21512;</a>&#65292;&#23427;&#21253;&#21547;&#37027;&#20123;&#19981;&#22312;&#26631;&#20934;&#30340; Fedora &#20179;&#24211;&#20013;&#30340;&#36719;&#20214;&#12290;&#26576;&#20123;&#36719;&#20214;&#19981;&#31526;&#21512;&#20801;&#35768;&#36731;&#26494;&#25171;&#21253;&#30340;&#26631;&#20934;&#12290;&#25110;&#32773;&#23427;&#21487;&#33021;&#19981;&#31526;&#21512;&#20854;&#20182; Fedora &#26631;&#20934;&#65292;&#23613;&#31649;&#23427;&#26159;&#33258;&#30001;&#24320;&#28304;&#30340;&#12290;COPR &#21487;&#20197;&#22312;&#26631;&#20934;&#30340; Fedora &#21253;&#20043;&#22806;&#25552;&#20379;&#36825;&#20123;&#39033;&#30446;&#12290;COPR &#20013;&#30340;&#36719;&#20214;&#19981;&#21463; Fedora &#22522;&#30784;&#35774;&#26045;&#30340;&#25903;&#25345;&#65292;&#25110;&#32773;&#26159;&#30001;&#39033;&#30446;&#33258;&#24049;&#32972;&#20070;&#30340;&#12290;&#20294;&#26159;&#65292;&#23427;&#26159;&#23581;&#35797;&#26032;&#30340;&#25110;&#23454;&#39564;&#24615;&#36719;&#20214;&#30340;&#19968;&#31181;&#24456;&#22909;&#30340;&#26041;&#27861;&#12290;&#36825;&#26159; COPR &#20013;&#19968;&#32452;&#26032;&#30340;&#26377;&#36259;&#39033;&#30446;&#12290;MindForger<a href="https://www.mindforger.com/">MindForger</a> &#26159;&#19968;&#20010; Markdown &#32534;&#36753;&#22120;&#21644;&#31508;&#35760;&#26412;&#12290;&#38500;&#20102;&#20320;&#39044;&#26399;&#30340; Markdown &#32534;&#36753;&#22120;&#30340;&#21151;&#33021;&#20043;&#22806;&#65292;MindForger &#36824;&#20801;&#35768;&#20320;&#23558;&#21333;&#20010;&#25991;&#20214;&#25286;&#20998;&#20026;&#22810;&#20010;&#31508;&#35760;&#12290;&#32452;&#32455;&#31508;&#35760;&#24182;&#22312;&#25991;&#20214;&#20043;&#38388;&#31227;&#21160;&#12289;&#25628;&#32034;&#23427;&#20204;&#37117;&#24456;&#23481;&#26131;&#12290;&#25105;&#24050;&#32463;&#20351;&#29992; MindForger &#19968;&#27573;&#26102;&#38388;&#26469;&#35760;&#24405;&#23398;&#20064;&#31508;&#35760;&#20102;&#65292;&#29616;&#22312;&#21487;&#20197;&#22312; COPR &#20013;&#25214;&#21040;&#23427;&#21862;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/06/232251po8j8d4b14ozf8fg.png">Media</a>&#23433;&#35013;&#35828;&#26126;&#35813;&#20179;&#24211;&#30446;&#21069;&#22312; Fedora 29 &#21644; Rawhide &#20013;&#25552;&#20379; MindForger&#12290;&#35201;&#23433;&#35013; MindForger&#65292;&#35831;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">sudo dnf copr enable deadmozay/mindforgersudo dnf install mindforger</pre>Clingo<a href="https://potassco.org/clingo/">Clingo</a> &#26159;&#20351;&#29992;<a href="https://en.wikipedia.org/wiki/Answer_set_programming">&#22238;&#31572;&#38598;&#32534;&#31243;</a>&#65288;ASP&#65289;&#24314;&#27169;&#35821;&#35328;&#35299;&#20915;&#36923;&#36753;&#38382;&#39064;&#30340;&#31243;&#24207;&#12290;&#20351;&#29992; ASP&#65292;&#20320;&#21487;&#20197;&#23558;&#38382;&#39064;&#22768;&#26126;&#20026;&#19968;&#20010;&#36923;&#36753;&#31243;&#24207;&#65292;&#28982;&#21518; Clingo &#26469;&#35299;&#20915;&#12290;&#26368;&#21518;&#65292;Clingo &#20197;&#36923;&#36753;&#27169;&#22411;&#30340;&#24418;&#24335;&#20135;&#29983;&#38382;&#39064;&#30340;&#35299;&#20915;&#26041;&#26696;&#65292;&#31216;&#20026;&#22238;&#31572;&#38598;&#12290;&#23433;&#35013;&#35828;&#26126;&#35813;&#20179;&#24211;&#30446;&#21069;&#20026; Fedora 28 &#21644; 29 &#25552;&#20379; Clingo&#12290;&#35201;&#23433;&#35013; Clingo&#65292;&#35831;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">sudo dnf copr enable timn/clingosudo dnf install clingo</pre>SGVrecord<a href="https://github.com/yucefsourani/sgvrecord">SGVrecord</a> &…
保护代码完整性(六):在 Git 上使用 PGP

我们继续我们的 PGP 实践系列,来看看签名标签的标签和提交,这可以帮你确保你的仓库没有被篡改。Media

via https://linux.cn/article-10421-1.html
&#20445;&#25252;&#20195;&#30721;&#23436;&#25972;&#24615;&#65288;&#20845;&#65289;&#65306;&#22312; Git &#19978;&#20351;&#29992; PGP

&#25105;&#20204;&#32487;&#32493;&#25105;&#20204;&#30340; PGP &#23454;&#36341;&#31995;&#21015;&#65292;&#26469;&#30475;&#30475;&#31614;&#21517;&#26631;&#31614;&#30340;&#26631;&#31614;&#21644;&#25552;&#20132;&#65292;&#36825;&#21487;&#20197;&#24110;&#20320;&#30830;&#20445;&#20320;&#30340;&#20179;&#24211;&#27809;&#26377;&#34987;&#31713;&#25913;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/07/000946kbvjmw5aj6q38qr8.jpg">Media</a>&#22312;&#26412;&#31995;&#21015;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#25552;&#20379;&#20102;&#19968;&#20010;&#20351;&#29992; PGP &#30340;&#23454;&#29992;&#25351;&#21335;&#65292;&#21253;&#25324;&#22522;&#26412;&#27010;&#24565;&#21644;&#24037;&#20855;&#12289;&#29983;&#25104;&#21644;&#20445;&#25252;&#20320;&#30340;&#23494;&#38053;&#12290;&#22914;&#26524;&#20320;&#38169;&#36807;&#20102;&#21069;&#38754;&#30340;&#25991;&#31456;&#65292;&#20320;&#21487;&#20197;&#26597;&#30475;&#19979;&#38754;&#30340;&#38142;&#25509;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#20204;&#35848;&#19968;&#35848;&#22312; Git &#20013;&#22914;&#20309;&#38598;&#25104; PGP&#12289;&#20351;&#29992;&#31614;&#21517;&#30340;&#26631;&#31614;&#65292;&#28982;&#21518;&#20171;&#32461;&#31614;&#21517;&#25552;&#20132;&#65292;&#26368;&#21518;&#28155;&#21152;&#31614;&#21517;&#25512;&#36865;&#30340;&#25903;&#25345;&#12290;<a href="https://linux.cn/article-9524-1.html">&#31532;&#19968;&#37096;&#20998;&#65306;&#22522;&#26412;&#27010;&#24565;&#21644;&#24037;&#20855;</a><a href="https://linux.cn/article-9529-1.html">&#31532;&#20108;&#37096;&#20998;&#65306;&#29983;&#25104;&#20320;&#30340;&#20027;&#23494;&#38053;</a><a href="https://linux.cn/article-9607-1.html">&#31532;&#19977;&#37096;&#20998;&#65306;&#29983;&#25104; PGP &#23376;&#23494;&#38053;</a><a href="https://linux.cn/article-10402-1.html">&#31532;&#22235;&#37096;&#20998;&#65306;&#23558;&#20027;&#23494;&#38053;&#31227;&#21040;&#31163;&#32447;&#23384;&#20648;&#20013;</a><a href="https://linux.cn/article-10415-1.html">&#31532;&#20116;&#37096;&#20998;&#65306;&#23558;&#23376;&#23494;&#38053;&#31227;&#21040;&#30828;&#20214;&#35774;&#22791;&#20013;</a>Git &#30340;&#26680;&#24515;&#29305;&#24615;&#20043;&#19968;&#23601;&#26159;&#23427;&#30340;&#21435;&#20013;&#24515;&#21270;&#26412;&#36136; —— &#19968;&#26086;&#20179;&#24211;&#20811;&#38534;&#21040;&#20320;&#30340;&#26412;&#22320;&#31995;&#32479;&#65292;&#20320;&#23601;&#25317;&#26377;&#20102;&#39033;&#30446;&#30340;&#23436;&#25972;&#21382;&#21490;&#65292;&#21253;&#25324;&#25152;&#26377;&#30340;&#26631;&#31614;&#12289;&#25552;&#20132;&#21644;&#20998;&#25903;&#12290;&#28982;&#32780;&#30001;&#20110;&#23384;&#22312;&#30528;&#25104;&#30334;&#19978;&#21315;&#30340;&#20811;&#38534;&#20179;&#24211;&#65292;&#22914;&#20309;&#25165;&#33021;&#39564;&#35777;&#20320;&#19979;&#36733;&#30340;&#20179;&#24211;&#27809;&#26377;&#34987;&#24694;&#24847;&#30340;&#31532;&#19977;&#26041;&#20570;&#36807;&#31713;&#25913;&#65311;&#20320;&#21487;&#20197;&#20174; GitHub &#25110;&#19968;&#20123;&#35980;&#20284;&#23448;&#26041;&#30340;&#20301;&#32622;&#26469;&#20811;&#38534;&#23427;&#20204;&#65292;&#20294;&#26159;&#22914;&#26524;&#26377;&#20123;&#20154;&#25925;&#24847;&#27450;&#39575;&#20102;&#20320;&#24590;&#20040;&#21150;&#65311;&#25110;&#32773;&#22312;&#20320;&#21442;&#19982;&#30340;&#19968;&#20123;&#39033;&#30446;&#19978;&#21457;&#29616;&#20102;&#21518;&#38376;&#65292;&#32780; “Author” &#34892;&#26174;&#31034;&#26159;&#20320;&#24178;&#30340;&#65292;&#28982;&#32780;&#20320;&#24456;&#30830;&#23450; <a href="https://github.com/jayphelps/git-blame-someone-else">&#19981;&#26159;&#20320;&#24178;&#30340;</a>&#65292;&#20250;&#21457;&#29983;&#20160;&#20040;&#24773;&#20917;&#65311;&#20026;&#35299;&#20915;&#19978;&#36848;&#38382;&#39064;&#65292;Git &#28155;&#21152;&#20102; PGP &#38598;&#25104;&#12290;&#316…
10 个供管理员救急的杀手级工具

可以让你赶快离开办公室的网络管理技巧和工具。Media

via https://linux.cn/article-10422-1.html
10 &#20010;&#20379;&#31649;&#29702;&#21592;&#25937;&#24613;&#30340;&#26432;&#25163;&#32423;&#24037;&#20855;

&#21487;&#20197;&#35753;&#20320;&#36214;&#24555;&#31163;&#24320;&#21150;&#20844;&#23460;&#30340;&#32593;&#32476;&#31649;&#29702;&#25216;&#24039;&#21644;&#24037;&#20855;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/07/222713gl2xjjr2qz6rij29.png">Media</a>&#24403;&#24037;&#20316;&#20219;&#21153;&#22534;&#31215;&#25104;&#23665;&#26102;&#65292;&#31649;&#29702;&#32593;&#32476;&#21644;&#31995;&#32479;&#23601;&#21464;&#24471;&#21313;&#20998;&#26377;&#21387;&#21147;&#20102;&#12290;&#27809;&#26377;&#20154;&#33021;&#30495;&#27491;&#24847;&#35782;&#21040;&#38656;&#35201;&#33457;&#36153;&#22810;&#38271;&#26102;&#38388;&#65292;&#27599;&#20010;&#20154;&#37117;&#24076;&#26395;&#22312;&#26152;&#22825;&#23601;&#23436;&#25104;&#20182;&#20204;&#30340;&#24037;&#20316;&#12290;&#25152;&#20197;&#38590;&#24618;&#25105;&#20204;&#36825;&#20040;&#22810;&#20154;&#37117;&#34987;&#33268;&#21147;&#20110;&#25214;&#20986;&#26377;&#25928;&#30340;&#26041;&#27861;&#24182;&#19982;&#22823;&#23478;&#20998;&#20139;&#30340;&#24320;&#28304;&#31934;&#31070;&#25152;&#21560;&#24341;&#12290;&#22240;&#20026;&#65292;&#24403;&#25130;&#27490;&#26085;&#26399;&#26469;&#20020;&#65292;&#24182;&#19988;&#24403;&#22825;&#27809;&#26377;&#36275;&#22815;&#22810;&#30340;&#26102;&#38388;&#26102;&#65292;&#22914;&#26524;&#20320;&#21487;&#20197;&#25214;&#21040;&#31435;&#21051;&#26045;&#34892;&#30340;&#20813;&#36153;&#31572;&#26696;&#65292;&#37027;&#20250;&#38750;&#24120;&#26377;&#24110;&#21161;&#12290;&#22240;&#27492;&#65292;&#38386;&#35805;&#23569;&#21465;&#65292;&#19979;&#36848;&#26159;&#25105;&#30340;&#29790;&#22763;&#20891;&#20992;&#65292;&#21487;&#20197;&#20445;&#35777;&#20320;&#22312;&#26202;&#39277;&#21069;&#31163;&#24320;&#21150;&#20844;&#23460;&#12290;&#26381;&#21153;&#22120;&#37197;&#32622;&#21644;&#33050;&#26412;&#35753;&#25105;&#20204;&#30475;&#19968;&#30475;&#65281;<a href="https://www.cyberciti.biz/">NixCraft</a>&#20351;&#29992;&#35813;&#32593;&#31449;&#30340;&#25628;&#32034;&#21151;&#33021;&#12290;&#32463;&#36807;&#21313;&#22810;&#24180;&#30340;&#23450;&#26399;&#26356;&#26032;&#65292;&#36825;&#37324;&#36941;&#22320;&#26159;&#40644;&#37329;&#65281;&#26377;&#29992;&#30340;&#33050;&#26412;&#21644;&#26041;&#20415;&#30340;&#25216;&#24039;&#21487;&#20197;&#31435;&#21051;&#35299;&#20915;&#20320;&#30340;&#38382;&#39064;&#12290;&#36825;&#26159;&#25105;&#19968;&#33324;&#20351;&#29992; Google &#21518;&#30340;&#31532;&#20108;&#20010;&#36873;&#39033;&#12290;<a href="http://www.webmin.com/">Webmin</a>&#23427;&#25552;&#20379;&#32473;&#20320;&#20102;&#19968;&#20010;&#24456;&#22909;&#30340; Web &#30028;&#38754;&#26469;&#24110;&#21161;&#20320;&#36828;&#31243;&#32534;&#36753;&#37197;&#32622;&#25991;&#20214;&#12290;&#23427;&#20943;&#23569;&#20102;&#22312;&#22788;&#29702;&#30446;&#24405;&#36335;&#24452;&#21644; <code>sudo nano</code> &#19978;&#33457;&#36153;&#30340;&#22823;&#37327;&#26102;&#38388;&#65292;&#22312;&#20320;&#22788;&#29702;&#22810;&#20010;&#23458;&#25143;&#26102;&#65292;&#38750;&#24120;&#26041;&#20415;&#12290;<a href="http://wsl-guide.org/en/latest/">Windows &#19979;&#30340; Linux &#23376;&#31995;&#32479;</a>&#29616;&#20195;&#24037;&#20316;&#22330;&#25152;&#30340;&#29616;&#23454;&#26159;&#22823;&#22810;&#25968;&#21592;&#24037;&#37117;&#36816;&#34892;&#30528; Windows&#65292;&#32780;&#26381;&#21153;&#22120;&#26426;&#25151;&#20013;&#19981;&#26029;&#22686;&#38271;&#30340;&#35774;&#22791;&#21017;&#36816;&#34892;&#30528; Linux &#12290;&#22240;&#27492;&#65292;&#26377;&#20123;&#26102;&#20505;&#20320;&#20250;&#21457;&#29616;&#23581;&#35797;&#22312; Windows &#26700;&#38754;&#19978;&#25191;&#34892;&#31649;&#29702;&#20219;&#21153;&#12290;&#20320;&#24590;&#20040;&#20570;&#65311;&#35013;&#19968;&#20010;&#34394;&#25311;&#26426;&#65311;&#22914;&#26524;&#23433;&#35013;&#30446;&#21069; Windows 10 &#20013;&#20813;&#36153;&#25552;&#20379;&#30340; Linux &#23376;&#31995;&…
YAML:可能并不是那么完美

不要误解我的意思,并不是说 YAML 很糟糕 —— 它肯定不像使用 JSON 那么多的问题 —— 但它也不是非常好。Media

via https://linux.cn/article-10423-1.html
YAML&#65306;&#21487;&#33021;&#24182;&#19981;&#26159;&#37027;&#20040;&#23436;&#32654;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/07/235036g8naktbcmzmnrkpm.jpg">Media</a>&#25105;&#20043;&#21069;&#20889;&#36807;<a href="http://arp242.net/weblog/JSON_as_configuration_files-_please_dont.html">&#20026;&#20160;&#20040;&#23558; JSON &#29992;&#20110;&#20154;&#31867;&#21487;&#32534;&#36753;&#30340;&#37197;&#32622;&#25991;&#20214;&#26159;&#19968;&#20010;&#22351;&#20027;&#24847;</a>&#65292;&#20170;&#22825;&#25105;&#20204;&#23558;&#35752;&#35770; YAML &#26684;&#24335;&#30340;&#19968;&#20123;&#24120;&#35265;&#38382;&#39064;&#12290;&#40664;&#35748;&#24773;&#20917;&#19979;&#19981;&#23433;&#20840;YAML &#40664;&#35748;&#26159;&#19981;&#23433;&#20840;&#30340;&#12290;&#21152;&#36733;&#29992;&#25143;&#25552;&#20379;&#30340;&#65288;&#19981;&#21487;&#20449;&#30340;&#65289;YAML &#23383;&#31526;&#20018;&#38656;&#35201;&#20180;&#32454;&#32771;&#34385;&#12290;<pre class="prettyprint linenums">!!python/object/applyMedias.systemargs: ['ls /']</pre>&#29992; print(yaml.load(open('a.yaml'))) &#36816;&#34892;&#23427;&#65292;&#24212;&#35813;&#32473;&#20320;&#36825;&#26679;&#30340;&#19996;&#35199;&#65306;<pre class="prettyprint linenums">bin etc lib lost+found opt root sbin tmp var sysboot dev efi home lib64 mnt proc run srv usr0</pre>&#35768;&#22810;&#20854;&#20182;&#35821;&#35328;&#65288;&#21253;&#25324; Ruby &#21644; PHP <a href="#fn1">1</a> &#65289;&#40664;&#35748;&#24773;&#20917;&#19979;&#20063;&#19981;&#23433;&#20840;&#65288;LCTT &#35793;&#27880;&#65306;&#36825;&#37324;&#24212;&#35813;&#35828;&#30340;&#26159;&#35299;&#26512; yaml&#65289;&#12290;<a href="https://github.com/search?q=yaml.load&type=Code&utf8=%E2%9C%93">&#22312; GitHub &#19978;&#25628;&#32034; yaml.load</a> &#20250;&#24471;&#21040;&#24778;&#20154;&#30340; 280 &#19975;&#20010;&#32467;&#26524;&#65292;&#32780; <a href="https://github.com/search?q=yaml.safe_load&type=Code&utf8=%E2%9C%93">yaml.safe_load</a> &#21482;&#33021;&#24471;&#21040; 26000 &#20010;&#32467;&#26524;&#12290;&#25552;&#20010;&#37266;&#65292;&#24456;&#22810;&#36825;&#26679;&#30340; yaml.load() &#37117;&#24037;&#20316;&#30340;&#24456;&#22909;&#65292;&#22312;&#37197;&#32622;&#25991;&#20214;&#20013;&#21152;&#36733; yaml.load() &#36890;&#24120;&#27809;&#38382;&#39064;&#65292;&#22240;&#20026;&#23427;&#36890;&#24120;&#65288;&#34429;&#28982;&#24182;&#19981;&#24635;&#26159;&#65281;&#65289;&#26469;&#33258;“&#21487;&#38752;&#28304;”&#65292;&#32780;&#19988;&#24456;&#22810;&#37117;&#26469;&#33258;&#38745;&#24577;&#30340; YAML &#27979;&#35797;&#25991;&#20214;&#12290;&#20294;&#26159;&#65292;&#20154;&#20204;&#36824;&#26159;&#19981;&#31105;&#24576;&#30097;&#22312;&#36825; 280 &#19975;&#20010;&#32467;&#26524;&#20013;&#38544;&#34255;&#20102;&#22810;&#23569;&#28431;&#27934;&#12290;&#36825;&#19981;&#26159;&#19968;&#20010;&#29702;&#35770;&#38382;&#39064;&#12290;&#22312; 2013 &#24180;&#65292;<a href="https://www.sitepoint.com/anatomy-of-an-exploit-an-in-depth-look-at-the-rails-yaml-vulnerability/">&#27491;&#26159;&#30001;&#20110;&#36825;&#20010;&#38382;&#39064;&#65292;&#25152;&#26377;&#30340; Ruby on Rails &#24212;&#29992;&#31243;&#24207;&#37117;&#34987;&#21457;&#29616;&#26131;&#21463;</a>&#36828;&#31243;&#20195;&#30721;&#25191;&#34892;&#25915;&#20987;&#12290;&#26377;&#20154;&#21487;&#33021;&#20250;&#21453;&#39539;&#35828;&#36825;&#19981;&#26159; YAML &#26684;&#24335;&#30340;&#38169;&#35823;&#65292;&#32780;&#26159;&#37027;&#20123;&#24211;&#23454;&#29616;&#38169;&#35823;&#30340;&#30340;&#38382;&#39064;&#65292;&#20294;&#20284;&#20046;&#22823;&#22810;&#25968;&#24211;&#40664;&#35748;&#19981;&#26159;&#23433;&#20840;&#30340;&#65288;&#29305;&#21035;&#26159;&#21160;&#24577;&#35821;&#35328;&#65289;&#65292;&#25152;&#20197;&#20107;&#23454;&#19978;&#36825;&#26159; YAML &#30340;&#19968;&#20010;&#38382;&#39064;&#12290;&#26377;&#20123;&#20154;&#21487;&#33021;&#20250;&#21453;&#39539;&#35748;&#20026;&#20462;&#22797;&#23427;&#23601;&#20687;&#29992;…
极客漫画:当你雇佣了一个错误的架构师

这幅漫画讽刺了一些不懂架构的人,盲目使用复杂的、新的架构来尝试业务,建立了一堆无用的组件,但却不知道该怎么用这些组件完成需求。Media

via https://linux.cn/article-10424-1.html