<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>14 &#8211; bhzhuOS爱好者(原StartOS爱好者)</title>
	<atom:link href="https://www.bhzhu203.com/tag/14/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bhzhu203.com</link>
	<description>QQ群号125732839</description>
	<lastBuildDate>Mon, 22 Jan 2018 13:31:25 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.7</generator>
	<item>
		<title>在 Linux 上简单模拟系统负载的方法</title>
		<link>https://www.bhzhu203.com/2018/01/22/%e5%9c%a8-linux-%e4%b8%8a%e7%ae%80%e5%8d%95%e6%a8%a1%e6%8b%9f%e7%b3%bb%e7%bb%9f%e8%b4%9f%e8%bd%bd%e7%9a%84%e6%96%b9%e6%b3%95/</link>
		
		<dc:creator><![CDATA[bhzhu203]]></dc:creator>
		<pubDate>Mon, 22 Jan 2018 13:31:25 +0000</pubDate>
				<category><![CDATA[linux知识]]></category>
		<category><![CDATA[14]]></category>
		<category><![CDATA[28]]></category>
		<category><![CDATA[CN]]></category>
		<guid isPermaLink="false">http://www.bhzhu203.com/?p=450</guid>

					<description><![CDATA[编译自：https://bash-prompt.net/guides/creat [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="header_info" class="h bm bm_c">
<p class="copyright"><span class="z textcut">编译自：<a href="https://bash-prompt.net/guides/create-system-load/" target="_blank" rel="noopener">https://bash-prompt.net/guides/create-system-load/</a></span> <span class="y">作者： Elliot Cooper</span> <br class="clear" /> <span class="z">原创：<a href="https://linux.cn/lctt/" target="_blank" rel="noopener">LCTT</a> <a href="https://linux.cn/article-9235-1.html" target="_blank" rel="noopener">https://linux.cn/article-9235-1.html</a></span> <span class="y">译者： <a href="https://linux.cn/lctt/lujun9972" target="_blank" rel="noopener">DarkSun</a></span> <br class="clear" /> <span class="z">本文地址：<a href="https://linux.cn/article-9235-1.html">https://linux.cn/article-9235-1.html</a></span></p>
<p class="xg1">2018-01-14 10:31</p>
</div>
<div id="diysummarytop" class="area"></div>
<div id="diysummarybottom" class="area"></div>
<div class="d">
<div id="diycontenttop" class="area"></div>
<div id="inner_nav" class="bm">
<div class="bm_h cl">本文导航</div>
<div class="bm_c inner_menu">
<ul class="xl cl">
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-9235-1.html#3_496">CPU</a><span class="y">13%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-9235-1.html#3_1063">内存占用</a><span class="y">28%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-9235-1.html#3_2054">磁盘 I/O</a><span class="y">54%</span></li>
</ul>
</div>
</div>
<div id="ad10" class="linuxcnad"></div>
<div id="article_content" class="bm">
<div class="linuxcnad"></div>
<p>系统管理员通常需要探索在不同负载对应用性能的影响。这意味着必须要重复地人为创造负载。当然，你可以通过专门的工具来实现，但有时你可能不想也无法安装新工具。</p>
<p>每个 Linux 发行版中都自带有创建负载的工具。他们不如专门的工具那么灵活，但它们是现成的，而且无需专门学习。</p>
<p><a id="3_496" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="toc_1">CPU</h3>
<p>下面命令会创建 CPU 负荷，方法是通过压缩随机数据并将结果发送到 <code>/dev/null</code>：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">cat</span> <span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">urandom </span><span class="pun">|</span><span class="pln"> gzip </span><span class="pun">-</span><span class="lit">9</span> <span class="pun">&gt;</span> <span class="str">/dev/</span><span class="kwd">null</span></code></li>
</ol>
<p>如果你想要更大的负荷，或者系统有多个核，那么只需要对数据进行压缩和解压就行了，像这样：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">cat</span> <span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">urandom </span><span class="pun">|</span><span class="pln"> gzip </span><span class="pun">-</span><span class="lit">9</span> <span class="pun">|</span><span class="pln"> gzip </span><span class="pun">-</span><span class="pln">d </span><span class="pun">|</span><span class="pln"> gzip </span><span class="pun">-</span><span class="lit">9</span> <span class="pun">|</span><span class="pln"> gzip </span><span class="pun">-</span><span class="pln">d </span><span class="pun">&gt;</span> <span class="str">/dev/</span><span class="kwd">null</span></code></li>
</ol>
<p>按下 <code>CTRL+C</code> 来终止进程。</p>
<p><a id="3_1063" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="toc_2">内存占用</h3>
<p>下面命令会减少可用内存的总量。它是通过在内存中创建文件系统然后往里面写文件来实现的。你可以使用任意多的内存，只需哟往里面写入更多的文件就行了。</p>
<p>首先，创建一个挂载点，然后将 ramfs 文件系统挂载上去：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">mkdir</span><span class="pln"> z</span></code></li>
<li class="L1"><code><span class="kwd">mount</span> <span class="pun">-</span><span class="pln">t ramfs ramfs z</span><span class="pun">/</span></code></li>
</ol>
<p>第二步，使用 <code>dd</code> 在该目录下创建文件。这里我们创建了一个 128M 的文件：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">dd</span> <span class="kwd">if</span><span class="pun">=</span><span class="str">/dev/</span><span class="pln">zero of</span><span class="pun">=</span><span class="pln">z</span><span class="pun">/</span><span class="kwd">file</span><span class="pln"> bs</span><span class="pun">=</span><span class="lit">1M</span><span class="pln"> count</span><span class="pun">=</span><span class="lit">128</span></code></li>
</ol>
<p>文件的大小可以通过下面这些操作符来修改：</p>
<ul>
<li><code>bs=</code> 块大小。可以是任何数字后面接上 <code>B</code>（表示字节），<code>K</code>（表示 KB），<code>M</code>（ 表示 MB）或者 <code>G</code>（表示 GB）。</li>
<li><code>count=</code> 要写多少个块。</li>
</ul>
<p><a id="3_2054" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="toc_3">磁盘 I/O</h3>
<p>创建磁盘 I/O 的方法是先创建一个文件，然后使用 <code>for</code> 循环来不停地拷贝它。</p>
<p>下面使用命令 <code>dd</code> 创建了一个全是零的 1G 大小的文件：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">dd</span> <span class="kwd">if</span><span class="pun">=</span><span class="str">/dev/</span><span class="pln">zero of</span><span class="pun">=</span><span class="pln">loadfile bs</span><span class="pun">=</span><span class="lit">1M</span><span class="pln"> count</span><span class="pun">=</span><span class="lit">1024</span></code></li>
</ol>
<p>下面命令用 <code>for</code> 循环执行 10 次操作。每次都会拷贝 <code>loadfile</code> 来覆盖 <code>loadfile1</code>：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span> <span class="pun">{</span><span class="lit">1.</span><span class="pun">.</span><span class="lit">10</span><span class="pun">};</span> <span class="kwd">do</span> <span class="kwd">cp</span><span class="pln"> loadfile loadfile1</span><span class="pun">;</span> <span class="kwd">done</span></code></li>
</ol>
<p>通过修改 <code>{1..10}</code> 中的第二个参数来调整运行时间的长短。（LCTT 译注：你的 Linux 系统中的默认使用的 <code>cp</code> 命令很可能是 <code>cp -i</code> 的别名，这种情况下覆写会提示你输入 <code>y</code> 来确认，你可以使用 <code>-f</code> 参数的 <code>cp</code> 命令来覆盖此行为，或者直接用 <code>/bin/cp</code> 命令。）</p>
<p>若你想要一直运行，直到按下 <code>CTRL+C</code> 来停止，则运行下面命令：</p>
<ol class="linenums">
<li class="L0"><code><span class="kwd">while</span> <span class="kwd">true</span><span class="pun">;</span> <span class="kwd">do</span> <span class="kwd">cp</span><span class="pln"> loadfile loadfile1</span><span class="pun">;</span> <span class="kwd">done</span></code></li>
</ol>
<hr />
<p>via: <a class="ext" href="https://bash-prompt.net/guides/create-system-load/" target="_blank" rel="external nofollow noopener">https://bash-prompt.net/guides/create-system-load/</a></p>
<p>作者：<a class="ext" href="https://bash-prompt.net" target="_blank" rel="external nofollow noopener">Elliot Cooper</a> 译者：<a class="ext" href="https://github.com/lujun9972" target="_blank" rel="external nofollow noopener">lujun9972</a> 校对：<a class="ext" href="https://github.com/wxy" target="_blank" rel="external nofollow noopener">wxy</a></p>
<p>本文由 <a class="ext" href="https://github.com/LCTT/TranslateProject" target="_blank" rel="external nofollow noopener">LCTT</a> 原创编译，<a href="https://linux.cn/article-9235-1.html?utm_source=index&amp;utm_medium=more">Linux中国</a> 荣誉推出</p>
</div>
</div>
<div id="footer_info" class="h bm_c bm">
<p class="copyright"><span class="z textcut">编译自：<a href="https://bash-prompt.net/guides/create-system-load/" target="_blank" rel="noopener">https://bash-prompt.net/guides/create-system-load/</a></span> <span class="y">作者： Elliot Cooper</span> <br class="clear" /> <span class="z">原创：<a href="https://linux.cn/lctt/" target="_blank" rel="noopener">LCTT</a> <a href="https://linux.cn/article-9235-1.html" target="_blank" rel="noopener">https://linux.cn/article-9235-1.html</a></span> <span class="y">译者： lujun9972</span> <br class="clear" /><br />
本文由 LCTT 原创翻译，<a href="https://linux.cn/article-9235-1.html">Linux中国首发</a>。也想加入译者行列，为开源做一些自己的贡献么？欢迎加入 <a href="http://lctt.github.io/" target="_blank" rel="noopener">LCTT</a>！<br />
翻译工作和译文发表仅用于学习和交流目的，翻译工作遵照 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="noopener">CC-BY-NC-SA 协议规定</a>，如果我们的工作有侵犯到您的权益，请及时联系我们。 <br class="clear" /> 欢迎遵照 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="noopener">CC-BY-NC-SA 协议规定</a>转载，敬请在正文中标注并保留原文/译文链接和作者/译者等信息。 <br class="clear" /> 文章仅代表作者的知识和看法，如有不同观点，请楼下排队<a>吐槽</a> <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>vim 神器的打造方式</title>
		<link>https://www.bhzhu203.com/2017/10/25/vim-%e7%a5%9e%e5%99%a8%e7%9a%84%e6%89%93%e9%80%a0%e6%96%b9%e5%bc%8f/</link>
		
		<dc:creator><![CDATA[bhzhu203]]></dc:creator>
		<pubDate>Wed, 25 Oct 2017 10:52:12 +0000</pubDate>
				<category><![CDATA[linux知识]]></category>
		<category><![CDATA[14]]></category>
		<category><![CDATA[25]]></category>
		<category><![CDATA[64]]></category>
		<guid isPermaLink="false">http://www.bhzhu203.com/?p=446</guid>

					<description><![CDATA[转载自：SF https://segmentfault.com/a/119000 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="header_info" class="h bm bm_c">
<p class="copyright"><span class="z textcut">转载自：SF <a href="https://segmentfault.com/a/1190000011466454" target="_blank" rel="noopener">https://segmentfault.com/a/1190000011466454</a></span> <span class="y">作者： 枫上雾棋</span> <br class="clear" /> <span class="z">本文地址：<a href="https://linux.cn/article-8997-1.html">https://linux.cn/article-8997-1.html</a></span></p>
<p class="xg1">2017-10-24 18:40    收藏: <em id="_favtimes">4</em></p>
</div>
<div id="diysummarytop" class="area"></div>
<div id="diysummarybottom" class="area"></div>
<div class="d">
<div id="diycontenttop" class="area"></div>
<div id="inner_nav" class="bm">
<div class="bm_h cl">本文导航</div>
<div class="bm_c inner_menu">
<ul class="xl cl">
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#3_463">安装</a><span class="y">03%</span></li>
<li><span class="folder"><a>&#8211;</a></span><a href="https://linux.cn/article-8997-1.html#3_573">新手指南</a><span class="y">04%</span>
<ul class="xl cl">
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_787">移动光标</a><span class="y">05%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1088">退出</a><span class="y">08%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1190">删除</a><span class="y">08%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1386">修改</a><span class="y">10%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1520">撤销</a><span class="y">11%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1587">复制粘贴剪切</a><span class="y">11%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1709">状态</a><span class="y">12%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_1787">查找</a><span class="y">13%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_2047">替换</a><span class="y">15%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_2203">折叠</a><span class="y">16%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_2311">执行外部命令</a><span class="y">17%</span></li>
</ul>
</li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#3_2379">.vimrc</a><span class="y">17%</span></li>
<li><span class="folder"><a>&#8211;</a></span><a href="https://linux.cn/article-8997-1.html#3_3047">基本配置</a><span class="y">22%</span>
<ul class="xl cl">
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3070">取消备份</a><span class="y">22%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3155">文件编码</a><span class="y">23%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3230">显示行号</a><span class="y">23%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3297">取消换行</a><span class="y">24%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3364">显示光标当前位置</a><span class="y">24%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3442">设置缩进</a><span class="y">25%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3543">突出显示当前行</a><span class="y">26%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3623">查找</a><span class="y">26%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3697">左下角显示当前 vim 模式</a><span class="y">27%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3786">代码折叠</a><span class="y">28%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_3895">主题</a><span class="y">28%</span></li>
</ul>
</li>
<li><span class="folder"><a>&#8211;</a></span><a href="https://linux.cn/article-8997-1.html#3_4336">插件配置</a><span class="y">32%</span>
<ul class="xl cl">
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_4359">树形目录</a><span class="y">32%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_6227">代码，引号，路径补全</a><span class="y">46%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_6821">语法高亮，检查</a><span class="y">50%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_7581">文件，代码搜索</a><span class="y">56%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_8046">加强版状态栏</a><span class="y">59%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_8484">代码注释</a><span class="y">62%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_9296">git</a><span class="y">68%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_9646">Markdown</a><span class="y">71%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_9960">Emmet</a><span class="y">73%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_10310">html 5</a><span class="y">76%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_10494">css 3</a><span class="y">77%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_11073">JavaScipt</a><span class="y">82%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_12305">React</a><span class="y">91%</span></li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#4_12567">Prettier</a><span class="y">93%</span></li>
</ul>
</li>
<li><span class="folder">&#8211;</span><a href="https://linux.cn/article-8997-1.html#3_13198">总结</a><span class="y">97%</span></li>
</ul>
</div>
</div>
<div id="article_content" class="bm">
<div class="linuxcnad"></div>
<p>Vim 是一个上古神器，本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项，以及持续分享一个前端工作者不得不安装的一些插件，而关于 Vim 的简介，主题的选择，以及为何使用 vim-plug 来管理插件等内容，有兴趣的同学下来可以自己了解和对比下。</p>
<p><a id="3_463" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3>安装</h3>
<pre>sudo apt-get install vim  // Ubuntu</pre>
<p>其他平台，可以自行谷歌。</p>
<p><a id="3_573" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="articleHeader1">新手指南</h3>
<pre>vimtutor  // vim 教程</pre>
<p>上面是史上最简单，最全面的Vim基础教程，至今无人超越。</p>
<p>下面是作者基于上面的归纳：</p>
<p><a id="4_787" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>移动光标</h4>
<pre>hjkl
2w 向前移动两个单词
3e 向前移动到第 3 个单词的末尾
0 移动到行首
$ 当前行的末尾
gg 文件第一行
G 文件最后一行
行号+G 指定行
&lt;ctrl&gt;+o 跳转回之前的位置
&lt;ctrl&gt;+i 返回跳转之前的位置</pre>
<p><a id="4_1088" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>退出</h4>
<pre>&lt;esc&gt; 进入正常模式
:q! 不保存退出
:wq 保存后退出</pre>
<p><a id="4_1190" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>删除</h4>
<pre>x 删除当前字符
dw 删除至当前单词末尾
de 删除至当前单词末尾，包括当前字符
d$ 删除至当前行尾
dd 删除整行
2dd 删除两行</pre>
<p><a id="4_1386" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>修改</h4>
<pre>i 插入文本
A 当前行末尾添加
r 替换当前字符
o 打开新的一行并进入插入模式</pre>
<p><a id="4_1520" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>撤销</h4>
<pre>u 撤销
&lt;ctrl&gt;+r 取消撤销</pre>
<p><a id="4_1587" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>复制粘贴剪切</h4>
<pre>v 进入可视模式
y 复制
p 粘贴
yy 复制当前行
dd 剪切当前行</pre>
<p><a id="4_1709" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>状态</h4>
<pre>&lt;ctrl&gt;+g 显示当前行以及文件信息</pre>
<p><a id="4_1787" class="target-fix ext" target="_blank" rel="external nofollow"></a><a id="4_3623" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>查找</h4>
<pre>/ 正向查找（n：继续查找，N：相反方向继续查找）
? 逆向查找
% 查找配对的 {，[，(
:set ic 忽略大小写
:set noic 取消忽略大小写
:set hls 匹配项高亮显示
:set is 显示部分匹配</pre>
<p><a id="4_2047" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>替换</h4>
<pre>:s/old/new 替换该行第一个匹配串
:s/old/new/g 替换全行的匹配串
:%s/old/new/g 替换整个文件的匹配串</pre>
<p><a id="4_2203" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>折叠</h4>
<pre>zc 折叠
zC 折叠所有嵌套
zo 展开折叠
zO 展开所有折叠嵌套</pre>
<p><a id="4_2311" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>执行外部命令</h4>
<pre>:!shell 执行外部命令</pre>
<p><a id="3_2379" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="articleHeader13">.vimrc</h3>
<p><code>.vimrc</code> 是 Vim 的配置文件，需要我们自己创建：</p>
<pre>cd Home               // 进入 Home 目录
touch .vimrc          // 配置文件

# Unix
# vim-plug
# Vim
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# Neovim
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim</pre>
<p>其他平台，可以查看 <a class="ext" href="https://github.com/junegunn/vim-plug" target="_blank" rel="external nofollow noopener">vim-plug</a>。</p>
<p><a id="3_3047" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3>基本配置</h3>
<p><a id="4_3070" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader15">取消备份</h4>
<pre>set nobackup
set noswapfile</pre>
<p><a id="4_3155" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader16">文件编码</h4>
<pre>set encoding=utf-8</pre>
<p><a id="4_3230" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader17">显示行号</h4>
<pre>set number</pre>
<p><a id="4_3297" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader18">取消换行</h4>
<pre>set nowrap</pre>
<p><a id="4_3364" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader19">显示光标当前位置</h4>
<pre>set ruler</pre>
<p><a id="4_3442" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader20">设置缩进</h4>
<pre>set cindent
set tabstop=2
set shiftwidth=2</pre>
<p><a id="4_3543" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader21">突出显示当前行</h4>
<pre>set cursorline</pre>
<p><a id="4_1787" class="target-fix ext" target="_blank" rel="external nofollow"></a><a id="4_3623" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader22">查找</h4>
<pre>set ic
set hls
set is</pre>
<p><a id="4_3697" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader23">左下角显示当前 vim 模式</h4>
<pre>set showmode</pre>
<p><a id="4_2203" class="target-fix ext" target="_blank" rel="external nofollow"></a><a id="4_3786" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader24">代码折叠</h4>
<pre># 启动 vim 时关闭折叠代码
set nofoldenable</pre>
<p><a id="4_3895" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader25">主题</h4>
<pre>syntax enable
set background=dark
colorscheme solarized</pre>
<ul>
<li><a class="ext" href="https://github.com/altercation/vim-colors-solarized" target="_blank" rel="external nofollow noopener">altercation/vim-colors-solarized</a></li>
<li><a class="ext" href="https://github.com/Anthony25/gnome-terminal-colors-solarized" target="_blank" rel="external nofollow noopener">Anthony25/gnome-terminal-colors-solarized</a></li>
</ul>
<p><a id="3_4336" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3>插件配置</h3>
<p><a id="4_4359" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader27">树形目录</h4>
<pre>Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs'
Plug 'Xuyuanp/nerdtree-git-plugin'

autocmd vimenter * NERDTree
map &lt;C-n&gt; :NERDTreeToggle&lt;CR&gt;
let NERDTreeShowHidden=1
let g:NERDTreeShowIgnoredStatus = 1
let g:nerdtree_tabs_open_on_console_startup=1
let g:NERDTreeIndicatorMapCustom = {
    \ "Modified"  : "✹",
    \ "Staged"    : "✚",
    \ "Untracked" : "✭",
    \ "Renamed"   : "➜",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "&#x2716;",
    \ "Dirty"     : "✗",
    \ "Clean"     : "&#x2714;︎",
    \ 'Ignored'   : '☒',
    \ "Unknown"   : "?"
    \ }

# o 打开关闭文件或目录
# e 以文件管理的方式打开选中的目录
# t 在标签页中打开
# T 在标签页中打开，但光标仍然留在 NERDTree
# r 刷新光标所在的目录
# R 刷新当前根路径
# X 收起所有目录
# p 小写，跳转到光标所在的上一级路径
# P 大写，跳转到当前根路径
# J 到第一个节点
# K 到最后一个节点
# I 显示隐藏文件
# m 显示文件操作菜单
# C 将根路径设置为光标所在的目录
# u 设置上级目录为根路径
# ctrl + w + w 光标自动在左右侧窗口切换
# ctrl + w + r 移动当前窗口的布局位置
# :tabc 关闭当前的 tab
# :tabo   关闭所有其他的 tab
# :tabp   前一个 tab
# :tabn   后一个 tab
# gT      前一个 tab
# gt      后一个 tab</pre>
<ul>
<li><a class="ext" href="https://github.com/scrooloose/nerdtree" target="_blank" rel="external nofollow noopener">scrooloose/nerdtree</a></li>
<li><a class="ext" href="https://github.com/jistr/vim-nerdtree-tabs" target="_blank" rel="external nofollow noopener">vim-nerdtree-tabs</a></li>
<li><a class="ext" href="https://github.com/Xuyuanp/nerdtree-git-plugin" target="_blank" rel="external nofollow noopener">nerdtree-git-plugin</a></li>
</ul>
<p><a id="4_6227" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader28">代码，引号，路径补全</h4>
<pre>Plug 'Valloric/YouCompleteMe'
Plug 'Raimondi/delimitMate'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }</pre>
<ul>
<li><a class="ext" href="https://github.com/Valloric/YouCompleteMe" target="_blank" rel="external nofollow noopener">Valloric/YouCompleteMe</a></li>
<li><a class="ext" href="https://github.com/Raimondi/delimitMate" target="_blank" rel="external nofollow noopener">Raimondi/delimitMate</a></li>
<li><a class="ext" href="https://github.com/Shougo/deoplete.nvim" target="_blank" rel="external nofollow noopener">Shougo/deoplete.nvim</a></li>
</ul>
<p><a id="4_6821" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>语法高亮，检查</h4>
<pre>Plug 'sheerun/vim-polyglot'
Plug 'w0rp/ale'

let g:ale_linters = {
\    'javascript': ['eslint'],
\    'css': ['stylelint'],
\}
let g:ale_fixers = {
\    'javascript': ['eslint'],
\    'css': ['stylelint'],
\}
let g:ale_fix_on_save = 1

let g:ale_sign_column_always = 1
let g:ale_sign_error = '●'
let g:ale_sign_warning = '&#x25b6;'

nmap &lt;silent&gt; &lt;C-k&gt; &lt;Plug&gt;(ale_previous_wrap)
nmap &lt;silent&gt; &lt;C-j&gt; &lt;Plug&gt;(ale_next_wrap)</pre>
<ul>
<li><a class="ext" href="https://github.com/w0rp/ale" target="_blank" rel="external nofollow noopener">w0rp/ale</a></li>
<li><a class="ext" href="https://github.com/sheerun/vim-polyglot" target="_blank" rel="external nofollow noopener">sheerun/vim-polyglot</a></li>
</ul>
<p><a id="4_7581" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>文件，代码搜索</h4>
<pre>Plug 'rking/ag.vim'
Plug 'kien/ctrlp.vim'</pre>
<ul>
<li><a class="ext" href="https://github.com/kien/ctrlp.vim" target="_blank" rel="external nofollow noopener">kien/ctrlp.vim</a></li>
<li><a class="ext" href="https://github.com/ggreer/the_silver_searcher" target="_blank" rel="external nofollow noopener">ggreer/the_silver_searcher</a></li>
<li><a class="ext" href="https://github.com/rking/ag.vim" target="_blank" rel="external nofollow noopener">rking/ag.vim</a></li>
</ul>
<p><a id="4_1709" class="target-fix ext" target="_blank" rel="external nofollow"></a><a id="4_8046" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>加强版状态栏</h4>
<pre>Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
let g:airline_theme='papercolor'</pre>
<ul>
<li><a class="ext" href="https://github.com/vim-airline/vim-airline" target="_blank" rel="external nofollow noopener">vim-airline/vim-airline</a></li>
<li><a class="ext" href="https://github.com/vim-airline/vim-airline-themes" target="_blank" rel="external nofollow noopener">vim-airline/vim-airline-themes</a></li>
</ul>
<p><a id="4_8484" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>代码注释</h4>
<pre>Plug 'scrooloose/nerdcommenter'

# &lt;leader&gt;cc // 注释
# &lt;leader&gt;cm 只用一组符号注释
# &lt;leader&gt;cA 在行尾添加注释
# &lt;leader&gt;c$ /* 注释 */
# &lt;leader&gt;cs /* 块注释 */
# &lt;leader&gt;cy 注释并复制
# &lt;leader&gt;c&lt;space&gt; 注释/取消注释
# &lt;leader&gt;ca 切换　// 和 /* */
# &lt;leader&gt;cu 取消注释

let g:NERDSpaceDelims = 1
let g:NERDDefaultAlign = 'left'
let g:NERDCustomDelimiters = {
            \ 'javascript': { 'left': '//', 'leftAlt': '/**', 'rightAlt': '*/' },
            \ 'less': { 'left': '/**', 'right': '*/' }
        \ }</pre>
<ul>
<li><a class="ext" href="https://github.com/scrooloose/nerdcommenter" target="_blank" rel="external nofollow noopener">scrooloose/nerdcommenter</a></li>
</ul>
<p><a id="4_9296" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>git</h4>
<pre>Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'</pre>
<ul>
<li><a class="ext" href="https://github.com/airblade/vim-gitgutter" target="_blank" rel="external nofollow noopener">airblade/vim-gitgutter</a></li>
<li><a class="ext" href="https://github.com/tpope/vim-fugitive" target="_blank" rel="external nofollow noopener">tpope/vim-fugitive</a></li>
</ul>
<p><a id="4_9646" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>Markdown</h4>
<pre>Plug 'suan/vim-instant-markdown'

let g:instant_markdown_slow = 1
let g:instant_markdown_autostart = 0
# :InstantMarkdownPreview</pre>
<ul>
<li><a class="ext" href="https://github.com/suan/vim-instant-markdown" target="_blank" rel="external nofollow noopener">suan/vim-instant-markdown</a></li>
</ul>
<p><a id="4_9960" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>Emmet</h4>
<pre>Plug 'mattn/emmet-vim'

let g:user_emmet_leader_key='&lt;Tab&gt;'
let g:user_emmet_settings = {
         \ 'javascript.jsx' : {
            \ 'extends' : 'jsx',
         \ },
      \ }</pre>
<ul>
<li><a class="ext" href="https://github.com/mattn/emmet-vim" target="_blank" rel="external nofollow noopener">mattn/emmet-vim</a></li>
</ul>
<p><a id="4_10310" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>html 5</h4>
<pre>Plug'othree/html5.vim'</pre>
<ul>
<li><a class="ext" href="https://github.com/othree/html5.vim" target="_blank" rel="external nofollow noopener">othree/html5.vim</a></li>
</ul>
<p><a id="4_10494" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4>css 3</h4>
<p class="article_img"><img decoding="async" src="https://dn-linuxcn.qbox.me/data/attachment/album/201710/24/184022uws9jsywf9wdd149.png" data-src="/img/bVWLbE?w=684&amp;h=451" /></p>
<pre>Plug 'hail2u/vim-css3-syntax'
Plug 'ap/vim-css-color'

augroup VimCSS3Syntax
  autocmd!

  autocmd FileType css setlocal iskeyword+=-
augroup END</pre>
<ul>
<li><a class="ext" href="https://github.com/hail2u/vim-css3-syntax" target="_blank" rel="external nofollow noopener">hail2u/vim-css3-syntax</a></li>
<li><a class="ext" href="https://github.com/ap/vim-css-color" target="_blank" rel="external nofollow noopener">ap/vim-css-color</a></li>
</ul>
<p><a id="4_11073" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader38">JavaScipt</h4>
<ol class="linenums">
<li class="L0"><code><span class="typ">Plug</span> <span class="str">'pangloss/vim-javascript'</span></code></li>
<li class="L1"><code></code></li>
<li class="L2"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_plugin_jsdoc </span><span class="pun">=</span> <span class="lit">1</span></code></li>
<li class="L3"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_plugin_ngdoc </span><span class="pun">=</span> <span class="lit">1</span></code></li>
<li class="L4"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_plugin_flow </span><span class="pun">=</span> <span class="lit">1</span></code></li>
<li class="L5"><code><span class="kwd">set</span><span class="pln"> foldmethod</span><span class="pun">=</span><span class="pln">syntax</span></code></li>
<li class="L6"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_function             </span><span class="pun">=</span> <span class="str">"ƒ"</span></code></li>
<li class="L7"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_null                 </span><span class="pun">=</span> <span class="str">"ø"</span></code></li>
<li class="L8"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_this                 </span><span class="pun">=</span> <span class="str">"@"</span></code></li>
<li class="L9"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_return               </span><span class="pun">=</span> <span class="str">"⇚"</span></code></li>
<li class="L0"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_undefined            </span><span class="pun">=</span> <span class="str">"¿"</span></code></li>
<li class="L1"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_NaN                  </span><span class="pun">=</span> <span class="str">"ℕ"</span></code></li>
<li class="L2"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_prototype            </span><span class="pun">=</span> <span class="str">"¶"</span></code></li>
<li class="L3"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_static               </span><span class="pun">=</span> <span class="str">"•"</span></code></li>
<li class="L4"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_super                </span><span class="pun">=</span> <span class="str">"Ω"</span></code></li>
<li class="L5"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_arrow_function       </span><span class="pun">=</span> <span class="str">"⇒"</span></code></li>
<li class="L6"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_noarg_arrow_function </span><span class="pun">=</span> <span class="str">" "</span></code></li>
<li class="L7"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">javascript_conceal_underscore_arrow_function </span><span class="pun">=</span> <span class="str">" "</span></code></li>
<li class="L8"><code><span class="kwd">set</span><span class="pln"> conceallevel</span><span class="pun">=</span><span class="lit">1</span></code></li>
</ol>
<ul>
<li><a class="ext" href="https://github.com/pangloss/vim-javascript" target="_blank" rel="external nofollow noopener">pangloss/vim-javascript</a></li>
</ul>
<p>（注：上述脚本中存在特殊字符，有的情况下显示不正确，请直接用上述链接的内容。）</p>
<p><a id="4_12305" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader39">React</h4>
<ol class="linenums">
<li class="L0"><code><span class="typ">Plug</span> <span class="str">'mxw/vim-jsx'</span></code></li>
<li class="L1"><code></code></li>
<li class="L2"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">jsx_ext_required </span><span class="pun">=</span> <span class="lit">0</span></code></li>
</ol>
<ul>
<li><a class="ext" href="https://github.com/mxw/vim-jsx" target="_blank" rel="external nofollow noopener">mxw/vim-jsx</a></li>
</ul>
<p><a id="4_12567" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h4 id="articleHeader40">Prettier</h4>
<ol class="linenums">
<li class="L0"><code><span class="typ">Plug</span> <span class="str">'prettier/vim-prettier'</span><span class="pun">,</span> <span class="pun">{</span></code></li>
<li class="L1"><code><span class="pln">  \ </span><span class="str">'do'</span><span class="pun">:</span> <span class="str">'yarn install'</span><span class="pun">,</span></code></li>
<li class="L2"><code><span class="pln">  \ </span><span class="str">'for'</span><span class="pun">:</span> <span class="pun">[</span><span class="str">'javascript'</span><span class="pun">,</span> <span class="str">'typescript'</span><span class="pun">,</span> <span class="str">'css'</span><span class="pun">,</span> <span class="str">'less'</span><span class="pun">,</span> <span class="str">'scss'</span><span class="pun">,</span> <span class="str">'json'</span><span class="pun">,</span> <span class="str">'graphql'</span><span class="pun">]</span> <span class="pun">}</span></code></li>
<li class="L3"><code></code></li>
<li class="L4"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">prettier</span><span class="com">#</span><span class="pln">config</span><span class="com">#</span><span class="pln">bracket_spacing </span><span class="pun">=</span> <span class="str">'true'</span></code></li>
<li class="L5"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">prettier</span><span class="com">#</span><span class="pln">config</span><span class="com">#</span><span class="pln">jsx_bracket_same_line </span><span class="pun">=</span> <span class="str">'false'</span></code></li>
<li class="L6"><code><span class="pln">let g</span><span class="pun">:</span><span class="pln">prettier</span><span class="com">#</span><span class="pln">autoformat </span><span class="pun">=</span> <span class="lit">0</span></code></li>
<li class="L7"><code><span class="pln">autocmd </span><span class="typ">BufWritePre</span> <span class="pun">*.</span><span class="pln">js</span><span class="pun">,*.</span><span class="pln">jsx</span><span class="pun">,*.</span><span class="pln">mjs</span><span class="pun">,*.</span><span class="pln">ts</span><span class="pun">,*.</span><span class="pln">tsx</span><span class="pun">,*.</span><span class="pln">css</span><span class="pun">,*.</span><span class="kwd">less</span><span class="pun">,*.</span><span class="pln">scss</span><span class="pun">,*.</span><span class="pln">json</span><span class="pun">,*.</span><span class="pln">graphql </span><span class="typ">PrettierAsync</span></code></li>
<li class="L8"><code></code></li>
<li class="L9"><code><span class="com">#</span> <span class="pun">:</span><span class="typ">Prettier</span></code></li>
</ol>
<ul>
<li><a class="ext" href="https://github.com/prettier/vim-prettier" target="_blank" rel="external nofollow noopener">prettier/vim-prettier</a></li>
</ul>
<p><a id="3_13198" class="target-fix ext" target="_blank" rel="external nofollow"></a></p>
<h3 id="articleHeader41">总结</h3>
<p>最后，呈上参考配置 <a class="ext" href="https://github.com/FengShangWuQi/to-vim/blob/master/.vimrc" target="_blank" rel="external nofollow noopener">.vimrc</a>，如果关于 vim 有更好的 idea，欢迎在评论中交流。</p>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>使用命令行生成高强度密码</title>
		<link>https://www.bhzhu203.com/2016/11/08/%e4%bd%bf%e7%94%a8%e5%91%bd%e4%bb%a4%e8%a1%8c%e7%94%9f%e6%88%90%e9%ab%98%e5%bc%ba%e5%ba%a6%e5%af%86%e7%a0%81/</link>
		
		<dc:creator><![CDATA[bhzhu203]]></dc:creator>
		<pubDate>Tue, 08 Nov 2016 11:35:56 +0000</pubDate>
				<category><![CDATA[linux知识]]></category>
		<category><![CDATA[14]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[高强度]]></category>
		<guid isPermaLink="false">http://www.bhzhu203.com/?p=374</guid>

					<description><![CDATA[设置一个高强度的密码是非常重要的，这样才能够很好的保护自己的账号或者服务器以及确 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>设置一个高强度的密码是非常重要的，这样才能够很好的保护自己的账号或者服务器以及确保自己的数据的安全。通常来说，一个高强度密码至少有 14 个字符，包括大小写字母、数字和特殊字符，并且要牢记永远不用那些字典中的单词。使用长密码比短密码要来的安全，因为密码越长越难猜测。在本文中，我将给你介绍几个不同方法，让你可以在 Linux 命令行下生成一个高强度密码。<br />
使用 openssl 生成高强度密码</p>
<p>这里使用 openssl 的 rand 方法，它会生成一个 14 位字符的随机字符：</p>
<p>    openssl rand -base64 14</p>
<p>使用 urandom 生成高强度密码</p>
<p>这里我们将使用 tr 条件来过滤 /dev/urandom 的输出，从而删掉那些不想要的字符，并打印出第一个出现的 14 位字符。</p>
<p>    < /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

使用 pwgen 生成高强度密码

pwgen 是一个生成随机、无特殊含义但可以正常拼读的密码。

安装 pwgen，运行：

    sudo apt-get install pwgen

安装好之后，使用以下命令来生成一个 14 位随机字符：

    pwgen 14 1

你也可以使用以下标记：

    -c 或 --capitalize 生成的密码中至少包含一个大写字母
    -A 或 --no-capitalize 生成的密码中不含大写字母
    -n 或 --numerals 生成的密码中至少包含一个数字
    -0 或 --no-numerals 生成的密码中不含数字
    -y 或 --symbols 生成的密码中至少包含一个特殊字符
    -s 或 --secure 生成一个完全随机的密码
    -B 或 --ambiguous 生成的密码中不含易混淆字符
    -h 或 --help 输出帮助信息
    -H 或 --sha1=path/to/file[#seed] 使用指定文件的 sha1 哈希值作为随机生成器
    -C 按列输出生成的密码
    -1 不按列输出生成的密码
    -v 或 --no-vowels 不使用任何元音，以免意外生成让人讨厌的单词

使用 gpg 生成高强度密码

我们也可以使用 gpg 工具来生成一个 14 位字符的密码：

    gpg --gen-random --armor 1 14

其它方法

当然，可能还有很多方法可以生成一个高强度密码。比方说，你可以添加以下 bash shell 方法到 ~/.bashrc 文件：

    genpasswd() { 
        strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 14 | tr -d '\n'; echo
    }

当你想要生成一个高强度的随机密码时，运行 genpasswd 就好了。

via: https://www.rosehosting.com/blog/generate-password-linux-command-line/

作者：RoseHosting 译者：GHLandy 校对：wxy

本文由 LCTT 原创编译，Linux中国 荣誉推出
</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
