V2ray Linux客户端v2rayA使用教程和全局代理

源地址:https://github.com/v2rayA/v2rayA

我这里直接只用docker

1
2
3
4
5
6
7
8
docker run -d \
-p 2017:2017 \
-p 20170-20172:20170-20172 \
--restart=always \
--name v2raya \
--privileged=true \
-v /etc/v2raya:/etc/v2raya \
mzz2017/v2raya

部署完毕后,访问该机器的2017端口即可使用,如http://localhost:2017

img

添加完节点后在Linux里添加socks或者http(s)代理

参考:https://zhuanlan.zhihu.com/p/46973701

img

方法一:(推荐使用)

为什么说这个方法推荐使用呢?因为他只作用于当前终端中,不会影响环境,而且命令比较简单

在终端中直接运行:

1
export http_proxy=http://proxyAddress:port

如果你是SSR,并且走的http的代理端口是12333,想执行wget或者curl来下载国外的东西,可以使用如下命令:

1
export http_proxy=http://127.0.0.1:20171

如果是https那么就经过如下命令:

1
export https_proxy=http://127.0.0.1:20171

方法二 :

这个办法的好处是把代理服务器永久保存了,下次就可以直接用了

把代理服务器地址写入shell配置文件.bashrc或者.zshrc 直接在.bashrc或者.zshrc添加下面内容

1
2
export http_proxy="http://localhost:port"
export https_proxy="http://localhost:port"

或者走socket5协议(ss,ssr)的话,代理端口是1080

1
2
export http_proxy="socks5://127.0.0.1:20170"
export https_proxy="socks5://127.0.0.1:20170"

或者干脆直接设置ALL_PROXY

1
export ALL_PROXY=socks5://127.0.0.1:20170

最后在执行如下命令应用设置

1
source ~/.bashrc

或者通过设置alias简写来简化操作,每次要用的时候输入setproxy,不用了就unsetproxy。

1
alias setproxy="export ALL_PROXY=socks5://127.0.0.1:20170" alias unsetproxy="unset ALL_PROXY"

方法三:

改相应工具的配置,比如apt的配置

1
sudo vim /etc/apt/apt.conf

在文件末尾加入下面这行

1
Acquire::http::Proxy "http://proxyAddress:port"

重点来了!!如果说经常使用git对于其他方面都不是经常使用,可以直接配置git的命令。

使用ss/ssr来加快git的速度

直接输入这个命令就好了

1
2
git config --global http.proxy 'socks5://127.0.0.1:20170' 
git config --global https.proxy 'socks5://127.0.0.1:20170'

如何全局代理

原地址:https://www.xpath.org/blog/0015707906789019d24776f72a14223abc103b4f80fe003000

安装redsocks

1
apt install redsocks

安装完成以后,默认配置文件:/etc/redsocks.conf
一些常用的命令:

1
2
3
4
5
sudo service redsocks start     #打开redsocks
sudo service redsocks stop #停止redsocks
sudo service redsocks restart #重启redsocks
sudo systemctl enable redsocks #开机启动redsocks
sudo systemctl disable redsocks #停止开机启动redsocks

配置redsocks

编辑redsocks配置文件/etc/redsocks.conf
找到redoscks节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
redsocks {
/* `local_ip' defaults to 127.0.0.1 for security reasons,
* use 0.0.0.0 if you want to listen on every interface.
* `local_*' are used as port to redirect to.
*/
local_ip = 127.0.0.1;
local_port = 12345; //这个端口默认就行,只要跟你以后iptables,重定向的端口一样就ok

// `ip' and `port' are IP and tcp-port of proxy-server
// You can also use hostname instead of IP, only one (random)
// address of multihomed host will be used.
ip = 127.0.0.1; //本地v2ray客户端,地址就是127.0.0.1
port = 20170; //v2ray客户端的端口,默认就是1080


// known types: socks4, socks5, http-connect, http-relay
type = socks5; //使用的代理类型

// login = "foobar";
// password = "baz";
}

修改正确的配置以后,重启redsocks即可

配置iptables

大佬写了一个脚本附带注释,方便不太懂iptables的同学们来使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#file name iptables.sh

