<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>博客</title>
  <id>https://xiou.de</id>
  <link href="https://xiou.de" />
  <link href="https://xiou.de/atom.xml" rel="self" type="application/atom+xml" />
  <updated>2025-11-10T00:00:00</updated>
  <subtitle>一个偏向纯文本与阅读的个人站点。</subtitle>
    <entry>
    <title>Tar 打包备份</title>
    <id>https://xiou.de/tar-backup</id>
    <link href="https://xiou.de/tar-backup" />
    <updated>2025-11-10T00:00:00</updated>
    <published>2025-11-10T00:00:00</published>
    <summary>用于打包目录与查看压缩内容的常用 tar 命令。</summary>
    <category term="backup" /><category term="linux" />
    <content type="html">&lt;p&gt;一个简单的日期归档示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
tar -czf backup-$(date +%F).tar.gz /opt/project
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看压缩包内容：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
tar -tzf backup-2025-11-10.tar.gz
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Nc 端口测试</title>
    <id>https://xiou.de/nc-port-test</id>
    <link href="https://xiou.de/nc-port-test" />
    <updated>2025-11-05T00:00:00</updated>
    <published>2025-11-05T00:00:00</published>
    <summary>用于测试 TCP 端口连通性的常用 netcat 命令。</summary>
    <category term="network" /><category term="linux" />
    <content type="html">&lt;p&gt;测试远端端口是否可达：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
nc -zv 127.0.0.1 80
nc -zv example.com 443
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;监听本地端口：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
nc -l 9000
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Systemd 服务与日志排查</title>
    <id>https://xiou.de/systemd-service-logs</id>
    <link href="https://xiou.de/systemd-service-logs" />
    <updated>2025-11-02T00:00:00</updated>
    <published>2025-11-02T00:00:00</published>
    <summary>用于查看服务状态、重启服务与追踪日志的常用 systemd 命令。</summary>
    <category term="linux" /><category term="text" />
    <content type="html">&lt;p&gt;`systemctl` 和 `journalctl` 通常需要配合使用：前者查看和管理服务状态，后者查看服务日志。&lt;/p&gt;
&lt;h2&gt;查看某个服务状态&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
systemctl status nginx
systemctl status docker
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;重启服务与重新加载配置&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
systemctl restart nginx
systemctl daemon-reload
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;列出系统服务&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
systemctl list-units --type=service
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;查看某个服务日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
journalctl -u nginx
journalctl -u docker -f
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;查看最近启动日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
journalctl -b
journalctl -b -1
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;按时间筛选日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
journalctl --since &amp;quot;2025-10-01 00:00:00&amp;quot;
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Wget 下载文件</title>
    <id>https://xiou.de/wget-download</id>
    <link href="https://xiou.de/wget-download" />
    <updated>2025-10-30T00:00:00</updated>
    <published>2025-10-30T00:00:00</published>
    <summary>用于下载文件与断点续传的常用 wget 命令。</summary>
    <category term="network" /><category term="linux" />
    <content type="html">&lt;p&gt;几条常用 wget 写法：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
wget https://example.com/file.iso
wget -c https://example.com/file.iso
wget -O custom-name.tar.gz https://example.com/file.tar.gz
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Zip 与 Unzip 命令</title>
    <id>https://xiou.de/zip-unzip</id>
    <link href="https://xiou.de/zip-unzip" />
    <updated>2025-10-28T00:00:00</updated>
    <published>2025-10-28T00:00:00</published>
    <summary>用于压缩目录与解压文件的常用 zip / unzip 命令。</summary>
    <category term="backup" /><category term="linux" />
    <content type="html">&lt;p&gt;创建 zip 压缩包：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
zip -r backup.zip /data/project
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;解压文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
unzip backup.zip -d /tmp/output
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Grep 日志筛选</title>
    <id>https://xiou.de/grep-log-filter</id>
    <link href="https://xiou.de/grep-log-filter" />
    <updated>2025-10-26T00:00:00</updated>
    <published>2025-10-26T00:00:00</published>
    <summary>用于筛选错误日志与关键字的常用 grep 示例。</summary>
    <category term="text" /><category term="linux" />
    <content type="html">&lt;p&gt;排查日志时最常见的是 `grep`。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
