Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
使用开源同步工具 Syncthing 控制你的数据

决定如何存储和共享您的个人信息。Media

via https://linux.cn/article-10167-1.html
使用开源同步工具 Syncthing 控制你的数据

&#20915;&#23450;&#22914;&#20309;&#23384;&#20648;&#21644;&#20849;&#20139;&#24744;&#30340;&#20010;&#20154;&#20449;&#24687;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/28/221100kbn1vv61a3lt2b13.png">Media</a>&#22914;&#20170;&#65292;&#25105;&#20204;&#30340;&#19968;&#20123;&#26368;&#37325;&#35201;&#30340;&#36130;&#20135; —— &#20174;&#23478;&#20154;&#21644;&#26379;&#21451;&#30340;&#29031;&#29255;&#21644;&#35270;&#39057;&#21040;&#36130;&#21153;&#21644;&#21307;&#30103;&#25991;&#20214; —— &#37117;&#26159;&#25968;&#25454;&#12290;&#21363;&#20415;&#26159;&#20113;&#23384;&#20648;&#26381;&#21153;&#30340;&#36805;&#29467;&#21457;&#23637;&#65292;&#25105;&#20204;&#20173;&#26377;&#23545;&#38544;&#31169;&#21644;&#20010;&#20154;&#25968;&#25454;&#32570;&#20047;&#25511;&#21046;&#30340;&#25285;&#24551;&#12290;&#20174;&#26865;&#38236;&#30417;&#25511;&#35745;&#21010;&#21040;&#35895;&#27468;<a href="https://gizmodo.com/google-says-it-doesnt-go-through-your-inbox-anymore-bu-1827299695">&#35753; APP &#24320;&#21457;&#32773;&#25195;&#25551;&#20320;&#30340;&#20010;&#20154;&#37038;&#20214;</a>&#65292;&#36825;&#20123;&#26032;&#38395;&#30340;&#25253;&#36947;&#24212;&#35813;&#20250;&#35753;&#25105;&#20204;&#23545;&#25105;&#20204;&#20010;&#20154;&#20449;&#24687;&#30340;&#23433;&#20840;&#24615;&#26377;&#25152;&#39038;&#34385;&#12290;<a href="https://syncthing.net/">Syncthing</a> &#21487;&#20197;&#35753;&#20320;&#25918;&#19979;&#24515;&#26469;&#12290;&#23427;&#26159;&#19968;&#27454;&#24320;&#28304;&#30340;&#28857;&#23545;&#28857;&#25991;&#20214;&#21516;&#27493;&#24037;&#20855;&#65292;&#21487;&#20197;&#36816;&#34892;&#22312; Linux&#12289;Windows&#12289;Mac&#12289;Android &#21644;&#20854;&#20182;&#65288;&#25265;&#27465;&#65292;&#27809;&#26377;iOS&#65289;&#12290;Syncthing &#20351;&#29992;&#33258;&#23450;&#30340;&#21327;&#35758;&#65292;&#21483;<a href="3">&#22359;&#20132;&#25442;&#21327;&#35758;</a>&#12290;&#31616;&#32780;&#35328;&#20043;&#65292;Syncting &#33021;&#35753;&#20320;&#26080;&#38656;&#25317;&#26377;&#26381;&#21153;&#22120;&#26469;&#36328;&#35774;&#22791;&#21516;&#27493;&#25968;&#25454;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#23558;&#35299;&#37322;&#22914;&#20309;&#22312; Linux &#30005;&#33041;&#21644;&#23433;&#21331;&#25163;&#26426;&#20043;&#38388;&#23433;&#35013;&#21644;&#21516;&#27493;&#25991;&#20214;&#12290;LinuxSyncting &#22312;&#22823;&#22810;&#25968;&#27969;&#34892;&#30340;&#21457;&#34892;&#29256;&#37117;&#33021;&#19979;&#36733;&#12290;Fedora 28 &#21253;&#21547;&#20854;&#26368;&#26032;&#29256;&#26412;&#12290;&#35201;&#22312; Fedora &#19978;&#23433;&#35013; Syncthing&#65292;&#20320;&#33021;&#22312;&#36719;&#20214;&#20013;&#24515;&#25628;&#32034;&#65292;&#25110;&#32773;&#25191;&#34892;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">sudo dnf install syncthing syncthing-gtk</pre>&#19968;&#26086;&#23433;&#35013;&#22909;&#21518;&#65292;&#25171;&#24320;&#23427;&#12290;&#20320;&#23558;&#20250;&#30475;&#21040;&#19968;&#20010;&#21161;&#25163;&#24110;&#20320;&#37197;&#32622; Syncthing&#12290;&#28857;&#20987; “Next” &#30452;&#21040;&#23427;&#35201;&#27714;&#37197;&#32622; WebUI&#12290;&#26368;&#23433;&#20840;&#30340;&#36873;&#39033;&#26159;&#36873;&#25321;“Listen on localhost”&#12290;&#37027;&#23558;&#20250;&#31105;&#27490; Web &#30028;&#38754;&#24182;&#19988;&#38459;&#27490;&#26410;&#32463;&#25480;&#26435;&#30340;&#29992;&#25143;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/28/221458enntztxnwoe9nnlm.png">Media</a><em>Syncthing &#23433;&#35013;&#26102;&#30340; WebUI &#23545;&#35805;&#26694;</em>&#20851;&#38381;&#23545;&#35805;&#26694;&#12290;&#29616;&#22312; Syncthing &#23433;&#35013;&#22909;&#20102;&#12290;&#29616;&#22312;&#21487;&#20197;&#20998;&#20139;&#25991;&#20214;&#22841;&#65292;&#36830;&#25509;&#19968;&#21488;&#35774;&#2…
如何列出在 Linux 上已启用/激活的仓库

有很多方法可以列出在 Linux 已启用的仓库。我们将在下面展示给你列出已激活仓库的简便方法。Media

via https://linux.cn/article-10168-1.html
&#22914;&#20309;&#21015;&#20986;&#22312; Linux &#19978;&#24050;&#21551;&#29992;/&#28608;&#27963;&#30340;&#20179;&#24211;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/28/235306c9l9v687b4q62575.jpg">Media</a>&#26377;&#24456;&#22810;&#26041;&#27861;&#21487;&#20197;&#21015;&#20986;&#22312; Linux &#24050;&#21551;&#29992;&#30340;&#20179;&#24211;&#12290;&#25105;&#20204;&#23558;&#22312;&#19979;&#38754;&#23637;&#31034;&#32473;&#20320;&#21015;&#20986;&#24050;&#28608;&#27963;&#20179;&#24211;&#30340;&#31616;&#20415;&#26041;&#27861;&#12290;&#36825;&#26377;&#21161;&#20110;&#20320;&#30693;&#26195;&#20320;&#30340;&#31995;&#32479;&#19978;&#37117;&#21551;&#29992;&#20102;&#21738;&#20123;&#20179;&#24211;&#12290;&#19968;&#26086;&#20320;&#25484;&#25569;&#20102;&#36825;&#20123;&#20449;&#24687;&#65292;&#20320;&#23601;&#21487;&#20197;&#28155;&#21152;&#20219;&#20309;&#20043;&#21069;&#36824;&#27809;&#26377;&#20934;&#22791;&#21551;&#29992;&#30340;&#20179;&#24211;&#20102;&#12290;&#20030;&#20010;&#20363;&#23376;&#65292;&#22914;&#26524;&#20320;&#24819;&#21551;&#29992; epel &#20179;&#24211;&#65292;&#20320;&#38656;&#35201;&#20808;&#26816;&#26597;&#23427;&#26159;&#21542;&#24050;&#32463;&#21551;&#29992;&#20102;&#12290;&#36825;&#31687;&#25945;&#31243;&#23558;&#20250;&#24110;&#21161;&#20320;&#20570;&#36825;&#20214;&#20107;&#24773;&#12290;&#20160;&#20040;&#26159;&#20179;&#24211;&#65311;&#23384;&#20648;&#29305;&#23450;&#31243;&#24207;&#36719;&#20214;&#21253;&#30340;&#20013;&#26530;&#20301;&#32622;&#23601;&#26159;&#19968;&#20010;&#36719;&#20214;&#20179;&#24211;&#12290;&#25152;&#26377;&#30340; Linux &#21457;&#34892;&#29256;&#37117;&#22312;&#32500;&#25252;&#33258;&#24049;&#30340;&#20179;&#24211;&#65292;&#32780;&#19988;&#20801;&#35768;&#29992;&#25143;&#19979;&#36733;&#24182;&#23433;&#35013;&#36825;&#20123;&#36719;&#20214;&#21253;&#21040;&#20182;&#20204;&#30340;&#26426;&#22120;&#19978;&#12290;&#27599;&#20010;&#20179;&#24211;&#25552;&#20379;&#32773;&#37117;&#25552;&#20379;&#20102;&#19968;&#22871;&#21253;&#31649;&#29702;&#24037;&#20855;&#65292;&#29992;&#20197;&#31649;&#29702;&#20182;&#20204;&#30340;&#20179;&#24211;&#65292;&#27604;&#22914;&#25628;&#32034;&#12289;&#23433;&#35013;&#12289;&#26356;&#26032;&#12289;&#21319;&#32423;&#12289;&#31227;&#38500;&#31561;&#31561;&#12290;&#22823;&#22810;&#25968; Linux &#21457;&#34892;&#29256;&#37117;&#20316;&#20026;&#20813;&#36153;&#36719;&#20214;&#65292;&#38500;&#20102; RHEL &#21644; SUSE&#65292;&#35201;&#35775;&#38382;&#20182;&#20204;&#30340;&#20179;&#24211;&#20320;&#38656;&#35201;&#20808;&#36141;&#20080;&#35746;&#38405;&#12290;<strong>&#24314;&#35758;&#38405;&#35835;&#65306;</strong><a href="https://www.2daygeek.com/how-to-add-enable-disable-a-repository-dnf-yum-config-manager-on-linux/">&#22312; Linux &#19978;&#65292;&#22914;&#20309;&#36890;&#36807; DNF/YUM &#35774;&#32622;&#31649;&#29702;&#21629;&#20196;&#28155;&#21152;&#12289;&#21551;&#29992;&#12289;&#20851;&#38381;&#19968;&#20010;&#20179;&#24211;</a><a href="https://www.2daygeek.com/how-to-list-installed-packages-by-size-largest-on-linux/">&#22312; Linux &#19978;&#22914;&#20309;&#25353;&#22823;&#23567;&#21015;&#20986;&#24050;&#23433;&#35013;&#30340;&#21253;</a><a href="https://www.2daygeek.com/how-to-view-list-the-available-packages-updates-in-linux/">&#22312; Linux &#19978;&#22914;&#20309;&#21015;&#20986;&#21319;&#32423;&#30340;&#21253;</a><a href="https://www.2daygeek.com/how-to-view-a-particular-package-installed-updated-upgraded-removed-erased-date-on-linux/">&#22312; Linux &#19978;&#22914;&#20309;&#26597;&#30475;&#19968;&#20010;&#29305;&#23450;&#21253;&#23433;&#35013;/&#21319;&#32423;/&#26356;&#26032;/&#31227;&#38500;/&#28165;&#38500;&#30340;&#26085;&#26399;</a><a href="https://www.2daygeek.com/how-to-view-detailed-information-about-a-package-in-linux/">&#22312; Linux &#19978;&#22914;&#20309;&#26597;&#30475;&#19968;&#20010;&#21253;&#30340;&#35814;&#32454;&#20449;&#24687;</a><a href="https://www.2daygeek.com/how-to-search-if-a-package-is-available-on-your-linux
如何在 Linux 上锁定虚拟控制台会话

我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。Media

via https://linux.cn/article-10169-1.html
&#22914;&#20309;&#22312; Linux &#19978;&#38145;&#23450;&#34394;&#25311;&#25511;&#21046;&#21488;&#20250;&#35805;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/184916y0fikww5t8sh4z75.png">Media</a>&#24403;&#20320;&#22312;&#20849;&#20139;&#30340;&#31995;&#32479;&#19978;&#24037;&#20316;&#26102;&#65292;&#20320;&#21487;&#33021;&#19981;&#24076;&#26395;&#20854;&#20182;&#29992;&#25143;&#20599;&#31397;&#20320;&#30340;&#25511;&#21046;&#21488;&#20013;&#30475;&#20320;&#22312;&#20570;&#20160;&#20040;&#12290;&#22914;&#26524;&#26159;&#36825;&#26679;&#65292;&#25105;&#30693;&#36947;&#26377;&#20010;&#31616;&#21333;&#30340;&#25216;&#24039;&#26469;&#38145;&#23450;&#33258;&#24049;&#30340;&#20250;&#35805;&#65292;&#21516;&#26102;&#20173;&#28982;&#20801;&#35768;&#20854;&#20182;&#29992;&#25143;&#22312;&#20854;&#20182;&#34394;&#25311;&#25511;&#21046;&#21488;&#19978;&#20351;&#29992;&#35813;&#31995;&#32479;&#12290;&#35201;&#24863;&#35874; <strong>Vlock</strong>&#65288;<strong>V</strong>irtual Console <strong>lock</strong>&#65289;&#65292;&#36825;&#26159;&#19968;&#20010;&#21629;&#20196;&#34892;&#31243;&#24207;&#65292;&#29992;&#20110;&#38145;&#23450; Linux &#25511;&#21046;&#21488;&#19978;&#30340;&#19968;&#20010;&#25110;&#22810;&#20010;&#20250;&#35805;&#12290;&#22914;&#26377;&#24517;&#35201;&#65292;&#20320;&#21487;&#20197;&#38145;&#23450;&#25972;&#20010;&#25511;&#21046;&#21488;&#24182;&#23436;&#20840;&#31105;&#29992;&#34394;&#25311;&#25511;&#21046;&#21488;&#20999;&#25442;&#21151;&#33021;&#12290;Vlock &#23545;&#20110;&#26377;&#22810;&#20010;&#29992;&#25143;&#35775;&#38382;&#25511;&#21046;&#21488;&#30340;&#20849;&#20139; Linux &#31995;&#32479;&#29305;&#21035;&#26377;&#29992;&#12290;&#23433;&#35013; Vlock&#22312;&#22522;&#20110; Arch &#30340;&#31995;&#32479;&#19978;&#65292;Vlock &#36719;&#20214;&#21253;&#34987;&#26367;&#25442;&#20026;&#40664;&#35748;&#39044;&#23433;&#35013;&#30340; <strong>kpd</strong> &#21253;&#65292;&#22240;&#27492;&#20320;&#26080;&#38656;&#20026;&#23433;&#35013;&#28902;&#24700;&#12290;&#22312; Debian&#12289;Ubuntu&#12289;Linux Mint &#19978;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#23433;&#35013; Vlock&#65306;<pre class="prettyprint linenums">$ sudo apt-get install vlock</pre>&#22312; Fedora &#19978;&#65306;<pre class="prettyprint linenums">$ sudo dnf install vlock</pre>&#22312; RHEL&#12289;CentOS &#19978;&#65306;<pre class="prettyprint linenums">$ sudo yum install vlock</pre>&#22312; Linux &#19978;&#38145;&#23450;&#34394;&#25311;&#25511;&#21046;&#21488;&#20250;&#35805;Vlock &#30340;&#19968;&#33324;&#35821;&#27861;&#26159;&#65306;<pre class="prettyprint linenums">vlock [ -acnshv ] [ -t <timeout> ] [ plugins... ]</pre>&#36825;&#37324;&#65306;a —— &#38145;&#23450;&#25152;&#26377;&#34394;&#25311;&#25511;&#21046;&#21488;&#20250;&#35805;&#65292;c —— &#38145;&#23450;&#24403;&#21069;&#34394;&#25311;&#25511;&#21046;&#21488;&#20250;&#35805;&#65292;n —— &#22312;&#38145;&#23450;&#25152;&#26377;&#20250;&#35805;&#20043;&#21069;&#20999;&#25442;&#21040;&#26032;&#30340;&#31354;&#25511;&#21046;&#21488;&#65292;s —— &#31105;&#29992; SysRq &#38190;&#26426;&#21046;&#65292;t —— &#25351;&#23450;&#23631;&#20445;&#25554;&#20214;&#30340;&#36229;&#26102;&#26102;&#38388;&#65292;h —— &#26174;&#31034;&#24110;&#21161;&#65292;v —— &#26174;&#31034;&#29256;&#26412;&#12290;&#35753;&#25105;&#20030;&#20960;&#20010;&#20363;&#23376;&#12290;1&#12289; &#38145;&#23450;&#24403;&#21069;&#25511;&#21046;&#21488;&#20250;&#35805;&#22312;&#27809;&#26377;&#20219;&#20309;&#21442;&#25968;&#30340;&#24773;&#20917;&#19979;&#36816;&#34892; Vlock &#26102;&#65292;&#23427;&#40664;&#35748;&#38145;&#23450;&#24403;&#21069;&#25511;&#21046;&#21488;&#20250;&#35805; &#65288;TYY&#65289;&#12290;&#35201;&#35299;&#38145;&#20250;&#35805;&#65292;&#20320;&#38656;&#35201;&#36755;&#20837;&#24403;&#21069;&#29992;&#25143;&#30340;&#23494;&#30721;&#25110; root &#23494;&#30721;&#12290;<pre class="prettyprint linenums">$ vlock</pre><a href="https://dn-linuxcn.qbox.me/data/atta
如何移除或禁用 Ubuntu Dock

如果你想用其它 dock(例如 Plank dock)或面板来替换 Ubuntu 18.04 中的 Dock,或者你想要移除或禁用 Ubuntu Dock,本文会告诉你如何做。Media

via https://linux.cn/article-10170-1.html
&#22914;&#20309;&#31227;&#38500;&#25110;&#31105;&#29992; Ubuntu Dock

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/193718cfrnf5uwtczfq38n.png">Media</a>&#22914;&#26524;&#20320;&#24819;&#29992;&#20854;&#23427; dock&#65288;&#20363;&#22914; Plank dock&#65289;&#25110;&#38754;&#26495;&#26469;&#26367;&#25442; Ubuntu 18.04 &#20013;&#30340; Dock&#65292;&#25110;&#32773;&#20320;&#24819;&#35201;&#31227;&#38500;&#25110;&#31105;&#29992; Ubuntu Dock&#65292;&#26412;&#25991;&#20250;&#21578;&#35785;&#20320;&#22914;&#20309;&#20570;&#12290;Ubuntu Dock - &#23631;&#24149;&#24038;&#20391;&#26639;&#65292;&#21487;&#29992;&#20110;&#22266;&#23450;&#24212;&#29992;&#31243;&#24207;&#25110;&#35775;&#38382;&#24050;&#23433;&#35013;&#30340;&#24212;&#29992;&#31243;&#24207;&#12290;&#20351;&#29992;&#40664;&#35748;&#30340; Ubuntu &#20250;&#35805;&#26102;&#65292;<a href="https://bugs.launchpad.net/ubuntu/+source/gnome-tweak-tool/+bug/1713020">&#26080;&#27861;</a>&#20351;&#29992; Gnome Tweaks &#31105;&#29992;&#23427;&#65288;&#31105;&#29992;&#26080;&#25928;&#65289;&#12290;&#20294;&#26159;&#22914;&#26524;&#20320;&#38656;&#35201;&#65292;&#36824;&#26159;&#26377;&#20960;&#31181;&#26041;&#27861;&#26469;&#25670;&#33073;&#23427;&#30340;&#12290;&#19979;&#38754;&#25105;&#23558;&#21015;&#20986; 4 &#31181;&#26041;&#27861;&#21487;&#20197;&#31227;&#38500;&#25110;&#31105;&#29992; Ubuntu Dock&#65292;&#20197;&#21450;&#27599;&#20010;&#26041;&#27861;&#30340;&#32570;&#28857;&#65288;&#22914;&#26524;&#26377;&#30340;&#35805;&#65289;&#65292;&#36824;&#26377;&#22914;&#20309;&#25764;&#38144;&#27599;&#20010;&#26041;&#27861;&#30340;&#26356;&#25913;&#12290;&#26412;&#25991;&#36824;&#21253;&#25324;&#22312;&#27809;&#26377; Ubuntu Dock &#30340;&#24773;&#20917;&#19979;&#35775;&#38382;&#27963;&#21160;&#27010;&#35272;Activities Overview&#21644;&#24050;&#23433;&#35013;&#24212;&#29992;&#31243;&#24207;&#21015;&#34920;&#30340;&#20854;&#23427;&#26041;&#27861;&#12290;&#22914;&#20309;&#22312;&#27809;&#26377; Ubuntu Dock &#30340;&#24773;&#20917;&#19979;&#35775;&#38382;&#27963;&#21160;&#27010;&#35272;&#22914;&#26524;&#27809;&#26377; Ubuntu Dock&#65292;&#20320;&#21487;&#33021;&#26080;&#27861;&#35775;&#38382;&#27963;&#21160;&#30340;&#25110;&#24050;&#23433;&#35013;&#30340;&#24212;&#29992;&#31243;&#24207;&#21015;&#34920;&#65288;&#21487;&#20197;&#36890;&#36807;&#21333;&#20987; Dock &#24213;&#37096;&#30340;“&#26174;&#31034;&#24212;&#29992;&#31243;&#24207;”&#25353;&#38062;&#20174; Ubuntu Dock &#35775;&#38382;&#65289;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#20351;&#29992; Plank Dock &#23601;&#26159;&#36825;&#26679;&#12290;&#26174;&#28982;&#65292;&#22914;&#26524;&#20320;&#23433;&#35013;&#20102; Dash to Panel &#25193;&#23637;&#26469;&#26367;&#20195; Ubuntu Dock&#65292;&#37027;&#20040;&#36824;&#22909;&#12290;&#22240;&#20026; Dash to Panel &#25552;&#20379;&#20102;&#19968;&#20010;&#25353;&#38062;&#26469;&#35775;&#38382;&#27963;&#21160;&#27010;&#35272;&#25110;&#24050;&#23433;&#35013;&#30340;&#24212;&#29992;&#31243;&#24207;&#12290;&#26681;&#25454;&#20320;&#35745;&#21010;&#29992;&#26469;&#26367;&#20195; Ubuntu Dock &#30340;&#36719;&#20214;&#65292;&#22914;&#26524;&#26080;&#27861;&#35775;&#38382;&#27963;&#21160;&#27010;&#35272;&#65292;&#37027;&#20040;&#20320;&#21487;&#20197;&#21551;&#29992;“&#27963;&#21160;&#27010;&#35272;&#28909;&#35282;”&#36873;&#39033;&#65292;&#21482;&#38656;&#23558;&#40736;&#26631;&#31227;&#21160;&#21040;&#23631;&#24149;&#30340;&#24038;&#19978;&#35282;&#21363;&#21487;&#25171;&#24320;&#27963;&#21160;&#27010;&#35272;&#12290;&#35775;&#38382;&#24050;&#23433;&#35013;&#30340;&#24212;&#29992;&#31243;&#24207;&#21015;&#34920;&#30340;&#21478;&#19968;&#31181;&#26041;&#27861;&#26159;&#20351;&#29992;&#24555;&#25463;&#38190;&#65306;Super + A&#12290;&#22914;&#26524;&#35201;&#21551;&#29992;“&#27963;&#21160;&#27010;&#35272;&#28909;&#35282;”&#65292;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">gsettings set org.gnome.shell enable-hot…
命令行:增强版

下面就是我现在使用的用于增强原有命令行工具的列表。Media

via https://linux.cn/article-10171-1.html
命令行:增强版

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204617yz2aaxzfrlyc22nl.jpg">Media</a>我不确定有多少 Web 开发者能完全避免使用命令行。就我来说,我从 1997 年上大学就开始使用命令行了,那时的 l33t-hacker 让我着迷,同时我也觉得它很难掌握。过去这些年我的命令行本领在逐步加强,我经常会去搜寻工作中能用的更好的命令行工具。下面就是我现在使用的用于增强原有命令行工具的列表。怎么忽略我所做的命令行增强通常情况下我会用别名将新的增强的命令行工具覆盖原来的命令(如 cat 和 ping)。如果我需要运行原来的命令的话(有时我确实需要这么做),我会像下面这样来运行未加修改的原始命令。(我用的是 Mac,你的用法可能不一样)<pre class="prettyprint linenums">$ \cat # 忽略叫 "cat" 的别名 - 具体解释: https://stackoverflow.com/a/16506263/22617$ command cat # 忽略函数和别名</pre>bat > catcat 用于打印文件的内容,如果你平时用命令行很多的话,例如语法高亮之类的功能会非常有用。我首先发现了 <a href="https://github.com/jingweno/ccat">ccat</a> 这个有语法高亮功能的工具,然后我发现了 <a href="https://github.com/sharkdp/bat">bat</a>,它的功能有语法高亮、分页、行号和 git 集成。bat 命令也能让我在(多于一屏的)输出里使用 / 搜索(和用 less 搜索功能一样)。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204653xppy14y8y4zu6h7s.gif">Simple bat output</a>我将别名 cat 指到了 bat 命令:<pre class="prettyprint linenums">alias cat='bat'</pre><a href="https://github.com/sharkdp/bat">安装指引</a>prettyping > pingping 非常有用,当我碰到“糟了,是不是 X 挂了?/我的网不通了?”这种情况下我最先想到的工具就是它了。但是 prettyping(“prettyping” 可不是指“pre typing”)在 ping 的基础上加了友好的输出,这可让我感觉命令行友好了很多呢。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204655zcznq3x70xjexzv3.gif">prettyping</a>我也将 ping 用别名链接到了 prettyping 命令:<pre class="prettyprint linenums">alias ping='prettyping --nolegend'</pre><a href="http://denilson.sa.nom.br/prettyping/">安装指引</a>fzf > ctrl+r在终端里,使用 ctrl+r 将允许你在命令历史里<a href="https://lifehacker.com/278888/ctrl%252Br-to-search-and-other-terminal-history-tricks">反向搜索</a>使用过的命令,这是个挺好的小技巧,尽管它有点麻烦。fzf 这个工具相比于 ctrl+r 有了<strong>巨大的</strong>进步。它能针对命令行历史进行模糊查询,并且提供了对可能的合格结果进行全面交互式预览。除了搜索命令历史,fzf 还能预览和打开文件,我在下面的视频里展示了这些功能。为了这个预览的效果,我创建了一个叫 preview 的别名,它将 fzf 和前文提到的 bat 组合起来完成预览功能,还给上面绑定了一个定制的热键 ctrl+o 来打开 VS Code:<pre class="prettyprint linenums">alias preview="fzf --preview 'bat --color \"always\" {}'"# 支持在 VS Code 里用 ctrl+o 来打开选择的文件export FZF_DEFAULT_OPTS="--bind='ctrl-o:execute(code {})+abort'"</pre><a href="https://github.com/junegunn/fzf">安装指引</a>htop > toptop 是当我想快速诊断为什么机器上的 CPU 跑的那么累或者风扇为什么突然呼呼大做的时候首先会想到的工具。我在生产环境也会使用这个工具。讨厌的是 Mac 上的 top 和 Linux 上的 top 有着极大的不同(恕我直言,应该是差的多)。不过,htop 是对 Linux 上的 top 和 Mac 上蹩脚的 top 的极大改进。它增加了包括颜色输出,键盘热键绑定以及不同的视图输出,这对理解进程之间的父子关系有极大帮助。一些很容易上手的热键:P —— 按 CPU 使用率排序M —— 按内存使用排序F4 —— 用字符串过滤进程(例如只看包括 node 的进程)space —— 锚定一个单独进程,这样我能观察它是否有尖峰状态<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204657hnfne1peg857gtdq.jpg">htop output</a>在 Mac Sierra 上 htop 有个奇怪的 bug,不过这个 bug 可以通过以 root 运行来绕过(我实在记不清这个 bug 是什么,但是这个别名能搞定它,有点讨厌的是我得每次都输入 root 密码。):<pre class="prettyprint linenums">alias top="sudo htop" # 给 top 加上别名并且绕过 Sierra 上的 bug</pre><a href="http://hisham.hm/htop/">安装指引</a>diff-so-fancy > diff我非常确定我是几年前从 Paul Irish 那儿学来的这个技巧,尽管我很少直接使用 diff,但我的 git 命令行会一直使用 diff。diff-so-fancy 给了我代码语法颜色和更改字符高亮的功能。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204658r8zajeo2b98ase4b.jpg">diff so fancy</a>在我的 ~/.gitconfig 文件里我用了下面的选项来打开 git diff 和 git show 的 diff-so-fancy 功能。<pre class="prettyprint linenums">[pager] diff = diff-so-fancy | less --tabs=1,5 -RFX show = diff-so-fancy | less --tabs=1,5 -RFX</pre><a href="https://github.com/so-fancy/diff-so-fancy">安装指引</a>fd > find尽管我使用 Mac,但我绝不是 Spotlight 的粉丝,我觉得它的性能很差,关键字也难记,加上更新它自己的数据库时会拖慢 CPU,简直一无是处。我经常使用 <a href="https://www.alfredapp.com/">Alfred</a>,但是它的搜索功能也不是很好。我倾向于在命令行中搜索文件,但是 find 的难用在于很难去记住那些合适的表达式来描述我想要的文件。(而且 Mac 上的 find 命令和非 Mac 的 find 命令还有些许不同,这更加深了我的失望。)fd 是一个很好的替代品(它的作者和 bat 的作者是同一个人)。它非常快而且对于我经常要搜索的命令非常好记。几个上手的例子:<pre class="prettyprint linenums">$ fd cli # 所有包含 "cli" 的文件名$ fd -e md # 所有以 .md 作为扩展名的文件$ fd cli -x wc -w # 搜索 "cli" 并且在每个搜索结果上运行 `wc -w`</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/29/204700varcm94gce19m91g.png">fd output</a><a href="https://github.com/sharkdp/fd/">安装指引</a>ncdu > du对我来说,知道当前磁盘空间被什么占用了非常重要。我用过 Mac 上的 <a href="https://daisydiskapp.com/">DaisyDisk</a>,但是我觉得那个程序产生结果有点慢。du -sh 命令是我经常会运行的命令(-sh 是指结果以“汇总…
用这个漂亮的工具将方程式截图迅速转换为 LaTeX

