在使用 github page 时可能会遇到提示 build failed 的问题,但是在本地加载页面没有问题,原因是 当你没有使用 Jekyll 建立网站时,github page 会错误的将一些 characters, specifically curly braces, as jekyll objects, tags, etc.,导致错误。

最简单的办法是在仓库根目录建立一个 .nojekyll 文件,让 github page 在 build 时跳过 Jekyll。

参考:https://github.community/t5/GitHub-Pages/GitHub-Pages-Builds-Fail/td-p/29172




wget 是 Linux 下常用的下载工具。

基本语法:

wget [options] [url]

下载文件到当前目录:

wget https://sample.com/test.txt

下载文件到特定文件名:

wget -O new.txt https://sample.com/test.txt

下载文件到特定目录:

wget -P /tmp https://sample.com/test.txt

跳过 ssl 证书验证:

wget --no-check-certificate https://sample.com/test.txt

wget 制作网站镜像

wget 是一个强大的下载工具,可以用来下载网站:

wget -m -p -k URL

-m, –mirror 等价于 -r -N -l inf -nr
-p:下载所有html文件适合显示的元素
-k, –convert-links 转换非相对链接为相对链接,将文档链接都转换成本地的

-r, –recursive 递归下载--慎用!
-N, –timestamping 不要重新下载文件除非比本地文件新
-l, –level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
-nr, –dont-remove-listing 不移走 `.listing’文件

curl 也是类似的工具,参考:https://blog.niekun.net/archives/216.html


hostname

Linux/windows 系统的设备都会有一个 hostname,也就是设备的名称,执行命令可以查看当前名称:

hostname

这一名称会在终端命令头显示:

root@niekun-bandwagon:~#

root 是当前登陆用户名,niekun-bandwagon 就是本机设备名称。可以执行 whoami 命令查看当前登陆用户名:

whoami

想要修改 hostname 可以编辑 /etc/hostname 将里面名称换为你想要修改的名字即可,重启系统生效新的 hostname。

hosts

hosts 文件作用是将 hostname 映射到本地 IP 地址,可以定义多个 hostnames 和 IP 的对应关系。

Linux 系统路径是:/etc/hosts
windows 系统路径是:c:\Windows\System32\Drivers\etc\hosts

Marcos_Router /home/root]# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.123.1 Marcos_Router.lan Marcos_Router
192.168.123.1 my.router
192.168.123.1 my.pdcn

以上是我路由的 hosts 文件内容,访问 my.router 就相当于访问 192.168.123.1

局域网通过 hostname 访问其他设备

连接到同一局域网的设备都会分配一个内网 IP 地址,比如:
路由器地址:192.168.0.1
设备 A 地址:192.168.0.2
设备 B 地址:192.168.0.3

在设备 A 上操作:要访问路由器可以通过访问:192.168.0.1,访问设备 B 通过地址:192.168.0.3

如果想要使用各自设备的 hostname 来访问就需要设置 hosts 了。

在设备 A 上的 hosts 文件加入如下内容:
192.168.0.1 my.router
192.168.0.1 machine.b

修改完成后要访问路由器可以通过访问:my.router,访问设备 B 通过地址:machine.b (注意如果在浏览器里直接访问 hostname 要加上 http:// 前缀,不然可能访问不到)

另一个简单的方法是直接在路由器上设置各个设备的 IP 地址映射的 hostname,这样就不需要在每个设备上设置了。

在路由器的 DHCP 列表里根据 MAC 地址区分设备,单独设置设备的名称即可,不过一般会自动识别到设备的 hostname,默认直接就可以使用了。