1. 变量1234#!/bin/bashmsg="hello world"echo $msg
变量名的命名须遵循如下规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
2. 传参12345#!/bin/bashecho "执行的文件名:$0";echo "第一个参数为:$1";echo "第二个参数为:$2";echo "第三个参数为:$3";
脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……另外,还有几个特殊字符用来处理参数:
参数
说明
$#
传递到脚本的参数个数
$*
以一个单字符串显示所有向脚本传递的参数。如"$*"用「”」括起来的情况、以”$1 $2 … $n”的形式输出所有参数。
$$
脚本运行的当前进程ID号
...
引入主题及组件1234567891011121314git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixItgit submodule add https://github.com/hugo-fixit/cmpt-translate.git themes/cmpt-translategit submodule add https://github.com/hugo-fixit/component-projects.git themes/component-projectsgit submodule add https://github.com/hugo-fixit/hugo-json-feed.git themes/hugo-json-feedgit submodule add https://github.com/hugo-fixit/shortcode-mmt-netease.git themes/shortcode-mmt-neteasegit submodule add https://gith ...
启用https
1.购买免费证书登录阿里云 -> 控制台 -> 安全(云盾) -> CA证书服务 -> 购买证书
2.补全证书信息点击补全,绑定域名
3.下载并配置选择下载 证书for nginx
上面这个页面有相关的配置信息,下面简单介绍:
① 将下载文件中的 *.pem、*.key, 拷贝到 nginx 目录下 的 cert , 当然也可以是其他目录② 修改 nginx.conf
12345678910111213141516171819202122232425server { listen 443 ssl; server_name xiangzhangshugongyi.com; ssl_certificate cert/214487958220243.pem; ssl_certificate_key cert/214487958220243.key; ssl_session_cache shared:SSL:1m; ssl_session_timeou ...
使用 vim 过程中发现 esc 和 ctrl 按键很难按,小拇指没有那么长啊~~,而 caps_lock 和 alt_r(右alt) 很少用。
本教程将 esc 和 caps_lock 两个按键交换, alt_r(右alt) 改为 ctrl。
一、 esc 与 caps_lock 按键交换①. 创建 .xmodmaprc 文件。②. 加入以下内容:
1234remove Lock = Caps_Lockadd Lock = Escapekeysym Caps_Lock = Escapekeysym Escape = Caps_Lock
③. 执行 xmodmap .xmodmaprc 使之生效。
二、 将 右alt 改为 ctrl①. 查看需要修改键位的 keysym通过 xev | grep keycode 获取右 alt 的 keysym 为 Alt_R。如下图所示:
②. 查看 Alt_R 是哪个 modifier 使用的通过 xmodmap -pm 查看,发现 Alt_R 是作为 modifier mod1 使用的。如下图所示:
③. 修改 modifier
12xmod ...
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为”字节”。
再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机”。
开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。
他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端设备或者打印机遇上这些约定好的字节时,就要做一些约定的动作。遇上 00x10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,对于终端就用彩色显示字母。他们看到这样很好,于是就把这些0x20(十进制32)以下的字节状态称为”控制码”。
他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的 文字了。大家看到这样,都感觉很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American St ...
docker创建容器
1. iptables failed创建 tale 容器时,如下命令:
1234docker run -d --privileged --hostname tale --name tale \-v /etc/localtime:/etc/localtime:ro \-v /home/tale:/var/tale_home -p 127.0.0.1:234:9000 \-m 1024m --memory-swap -1 tale:1.0
然后就报了以下错误:
12docker: Error response from daemon: driver failed programming external connectivity on endpoint tale (263775ff559176224428ec44dcec416a1c20e6c69198d9760b38f35849914260): iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 127.0.0.1 --dport 234 -j ...
介绍FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。
安装123$ yum install firewalld## 如果需要图形界面的话,则再安装$ yum install firewall-config
zoneFirewall 能将不同的网络连接归类到不同的信任级别。
1$ firewall-cmd --list-all-zones #查看所有zone信息
Zone 提供了以下几个级别:
drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同 ...
docker save
导出docker save 命令用于持久化 镜像,先获得镜像名称,再执行保存:
1234## 通过此命令查出要持久化的镜像名称$ docker images## 持久化镜像名为 image_name 的镜像,$ docker save image_name -o ~/save.tar
注意: 如果镜像是在远程仓库,执行保存镜像的时候可能会报 Cowardly refusing to save to a terminal. Use the -o flag or redirect. 的错,可以通过 docker save image_name > image_name.tar 将镜像从远程仓库持久化到本地。
导入1234## 导入 save.tar$ docker load < ~/save.tar## 查看镜像$ docker images images
docker export导出docker export 命令用于持久化 容器,先获取容器ID,再执行保存。
1234## 通过此命令查出要持久化的容器ID$ docker ps -a## ...
如果某台linux只有自己在使用,比如个人系统,每次调用 sudo 时都需要输入密码,长期下来着实厌烦,因此本文介绍如何配置 sudo 命令,使其在运行时不需要输入密码。
步骤
执行命令
1$ sudo visudo
添加以下两行, 下面的 sys 表示 sys 组成员不用密码使用sudo
12aaronkilik ALL=(ALL) NOPASSWD: ALL%sys ALL=(ALL) NOPASSWD: ALL
现在在使用 sudo 命令, 将不再需要输入密码。
扩展如果只允许用户使用 kill 和 rm 命令时,不需要输入密码,见如下配置
1%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm
