<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>👨技术 on Yancey&#39;s Blog</title>
    <link>https://www.yecnay.org/posts/tech/</link>
    <description>Recent content in 👨技术 on Yancey&#39;s Blog</description>
    <generator>Hugo -- 0.147.9</generator>
    <language>zh</language>
    <lastBuildDate>Wed, 14 May 2025 08:40:26 +0800</lastBuildDate>
    <atom:link href="https://www.yecnay.org/posts/tech/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>清除Office for Mac的最近文件记录</title>
      <link>https://www.yecnay.org/posts/tech/%E6%B8%85%E9%99%A4office-for-mac%E7%9A%84%E6%9C%80%E8%BF%91%E6%96%87%E4%BB%B6%E8%AE%B0%E5%BD%95/</link>
      <pubDate>Wed, 14 May 2025 08:40:26 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/%E6%B8%85%E9%99%A4office-for-mac%E7%9A%84%E6%9C%80%E8%BF%91%E6%96%87%E4%BB%B6%E8%AE%B0%E5%BD%95/</guid>
      <description>&lt;p&gt;我相信很多人都希望在启动 Mac 上的办公应用程序时能够清除之前打开的文件列表。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/idle4you/ClearRecordsRecentFilesMSOffice/assets/71770803/ff08f599-de42-44e9-b548-e50392e60711&#34;&gt;&lt;/p&gt;
&lt;p&gt;当然，可以逐个删除文件链接，但如果文件链接太多，删除起来会花费很多时间。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Autojump命令行工具</title>
      <link>https://www.yecnay.org/posts/tech/autojump_command/</link>
      <pubDate>Sat, 05 Oct 2024 22:06:48 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/autojump_command/</guid>
      <description>&lt;h3 id=&#34;1-介绍&#34;&gt;1. 介绍&lt;/h3&gt;
&lt;p&gt;autojump 仓库：&lt;a href=&#34;https://github.com/wting/autojump&#34;&gt;https://github.com/wting/autojump&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;autojump 是一个命令行工具，可以快速跳转到想跳转的目录&lt;/p&gt;
&lt;p&gt;它的用途就是可以让你更快地切换目录，而不用再像以前那样频繁的使用 cd 命令进入指定目录&lt;/p&gt;</description>
    </item>
    <item>
      <title>MacOS M3 修复 Homebrew 自动补全</title>
      <link>https://www.yecnay.org/posts/tech/macos-m3-fix-homebrew-autocomplete/</link>
      <pubDate>Mon, 23 Sep 2024 06:07:08 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/macos-m3-fix-homebrew-autocomplete/</guid>
      <description>&lt;p&gt;在macOS m3上安装Oh-My-Zsh后，如果发现brew命令无法自动补全，这通常是因为Zsh补全功能没有正确配置或初始化。你可以按以下步骤确保 brew 补全功能正常工作：&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何在 Debian 和 Ubuntu 上使用 Nginx 安装 WordPress</title>
      <link>https://www.yecnay.org/posts/tech/wordpress_install/</link>
      <pubDate>Tue, 28 Nov 2023 13:12:33 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/wordpress_install/</guid>
      <description>&lt;p&gt;NGINX（发音为 engine-x）是一个开源的强大、轻量级和灵活的 HTTP 服务器，在过去几年中越来越受欢迎，现在已成为一些最大流量网站的主要服务器接口，如 Facebook、WordPress、Sourceforge 等。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vim快捷键小记</title>
      <link>https://www.yecnay.org/posts/tech/vim%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B0%8F%E8%AE%B0/</link>
      <pubDate>Sat, 28 Oct 2023 14:09:44 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/vim%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B0%8F%E8%AE%B0/</guid>
      <description>&lt;h3 id=&#34;1前言&#34;&gt;1、前言&lt;/h3&gt;
&lt;p&gt;vi是“visual interface”的缩写，vim是vi IMproved(增强版的vi)。总结一下自己平时常用的vim快捷键，当是忘记也好，后续会不定期更新。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ITerm2快捷键小记</title>
      <link>https://www.yecnay.org/posts/tech/iterm2%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B0%8F%E8%AE%B0/</link>
      <pubDate>Sat, 28 Oct 2023 14:01:18 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/iterm2%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%B0%8F%E8%AE%B0/</guid>
      <description>&lt;h3 id=&#34;1前言&#34;&gt;1、前言&lt;/h3&gt;
&lt;p&gt;总结一下自己平时常用的iTerm快捷键，当是备忘也好，后续会不定期更新。&lt;/p&gt;
&lt;h3 id=&#34;2iterm2-快捷键&#34;&gt;2、iTerm2 快捷键&lt;/h3&gt;
&lt;h4 id=&#34;思维导图&#34;&gt;思维导图&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&#34;20180803-iTerm2-Shortcut-20190330.png&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iHTCboy/iGallery/raw/master/BlogImages/2018/08/20180803-iTerm2-Shortcut-20190330.png&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;快捷键&#34;&gt;快捷键&lt;/h4&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;快捷键&lt;/th&gt;
          &lt;th&gt;作用说明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;command + f&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;搜索&amp;amp;查找&lt;/strong&gt;，如果输入搜索内容后，按下 tab 键，就会 iTerm 自动帮选中搜索关键词，并且自动的帮我们复制到了剪贴板中。如果输入的是 shift+tab，则自动将查找内容的左边选中并复制。按 esc 退出搜索。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + r 或 ctrl + l&lt;/td&gt;
          &lt;td&gt;清空屏幕，而且只是换到新一屏，不会像 clear 一样创建一个空屏&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + k&lt;/td&gt;
          &lt;td&gt;clear，清空屏幕&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + d&lt;/td&gt;
          &lt;td&gt;垂直分屏&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + shift + d&lt;/td&gt;
          &lt;td&gt;水平分屏&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + ;&lt;/td&gt;
          &lt;td&gt;查看历史命令&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + shift + h&lt;/td&gt;
          &lt;td&gt;查看剪贴板历史，会自动列出输入过的命令&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + number&lt;/td&gt;
          &lt;td&gt;tab 标签窗口来回切换&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;command + option + ←/→ 或 command + [ / ]&lt;/td&gt;
          &lt;td&gt;切换屏幕&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + x&lt;/td&gt;
          &lt;td&gt;第一次按时，移动光标至行首；再次按时，回到原有位置&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + a&lt;/td&gt;
          &lt;td&gt;到行首（Ahead of line）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + e&lt;/td&gt;
          &lt;td&gt;到行尾（End of line）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + f/b&lt;/td&gt;
          &lt;td&gt;前进后退(相当于左右方向键)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + u&lt;/td&gt;
          &lt;td&gt;清除当前行（无论光标在什么位置）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + d&lt;/td&gt;
          &lt;td&gt;删除光标当前位置的&lt;strong&gt;字符&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + h&lt;/td&gt;
          &lt;td&gt;删除光标之前的&lt;strong&gt;字符&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + w&lt;/td&gt;
          &lt;td&gt;删除光标之前的&lt;strong&gt;单词&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + k&lt;/td&gt;
          &lt;td&gt;删除光标当前位置到文本末尾的&lt;strong&gt;所有字符&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + t&lt;/td&gt;
          &lt;td&gt;交换光标当前位置的字符与前一个字符的位置&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + c 或 ctrl + j 或 ctrl + o&lt;/td&gt;
          &lt;td&gt;取消当前行输入的命令（中断操作）。重新起一行。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + y&lt;/td&gt;
          &lt;td&gt;粘贴之前（ctrl +u/k/w）删除的内容&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + p 或 !!&lt;/td&gt;
          &lt;td&gt;上一条命令。调出命令历史中的前一条（Previous）命令，相当于通常的上箭头&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + n&lt;/td&gt;
          &lt;td&gt;下一条命令。调出命令历史中的下一条（Next）命令，相当于通常的上箭头&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + s&lt;/td&gt;
          &lt;td&gt;冻结终端操作（暂停脚本）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + q&lt;/td&gt;
          &lt;td&gt;恢复冻结（继续执行脚本）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + r&lt;/td&gt;
          &lt;td&gt;搜索命令历史。根据用户输入查找相关历史命令（reverse-i-search）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + l 或 command + r&lt;/td&gt;
          &lt;td&gt;换到新一屏，创建一个空屏&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctrl + i 或 tab&lt;/td&gt;
          &lt;td&gt;横行制表符，在命令行中补齐指令&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;双击&lt;/td&gt;
          &lt;td&gt;选中单词&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;三击&lt;/td&gt;
          &lt;td&gt;选中整行&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;四击&lt;/td&gt;
          &lt;td&gt;智能选择&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;!word&lt;/td&gt;
          &lt;td&gt;重复运行最近一条以“word”开头的指令，如!ls 或 !l&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;!$&lt;/td&gt;
          &lt;td&gt;调用上一条指令的最后一个参数作为当前指令对象,如，假设上一条指令为： ls abc.txt bbc.txt 那么， vi !$ 相当于： vi bbc.txt&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;!number&lt;/td&gt;
          &lt;td&gt;调用执行指定编号的历史记录指令,如!2, !11&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;参考&#34;&gt;参考&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://cnbin.github.io/blog/2015/06/20/iterm2-kuai-jie-jian-da-quan/&#34;&gt;iTerm2 快捷键大全 - 陈斌彬的技术博客&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>screen 命令使用</title>
      <link>https://www.yecnay.org/posts/tech/screen/</link>
      <pubDate>Thu, 12 Oct 2023 07:58:20 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/screen/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://handerfly.github.io/tags/#Linux&#34;&gt;Linux&lt;/a&gt; &lt;a href=&#34;https://handerfly.github.io/tags/#Screen&#34;&gt;Screen&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;screen-命令使用&#34;&gt;screen 命令使用&lt;/h1&gt;
&lt;h2 id=&#34;彻底搞清楚screen-命令使用&#34;&gt;彻底搞清楚screen 命令使用&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Posted by BenderFly on March 31, 2019&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;screen 是一个非常有用的命令，提供从单个 SSH 会话中使用多个 shell 窗口（会话）的能力。当会话被分离或网络中断时，screen 会话中启动的进程仍将运行，你可以随时重新连接到 screen 会话&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何在Debian上设置无人值守自动更新</title>
      <link>https://www.yecnay.org/posts/tech/unattended-upgrades/</link>
      <pubDate>Mon, 09 Oct 2023 18:45:59 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/unattended-upgrades/</guid>
      <description>&lt;p&gt;本指南向您展示如何使用*无人值守升级服务在 Debian 系统上自动设置更新。&lt;/p&gt;
&lt;p&gt;确保 Linux 服务器安全的核心部分之一是按时安装安全更新。这是 Linux 管理员使系统保持最新状态的关键任务之一。此外，它还可以使您的系统更加稳定和安全。&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS使用homebrew-bundle优雅的备份和恢复软件列表</title>
      <link>https://www.yecnay.org/posts/tech/homebrew-bundle/</link>
      <pubDate>Sat, 16 Sep 2023 00:29:55 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/homebrew-bundle/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;
&lt;p&gt;每个人都会积累一套自己习惯使用的 App。如果平时习惯使用 Time Machine 备份，那么在重装系统时，直接用它还原倒是一个不错的办法，不必再手动安装一个个  App。但是有些时候，我们可能想要一个更加「干净」的新系统，此时就需要依次手动安装。这显然不是个高效、省心的方法，可能还需要一个个回忆之前用的  App。这时候，我们往往希望有一份属于自己的 App  清单，最好还能在重装时一键安装，省心省力。无论是Windows还是macOS下我们都希望实现一键装机，而 homebrew-bundle  正是这样一款 Mac 下的备份恢复利器。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用iptebles实现服务器之间流量转发</title>
      <link>https://www.yecnay.org/posts/tech/proxy_forward/</link>
      <pubDate>Fri, 15 Sep 2023 13:46:54 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/proxy_forward/</guid>
      <description>&lt;p&gt;相信有很多人使用过流量转发，比如用商家转发到落地机的，那么怎么实现这种转发呢？其实很简单，几行命令搞定，这次俺们用 iptables 来演示一下。&lt;/p&gt;