#!/bin/bash
if [ $# -lt 1 ]

#不重定向目的地址为服务器的包
then
echo -en "\n"

echo "Iptables redirect script to support global proxy on ss for linux ... "
echo -en "\n"
echo "Usage : ${0} action [options]"
echo "Example:"
echo -en "\n"
echo "${0} start server_ip To start global proxy"
echo "${0} stop To stop global proxy"
echo -en "\n"

else
if [ ${1} == 'stop' ]
then
echo "stoping the Iptables redirect script ..."
sudo iptables -t nat -F
fi
if [ ${1} == 'start' ]
then
if [ $# -lt 2 ]
then
echo -e "\033[49;31mPlease input the server_ip ...\033[0m"
else
##不重定向目的地址为服务器的包
sudo iptables -t nat -A OUTPUT -d ${2} -j RETURN #请用你的shadowsocks服务器的地址替换$SERVER_IP
# #不重定向私有地址的流量
sudo iptables -t nat -A OUTPUT -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A OUTPUT -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A OUTPUT -d 192.168.0.0/16 -j RETURN

#不重定向保留地址的流量,这一步很重要
sudo iptables -t nat -A OUTPUT -d 127.0.0.0/8 -j RETURN

# #重定向所有不满足以上条件的流量到redsocks监听的12345端口
sudo iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 12345 #12345是你的redsocks运行的端口,请根据你的情况替换它
fi
fi
fi

使用方法很简单,就两条命令

1
2
3
4
#ip是你的sha服务器的ip,开启全局代理
./iptables.sh start ip
./iptables.sh stop
#结束全局代理,这句是不用全局代理之后,必须运行的,否则是没有办法上网的
l

正则表达式 删除 Java 代码中的注释

想如何删掉所有java 或xml 中的注释,还在寻找eclipse 中的快捷键了吗,你out了,现在都用正则表达式了、

首先我们了解java 中的注释无非3种:

1
2
3
//        单行注释    
/* */ 多行注释
/** */ 文档注释

我们可以使用 Ctrl+F 中替换方式来解决,把注释都替换为为空,这样就解决了删除注释的目的。这里我们需要用到正则表达式 在options 中选择Regular expression 。在上面方框填入正则表达式

删除 java 注释 /* */:

1
/\*{1,2}[\s\S]*?\*/

删除 java 注释 //:

1
//[\s\S]*?\n

删除xml注释:

1
<!-[\s\S]*?-->

删除空白行:

1
^\s*\n

\n或者是\r\n 或者是\r 都可能是换行符,要看你的系统是windows还是Unix/Linux或者是mac的系统

l

hlink安装及重启脚本(威联通篇)

大家应该对hlink比较熟悉了。

它能近乎完美地按规则为我们创建一个“影子”媒体库。

对这个“影子”媒体库进行刮削、重命名、改变文件夹结构,都不会影响源文件夹的PT做种。

完善的黑白名单功能,可以满足我们对各类文件的硬链需求。

不管是硬链原盘、重编码视频,亦或是音频书籍。hlink都能完美胜任。

甚至还能处理PT客户端校验失败的情况。

用过的人都说好

那么今天就来最后一篇教程,也是相对最复杂的一篇。

威联通下,使用hlink。

话不多说,马上开始。


hlink安装需要nodejs环境,第一步我们给威联通安装nodejs。

来到nodejs官网下载界面

我们这里选择linux X64版本(其他系统类似,选择合适自己的版本)

下载文件为node-v14.17.0-linux-x64.tar.xz

img

下载完成后把安装文件放入威联通里,我这里直接拖入威联通共享盘。

img

我这里威联通内文件实际路径是 /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64.tar.xz (威联通数据盘的的绝对路径是/share/CACHEDEV*_DATA/*******)

大家根据自己实际的路径来,不要死记照抄。

下面我们打开威联通SSH控制台,解压安装nodejs。

进入刚刚保存安装包的目录,命令如下(根据你的实际安装包存放路径填写)。

cd /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/

解压安装nodejs,命令如下(根据你的实际安装包名称填写)

tar -xvf node-v14.17.0-linux-x64.tar.xz

img

等待解压安装完成。完成后可以输入ls命令查看解压安装是否成功。有安装包同名文件夹存在就OK。

最后我们要把nodejs变为全局可用,输入并执行下面两条软连接命令即可。

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/

img

(注意路径部分是我们自定义安装nodejs的实际路径,根据个人情况自己填写,可以在威联通FileStation界面查看。)

完成nodejs环境的安装以后,我们就可以安装hlink程序了。

输入安装命令安装hlink,并等待安装完成。

npm install -g hlink

安装完成以后我们再配置一下hlink为全局可用(参考前面的配置nodejs全局可用)。

执行软链接命令

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/hlink /usr/local/bin/hlink

这样就完成hlink安装,并且配置好了环境变量。可以正常使用hlink了。

hlink硬链接命令为

hlink “源路径” “目标路径”

路径部分使用绝对路径,并且建议用半角””标注,可以避免路径内文件夹名称有空格导致命令识别错误。

示例:

hlink “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

img

完美运行

以上就是威联通下hlink安装和基本使用方法。


进阶功能

软件功能可以在SSH输入命令

hlink –help

查看

一般我们只需要用到白名单或者黑名单功能就好了。

要使用黑名单模式,必须把hlink默认使用的白名单配置参数去除。首先我们生成配置文件。

执行

hlink -g

img

就可以生成hlink配置文件hlink.config.js

我这里生成路径为/share/homes/admin/hlink.config.js

然后编辑hlink.config.js配置文件

执行命令

vi /share/homes/admin/hlink.config.js

img

可以看到默认配置文件内容如上图。

图上includeExtname部分为hlink默认硬链的格式。

这里要把includeExtname项默认的内容都删掉,否则excludeExtname黑名单模式不生效。

删掉includeExtname内容就可以实现全内容硬链(hlink命令 “源路径” “目标路径”)、白名单硬链(hlink命令 -i=xxx “源路径” “目标路径”)、黑名单硬链(hlink命令 -e=xxx “源路径” “目标路径”)三种模式手动控制。

(按 i 键,进入编辑模式)

img

修改完成保存配置文件即刻生效。

(按 esc 退出编辑模式,键入 :wq 保存编辑)

这里我们要多加一步操作,把hlink.config.js配置文件复制到一个自定义路径,原因跟之前的unraid一样。威联通重启以后也会重置环境变量,hlink配置文件的默认生成目录也会被重置清空。

执行复制命令

cp /share/homes/admin/hlink.config.js /share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js

这里我把修改好的默认配置文件,复制到了/share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js

大家请根据自己实际情况来写。

这样我们就配置好hlink配置文件了,后面正式开始使用hlink。


黑白名单使用方法如下

白名单功能命令为-i,可以指定仅需要硬链接的格式。比如我只需要硬链接.MKV格式的文件。则命令如下(以使用部分的命令为例),注意空格。

hlink -i=mkv “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

如果需要多个格式类型,则在-i=后写入,以半角逗号隔开,比如需要连接.MKV、.MP4、.MOV格式,则命令如下(以使用部分的命令为例),注意空格。

hlink -i=mkv,mp4,mov “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

运行参考图

img

黑名单功能命令为-e,可以指定不需要硬链接的格式。比如我们不需要硬链接.nfo格式的文件。则命令如下(以使用部分的命令为例),注意空格。

hlink -e=nfo “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

如果需要多个格式类型,则在-e=后写入,以半角逗号隔开,比如不需要连接.nfo、.jpg、.png、.bmp格式(这几个格式文件,进行刮削很可能会被改动,所以一定要排除。因为硬链接修改目标文件也会导致源文件同步修改,会影响做种。),则命令如下,注意空格。

hlink -e=nfo,jpg,png,bmp “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

运行参考图

img


想全自动执行的话,需要在威联通的crontab里添加你需要的硬链接命令,设定自己需要的时间间隔,定时自动执行就可以了。我们要用admin账户编辑crontab配置,执行命令

vim /etc/config/crontab

按i进入编辑模式

在最后加上我们需要的hlink命令,间隔按照crontab规则写。

比如每小时执行一次,则添加的命令如下。

0 */1 * * * hlink -e=nfo,jpg,png,bmp “/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT” “/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS”

示例

img

(按 esc 退出编辑模式,键入 :wq 保存编辑)

执行

crontab /etc/config/crontab

应用计划任务

执行

crontab -l

检查一下计划任务是否已生效

img

确认生效以后,hlink就可以后台全自动硬链接,无需人工干预。

你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。

不论怎样刮削改名改变文件夹层级,都完全不会影响PT做种。


特别注意!

因为威联通系统的特性。

重启以后系统环境变量会重置。

hlink生成配置文件的默认目录也会被重置清空。

所以我们要把前面配置过的软连接命令设置成开机自动执行脚本。

还要把前面复制到自定义路径的配置文件链接到默认生成目录。

这样每次重启才能正常使用hlink命令。

SSH下执行

mount $(/sbin/hal_app –get_boot_pd port_id=0)6 /tmp/config

执行

vim /tmp/config/autorun.sh

按i进入编辑模式

img

在autorun.sh中加入四条命令

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/hlink /usr/local/bin/hlink

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js /share/homes/admin/hlink.config.js

前三条是配置环境变量的命令

第四条命令是把我们前面拷贝出来的,已经修改好的hlink配置文件,“复制”回生效路径。

修改完成保存。

(按 esc 退出编辑模式,键入 :wq 保存编辑)

给autorun.sh添加执行权限

chmod +x /tmp/config/autorun.sh


最后我们来到威联通控制台-硬件-启动时运行用户定义的进程

img

可以点击autorun.sh看看我们配置的脚本是否成功。

img

确认脚本正确以后,记得点击控制台的应用。

这样就完全配置好整个环境和运行计划。

l

nas定时任务

1
2
3
0 23 * * * /opt/bin/cp -rf ~/.zshrc /share/CACHEDEV1_DATA/zsh
0 23 * * * /opt/bin/cp -rf ~/.zsh_history /share/CACHEDEV1_DATA/zsh
0 23 * * * /opt/bin/cp -rf ~/.oh-my-zsh /share/CACHEDEV1_DATA/zsh
l

Word技巧:如何使用正则表达式高效替换

1. 引言

在日常生活中,我们经常需要使用 Word 的查找与替换功能来处理一些简单数据。如果数据相对复杂,我们就需要借助 Word 的正则表达式。关于正则表达式,我们先来定义以下术语:

  • 通配符:指的是可以用来代表一个或多个字的字符。例如,星号 * 通常代表一个或多个字符,问号 ? 通常代表单个字符;
  • 正则表达式:指的是可以用来查找和替换文本模式的文本字符和通配符组合。文本字符指的是必须存在于目标文本字符串中的文本,通配符指的是目标字符串中可能各不相同的文本。
描述 类型 示例
任一字符 ? s?t 可找到 “sat” 和 “set”
任何字符串 * s*d 可找到 “sad” 和 “started”
单词开头 < <(inter) 可找到 “interesting” 和 “intercept”,但找不到 “splintered”
单词结尾 > (in)> 可找到 “in” 和 “within”,但找不到 “interesting”
指定字符之一 [ ] w[io]n 可找到 “win” 和 “won”
此范围内的任一字符 [-] [r-t]ight 可找到 “right” 和 “sight”,范围必须是升序
除了括号内范围中的字符之外的任一字符 [!x-z] t[!a-m]ck 可找到 “tock” 和 “tuck”,但找不到 “tack” 或 “tick”
前一个字符或表达式的 n 个匹配项 {n} fe{2}d 可找到 “feed”,但找不到 “fed”
前一个字符或表达式的至少 n 个匹配项 {n,} fe{1,}d 可找到 “fed” 和 “feed”
前一个字符或表达式的 n 到 m 个匹配项 {n,m} 10{1,3} 可找到 “10”、”100” 和 “1000”
前一个字符或表达式的一个或多个匹配项 @ lo@t 可找到 “lot” 和 “loot”

 

2. 内容转置

本节介绍了如何使用正则表达式转置姓名、转置日期。

2.1 转置姓名

第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Josh Barnhill
Doris Hartwig
Tamara Johnston
Daniel Shimshonig

第二步,在「开始」选项卡上的「编辑」组中,单击「替换」以打开「查找和替换」对话框。

第三步,选中「使用通配符」复选框。若没有看到「使用通配符」复选框,请单击「更多」,然后选中该复选框。没有选中该复选框时,Word 会将通配符视作文本。

第四步,在「查找内容」框中键入 `(<*>) (<*>)`。注:两组括号之间包含了空格。

第五步,在「替换为」框中,键入 `\2, \1`。注:在逗号和第二个斜杠之间包含了空格。然后单击「全部替换」。Word 会转置这些姓名并使用逗号分隔它们。

![img](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2022/10/31/xFEc5V.png)

关于正则表达式,在第一个表达式 `(<*>) (<*>)` 中:

- 星号 `*` 代表任意字符串,会返回单词中的全部文本;
- 小于和大于符号 `< >` 分别标记了每个单词的开始和结束。它们确保搜索会返回单个单词;
- 它们之间的括号和空格将单词拆分成不同的组,即 (第一个单词) 和 (第二个单词)。

在第二个表达式 `\2, \1` 中:

- 斜杠 `\` 与数字放在一起充当占位符;
- 第一个占位符后的逗号,是在两个被转置的姓名之间插入想添加的标点符号;
- 该表达式含义是,写入第二个单词,添加逗号,写入第一个单词。

### 2.2 转置日期

第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。注意粘贴时只保留文本。

28th May 2003
1st Jun 2008
2nd Feb 2010
3rd Apr 2020

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

第二步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。

第三步,在「查找内容」框中键入 `([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})`。

第四步,在「替换为」框中,键入 `\3 \1, \4`。注:确保在每个字符集之间插入空格。

第五步,单击「全部替换」。

![img](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2022/10/31/HuEomc.png)

关于正则表达式,第一个表达式 `([0-9]{1,2})([dhnrst]{2}) (<[ADFJMNOS]*>) ([0-9]{4})` 的作用是将日期分解为四个部分,由多组括号来表示。具体来看:

- 第一部分 `([0-9]{1,2})`。数字范围 `[0-9]` 匹配第一个模式中的一位数数字。因为日期可以由两个数字组成,我们让搜索返回一位数或两位数的日期 `{1,2}`;
- 第二部分由序数词组成。序数词包含 "th"、"nd"、"st" 和 "rd",因此我们将这些字母添加到范围 `[dhnrst]` 中。因为序数词总是由两个字母组成,我们将字母计数限制为 2,即 `([dhnrst]{2})`;
- 第三部分是查找月份名的文本字符和通配符。所有月份名都以这些大写字母开头 "ADFJMNOS"。我们不知道每个大写字母后有多少个字符,因此我们在它们之后使用星号 `*`。我们只对月份名本身感兴趣,因此我们使用 `<` 和 `>` 字符来将结果限制为单个单词,即 `(<[ADFJMNOS]*>)`;
- 星号 `*` 代表任意字符串,会返回单词中的全部文本;
- 小于和大于符号 `< >` 分别标记了每个单词的开始和结束,它们确保搜索会返回单个单词;
- 第四部分为年。我们使用相同的数字范围,但这次我们将计数限制为四个字符 `([0-9]{4})`。

在第二个表达式 `\2, \1` 中:

- 斜杠 `\` 与数字放在一起充当占位符;
- 第一个占位符后的逗号在两个被转置的姓名之间插入想添加的标点符号;
- 该表达式的含义是,写入第二个单词,添加逗号,写入第一个单词。

 

## 3. 批量换行

本节介绍了如何使用正则表达式将 "题号" 替换成 "题号、+换行" 和将选项 "B." 替换成 "换行符+B."。

### 3.1 题号后加换行符

第一步,启动 Word,打开一个新的空白文档。复制此文字,将它粘贴到该文档中。

5、风险管理的主体是( )
A、法人 B、个人 C、任何组织和个人 D、组织
6、风险管理效益的大小,取决于( )
A、是否能以最小风险成本取得最大安全保障 B、是否能以最小风险成本取得最小安全保障 C、是否能以最大风险成本取得最小安全保障 D、是否能以最大风险成本取得最大安全保障
7、风险管理的方法分为( )
A、控制型和财务型 B、自留型和转移型 C、控制型和转移型 D、自留型和控制型
8、利用签订销售、建筑、运输合同处理风险的风险管理方法是( )
A、财务型保险转移风险 B、财务型非保险转移风险 C、避免型风险管理 D、控制型风险管理


第二步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。

第三步,在「查找内容」框中键入 `(<[0-9]{1,2}>、)`。

第四步,在「替换为」框中,键入 `\1^p`。注:确保在每个字符集之间插入空格。

第五步,单击「全部替换」。

![img](https://fig-lianxh.oss-cn-shenzhen.aliyuncs.com/%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%92%8C%E9%80%9A%E9%85%8D%E7%AC%A6%E5%BF%AB%E9%80%9F%E6%9B%BF%E6%8D%A2_%E6%9D%8E%E5%B2%B8%E7%91%B6_Fig03.png)

关于正则表达式,在第一个表达式 `(<[0-9]{1,2}>、)` 中:

- 小于和大于符号 `< >` 分别标记了每个单词的开始和结束;
- `[0-9]` 代表匹配从 0 到 9 的数字;
- `{1,2}` 代表数字有 1 到 2 位。如果是 `{1,7}`,就是数字有 1 到 7 位;
- 顿号 `、` 则就代表字符串 "、"。

在第二个表达式 `\1^p` 中:

- `\1` 代表第一个变量;
- `^p` 代表段落标记符号。

### 3.2 选项前加换行符

第一步,按照上文描述打开「查找和替换」对话框,并选中「使用通配符」复选框。

第二步,在「查找内容」框中键入 `(<[BCD]{1,1}>)`。

第三步,在「替换为」框中,键入 `^p\1`。注:确保在每个字符集之间插入空格。

第四步,单击「全部替换」。

![img](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2022/10/31/M6LzD4.png)

## word手动目录添加点点

## 手动目录制作

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/EGATLv_20221101192832.png)

1. ctrl选中所有2级目录,然后通过标尺上的「左缩进」按钮,来将我们的2级目录缩进一下。
2. 手动添加页码,给每一章和节标题后面添加上页码数。 **当然,这里你可以为你的页码添加括弧,或更多个性化内容**。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/54SLTD_20221101193048.png)

3. 在每一章节标题与页码之间,按一下「Tab」键。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/HlHA9m_20221101193120.png)

4. 选中所有的目录内容,然后点击「开始」-「段落」-「段落设置」-「制表位」,在「制表位位置」中设置成“42”,这里大家可以查看自己页面中“标尺”来设定具体位置。「对齐方式」设为“居中”。最后,我们选择一种「前导符」,再点击“设置”按钮,确定即可。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/KzDzXg_20221101193251.png)
l

专利发表教程

专利的基本概念

专利三性:新颖性、创造性和实用性

新颖性:

  • 该发明不属于现有技术
  • 没有任何单位或者个人就同样的发明或者实用新型在申请日以前向专利局提出过申请,并记载在申请日以后(含申请日)公布的专利申请文件或公告的专利文件中
  • 全世界范围内

创造性:

  • 与申请日以前在国内外为公众所知的技术相比,该发明具有突出实质性特点和显著的进步

实用性:

  • 该发明能够制造或者使用,并且能够产生积极效果

专利的种类:发明专利、实用新型专利、外观设计专利

  1. 发明专利
  • 定义:指对产品、方法或者其改进所提出的新的技术方案
  • 发明专利分为:产品发明、方法发明
  • 特点:
    • 发明是一项新的技术方案。利用自然规律解决生产、科研、试验中各种问题的技术解决方案,一般有若干技术特征组成。

    • 按照性质划分,发明权利要求有两种基本类型,分为产品权利要求和方法权利要求

      • 产品权利要求包括人类技术生产的物品(产品、设备)
      • 方法权利要求包括时间过程要素的活动,又可以分成方法和用途两种类型。专利法保护的发明也可以是对现有产品或方法的改进
  1. 实用新型专利
  • 定义:对产品的形状、构造或者其结合所提出的适于实用的新的技术方案
  • 实用新型与发明的不同之处在于:
    • 实用新型限于具有一定形状的产品,不能是一种方法,也不能是没有固定形状的产品
    • 对实用新型的创造性要求相比发明较低
  • 产品的形状:指产品所具有的、可以从外部观察到确定的空间形状。例如:对凸轮形状、刀具形状作出的改进,对型材的断面形状的改进
  • 产品的构造:产品的各个组成部分的安排、组织和相互关系。产品的构造可以是机械构造,也可以是线路构造
  1. 外观设计专利
  • 外观设计:
    • 对产品的形状、图案或者其结合以及色彩与形状、图案的结合所作出的富有美感并适于工业应用的新设计
    • 指产品外观的设计方案。与发明或实用新型完全不同,即外观设计不是技术方案。
  • 外观设计专利符合要求
    1. 形状、图案或者其结合以及色彩与形状、图案的结合的设计
    2. 必须是对产品的外观所作的设计
    3. 必须富有美感
    4. 必须是适用于工业上的应用

网站

国家知识产权局

中国专利公布公告

发明专利审批流程

发明专利:受理、初审、公布、实审以及授权五个阶段

实用新型、外观设计专利:受理、初审和授权三个阶段

一般耗时2年,初审1年,实质审查1年

发明专利申请文件

文件

包括5部分:

  1. 请求书:一份表格,用以确定发明和实用新型的名称,发明人姓名等事项
  2. 说明书:对专利做出详细的说明。包括:
    1. 技术领域
    2. 背景技术
    3. 发明内容
    4. 附图说明
    5. 具体实施方式
  3. 说明书附图:通过附图,帮助理解说明书所陈述的内容
  4. 权利要求书:要求专利保护的范围,是申请文件的核心内容
  5. 摘要:技术要点的说明

文件下载

文件100001、100002、100003、100004、110101

网站

请求书

按表格填写基本说明

说明书

  • 技术领域

    • 指发明或实用新型直接所属或直接应用的技术领域
    • 高度概括的介绍发明的应用领域。50-80字。
    • 例
      • 例1:本发明属于基因功能与应用领域,具体涉及A基因作为药物靶标在筛选治疗B疾病中的应用,以及A抑制剂在制备治疗B疾病的药物中应用。
      • 例2:本发明属于基因工程领域,具体地说,涉及一种XXXXX的基因工程方法。
      • 例3:本发明属于XXXXX的功能与应用领域,具体涉及XXXX代谢中产物A作为XXXXX 的应用。
  • 背景技术

    • 类似论文中的introduction、 基金申请中的研究意义部分
    • 三段式:层层递进的关系,1000-1200字
      • 第一段:临床问题,400字。临床问题意义重大。比如:疾病的严重性,人群数量的严重性。 例如:膀胱癌流行病学数据。
      • 第二段:疾病细分,400字。临床问题的背后因素,某一关键因素。某一疾病下往往会细分。 例如:膀胱癌淋巴转移概述,诊断治疗手段。
      • 第三段:靶分子,400字。专利申请的靶分子。 例如:靶分子的研究背景。
  • 发明内容

    • 包括解决的技术问题、技术方案及有益效果

    例子:

    ​ 为解决上诉现有技术的缺陷和不足,本发明的目的是提供靶分子A作为XXX的应用,可为领域 1,领域2提供XXXX。

    ​ 为实现上述目的,本发明采用的技术方案为:

    ​ 本发明以XXXX(细胞或者动物)为实验对象,通过建立XXXX模型,结果表明XXXX(简述具体 的实验过程和结果)。300字。

    ​ 针对靶分子的上述功能,提供靶分予作为XXXX用于领域1的应用。

    ​ 针对靶分子的上述功能,本发明提供靶分子作为XXXX用于领域2的应用。

    ​ 一种具有XXXX功能的药物,包含靶分子的抑制剂。

    ​ 本发明相对于现有技术具有如下的有优点及效果:

    1. 本发明发现靶分子的新功能,及靶分子具有XXXX的作用
    2. 发明提出靶分于在XXXX中的作用,在制备用于XXXX等方面应用。
  • 附图说明

    • 对附图的详细说明
    • 写作方式可以参考论文的写作
    • 只写文字,没有图
    • 例
      • 图1是XXXX结果图。A为……;B为……
      • 图2是XXXX结果图。A为……;B为……
      • 图3是XXXX结果图。A为……;B为……
  • 具体实施方式

    • 具体实施方式,详细写出发明如何能够实现,或者实现方式。1000字以上。类似论文中的实验方法和结果部分。

    • 以下实施例用于说明本发明,但不用来限制本发明的范围。

      如果是细胞,说明细胞培养的条件。

      如果是动物,说明动物来源,饲养环境。

      如果是试剂,说明试剂的购买来源。

    • 实施例1动物模型的建立。

      具体实验方法详述(因为在专利中没有文献引用,所以具体方法要写详细)。

    • 实施例2小鼠各项指标的测定。

      具体实验方法详述。另起一段简述实验结果。

    • 实施例3主要实验方法说明。

      具体实验方法详述。另起一段简述实验结果。

    • 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

  • 题目

    • 错误:XXX蛋白及其抑制剂在XXX疾病中的应用
    • 改为:XXX蛋白及其抑制剂在制备治疗XXX疾病的药物中的应用

说明书附图

  • 附图,专利中用到的图并标注它们。这里只有图,不需要附注
  • 可以提升作图taste的三门课程
    • 40周中的套路课,对所讲的文献中作图有详细的讲解。
    • 单元课中GraphPad Prim
    • 大师兄带你修炼科研绘图独家秘籍:有针对科研作图的介绍,软件Photoshop 和 Illustrator

权利要求书

  • 权利要求书,专利要保护的范围。300字左右。

一种A基因在XXXX疾病中的功能,其特征在于体现在A具有XXXX的功能。
权利要求1所述功能的应用,其特征在于A在XXXX方面应用。
权利要求2所述功能的应用,其特征在于A在XXXX方面应用。

摘要

  • 摘要,对整个发明做系统描述,介绍发明的特点和创新点。300字。
  • 格式:
    • 第1句:总述靶分子的应用,以及所属的研究领域。
    • 第2句:总述实验方法和实验结果。
    • 第3句:总述靶分子的机制水平上功能。
    • 第4句:总结靶分子在疾病中的功能。
    • 第5句:靶分子的应用。
  • 例子1:
    • 第1句:本发明公开一种靶分子在XXXX疾病中的功能和应用,属于基因的功能与应用领域。
    • 第2句:本发明以XXXX小鼠为实验对象,通过建立XXXX疾病模型,结果表明与XXXX小鼠对比,靶 分子敲除或者过表达小鼠XXXX疾病变严重,XXXX指标增加显著。
    • 第3句:这些结果表明,靶分子有XXXX的能力,有XXXX的能力 (分子机制上讲)。
    • 第4句:从而发现靶分子在XXXX疾病中的功能,主要体现在其具有能够显著改善XXXX疾病的作用。
    • 第5句:针对靶分子的上述功能,可用于靶分子在制备治疗XXXX疾病的药物。
  • 例子2:
    • 第1句:本发明公开靶分子作为XXXX的应用,属于代谢分子的功能与应用领域。
    • 第2句:本发明中XXXX检测研究表明靶分子有XXXX的能力,在细胞或者动物水平上以XXXX为实验模型,研究靶分子的XXXX的作用。
    • 第3句:结果表明靶分子可以有效的增强XXXX,具有保护XXXX的功能。
    • 第4句:因此,靶分子具有XXXX的能力。
    • 第5句:针对靶分子的上述功能,靶分子可用于在XXXX的应用。

l

QNAP安装Entware

入坑qnap(威联通),在ssh到NAS后,发现没有常用的zsh、git、sudo,这可让用惯了centos,debian系统的老高情何以堪。

一番查阅后,老高发现原来QNAP所使用的系统QTS可以使用Entware,也就是opkg最为包管理系统,这不就简单了,老高以前在OpenWrt上用的就是这个玩意儿!

本篇内容可以让你学会如何在QNAP上安装Entware-ng,以及zsh,git,sudo还有ohmyzsh等常用工具,并且保证他们不会被系统还原!

安装

想要在你的QNAP上安装Entware,可以访问Qnapclub Store - Entware-ng,找到对应的架构的下载地址。

比如老高的机器是TS-551,和TS-453Bmini一样是x86_64,所以下载TS-NASX86_64版本,对应下载链接为https://www.qnapclub.eu/en/qpkg/model/download/11369/Entware-ng_0.97.qpkg

最后我们ssh到NAS中,执行下面的命令:

1
2
3
4
5
6
7
cd /tmp
# 下载
wget https://www.qnapclub.eu/en/qpkg/model/download/11369/Entware-ng_0.97.qpkg
# 执行安装
sh Entware-ng_0.97.qpkg
# 最后删除安装包
rm Entware-ng_0.97.qpkg

这样就完成了安装过程。

使用

以安装 zsh + oh-my-zsh 为例

1
2
3
4
5
6
7
8
9
# 首先更新opkg
opkg update
# 安装zsh
opkg install zsh
# 安装git
opkg install git-http

# 安装oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

到这里我们就完成了一半了!为什么是一半呢?因为每次重启时,文件系统就会被还原,所以我们需要在系统加载的时候HACK一下,通过观察挂载的规则,老高发现/etc/init.d/Entware.sh这个脚本可以为我所用,所以后面我们就改一下这个脚本!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
l /etc/init.d/Entware.sh
/etc/init.d/Entware.sh -> /share/CACHEDEV1_DATA/.qpkg/Entware/Entware.sh


# 首先,我们需要把oh-my-zsh的配置放在硬盘中,否则重启就会被删除
# 这里假设硬盘路径为/share/CACHEDEV1_DATA/
mkdir -p /share/CACHEDEV1_DATA/.zsh
cd ~
mv .zsh_history .zshrc .oh-my-zsh /share/CACHEDEV1_DATA/.zsh

## 最重要的一步!
vi /share/CACHEDEV1_DATA/.qpkg/Entware/Entware.sh

## 找到start位置,在创建link的时候加入以下代码

/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.zshrc /root/.zshrc
/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.oh-my-zsh /root/.oh-my-zsh
/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.zsh_history /root/.zsh_history

hack启动脚本

l

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
for line in `cat apple.txt`
# 将 cat apple.txt的输出作为字符串,for逐个读取赋值line变量
#``为反引号
#也可以使用取值符号$(cat apple.txt)替代`cat apple.txt`
do
mkdir $line
#取line值,执行新建文件夹命令
done

l

编号 类型 备注
01 无人机
02 博客
03 office
04 git
05 docker
06 java
07 macos
08 nas
09 shell
10 sql
11 ubuntu
12 正则
13 算法
14 终端
15 设计模式
16 整理
17 博客配置
18 photoshop
l

编号 类型 备注
01 无人机
02 博客
03 office
04 git
05 docker
06 java
07 macos
08 nas
09 shell
10 sql
11 ubuntu
12 正则
13 算法
14 终端
15 设计模式
16 整理
17 博客配置
18 photoshop
19 口才
l