每天学习一个命令:dig 查询 DNS 解析结果

dig 命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从接受请求的域名服务器返回的答复。 常见用法 查找 www.google.com 的 A 记录 dig www.google.com 输出如下 ; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: N Read more ...

2017-03-10 dig , linux , network , dns , command , domain , ip

Openwrt 接口及基本设置

在上一篇中讲了如何刷 Openwrt,这一篇主要讲一些 Openwrt 的东西,以及配置相关的内容。我有一个主路由器,设置分配的局域网地址为 192.168.1.x,给内网中分配的地址也是 192.168.1.x 开头。 但是 Openwrt 默认为 AP 模式,我想要从主路由器 LAN 口连出到新的这个 Openwrt 路由器上,那么便得设置 Openwrt 路由器为 Router 模式以便于级联。 在设置路由器模式之前先来看看这几个接口,否则怎么都不会明白怎么配置的。 br-lan, eth0, eth0.1 Openwrt 的接口名字太多, Read more ...

2017-03-09 openwrt , linux , opkg , router

TP LINK MR12U 刷 openwrt

今天翻箱倒柜竟然找出了我的 TP-LINK MR12U,很早之前因为 3G 上网卡而买的便携式路由,突然脑袋一热,干嘛不试试刷个 Openwrt 呢。记得当时是没有支持的,但是一搜竟然发现了 Openwrt 有官方支持了。于是开始动手。 这里主要记录一下 MR12U v1.0 版本的过程,但是感觉其他路由器异曲同工,掌握了一种方法其他路由器也是类似的原理。刷机的过程有风险,因此一定要做好充分的调查和心理准备。很早之前写过一篇文章讲防止 Android 刷机变砖 ,我利用其中用到的方法一直刷机至今。说到底,终究要知道自己做的每一步是什么含义,出现的每一个 Read more ...

2017-03-08 openwrt , linux , router

每天学习一个命令:scp 命令行下远程主机之间拷贝文件

昨天刷 Openwrt,需要在本机和路由器之间传输文件,本来在 Windows 上知道有一个 WinSCP 可以来 GUI 上传输,其实 Linux 下更加简单,使用 scp 命令一行就能解决,scp 的语法也非常简单。 scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件的命令,和它类似的命令有 cp,不过 cp 只是在本机进行拷贝不能跨服务器,而且 scp 传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system 时,用 scp 可以帮你把文件移出来。另外,scp 还不占资源,不会 Read more ...

2017-03-08 linux , scp , file , vps , command

使用 Cron 定时重启 Openwrt 路由器

最近了解了一下 Cron,也在 WizNote 上 记录了一些笔记。学习一个新命令最好的方法就是将其用于实践。于是正好在 Openwrt 路由器上跑一下。 定时任务 使用 crontab -e 编辑 Openwrt 的定时任务,添加如下 # Reboot at 4:30am every day # Note: To avoid infinite reboot loop, wait 70 seconds # and touch a file in /etc so clock will be set # properly to 4:31 on rebo Read more ...

2017-03-07 Linux , crontab , Openwrt , Router

整站备份工具 Httrack

根据官方的介绍1,HTTrack 是一个易用的离线浏览工具,他允许用户从万维网中离线备份某一个网站,包括建立层叠的目录,HTML,图片,以及其他文件。工具在 GPL 协议下开源。 最近主要是因为想要备份 http://www.runningman2015.com/guidang/ 这个网站,突然想到了这个工具。在此之前曾经想要自己用 scrapy 提取网站结构,然后存到数据库,想了一下,直接一个命令可以实现的事情,完全可以不用 scrapy 了。 安装 在許多Unix-like系統下,只需要用包管理工具安裝httrack即可。例如Debian使用 Read more ...

2017-03-06 Linux , Httrack , backup

解决 Linux Mint 18.1 安装 NVIDIA 驱动后黑屏

Mint 下有一个 Driver Manager 驱动管理,手贱升级了一下到 378,下载,自动安装,重启倒是没有什么但问题,最关键的是,第二次重启的时候直接黑屏,之前也遇到过一回,记忆中是修改了 /etc/X11/xorg.conf 才修复这个问题,没想到这一次又遇到了这个问题。但是无论我怎么修复笔记本始终黑屏在,开机闪过 Linux Mint 的 logo 之后始终无法启动 x server。 第一步尝试卸载NVIDIA驱动 凭借这记忆中的印象,在启动登录之后 Ctrl+Alt+1~7 1~7中的任意一个键,进入 tty 终端,用 root 用户 Read more ...

2017-03-05 linux , nvidia , linux-mint

每天学习一个命令:crontab 定时任务

通过 crontab 命令可以让我们在固定的时间点或者特定时间间隔执行指定的系统指令或 shell 脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。 cron 的名字,没有特别明确的定义,cron 名字的由来是 Ken Thompson(Unix cron 的作者)说过的, cron 的名字由希腊语 time 的前缀 chron 得来 1。 cron 守护进程是一个由实用程序和配置文件组成的小型子系统,在几乎所有类 UNIX 系统上都可以找到某种风格的 cron。cron 的组件包括 Read more ...

2017-03-05 linux , command , cron , crontab , scheduler , period

IO 重定向

上一篇讲了 shell 脚本的基本语法,然后这篇补一补标准输入输出重定向命令,以及管道命令。 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为 0,Unix程序默认从stdin读取数据。 标准输出文件(stdout):stdout 的文件描述符为 1,Unix程序默认向stdout输出数据。 标准错误文件(stderr):stderr的文件描述符为 2,Unix程序会向stderr流中写入错误信息。 管道命令 管道命令的操作符是”|”, 它将前一个命令的输出给 Read more ...

2017-03-02 Linux , Shell , Bash

理解 bashrc profile 优先级及区别

在类 Unix 系统中,我们通常会配置 Shell 的 ~/.bashrc 或者 /etc/profile 来设置用户的工作环境。一般系统可能会有 /etc/profile /etc/bashrc /etc/bash.bashrc ~/.bashrc ~/.profile 在理解这些文件之前,需要了解 Shell 不同的登录方式,login 登录和 interactive 模式。 关于 Shell 的历史和分类可以参考之前的文章 shell 不同启动方式 login shell “login shell” 代表用户登入,比如使用 “su - Read more ...

2017-03-02 linux , shell , bash , bashrc

最近文章

  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。