grep -n &amp;quot;error&amp;quot; app.log
grep -i &amp;quot;timeout&amp;quot; app.log
grep -R &amp;quot;listen 80&amp;quot; /etc/nginx
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Find 查找文件</title>
    <id>https://xiou.de/find-files</id>
    <link href="https://xiou.de/find-files" />
    <updated>2025-10-24T00:00:00</updated>
    <published>2025-10-24T00:00:00</published>
    <summary>用于按名称、时间和类型查找文件的常用 find 示例。</summary>
    <category term="linux" /><category term="text" />
    <content type="html">&lt;p&gt;常见的 `find` 用法如下。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
find /var/log -name &amp;apos;*.log&amp;apos;
find . -type f -mtime -1
find /data -type d -name backup
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Awk 列统计</title>
    <id>https://xiou.de/awk-column-sum</id>
    <link href="https://xiou.de/awk-column-sum" />
    <updated>2025-10-22T00:00:00</updated>
    <published>2025-10-22T00:00:00</published>
    <summary>用于列求和与条件输出的常用 awk 示例。</summary>
    <category term="text" /><category term="linux" />
    <content type="html">&lt;p&gt;统计某一列时，`awk` 很方便。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
awk &amp;apos;{sum += $2} END {print sum}&amp;apos; data.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;只打印满足条件的行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
awk &amp;apos;$2 &amp;gt; 100 {print $1, $2}&amp;apos; data.txt
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Sed 文本替换</title>
    <id>https://xiou.de/sed-replace</id>
    <link href="https://xiou.de/sed-replace" />
    <updated>2025-10-20T00:00:00</updated>
    <published>2025-10-20T00:00:00</published>
    <summary>用于批量替换文本内容的常用 sed 示例。</summary>
    <category term="text" /><category term="linux" />
    <content type="html">&lt;p&gt;下面是一条常见的替换命令。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
sed -i &amp;apos;s/old/new/g&amp;apos; file.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果只想预览而不写回：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
sed &amp;apos;s/old/new/g&amp;apos; file.txt
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Tmux 基础命令</title>
    <id>https://xiou.de/tmux-basics</id>
    <link href="https://xiou.de/tmux-basics" />
    <updated>2025-10-18T00:00:00</updated>
    <published>2025-10-18T00:00:00</published>
    <summary>用于会话管理、分屏与窗口切换的常用 tmux 命令。</summary>
    <category term="terminal" /><category term="linux" />
    <content type="html">&lt;p&gt;记录几条最常用的 tmux 命令。&lt;/p&gt;
&lt;h2&gt;新建与进入会话&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
tmux new -s work
tmux attach -t work
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;分屏&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
Ctrl+b %
Ctrl+b &amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;常见窗口操作&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
Ctrl+b c
Ctrl+b n
Ctrl+b p
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Fail2ban 安装配置</title>
    <id>https://xiou.de/fail2ban-install</id>
    <link href="https://xiou.de/fail2ban-install" />
    <updated>2025-10-17T00:00:00</updated>
    <published>2025-10-17T00:00:00</published>
    <summary>用于安装、启动与基础配置 Fail2ban 的常用命令与示例。</summary>
    <category term="security" /><category term="linux" />
    <content type="html">&lt;h2&gt;环境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;系统：Debian 12 x86_64&lt;/li&gt;