Mathpix 是一个漂亮的小工具,它允许你截取复杂数学方程式的截图,并立即将其转换为 LaTeX 可编辑文本。Media

via https://linux.cn/article-10172-1.html
理解 Linux 链接(一)

链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。Media

via https://linux.cn/article-10173-1.html
&#29702;&#35299; Linux &#38142;&#25509;&#65288;&#19968;&#65289;

&#38142;&#25509;&#26159;&#21487;&#20197;&#23558;&#25991;&#20214;&#21644;&#30446;&#24405;&#25918;&#22312;&#20320;&#24076;&#26395;&#23427;&#20204;&#25918;&#22312;&#30340;&#20301;&#32622;&#30340;&#21478;&#19968;&#31181;&#26041;&#24335;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/30/235607uc4dohmhoal96u28.jpg">Media</a>&#38500;&#20102; cp &#21644; mv &#36825;&#20004;&#20010;&#25105;&#20204;&#22312;<a href="https://www.linux.com/blog/2018/8/linux-beginners-moving-things-around">&#26412;&#31995;&#21015;&#30340;&#21069;&#19968;&#37096;&#20998;</a>&#20013;&#35814;&#32454;&#35752;&#35770;&#36807;&#30340;&#65292;&#38142;&#25509;&#26159;&#21487;&#20197;&#23558;&#25991;&#20214;&#21644;&#30446;&#24405;&#25918;&#22312;&#20320;&#24076;&#26395;&#23427;&#20204;&#25918;&#22312;&#30340;&#20301;&#32622;&#30340;&#21478;&#19968;&#31181;&#26041;&#24335;&#12290;&#23427;&#30340;&#20248;&#28857;&#26159;&#21487;&#20197;&#35753;&#20320;&#21516;&#26102;&#22312;&#22810;&#20010;&#20301;&#32622;&#26174;&#31034;&#19968;&#20010;&#25991;&#20214;&#25110;&#30446;&#24405;&#12290;&#22914;&#21069;&#25152;&#36848;&#65292;&#22312;&#29289;&#29702;&#30913;&#30424;&#36825;&#20010;&#32423;&#21035;&#19978;&#65292;&#25991;&#20214;&#21644;&#30446;&#24405;&#20043;&#31867;&#30340;&#19996;&#35199;&#24182;&#19981;&#30495;&#27491;&#23384;&#22312;&#12290;&#25991;&#20214;&#31995;&#32479;&#26159;&#20026;&#20102;&#26041;&#20415;&#20154;&#31867;&#20351;&#29992;&#65292;&#23558;&#23427;&#20204;&#34394;&#26500;&#20986;&#26469;&#12290;&#20294;&#22312;&#30913;&#30424;&#32423;&#21035;&#19978;&#65292;&#26377;&#19968;&#20010;&#21517;&#20026;&#20998;&#21306;&#34920;partition table&#30340;&#19996;&#35199;&#65292;&#23427;&#20301;&#20110;&#27599;&#20010;&#20998;&#21306;&#30340;&#24320;&#22836;&#65292;&#28982;&#21518;&#25968;&#25454;&#20998;&#25955;&#22312;&#30913;&#30424;&#30340;&#20854;&#20313;&#37096;&#20998;&#12290;&#34429;&#28982;&#26377;&#19981;&#21516;&#31867;&#22411;&#30340;&#20998;&#21306;&#34920;&#65292;&#20294;&#26159;&#22312;&#20998;&#21306;&#24320;&#22836;&#30340;&#37027;&#20010;&#34920;&#21253;&#21547;&#30340;&#25968;&#25454;&#23558;&#26144;&#23556;&#27599;&#20010;&#30446;&#24405;&#21644;&#25991;&#20214;&#30340;&#24320;&#22987;&#21644;&#32467;&#26463;&#20301;&#32622;&#12290;&#20998;&#21306;&#34920;&#30340;&#23601;&#20687;&#19968;&#20010;&#32034;&#24341;&#65306;&#24403;&#20174;&#30913;&#30424;&#21152;&#36733;&#25991;&#20214;&#26102;&#65292;&#25805;&#20316;&#31995;&#32479;&#20250;&#26597;&#25214;&#34920;&#20013;&#30340;&#26465;&#30446;&#65292;&#20998;&#21306;&#34920;&#20250;&#21578;&#35785;&#25991;&#20214;&#22312;&#30913;&#30424;&#19978;&#30340;&#36215;&#22987;&#20301;&#32622;&#21644;&#32467;&#26463;&#20301;&#32622;&#12290;&#28982;&#21518;&#30913;&#30424;&#22836;&#31227;&#21160;&#21040;&#36215;&#28857;&#65292;&#35835;&#21462;&#25968;&#25454;&#65292;&#30452;&#21040;&#23427;&#21040;&#36798;&#32456;&#28857;&#65292;&#24744;&#30475;&#65306;&#36825;&#23601;&#26159;&#20320;&#30340;&#25991;&#20214;&#12290;&#30828;&#38142;&#25509;&#30828;&#38142;&#25509;&#21482;&#26159;&#20998;&#21306;&#34920;&#20013;&#30340;&#19968;&#20010;&#26465;&#30446;&#65292;&#23427;&#25351;&#21521;&#30913;&#30424;&#19978;&#30340;&#26576;&#20010;&#21306;&#22495;&#65292;&#34920;&#31034;&#35813;&#21306;&#22495;<strong>&#24050;&#32463;&#34987;&#20998;&#37197;&#32473;&#25991;&#20214;</strong>&#12290;&#25442;&#21477;&#35805;&#35828;&#65292;&#30828;&#38142;&#25509;&#25351;&#21521;&#24050;&#32463;&#34987;&#21478;&#19968;&#20010;&#26465;&#30446;&#32034;&#24341;&#30340;&#25968;&#25454;&#12290;&#35753;&#25105;&#20204;&#30475;&#30475;&#23427;&#26159;&#22914;&#20309;&#24037;&#20316;&#30340;&#12290;&#25171;&#24320;&#32456;&#31471;&#65292;&#21019;&#24314;&#19968;&#20010;&#23454;&#39564;&#30446;&#24405;&#24182;&#36827;&#20837;&#65306;<pre class="prettyprint linenums">mkdir test_dircd test_dir</pre>&#20351;&#29992; <a href="https://www.linux.com/
如何在 Linux 中一次重命名多个文件

在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。Media