&lt;p&gt;流量走向：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;客户端 --&amp;gt; GFW --&amp;gt; A服务器 --&amp;gt; B服务器（落地） --&amp;gt; YouTube --&amp;gt; 返回客户端
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A服务器IP：2.2.2.2 端口：20000
B服务器IP：6.6.6.6 端口：60000&lt;/p&gt;</description>
    </item>
    <item>
      <title>查看Homebrew中所有已安装包的依赖关系</title>
      <link>https://www.yecnay.org/posts/tech/%E6%9F%A5%E7%9C%8Bhomebrew%E4%B8%AD%E6%89%80%E6%9C%89%E5%B7%B2%E5%AE%89%E8%A3%85%E5%8C%85%E7%9A%84%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB/</link>
      <pubDate>Fri, 15 Sep 2023 13:46:54 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/%E6%9F%A5%E7%9C%8Bhomebrew%E4%B8%AD%E6%89%80%E6%9C%89%E5%B7%B2%E5%AE%89%E8%A3%85%E5%8C%85%E7%9A%84%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB/</guid>
      <description>&lt;p&gt;列出所有包&lt;strong&gt;依赖&lt;/strong&gt;的包：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew deps --tree --installed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;列出&lt;strong&gt;不被&lt;/strong&gt;任何包&lt;strong&gt;依赖&lt;/strong&gt;的包：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew leaves
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;列出&lt;strong&gt;依赖&lt;/strong&gt;某个包pac的所有包：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew uses pac --installed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;结合brew list可以列出所有包&lt;strong&gt;被依赖&lt;/strong&gt;的关系：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew list &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;read&lt;/span&gt; cask
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -en &lt;span class=&#34;nv&#34;&gt;$cask&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	brew uses &lt;span class=&#34;nv&#34;&gt;$cask&lt;/span&gt; --installed &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tr &lt;span class=&#34;s1&#34;&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;\t&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -en &lt;span class=&#34;s1&#34;&gt;&amp;#39;\n&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>使用Nginx和Hugo建立静态网站</title>
      <link>https://www.yecnay.org/posts/tech/%E4%BD%BF%E7%94%A8nginx%E5%92%8Chugo%E5%BB%BA%E7%AB%8B%E9%9D%99%E6%80%81%E7%BD%91%E7%AB%99/</link>
      <pubDate>Fri, 15 Sep 2023 00:39:42 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/%E4%BD%BF%E7%94%A8nginx%E5%92%8Chugo%E5%BB%BA%E7%AB%8B%E9%9D%99%E6%80%81%E7%BD%91%E7%AB%99/</guid>
      <description>&lt;h3 id=&#34;安装服务器和设置防火墙&#34;&gt;安装服务器和设置防火墙&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo apt install nginx ufw
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo ufw allow &lt;span class=&#34;m&#34;&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo ufw reload
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo ufw allow &lt;span class=&#34;s1&#34;&gt;&amp;#39;Nginx Full&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo ufw reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看防火墙状态&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo ufw status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;配置-nginx-server&#34;&gt;配置 Nginx server&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo systemctl start nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;默认网页根目录在 &lt;strong&gt;/var/www/&lt;/strong&gt;. 创建新站点文件 &lt;strong&gt;/etc/nginx/sites-available&lt;/strong&gt; 使用 &lt;strong&gt;example.com&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo emacs /etc/nginx/sites-available/example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;粘贴以下内容：&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用非标准SSH端口进行Git Clone</title>
      <link>https://www.yecnay.org/posts/tech/gitclone%E9%9D%9E%E6%A0%87%E5%87%86ssh%E7%AB%AF/</link>
      <pubDate>Sat, 08 Oct 2022 21:32:56 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/gitclone%E9%9D%9E%E6%A0%87%E5%87%86ssh%E7%AB%AF/</guid>
      <description>&lt;p&gt;使用&lt;code&gt;git clone&lt;/code&gt;命令&lt;code&gt;clone&lt;/code&gt;项目时，如果&lt;code&gt;repository&lt;/code&gt;的&lt;code&gt;SSH&lt;/code&gt;端口不是标准&lt;code&gt;22&lt;/code&gt;端口时（例如，&lt;code&gt;SSH tunnel&lt;/code&gt;模式，等等），可以使用如下命令：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux命令小抄</title>
      <link>https://www.yecnay.org/posts/tech/linux%E5%91%BD%E4%BB%A4%E5%B0%8F%E6%8A%84/</link>
      <pubDate>Thu, 06 Oct 2022 10:13:19 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/linux%E5%91%BD%E4%BB%A4%E5%B0%8F%E6%8A%84/</guid>
      <description>&lt;p&gt;创建用户&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install sudo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Useradd -m -G sudo XXXX
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Rsync 同步文件夹&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rsync -P --rsh&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ssh -r public -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;ssh -p xxxx&amp;#39;&lt;/span&gt; xxxx@blog.b.com:/xxxx/xxxx/xxxx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bwg	ssh://git@xx.xx.xx.xx:xx/home/gitrepo/blog.git &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;push&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qh ssh://tig@xx.xx.xx.xx:xx/volume1/homes/tig/git/blog.git &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;fetch&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;macOS clash 开启tun权限，执行以下命令后重启clash，不用重启应用。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chown root:admin /Applications/Clash&lt;span class=&#34;se&#34;&gt;\V&lt;/span&gt;erge.app/Contents/MacOS/clash 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +sx /Applications/Clash&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;Verge.app/Contents/MacOS/clash sudo chown root:admin /Applications/Clash&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;Verge.app/Contents/MacOS/clash-meta 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod +sx /Applications/Clash&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;Verge.app/Contents/MacOS/clash-meta
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;macOS 应用程序：如何查找 Bundle ID&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tar 命令使用</title>
      <link>https://www.yecnay.org/posts/tech/tar-%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Thu, 06 Oct 2022 00:34:55 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/tar-%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;h2 id=&#34;1-打包指令tar&#34;&gt;1. 打包指令：tar&lt;/h2&gt;