&lt;li&gt;Fail2ban 版本：0.11.2&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;1. 安装软件&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
apt update
apt install fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 启动 Fail2ban&lt;/h2&gt;
&lt;p&gt;启动服务：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
systemctl start fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置开机自启：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
systemctl enable fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看运行状态：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
systemctl status fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果输出中出现 `active (running)`，通常说明服务启动成功。&lt;/p&gt;
&lt;h2&gt;3. 配置 Fail2ban&lt;/h2&gt;
&lt;p&gt;进入 `/etc/fail2ban` 目录，编辑 `jail.local` 文件，添加需要防止爆破的服务规则。&lt;/p&gt;
&lt;p&gt;下面是一个常见的 SSH 配置示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
[sshd]
enabled = true
filter = sshd
port = 22
maxretry = 5
findtime = 43200
bantime = 604800
action = %(action_mwl)s
logpath = /var/log/auth.log
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;`enabled = true`：启用该规则&lt;/li&gt;
&lt;li&gt;`filter = sshd`：使用 `sshd` 过滤器&lt;/li&gt;
&lt;li&gt;`port = 22`：监控 22 端口&lt;/li&gt;
&lt;li&gt;`maxretry = 5`：在指定时间内最多允许失败 5 次&lt;/li&gt;
&lt;li&gt;`findtime = 43200`：统计时间范围为 12 小时&lt;/li&gt;
&lt;li&gt;`bantime = 604800`：封禁时间为 7 天&lt;/li&gt;
&lt;li&gt;`action = %(action_mwl)s`：发送通知邮件并附带日志与 whois 信息&lt;/li&gt;
&lt;li&gt;`logpath = /var/log/auth.log`：指定日志路径&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;保存后，重启 Fail2ban：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
systemctl restart fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. 常用命令&lt;/h2&gt;
&lt;p&gt;查看服务状态：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
fail2ban-client status
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看 `sshd` 规则状态：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
fail2ban-client status sshd
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;解封 IP：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
fail2ban-client set sshd unbanip 5.5.5.5
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多命令可参考官方文档：&lt;/p&gt;
&lt;p&gt;[Commands - Fail2ban](https://www.fail2ban.org/wiki/index.php/Commands)&lt;/p&gt;</content>
  </entry>  <entry>
    <title>Python 临时 HTTP 服务</title>
    <id>https://xiou.de/python-temp-http-server</id>
    <link href="https://xiou.de/python-temp-http-server" />
    <updated>2025-10-16T00:00:00</updated>
    <published>2025-10-16T00:00:00</published>
    <summary>用于快速共享目录的常用 Python 临时 HTTP 服务命令。</summary>
    <category term="python" /><category term="web" />
    <content type="html">&lt;p&gt;这篇文章记录一个最简单的目录共享方法：使用 Python 在本地快速启动临时 HTTP 服务，方便局域网内下载文件。&lt;/p&gt;
&lt;h2&gt;1. 进入要共享的目录&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
cd /opt
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 启动临时 HTTP 服务&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
python3 -m http.server 8000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出类似下面内容时，说明服务已经启动成功：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 在其他设备中访问&lt;/h2&gt;
&lt;p&gt;在浏览器中打开：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
http://&amp;lt;你的服务器IP&amp;gt;:8000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
http://192.168.1.10:8000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此时就可以看到 `/opt/` 目录下的文件列表，点击即可下载。&lt;/p&gt;
&lt;p&gt;如果使用 IDM，也可以直接复制这个 URL 并通过“添加 URL”的方式下载。&lt;/p&gt;</content>
  </entry>  <entry>
    <title>端口排查命令</title>
    <id>https://xiou.de/port-debug</id>
    <link href="https://xiou.de/port-debug" />
    <updated>2025-10-15T00:00:00</updated>
    <published>2025-10-15T00:00:00</published>
    <summary>用于查看端口占用与定位进程的常用排查命令。</summary>
    <category term="network" /><category term="linux" />
    <content type="html">&lt;p&gt;如果某个端口被占用，可以先这样查。&lt;/p&gt;
&lt;h2&gt;使用 ss&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
ss -lntp
ss -lntp | grep 8080
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;使用 lsof&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
lsof -i :8080
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;结束进程&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
kill -9 &amp;lt;pid&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Docker Compose 重启</title>
    <id>https://xiou.de/docker-compose-restart</id>
    <link href="https://xiou.de/docker-compose-restart" />
    <updated>2025-10-12T00:00:00</updated>
    <published>2025-10-12T00:00:00</published>
    <summary>用于重建、重启与查看日志的常用 Docker Compose 命令。</summary>
    <category term="docker" /><category term="deployment" />
    <content type="html">&lt;p&gt;记录几条 Docker Compose 常用命令。&lt;/p&gt;
&lt;h2&gt;启动服务&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
docker compose up -d
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;重新构建并启动&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
docker compose up -d --build
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;查看日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
docker compose logs -f
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;停止并删除容器&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
docker compose down
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Curl HTTP 调试</title>
    <id>https://xiou.de/curl-http-debug</id>
    <link href="https://xiou.de/curl-http-debug" />
    <updated>2025-10-08T00:00:00</updated>
    <published>2025-10-08T00:00:00</published>
    <summary>用于请求调试、响应头查看与 POST 测试的常用 curl 命令。</summary>
    <category term="network" /><category term="web" />
    <content type="html">&lt;p&gt;几条常见 curl 写法如下。&lt;/p&gt;
&lt;h2&gt;查看响应头&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
curl -I https://example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;打印详细过程&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
curl -v https://example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;发送 JSON POST&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
curl -X POST https://example.com/api \
  -H &amp;quot;Content-Type: application/json&amp;quot; \
  -d &amp;apos;{&amp;quot;name&amp;quot;:&amp;quot;test&amp;quot;}&amp;apos;
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Crontab 定时任务</title>
    <id>https://xiou.de/crontab-jobs</id>
    <link href="https://xiou.de/crontab-jobs" />
    <updated>2025-10-01T00:00:00</updated>
    <published>2025-10-01T00:00:00</published>
    <summary>用于定时备份与日志清理的常用 crontab 示例。</summary>
    <category term="automation" /><category term="linux" />
    <content type="html">&lt;p&gt;这里记录两条常见的 crontab 写法。&lt;/p&gt;
&lt;h2&gt;编辑任务&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
crontab -e
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;每天凌晨 2 点备份&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
0 2 * * * /opt/scripts/backup.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;每周清理日志&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
0 3 * * 0 find /var/log/myapp -type f -mtime +7 -delete
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Ufw 防火墙规则</title>
    <id>https://xiou.de/ufw-rules</id>
    <link href="https://xiou.de/ufw-rules" />
    <updated>2025-09-28T00:00:00</updated>
    <published>2025-09-28T00:00:00</published>
    <summary>用于启用防火墙并放行常见端口的常用 UFW 命令。</summary>
    <category term="security" /><category term="linux" />
    <content type="html">&lt;p&gt;一组最常用的 UFW 规则如下。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果只想临时关闭：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
ufw disable
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>SSH 免密登录</title>
    <id>https://xiou.de/ssh-key-login</id>
    <link href="https://xiou.de/ssh-key-login" />
    <updated>2025-09-25T00:00:00</updated>
    <published>2025-09-25T00:00:00</published>
    <summary>用于生成密钥并开启 SSH 免密登录的常用流程。</summary>
    <category term="security" /><category term="linux" />
    <content type="html">&lt;p&gt;记录 SSH 免密登录的常见步骤。&lt;/p&gt;
&lt;h2&gt;生成密钥&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
ssh-keygen -t ed25519 -C &amp;quot;me@example.com&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;拷贝公钥&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
ssh-copy-id user@host
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;测试登录&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
ssh user@host
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Nginx 反向代理</title>
    <id>https://xiou.de/nginx-reverse-proxy</id>
    <link href="https://xiou.de/nginx-reverse-proxy" />
    <updated>2025-09-22T00:00:00</updated>
    <published>2025-09-22T00:00:00</published>
    <summary>用于搭建反向代理的最小可用 Nginx 配置示例。</summary>
    <category term="web" /><category term="network" />
    <content type="html">&lt;p&gt;下面是一份很常见的反向代理配置。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;改完后记得测试并重载：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
nginx -t
systemctl reload nginx
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Rsync 备份目录</title>
    <id>https://xiou.de/rsync-backup</id>
    <link href="https://xiou.de/rsync-backup" />
    <updated>2025-09-18T00:00:00</updated>
    <published>2025-09-18T00:00:00</published>
    <summary>用于本地与远程目录同步的常用 rsync 示例。</summary>
    <category term="backup" /><category term="linux" />
    <content type="html">&lt;p&gt;这篇文章记录一个常见的目录备份写法。&lt;/p&gt;
&lt;h2&gt;本地同步&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
rsync -avh --delete /data/source/ /data/backup/
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;远程同步&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
rsync -avh /data/source/ user@host:/data/backup/
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;常用参数&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;`-a`：归档模式&lt;/li&gt;
&lt;li&gt;`-v`：显示过程&lt;/li&gt;
&lt;li&gt;`-h`：更友好的大小显示&lt;/li&gt;
&lt;li&gt;`--delete`：删除目标端多余文件&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>  <entry>
    <title>Vim 基础使用</title>
    <id>https://xiou.de/vim-basics</id>
    <link href="https://xiou.de/vim-basics" />
    <updated>2025-09-14T00:00:00</updated>
    <published>2025-09-14T00:00:00</published>
    <summary>用于移动、编辑、保存与退出的常用 Vim 操作速记。</summary>
    <category term="editor" /><category term="linux" />
    <content type="html">&lt;p&gt;记录几条最常用的 Vim 基础操作。&lt;/p&gt;
&lt;h2&gt;进入插入模式&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
i
a
o
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;保存与退出&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
:w
:q
:wq
:q!
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;常见移动&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
h j k l
0
$
gg
G
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Git 命令速查</title>
    <id>https://xiou.de/git-commands</id>
    <link href="https://xiou.de/git-commands" />
    <updated>2025-09-12T00:00:00</updated>
    <published>2025-09-12T00:00:00</published>
    <summary>用于提交、回退、分支与同步的常用 Git 命令速查。</summary>
    <category term="git" /><category term="text" />
    <content type="html">&lt;p&gt;整理一些日常最常用的 Git 命令，适合快速查阅。&lt;/p&gt;
&lt;h2&gt;查看状态&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
git status
git log --oneline --decorate -n 10
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;提交修改&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
git add .
git commit -m &amp;quot;update&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;同步远程&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
git pull --rebase origin main
git push origin main
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;分支操作&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;
git branch
git switch -c feature/test
git switch main
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Linux 命令速查</title>
    <id>https://xiou.de/linux-commands</id>
    <link href="https://xiou.de/linux-commands" />
    <updated>2025-09-10T00:00:00</updated>
    <published>2025-09-10T00:00:00</published>
    <summary>用于文件、进程、网络、权限与压缩操作的常用 Linux 命令速查。</summary>
    <category term="linux" /><category term="text" />
    <content type="html">&lt;h2&gt;引言&lt;/h2&gt;
&lt;p&gt;Linux 是一款强大而灵活的操作系统，命令行界面（CLI）是系统管理和开发的核心工具。无论是文件操作、进程管理还是网络配置，掌握常用命令都是每一位 Linux 用户的基础能力。本文整理了一些常见且实用的 Linux 命令，方便快速查阅。&lt;/p&gt;
&lt;h2&gt;文件与目录操作&lt;/h2&gt;
&lt;h3&gt;1. `ls`：列出目录内容&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
ls          # 列出当前目录的文件和目录
ls -l       # 以详细列表形式显示
ls -a       # 显示包括隐藏文件在内的所有文件
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2. `cd`：切换目录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
cd /home    # 切换到 /home 目录
cd ..       # 返回上一级目录
cd ~        # 切换到当前用户家目录
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3. `pwd`：显示当前路径&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
pwd         # 输出当前所在目录的绝对路径
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4. `cp`：复制文件或目录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
cp file1 file2      # 复制文件
cp -r dir1 dir2     # 递归复制目录
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;5. `mv`：移动或重命名文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
mv old.txt new.txt  # 重命名文件
mv file1 /tmp       # 移动文件到 /tmp 目录
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;6. `rm`：删除文件或目录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
rm file.txt         # 删除文件
rm -r directory     # 递归删除目录（谨慎使用）
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;7. `mkdir`：创建目录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
mkdir new_folder    # 创建新目录
mkdir -p a/b/c      # 创建多级目录
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;文件查看与编辑&lt;/h2&gt;
&lt;h3&gt;8. `cat`：查看文件内容&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
cat file.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;9. `less` / `more`：分页查看文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
less long_file.log
more long_file.log
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;10. `head` / `tail`：查看头部或尾部内容&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
head -n 10 file.log
tail -f file.log
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;11. `nano` / `vim`：文本编辑器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
nano file.txt
vim file.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;系统与进程管理&lt;/h2&gt;
&lt;h3&gt;12. `ps`：查看进程状态&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
ps aux
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;13. `top` / `htop`：查看系统资源&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
top
htop
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;14. `kill`：终止进程&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
kill 1234
kill -9 1234
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;15. `systemctl`：管理系统服务&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
systemctl start nginx
systemctl status nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;网络相关命令&lt;/h2&gt;
&lt;h3&gt;16. `curl` / `wget`：下载文件或访问网页&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
curl -O http://example.com/file.zip
wget http://example.com/file.zip
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;17. `ssh`：远程登录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
ssh user@hostname
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;18. `scp`：安全复制文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
scp file.txt user@host:/path
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;权限管理&lt;/h2&gt;
&lt;h3&gt;19. `chmod`：修改文件权限&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
chmod 755 script.sh
chmod +x script.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;20. `chown`：修改文件所有者&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
chown user:group file
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;压缩与解压&lt;/h2&gt;
&lt;h3&gt;21. `tar`：打包与解包文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
tar -czvf archive.tar.gz /path
tar -xzvf archive.tar.gz
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;22. `gzip` / `gunzip`：压缩与解压文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
gzip file.txt
gunzip file.txt.gz
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;以上命令覆盖了 Linux 日常使用中的常见操作。熟悉这些命令之后，可以明显提升系统管理与排障效率。&lt;/p&gt;
&lt;p&gt;如果需要查看某个命令的完整说明，可以使用：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
man ls
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>  <entry>
    <title>Docker 命令速查</title>
    <id>https://xiou.de/docker-commands</id>
    <link href="https://xiou.de/docker-commands" />
    <updated>2025-09-10T00:00:00</updated>
    <published>2025-09-10T00:00:00</published>
    <summary>用于镜像、容器、调试与清理的常用 Docker 命令速查。</summary>
    <category term="docker" /><category term="linux" />
    <content type="html">&lt;h2&gt;引言&lt;/h2&gt;
&lt;p&gt;Docker 通过容器化技术极大地简化了应用的开发、部署和运维流程。本文整理了从镜像管理、容器生命周期管理到调试与清理的一组高频命令，便于日常查阅。&lt;/p&gt;
&lt;h2&gt;镜像管理&lt;/h2&gt;
&lt;h3&gt;1. `docker search`：搜索镜像&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker search nginx
docker search --filter is-official=true ubuntu
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;2. `docker pull`：拉取镜像&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker pull ubuntu:20.04
docker pull nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3. `docker images`：列出本地镜像&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker images
docker images -q
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;4. `docker rmi`：删除本地镜像&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker rmi nginx:latest
docker rmi $(docker images -q)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;5. `docker build`：构建镜像&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker build -t my-app:1.0 .
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;容器生命周期管理&lt;/h2&gt;
&lt;h3&gt;6. `docker run`：创建并启动容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker run -d --name my-nginx -p 8080:80 nginx

docker run -it --rm ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;7. `docker ps`：列出容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker ps
docker ps -a
docker ps -q
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;8. `docker stop`：停止容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker stop my-nginx
docker stop $(docker ps -q)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;9. `docker start`：启动已停止容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker start my-nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;10. `docker restart`：重启容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker restart my-nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;11. `docker rm`：删除容器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker rm my-nginx
docker rm -f my-nginx
docker rm $(docker ps -a -q)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;容器交互与调试&lt;/h2&gt;
&lt;h3&gt;12. `docker logs`：查看容器日志&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker logs my-nginx
docker logs -f my-nginx
docker logs --tail 100 my-nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;13. `docker exec`：在容器内执行命令&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker exec -it my-nginx /bin/bash
docker exec my-nginx ls /usr/share/nginx/html
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;14. `docker inspect`：查看容器详细信息&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker inspect my-nginx
docker inspect --format=&amp;apos;{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}&amp;apos; my-nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;资源与系统管理&lt;/h2&gt;
&lt;h3&gt;15. `docker system df`：查看磁盘使用情况&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker system df
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;16. `docker system prune`：清理未使用资源&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;
docker system prune
docker system prune -a
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;本文覆盖了 Docker 的一组高频命令，适合在日常开发和运维中作为速查手册使用。&lt;/p&gt;
&lt;p&gt;如果需要查看完整帮助，可以使用：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
docker --help
docker &amp;lt;COMMAND&amp;gt; --help
&lt;/code&gt;&lt;/pre&gt;</content>
  </entry>
</feed>