via https://linux.cn/article-10174-1.html
&#22914;&#20309;&#22312; Linux &#20013;&#19968;&#27425;&#37325;&#21629;&#21517;&#22810;&#20010;&#25991;&#20214;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/092758rlc51ctl3tlcr9cl.png">Media</a>&#20320;&#21487;&#33021;&#24050;&#32463;&#30693;&#36947;&#65292;&#25105;&#20204;&#20351;&#29992; mv &#21629;&#20196;&#22312;&#31867; Unix &#25805;&#20316;&#31995;&#32479;&#20013;&#37325;&#21629;&#21517;&#25110;&#32773;&#31227;&#21160;&#25991;&#20214;&#21644;&#30446;&#24405;&#12290; &#20294;&#26159;&#65292;mv &#21629;&#20196;&#19981;&#25903;&#25345;&#19968;&#27425;&#37325;&#21629;&#21517;&#22810;&#20010;&#25991;&#20214;&#12290; &#19981;&#29992;&#25285;&#24515;&#12290; &#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#23398;&#20064;&#20351;&#29992; Linux &#20013;&#30340; mmv &#21629;&#20196;&#19968;&#27425;&#37325;&#21629;&#21517;&#22810;&#20010;&#25991;&#20214;&#12290; &#27492;&#21629;&#20196;&#29992;&#20110;&#22312;&#31867; Unix &#25805;&#20316;&#31995;&#32479;&#20013;&#20351;&#29992;&#26631;&#20934;&#36890;&#37197;&#31526;&#25209;&#37327;&#31227;&#21160;&#12289;&#22797;&#21046;&#12289;&#36861;&#21152;&#21644;&#37325;&#21629;&#21517;&#25991;&#20214;&#12290;&#22312; Linux &#20013;&#19968;&#27425;&#37325;&#21629;&#21517;&#22810;&#20010;&#25991;&#20214;mmv &#31243;&#24207;&#21487;&#22312;&#22522;&#20110; Debian &#30340;&#31995;&#32479;&#30340;&#40664;&#35748;&#20179;&#24211;&#20013;&#20351;&#29992;&#12290; &#35201;&#24819;&#22312; Debian&#12289;Ubuntu&#12289;Linux Mint &#19978;&#23433;&#35013;&#23427;&#65292;&#35831;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">$ sudo apt-get install mmv</pre>&#25105;&#20204;&#20551;&#35774;&#20320;&#22312;&#24403;&#21069;&#30446;&#24405;&#20013;&#26377;&#20197;&#19979;&#25991;&#20214;&#12290;<pre class="prettyprint linenums">$ lsa1.txt a2.txt a3.txt</pre>&#29616;&#22312;&#65292;&#20320;&#24819;&#35201;&#23558;&#25152;&#26377;&#20197;&#23383;&#27597; “a” &#24320;&#22836;&#30340;&#25991;&#20214;&#37325;&#21629;&#21517;&#20026;&#20197; “b” &#24320;&#22836;&#30340;&#12290; &#24403;&#28982;&#65292;&#20320;&#21487;&#20197;&#22312;&#20960;&#31186;&#38047;&#20869;&#25163;&#21160;&#25191;&#34892;&#27492;&#25805;&#20316;&#12290; &#20294;&#26159;&#24819;&#24819;&#20320;&#26159;&#21542;&#26377;&#25968;&#30334;&#20010;&#25991;&#20214;&#24819;&#35201;&#37325;&#21629;&#21517;&#65311; &#36825;&#26159;&#19968;&#20010;&#38750;&#24120;&#32791;&#26102;&#30340;&#36807;&#31243;&#12290; &#36825;&#26102;&#20505; mmv &#21629;&#20196;&#23601;&#24456;&#26377;&#24110;&#21161;&#20102;&#12290;&#35201;&#23558;&#25152;&#26377;&#20197;&#23383;&#27597; “a” &#24320;&#22836;&#30340;&#25991;&#20214;&#37325;&#21629;&#21517;&#20026;&#20197;&#23383;&#27597; “b” &#24320;&#22836;&#30340;&#65292;&#21482;&#38656;&#35201;&#36816;&#34892;&#65306;<pre class="prettyprint linenums">$ mmv a\* b\#1</pre>&#35753;&#25105;&#20204;&#26816;&#26597;&#19968;&#19979;&#25991;&#20214;&#26159;&#21542;&#37117;&#24050;&#32463;&#37325;&#21629;&#21517;&#20102;&#12290;<pre class="prettyprint linenums">$ lsb1.txt b2.txt b3.txt</pre>&#22914;&#20320;&#25152;&#35265;&#65292;&#25152;&#26377;&#20197;&#23383;&#27597; “a” &#24320;&#22836;&#30340;&#25991;&#20214;&#65288;&#21363; a1.txt&#12289;a2.txt&#12289;a3.txt&#65289;&#37117;&#37325;&#21629;&#21517;&#20026; b1.txt&#12289;b2.txt&#12289;b3.txt&#12290;<strong>&#35299;&#37322;</strong>&#22312;&#19978;&#38754;&#30340;&#20363;&#23376;&#20013;&#65292;&#31532;&#19968;&#20010;&#21442;&#25968;&#65288;a\*&#65289;&#26159; “from” &#27169;&#24335;&#65292;&#31532;&#20108;&#20010;&#21442;&#25968;&#26159; “to” &#27169;&#24335;&#65288;b\#1&#65289;&#12290;&#26681;&#25454;&#19978;&#38754;&#30340;&#20363;&#23376;&#65292;mmv &#23558;&#26597;&#25214;&#20219;&#20309;&#20197;&#23383;&#27597; “a” &#24320;&#22836;&#30340;&#25991;&#20214;&#21517;&#65292;&#24182;&#26681;&#25454;&#31532;&#20108;&#20010;&#21442;&#25968;&#37325;&#21629;&#21517;&#21305;&#37197;&#30340;…
MidnightBSD 发布 1.0!

Lucas 创建了 MightnightBSD,这成为桌面用户和 BSD 新手的一个选择。他想创造一个能让人们快速体验 BSD 桌面的东西。他认为其他发行版过于关注服务器市场。Media

via https://linux.cn/article-10175-1.html
MidnightBSD &#21457;&#24067; 1.0&#65281;