&lt;p&gt;前面讲解的 gzip、bzip2、xz 也能够针对目录进行压缩，但是是将目录内所有文件 &lt;strong&gt;分别&lt;/strong&gt; 压缩的。而在 windows 下可以使用 winRAR 之类的压缩文件，将好多数据包成一个文件的样式。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Openwrt opkg批量更新</title>
      <link>https://www.yecnay.org/posts/tech/openwrt-opkg%E6%89%B9%E9%87%8F%E6%9B%B4%E6%96%B0/</link>
      <pubDate>Wed, 05 Oct 2022 18:33:20 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/openwrt-opkg%E6%89%B9%E9%87%8F%E6%9B%B4%E6%96%B0/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;opkg update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; opkg list-upgradable &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -d &lt;span class=&#34;s2&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f1 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs opkg upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Linux Tmux 使用教程</title>
      <link>https://www.yecnay.org/posts/tech/tmux-%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/</link>
      <pubDate>Tue, 04 Oct 2022 18:45:59 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/tmux-%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/</guid>
      <description>&lt;h1 id=&#34;tmux-使用教程&#34;&gt;Tmux 使用教程&lt;/h1&gt;
&lt;p&gt;Tmux 是一个终端复用器（terminal multiplexer），非常有用，属于常用的开发工具。&lt;/p&gt;
&lt;p&gt;本文介绍如何使用 Tmux。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;img&#34; loading=&#34;lazy&#34; src=&#34;https://www.wangbase.com/blogimg/asset/201910/bg2019102005.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;一tmux-是什么&#34;&gt;一、Tmux 是什么？&lt;/h2&gt;
&lt;h3 id=&#34;11-会话与进程&#34;&gt;1.1 会话与进程&lt;/h3&gt;
&lt;p&gt;命令行的典型使用方式是，打开一个终端窗口（terminal window，以下简称&amp;quot;窗口&amp;quot;），在里面输入命令。&lt;strong&gt;用户与计算机的这种临时的交互，称为一次&amp;quot;会话&amp;quot;（session）&lt;/strong&gt; 。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Xargs 命令</title>
      <link>https://www.yecnay.org/posts/tech/inux%E4%B8%ADxargs%E5%91%BD%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Tue, 04 Oct 2022 18:07:06 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/inux%E4%B8%ADxargs%E5%91%BD%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;p&gt;&lt;strong&gt;如何使用xargs命令&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;语法：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xargs &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;OPTIONS&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;COMMAND &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;initial-arguments&lt;span class=&#34;o&#34;&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;举一个例子：我们用管道符传输到xargs，并为每个参数运行touch命令， -t表示在执行之前先打印，创建三个文件：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Cut 命令</title>
      <link>https://www.yecnay.org/posts/tech/linux-cut%E5%91%BD%E4%BB%A4/</link>
      <pubDate>Tue, 04 Oct 2022 18:05:08 +0800</pubDate>
      <guid>https://www.yecnay.org/posts/tech/linux-cut%E5%91%BD%E4%BB%A4/</guid>
      <description>&lt;p&gt;Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。&lt;/p&gt;
&lt;h3 id=&#34;语法&#34;&gt;语法&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cut  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-bn&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;file&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cut &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-c&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;file&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cut &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-df&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;file&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;使用说明:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