&#20960;&#22825;&#21069;&#65292;Lucas Holt &#23459;&#24067;&#21457;&#24067; MidnightBSD 1.0&#12290;&#35753;&#25105;&#20204;&#24555;&#36895;&#30475;&#19968;&#19979;&#36825;&#20010;&#26032;&#29256;&#26412;&#20013;&#21253;&#21547;&#30340;&#20869;&#23481;&#12290;&#20160;&#20040;&#26159; MidnightBSD&#65311;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/093807l88xtkvfcqob3tlk.jpg">MidnightBSD</a><a href="https://www.midnightbsd.org/">MidnightBSD</a> &#26159; FreeBSD &#30340;&#19968;&#20010;&#20998;&#25903;&#12290;Lucas &#21019;&#24314;&#20102; MightnightBSD&#65292;&#36825;&#25104;&#20026;&#26700;&#38754;&#29992;&#25143;&#21644; BSD &#26032;&#25163;&#30340;&#19968;&#20010;&#36873;&#25321;&#12290;&#20182;&#24819;&#21019;&#36896;&#19968;&#20010;&#33021;&#35753;&#20154;&#20204;&#24555;&#36895;&#20307;&#39564; BSD &#26700;&#38754;&#30340;&#19996;&#35199;&#12290;&#20182;&#35748;&#20026;&#20854;&#20182;&#21457;&#34892;&#29256;&#36807;&#20110;&#20851;&#27880;&#26381;&#21153;&#22120;&#24066;&#22330;&#12290;MidnightBSD 1.0 &#20013;&#26377;&#20160;&#20040;&#65311;&#26681;&#25454;<a href="https://www.midnightbsd.org/notes/">&#21457;&#24067;&#35828;&#26126;</a>&#65288;<a href="https://www.youtube.com/embed/-rlk2wFsjJ4">&#35270;&#39057;</a>&#65289;&#65292;1.0 &#20013;&#30340;&#22823;&#37096;&#20998;&#24037;&#20316;&#37117;&#26159;&#26356;&#26032;&#22522;&#30784;&#31995;&#32479;&#65292;&#25913;&#36827;&#21253;&#31649;&#29702;&#22120;&#21644;&#26356;&#26032;&#24037;&#20855;&#12290;&#26032;&#29256;&#26412;&#19982; FreeBSD 10-Stable &#20860;&#23481;&#12290;Mports&#65288;MidnightBSD &#30340;&#21253;&#31649;&#29702;&#31995;&#32479;&#65289;&#24050;&#32463;&#21319;&#32423;&#25903;&#25345;&#20351;&#29992;&#19968;&#20010;&#21629;&#20196;&#23433;&#35013;&#22810;&#20010;&#21253;&#12290;<code>mport upgrade</code> &#21629;&#20196;&#24050;&#32463;&#20462;&#22797;&#12290;Mports &#29616;&#22312;&#20250;&#36319;&#36394;&#24050;&#24323;&#29992;&#21644;&#36807;&#26399;&#30340;&#21253;&#12290;&#23427;&#36824;&#24341;&#20837;&#20102;&#26032;&#30340;&#21253;&#26684;&#24335;&#12290;&#20854;&#20182;&#21464;&#21270;&#21253;&#25324;&#65306;&#29616;&#22312;&#25903;&#25345; <a href="https://itsfoss.com/what-is-zfs/">ZFS</a> &#20316;&#20026;&#21551;&#21160;&#25991;&#20214;&#31995;&#32479;&#12290;&#20197;&#21069;&#65292;ZFS &#21482;&#33021;&#29992;&#20110;&#38468;&#21152;&#23384;&#20648;&#12290;   * &#25903;&#25345; NVME SSD&#12290;   * AMD Ryzen &#21644; Radeon &#30340;&#25903;&#25345;&#24471;&#21040;&#20102;&#25913;&#21892;&#12290;   * Intel&#12289;Broadcom &#21644;&#20854;&#20182;&#39537;&#21160;&#31243;&#24207;&#24050;&#26356;&#26032;&#12290;   * &#24050;&#20174; FreeBSD &#31227;&#26893; bhyve &#25903;&#25345;&#12290;   * &#20256;&#24863;&#22120;&#26694;&#26550;&#24050;&#34987;&#21024;&#38500;&#65292;&#22240;&#20026;&#23427;&#23548;&#33268;&#38145;&#23450;&#38382;&#39064;&#12290;   * &#21024;&#38500;&#20102; Sudo &#24182;&#29992; OpenBSD &#20013;&#30340; <a href="https://man.openbsd.org/doas">doas</a> &#26367;&#25442;&#12290;   * &#22686;&#21152;&#20102;&#23545; Microsoft hyper-v &#30340;&#25903;&#25345;&#12290;&#21319;&#32423;&#20043;&#21069;&#22914;&#26524;&#20320;&#24403;&#21069;&#26159; MidnightBSD &#30340;&#29992;&#25143;&#25110;&#27491;&#22312;&#32771;&#34385;&#23581;&#35797;&#26032;&#29256;&#26412;&#65292;&#37027;&#20040;&#36824;&#26159;&#20877;&#31561;&#19968;&#20250;&#12290;Lucas &#30446;&#21069;&#27491;&#22312;&#37325;&#24314;&#36719;&#20214;&#21253;&#20197;&#25903;&#25345;&#26032;&#30340;&#36719;&#20214;&#21253;&#26684;&#24335;&#21644;&#24037;&#20855;&#12290;&#20182;&#36824;&#35745;&#21010;&#22312;&#26410;&#26469;&#20960;&#20010;&#26376;&#20869;&#21319;&#32423;&#36719;&#20214;&#21253;&#21644;&#31227;&#26893;&#26700;&#38754;&#29615;&#22659;&#12290;&#20182;&#30446;&#21069;&#27491;&#33268;&#21147;&#20110;&#31227;&#26893; Firefox 52 ESR&#65292;&#22240;&#20026;&#23427;&#26159;&#26368;&#21518;&#19968;&#200…
用 350 行代码从零开始,将 Lisp 编译成 JavaScript

我们将会在本篇文章中看到从零开始实现的编译器,将简单的类 LISP 计算语言编译成 JavaScript。Media

via https://linux.cn/article-10176-1.html
&#29992; 350 &#34892;&#20195;&#30721;&#20174;&#38646;&#24320;&#22987;&#65292;&#23558; Lisp &#32534;&#35793;&#25104; JavaScript

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/101755m9sy6j1zdhzh9gh2.jpg">Media</a>&#25105;&#20204;&#23558;&#20250;&#22312;&#26412;&#31687;&#25991;&#31456;&#20013;&#30475;&#21040;&#20174;&#38646;&#24320;&#22987;&#23454;&#29616;&#30340;&#32534;&#35793;&#22120;&#65292;&#23558;&#31616;&#21333;&#30340;&#31867; LISP &#35745;&#31639;&#35821;&#35328;&#32534;&#35793;&#25104; JavaScript&#12290;&#23436;&#25972;&#30340;&#28304;&#20195;&#30721;&#22312; <a href="https://gist.github.com/soupi/d4ff0727ccb739045fad6cdf533ca7dd">&#36825;&#37324;</a>&#12290;&#25105;&#20204;&#23558;&#20250;&#65306;&#33258;&#23450;&#20041;&#35821;&#35328;&#65292;&#24182;&#29992;&#23427;&#32534;&#20889;&#19968;&#20010;&#31616;&#21333;&#30340;&#31243;&#24207;&#23454;&#29616;&#19968;&#20010;&#31616;&#21333;&#30340;&#35299;&#26512;&#22120;&#32452;&#21512;&#22120;&#20026;&#35813;&#35821;&#35328;&#23454;&#29616;&#19968;&#20010;&#35299;&#26512;&#22120;&#20026;&#35813;&#35821;&#35328;&#23454;&#29616;&#19968;&#20010;&#32654;&#35266;&#30340;&#25171;&#21360;&#22120;&#20026;&#25105;&#20204;&#30340;&#29992;&#36884;&#23450;&#20041; JavaScript &#30340;&#19968;&#20010;&#23376;&#38598;&#23454;&#29616;&#20195;&#30721;&#36716;&#35793;&#22120;&#65292;&#23558;&#20195;&#30721;&#36716;&#35793;&#25104;&#25105;&#20204;&#23450;&#20041;&#30340; JavaScript &#23376;&#38598;&#25226;&#25152;&#26377;&#19996;&#35199;&#25972;&#21512;&#22312;&#19968;&#36215;&#24320;&#22987;&#21543;&#65281;1&#12289;&#23450;&#20041;&#35821;&#35328;Lisp &#26063;&#35821;&#35328;&#26368;&#36855;&#20154;&#30340;&#22320;&#26041;&#22312;&#20110;&#65292;&#23427;&#20204;&#30340;&#35821;&#27861;&#23601;&#26159;&#26641;&#29366;&#34920;&#31034;&#30340;&#65292;&#36825;&#23601;&#26159;&#36825;&#38376;&#35821;&#35328;&#24456;&#23481;&#26131;&#35299;&#26512;&#30340;&#21407;&#22240;&#12290;&#25105;&#20204;&#24456;&#24555;&#23601;&#33021;&#25509;&#35302;&#21040;&#23427;&#12290;&#20294;&#39318;&#20808;&#35753;&#25105;&#20204;&#25226;&#33258;&#24049;&#30340;&#35821;&#35328;&#23450;&#20041;&#22909;&#12290;&#20851;&#20110;&#25105;&#20204;&#35821;&#35328;&#30340;&#35821;&#27861;&#30340;&#33539;&#24335;&#65288;BNF&#65289;&#25551;&#36848;&#22914;&#19979;&#65306;<pre class="prettyprint linenums">program ::= exprexpr ::= <integer> | <name> | ([<expr>])</pre>&#22522;&#26412;&#19978;&#65292;&#25105;&#20204;&#21487;&#20197;&#22312;&#35813;&#35821;&#35328;&#30340;&#26368;&#39030;&#23618;&#23450;&#20041;&#34920;&#36798;&#24335;&#24182;&#23545;&#20854;&#36827;&#34892;&#36816;&#31639;&#12290;&#34920;&#36798;&#24335;&#30001;&#19968;&#20010;&#25972;&#25968;&#65288;&#27604;&#22914; 5&#65289;&#12289;&#19968;&#20010;&#21464;&#37327;&#65288;&#27604;&#22914; x&#65289;&#25110;&#32773;&#19968;&#20010;&#34920;&#36798;&#24335;&#21015;&#34920;&#65288;&#27604;&#22914; (add x 1)&#65289;&#32452;&#25104;&#12290;&#25972;&#25968;&#23545;&#24212;&#23427;&#26412;&#36523;&#30340;&#20540;&#65292;&#21464;&#37327;&#23545;&#24212;&#23427;&#22312;&#24403;&#21069;&#29615;&#22659;&#20013;&#32465;&#23450;&#30340;&#20540;&#65292;&#34920;&#36798;&#24335;&#21015;&#34920;&#23545;&#24212;&#19968;&#20010;&#20989;&#25968;&#35843;&#29992;&#65292;&#35813;&#21015;&#34920;&#30340;&#31532;&#19968;&#20010;&#21442;&#25968;&#26159;&#30456;&#24212;&#30340;&#20989;&#25968;&#65292;&#21097;&#19979;&#30340;&#34920;&#36798;&#24335;&#26159;&#20256;&#36882;&#32473;&#36825;&#20010;&#20989;&#25968;&#30340;&#21442;&#25968;&#12290;&#35813;&#35821;&#35328;&#20013;&#65292;&#25105;&#20204;&#20445;&#30041;&#19968;&#20123;&#20869;&#24314;&#30340;&#29305;&#27530;&#24418;&#24335;&#65292;&#36825;&#26679;&#25105;&#20204;&#23601;&#33021;&#20570;&#19968;&#20123;&#26356;&#26377;&#24847;&#24605;&#30340;&#20107;&#24773;&#65306;let &#34920;&#36798;&#24335;&#20351;&#25105;&#20204;&#21487;&#20197;&#22312;&#23427;&#30340; body &#29615;&#22659;&#20013;&#24341;&#20837;&#26032…
重启和关闭 Linux 系统的 6 个终端命令

对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。Media

via https://linux.cn/article-10177-1.html
&#37325;&#21551;&#21644;&#20851;&#38381; Linux &#31995;&#32479;&#30340; 6 &#20010;&#32456;&#31471;&#21629;&#20196;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/31/205455k6w9oawuwpbifku9.png">Media</a>&#22312; Linux &#31649;&#29702;&#21592;&#30340;&#26085;&#31243;&#24403;&#20013;&#65292;&#26377;&#24456;&#22810;&#38656;&#35201;&#25191;&#34892;&#30340;&#20219;&#21153;&#65292;&#20854;&#20013;&#23601;&#26377;&#31995;&#32479;&#30340;&#37325;&#21551;&#21644;&#20851;&#38381;&#12290;&#23545;&#20110; Linux &#31649;&#29702;&#21592;&#26469;&#35828;&#65292;&#37325;&#21551;&#21644;&#20851;&#38381;&#31995;&#32479;&#26159;&#20854;&#35832;&#22810;&#39118;&#38505;&#25805;&#20316;&#20013;&#30340;&#19968;&#20363;&#65292;&#26377;&#26102;&#20505;&#65292;&#30001;&#20110;&#26576;&#20123;&#21407;&#22240;&#65292;&#36825;&#20123;&#25805;&#20316;&#21487;&#33021;&#26080;&#27861;&#25405;&#22238;&#65292;&#20182;&#20204;&#38656;&#35201;&#26356;&#22810;&#30340;&#26102;&#38388;&#26469;&#25490;&#26597;&#38382;&#39064;&#12290;&#22312; Linux &#21629;&#20196;&#34892;&#27169;&#24335;&#19979;&#25105;&#20204;&#21487;&#20197;&#25191;&#34892;&#36825;&#20123;&#20219;&#21153;&#12290;&#24456;&#22810;&#26102;&#20505;&#65292;&#30001;&#20110;&#29087;&#24713;&#21629;&#20196;&#34892;&#65292;Linux &#31649;&#29702;&#21592;&#26356;&#20542;&#21521;&#20110;&#22312;&#21629;&#20196;&#34892;&#19979;&#23436;&#25104;&#36825;&#20123;&#20219;&#21153;&#12290;&#37325;&#21551;&#21644;&#20851;&#38381;&#31995;&#32479;&#30340; Linux &#21629;&#20196;&#24182;&#19981;&#22810;&#65292;&#29992;&#25143;&#38656;&#35201;&#26681;&#25454;&#38656;&#35201;&#65292;&#36873;&#25321;&#21512;&#36866;&#30340;&#21629;&#20196;&#26469;&#23436;&#25104;&#20219;&#21153;&#12290;&#20197;&#19979;&#25152;&#26377;&#21629;&#20196;&#37117;&#26377;&#20854;&#33258;&#36523;&#29305;&#28857;&#65292;&#24182;&#20801;&#35768;&#34987; Linux &#31649;&#29702;&#21592;&#20351;&#29992;.<strong>&#24314;&#35758;&#38405;&#35835;&#65306;</strong><a href="https://www.2daygeek.com/11-methods-to-find-check-system-server-uptime-in-linux/">&#26597;&#30475;&#31995;&#32479;/&#26381;&#21153;&#22120;&#27491;&#24120;&#36816;&#34892;&#26102;&#38388;&#30340; 11 &#20010;&#26041;&#27861;</a><a href="https://www.2daygeek.com/tuptime-a-tool-to-report-the-historical-and-statistical-running-time-of-linux-system/">Tuptime &#19968;&#27454;&#20026; Linux &#31995;&#32479;&#20445;&#23384;&#21382;&#21490;&#35760;&#24405;&#12289;&#32479;&#35745;&#36816;&#34892;&#26102;&#38388;&#24037;&#20855;</a>&#31995;&#32479;&#37325;&#21551;&#21644;&#20851;&#38381;&#20043;&#22987;&#65292;&#20250;&#36890;&#30693;&#25152;&#26377;&#24050;&#30331;&#24405;&#30340;&#29992;&#25143;&#21644;&#36827;&#31243;&#12290;&#24403;&#28982;&#65292;&#22914;&#26524;&#20351;&#29992;&#20102;&#26102;&#38388;&#21442;&#25968;&#65292;&#31995;&#32479;&#23558;&#25298;&#32477;&#26032;&#30340;&#29992;&#25143;&#30331;&#20837;&#12290;&#25191;&#34892;&#27492;&#31867;&#25805;&#20316;&#20043;&#21069;&#65292;&#25105;&#24314;&#35758;&#24744;&#22362;&#25345;&#22797;&#26597;&#65292;&#22240;&#20026;&#24744;&#21482;&#33021;&#24471;&#21040;&#24456;&#23569;&#30340;&#25552;&#31034;&#26469;&#30830;&#20445;&#36825;&#19968;&#20999;&#39034;&#21033;&#12290;&#19979;&#38754;&#38472;&#21015;&#20102;&#19968;&#20123;&#27493;&#39588;&#65306;&#30830;&#20445;&#24744;&#25317;&#26377;&#19968;&#20010;&#21487;&#20197;&#22788;&#29702;&#25925;&#38556;&#30340;&#25511;&#21046;&#21488;&#65292;&#20197;&#38450;&#20043;&#21518;&#21487;&#33021;&#20250;&#21457;&#29983;&#30340;&#38382;&#39064;&#12290; VMWare &#21487;&#20197;&#35775;&#38382;&#34394;&#25311;&#26426;&#65292;&#32780; IPMI&#12289;iLO &#21644; iDRAC &#21487;&#20197;&#35775;&#38382;&#29289;&#29702;&#26381;&#21153;&#22120;&#12290;&#24744;&#38656;&#35201;&#36890;&#36807;&#20844;&#21496;&#30340;&#27969;&#31243;&#65292;&#30003;&#35831;&#20462;&#25913;&#25110;&#25925;&#38556;&#30340;&#25191;&#34892;&#26435;&#30452;&#21040;&#24471;&#21040;&#35768;&#21487;&#12290;&#20026;&#23433;…