常用的物种分类鉴定基因或序列

LSU rDNA,large subunit rDNA,核糖体大亚基脱氧核糖核酸。LSU rDNA序列能转录出LSU rRNA(核糖体大亚基核糖核酸)。LSU rRNA和SSU rRNA是核糖体的主要组成成分。LSU rDNA序列长度:真核生物在Rfam数据库编号为RF02543,长度3401 bp;细菌在Rfam数据库编号RF02541,长度2925 bp;古菌在Rfam数据库编号RF02540,长度2990 bp。使用Infernal软件将DNA序列和Rfam数据库中的LSU rRNA家族cm模型进行比较进行鉴定。

SSU rDNA,small subunit rDNA,核糖体小亚基脱氧核糖核酸。SSU rDNA序列能转录出SSU rRNA(核糖体小亚基核糖核酸)。LSU rRNA和SSU rRNA是核糖体的主要组成成分。SSU rDNA序列长度:真核生物在Rfam数据库编号为RF01960,长度1851 bp;细菌在Rfam数据库编号RF00177,长度1533 bp;古菌在Rfam数据库编号RF01959,长度1477 bp。使用Infernal软件将DNA序列和Rfam数据库中的LSU rRNA家族cm模型进行比较进行鉴定。yi

ITS region,internal transcribed spacer region,内转录间隔区。rDNA序列能转录出的前体RNA(pre-RNA,precursor RNA)包含LSU rRNA和SSU rRNA,以及两者之间的5s或5.8s rRNA。在该前体RNA序列上不同rRNAs的内部并将rRNAs隔离开的转录区域,即为内转录间隔区。它一般包含两个区域ITS1和ITS2。前者指SSU往5s或5.8s之间的区域,后者指5s或5.8s往LSU之间的区域。SSU和LSU rDNA序列位于基因组上,中间隔着5s或5.8s rDNA序列。它们一起作为一个重复单元,在基因组上串联重复许多次。若转录起始位点位于以上重复单元上游某区域,则相应的外转录间隔区则是LSU和SSU之间的一段序列,位于前体RNA两端不属于rRNA的序列;若转录的对象不是一个重复单元,而是整个重复序列全部,则LSU和SSU之间的序列也应该是内转录组间隔区,或者称为ITS3区域。在真和生物中,SSU 的沉降系数是18s,LSU是28s;在原核生物中SSU是16s,LSU是26s。在原核生物中仅存在5s rRNA;在真核生物基因组中一般同时有5s和5.8s rRNA。在真核生物中,rDNA重复单元中一般仅有5.8s,但有些物种也包含5s。由于LSU和SSU rDNA序列非常保守,可能无法用于物种的区分。此时,采用进化速度约高10倍的ITS序列进行鉴定是更加有效的。若需要检测基因组上的ITS序列,则需要先使用Infernal软件基于Rfam数据鉴定出LSU、SSU、5s和5.8s rDNA序列后,在分析ITS1和ITS2序列。

RPB2,RNA polymerase beta(II) subunit 2,RNA聚合酶II第二亚基。RNA聚合酶II用于DNA介导下合成mRNA,在遗传信息的转录中发挥重要作用。它由12个亚基构成,其中最大的亚基是RPB1,第二大的亚基是RPB2。RPB1基因通常在大部分物种中是多拷贝的,而RPB2基因则是单拷贝的。故RPB2基因比RPB1更适合于物种的分类和鉴定。该蛋白序列比较大,有约1200 aa,可使用Pfam数据库进行鉴定,要求其蛋白序列同时具有7个结构域(PF04563、PF04561、PF04565、PF04566、PF04567、PF00562、PF04560),才能鉴定其为RPB2蛋白。因为RNA聚合酶I、II和III第二大亚基的蛋白序列是非常相似的,整个基因组中可能有2~3个基因的蛋白序列都能鉴定到这7个结构域,此时选择其中最优的基因(对7个结构域的覆盖率高达98~100%)作为RPB2基因。

TUBB,tubulin beta chain,β-tubulin。β-tubulin是微管蛋白三种亚基之一,细胞骨架中的重要组成成分。细胞骨架是细胞内的一种支持结构,它包括微管、微丝和中间丝等结构,起到维持细胞形态、细胞运动以及细胞内物质运输的重要作用。微管蛋白是由α-、β-微管蛋白分子聚合而成的异二聚体,α-和β-两种亚基分别与GTP和GDP结合。β-微管蛋白是微管的动态单位,其组装后即在 β-微管蛋白处发生 GTP 水解。将蛋白序列和Swiss-Prot数据库进行比对,其结果应该是“Tubulin beta chain”。不推荐使用Pfam数据库对β-tubulin蛋白进行鉴定,因为alpha、beta和gamma三种类型的tubulin chains都具有PF00091(Tubulin/FtsZ family, GTPase domain)和PF03953(Tubulin C-terminal domain)结构域。β-tubulin基因一般是多拷贝基因。

EF-Tu,EF-1A,EF-1alpha,elongation factor Tu,延伸因子Tu。EF-Tu在蛋白质合成过程中的作用是确保正确的氨酰-tRNA选择,并促进蛋白质链的延长。它能够与氨酰-tRNA形成一个稳定的复合物,将其带到核糖体A位上,使氨酰-tRNA与mRNA上的密码子完全配对。然后,核糖体通过水解三磷酸腺苷(GTP)来释放EF-Tu,并继续蛋白质的合成。EF-Tu包含3个结构域PF00009(Elongation factor Tu GTP binding domain)、PF03144(Elongation factor Tu domain 2) 和PF03143(Elongation factor Tu C-terminal domain)。可使用Pfam数据库进行分析,要求其蛋白序列同时具有以上3个结构域,则鉴定为EF-Tu基因。EF-Tu基因一般是多拷贝的。

使用百度网盘同步整个D盘

基于工作上有多个办公地点和办公电脑,我考虑使用百度网盘将各个电脑中的D盘进行同步。

百度网盘有一个同步功能,可以设置同步路径,但是其路径最后的文件夹名称一定为BaiduSyncdisk且不能进行人为修改。于是为了实现对整个D盘的备份,我将D盘软链接到C盘且使其软链接名称为 BaiduSyncdisk 即可。具体操作方法为:按win + q,输入cmd,右击使用管理员运行命令提示符,然后输入如下命令:

mklink /D "C:\BaiduSyncdisk" "D:\"

然后再于百度网盘中设置同步路径为C:\盘即可。

对网站履行公安备案

我在2023年12月收到武汉网警的短信通知,要求对网站旅行公安备案。短信信息:“【武汉网警】依据《计算机国际互联网安全保护管理办法》之规定,您开办的网站需履行公安备案,请搜索访问全国互联网安全管理服务平台提交备案”。我的备案流程记录如下:

1. 进行网站的ICP备案。

我很早前就通过Aliyun进行了网站的备案。相关信息:(1)网站名称是“宠辱不惊一心问学”;(2)域名是“www.chenlianfu.com”;(3)备案号是“鄂ICP备15010551号”。

进行公安备案需要填写工信部备案号,即ICP备案号。

2. 准备域名证书

我是在Aliyun万网上购买的域名,其提供了域名证书的下载:先打开www.aliyun.com网站并登录,点击右上角的控制台,点击我的导航栏目下的域名,继续点击域名列表,点击目标域名后面的管理,最后点击左侧的域名证书下载,右侧则出现对用的图片,可以截图或点击图片底部的下载。

3. 下载并安装公安一网通办APP

在手机上下载并安装公安一网通办APP ,并注册用户。

4. 在全国互联网安全管理服务平台上旅行公安备案

打开全国互联网安全管理服务平台官网https://beian.mps.gov.cn/web/dashboard/home,首先申请新增主体,需要上传身份证正反面和手持共3张照片;然后,做新办网站申请,需要工信部备案号、域名证书、域名名称IP有效期信息,在网络接入服务商和域名注册服务商栏目进行查询搜索阿里云即可。

兄弟3150CDN激光彩色打印机问题和解决方案

1. 打印出的纸张皱褶,整条黑色线条

打印机使用约3年后,打印出的纸张全都皱褶,且有黑色长线条。后来发现,是由于加热组件中的定影上辊黑色塑料表皮破损导致的。当纸张通过滚动的加热辊时,在破损位置不能很好压紧纸张,导致纸张皱褶且有长线条。我于是更换了单个定影上辊,淘宝购买花费了38元。需要注意的是,维修难道稍微有点大。若是不小心搞坏了整个加热组件,也没关系,购买全套加热组件,也就280元,这个安装就非常简单。

2. 报错Dump stop,需要对所有四种颜色硒鼓进行更换

需要对硒鼓进行清零。打开上盖,然后同时按住GO和上建,屏幕上提示Drum unit,再按OK键选择四种不同颜色的硒鼓进行重置即可。

3. 提示墨粉用完

将粉盒右侧的齿轮重新进行归位。

内网搭建网站后通过Aliyun中转

在内网的服务器性能强大,能搭建一个功能齐全的网站。但是内网服务器一般没有公网IP,或被单位屏蔽了对外访问的端口,从而不能直接被外网访问。于是通过以最低价格购买性能最差的Aliyun服务器后,它具有公网IP,可以用于将内网服务器的网站中转,用于所有人访问。

1. 在Aliyun上购买服务器和域名

在Aliyun上购买最低性能的共享性服务器,即可用于中转内网的网站信息。进行数据流的中转时,服务器几乎没有消耗CPU计算的,其价格可以做到很低。

朋友在Aliyun的万网上购买了一个域名,yue-zheng.com,将该域名指向了购买的服务器IP地址,用于做网站。

2. Aliyun服务器上设置域名对应本机的8001端口信息

首先,购买Aliyun服务器时选择Rocky 9.2 Linux系统。登录系统后,安装http网页软件。

dnf install -y http*

修改网页设置的配置文件/etc/httpd//conf/httpd.conf,尾部增加以下内容,表示将Aliyun服务上8001端口的信息转发到80端口上,用于提供对外的 www.yue-zheng.com 域名上的网页信息。

<VirtualHost *:80>
    ProxyPreserveHost On
    ServerName www.yue-zheng.com
    ProxyPass / http://127.0.0.1:8001/
    ProxyPassReverse / htt://127.0.0.1:8001/
</VirtualHost>

开启防火墙服务,开启网页服务,设置两个服务开机自动启动,开放80端口。

systemctl start firewalld.service
systemctl start httpd.service

firewall-cmd --add-port=80/tcp --permanent
systemctl restart firewalld.service


systemctl enable firewalld.service
systemctl enable httpd.service

3. 内网服务器搭建网站并通过ssh反向隧道将其8001端口连接到Aliyun的8001端口

首先,在内网服务器进行网站配置,在/etc/httpd//conf/httpd.conf文件尾部增加内容如下,表示将 /home/zhengyue/wordpress文件夹下的网站信息通过内网服务器的8001端口输出。

Listen 8001
<VirtualHost *:8001>
    DocumentRoot /home/zhengyue/wordpress
    ServerName www.yue-zheng.com
</VirtualHost>

同样配置内网服务器的httpd、防火墙服务和80端口开放。

systemctl restart firewalld.service
systemctl restart httpd.service

firewall-cmd --add-port=80/tcp --permanent
systemctl restart firewalld.service

systemctl enable firewalld.service
systemctl enable httpd.service

然后,配置内网服务器无密码登录到Aliyun服务器,并设置ssh反向隧道。将内网服务器的8001端口信息转发给Aliyun服务器的8001端口。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub zhengyue@yue-zheng.com

ssh -o PreferredAuthentications=publickey -o StrictHostKeyChecking=no -o ConnectTimeout=10 -f -N -R 8001:localhost:8001 zhengyue@yue-zheng.com

最后,将Wordpress博客网站搭建到内网服务器的 /home/zhengyue/wordpress 目录中。

cd /home/zhengyue
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar zxf latest-zh_CN.tar.gz && rm latest-zh_CN.tar.gz

sudo dnf install php php-devel php-fpm php-json
systemctl restart php-fpm.service
systemctl enable php-fpm.service

usermod -aG zhengyue apache
chmod 750 /home/zhengyue
systemctl restart httpd.service
chmod 775 /home/zhengyue/wordpress

输入www.yue-zheng.com来访问网站,并进行wordpress配置。

github的双重验证

最近github需要双重身份验证才能登录并上传代码。操作流程如下:

首先,登录GitHub后,打开Settings,点击左侧Password and authentication,设置Two-factor authentication为enabled。会弹出一个界面,上面有个二维码。

然后,在google浏览器中安装插件“身份验证器”,使用该插件给二维码截图,再点击插件,即可返回一串数字,填入网页中,即可完成验证。

在Rocky 9.2 Linux系统部署SGE

目前,最新版本的SGE版本是8.1.9版本,其软件较旧,在Rocky 9.2 Linux系统上使用其高版本的GCC进行编译基本不会成功。于是采用特别提供repo源进行安装,即采用某些高人已经编译好的rpm软件进行安装。

1. 设置各节点的主机名

部署SGE前,需要设置好各个节点的主机名,需要修改3个文件。以设置node1主机为例:

echo 'NETWORKING=yes
HOSTNAME=node1' > /etc/sysconfig/network
echo 'node1' > /proc/sys/kernel/hostname
echo 'node1' > /etc/hostname

然后在各节点上设置主机名和其IP映射信息:

echo '10.0.0.1 node1
10.0.0.2 node2
10.0.0.3 node3
10.0.0.4 node4
10.0.0.5 node5
10.0.0.6 node6
10.0.0.7 node7
10.0.0.8 node8' > /etc/hosts

2. 在管理节点上安装SGE软件

首先,开放防火墙端口。

sudo firewall-cmd --add-port=992/udp --permanent
sudo firewall-cmd --add-port=6444/tcp --permanent
sudo firewall-cmd --add-port=6445/tcp --permanent
sudo systemctl restart firewalld.service

然后,安装SGE软件可能依赖的一些系统软件。

sudo dnf -y install csh java-1.8.0-openjdk java-1.8.0-openjdk-devel gcc ant automake hwloc-devel openssl-devel libdb-devel pam-devel libXt-devel motif-devel ncurses-libs ncurses-devel ant-junit junit javacc libdb-utils jemalloc munge-libs

继续,正式安装SGE软件,采用loveshack编译的SGE

sudo wget https://copr.fedorainfracloud.org/coprs/loveshack/SGE/repo/epel-9/loveshack-SGE-epel-9.repo -P /etc/yum.repos.d
sudo dnf -y install gridengine gridengine-devel gridengine-execd gridengine-drmaa4ruby gridengine-qmon
# 需要强制安装gridengine-qmaster,正常安装保存血少libdb4,而Rocky9默认安装libdb5。
sudo dnf -y download gridengine-qmaster
sudo rpm -ivh --nodeps gridengine-qmaster-8.1.9-6.el9.x86_64.rpm
sudo chown -R chenlianfu:chenlianfu /opt/sge

最后,在管理节点上部署SGE的qmaster服务。

cd /opt/sge
./install_qmaster
# 安装到靠后时,启动了Grid Engine qmasster服务,然后可以提供部署SGE的节点主机名信息,按y和Enter键使用一个文件来提供主机信息,输入文件路径/etc/hosts提供加入到SGE集群系统的主机信息。有利于后续在各计算节点上部署execd服务。

3. 在计算节点上部署SGE软件

首先安装SGE依赖的系统软件,然后部署SGE的execd服务。

sudo dnf -y install csh java-1.8.0-openjdk java-1.8.0-openjdk-devel gcc ant automake hwloc-devel openssl-devel libdb-devel pam-devel libXt-devel motif-devel ncurses-libs ncurses-devel ant-junit junit javacc libdb-utils jemalloc munge-libs

cd /opt/sge
./install_execd
# 全程按Enter键直到完毕即可。

4. 启动SGE软件

部署完毕后,若需要使用SGE软件,则执行如下命令载入SGE的环境变量信息:

source /opt/sge/default/common/settings.sh

或将该信息添加到~/.bashrc从而永久生效:

echo 'source /opt/sge/default/common/settings.sh' >> ~/.bashrc
source ~/.bashrc

启动SGE软件方法:

sudo /opt/sge/default/common/sgemaster restart   # 控制节点启动
sudo /opt/sge/default/common/sgeexecd restaart   # 计算节点启动

查看SGE软件运行日志文件:

Qmaster:      /opt/sge/default/spool/qmaster/messages
Exec daemon:  /opt/sge/default/spool/<hostname>/messages

我通过编写一个程序:keep_SGE,使用root用户或无密码sudo权限运行后能自动维持管理节点或计算节点的SGE服务。再继续通过例行任务流程,能使集群中服务器再SGE系统中的稳定性。

sudo mkdir /root/bin
sudo wget http://chenlianfu.com/public/bin/keep_SGE -P /root/bin/
sudo echo -e "1\t*\t*\t*\t*\t/root/bin/keep_SGE" > crontab.txt
sudo crontab crontab.txt
sduo rm crontab.txt

5. 使用SGE软件

部署完毕SGE后,会生成一个默认主机用户组@allhosts,它包含所有的执行节点;生成一个默认的all.q队列名,它包含所有节点所有计算资源。默认的队列包含的计算资源是最大的。 通过使用命令qconf -mq queuename来对队列进行配置。修改hostlist来配置该队列可以使用执行主机;修改slots来配置各台执行主机可使用的线程数。从而对队列的计算资源进行设置。

使用qconf命令对SGE进行配置:

qconf -ae hostname
    添加执行主机
qconf -de hostname
    删除执行主机
qconf -sel
    显示执行主机列表

qconf -ah hostname
    添加管理主机
qconf -dh hostname
    删除管理主机
qconf -sh
    显示管理主机列表

qconf -as hostname
    添加提交主机
qconf -ds hostname
    删除提交主机
qconf -ss
    显示提交主机列表

qconf -ahgrp groupname
    添加主机用户组
qconf -mhgrp groupname
    修改主机用户组
qconf -shgrp groupname
    显示主机用户组成员
qconf -shgrpl
    显示主机用户组列表

qconf -aq queuename
    添加集群队列
qconf -dq queuename
    删除集群队列
qconf -mq queuename
    修改集群队列配置
qconf -sq queuename
    显示集群队列配置
qconf -sql
    显示集群队列列表

qconf -ap PE_name
    添加并行化环境
qconf -mp PE_name
    修改并行化环境
qconf -dp PE_name
    删除并行化环境
qconf -sp PE_name
    显示并行化环境
qconf -spl
    显示并行化环境名称列表

qstat -f
    显示执行主机状态
qstat -u user
    查看用户的作业
qhost
    显示执行主机资源信息

使用qsub提交作业

qsub简单示例:
$ qsub -V -cwd -o stdout.txt -e stderr.txt run.sh

其中run.sh中包含需要运行的程序,其内容示例为如下三行:
#!/bin/bash
#$ -S /bin/bash
perl -e 'print "abc\n";print STDERR "123\n";'

qsub的常用参数:
-V
    将当前shell中的环境变量输出到本次提交的任务中。
-cwd
    在当前工作目录下运行程序。默认设置下,程序的运行目录是当前用户在其计算节点的家目录。
-o
    将标准输出添加到指定文件尾部。默认输出文件名是$job_name.o$job_id。
-e
    将标准错误输出添加到指定文件尾部。默认输出文件名是$job_name.e$job_id。
-q
    指定投递的队列,若不指定,则会尝试寻找最小负荷且有权限的队列开始任务。
-S
    指定运行run.sh中命令行的软件,默认是tcsh。推荐使用bash,设置该参数的值为 /bin/bash 即可,或者在run.sh文件首部添加一行#$ -S /bin/bash。若不设置为bash,则会在标准输出中给出警告信息:Warning: no access to tty (Bad file descriptor)。
-hold_jid
    后接多个使用逗号分隔的job_id,表示只有在这些job运行完毕后,才开始运行此任务。
-N
    设置任务名称。默认的job name为qsub的输入文件名。
-p
    设置任务优先级。其参数值范围为 -1023 ~ 1024 ,该值越高,越优先运行。但是该参数设置为正数需要较高的权限,系统普通用户不能设置为正数。
-j y|n
    设置是否将标准输出和标准错误输出流合并到 -o 参数结果中。
-pe
    设置并行化环境。

任务提交后的管理:

$ qstat -f
    查看当前用户在当前节点提交的所有任务,任务的状态有4中情况:qw,等待状态,刚提交任务的时候是该状态,一旦有计算资源了会马上运行;hqw,该任务依赖于其它正在运行的job,待前面的job执行完毕后再开始运行,qsub提交任务的时候使用-hold_jid参数则会是该状态;Eqw,投递任务出错;r,任务正在运行;s,被暂时挂起,往往是由于优先级更高的任务抢占了资源;dr,节点挂掉后,删除任务就会出现这个状态,只有节点重启后,任务才会消失。

$ qstat -j jobID
    按照任务id查看

$ qstat -u user
    按照用户查看

$ qdel -j jobID
    删除任务

在Windows系统下安装和使用Cygwin软件

1. Cygwin简介

Cygwin软件是Windows系统下的一个终端软件。它其实是一个小型的Linux虚拟机,它能运用大部分的Linux原生命令,也能访问Windows的文件系统。

2. 安装Cygwin软件

在Cygwin官网https://www.cygwin.com/中下载最新版本的软件安装包,然后在windows系统下进行安装。需要注意的是,安装的时候要选择或填写可用的镜像站点网址(例如,http://mirrors.163.com/cygwin/)才能进行联网下载和安装。需要注意的是,在安装过程中要选择并安装一些常用的软件,例如 procps, gcc, make, cmake, openssh, curl, wget, perl, python, rsync, vim, lynx和chere等。在安装流程的选择软件包界面,查看的下拉菜单中选择完整,利用搜索来检索软件名称并双击跳过来进行软件的选择和安装。

软件安装完毕后,双击windows系统桌面上的软件图标,则打开了一个Linux系统的终端,用于Linux系统命令的直接运行。此外,Cygwin软件在Windows目录C:\cygwin64\bin下生成了各个Linux命令的exe文件,可以在windows下CMD中运行。需要注意的是, C:\cygwin64目录是Cygwin Linux系统的根目录,而windows的各个磁盘分区位于Cygwin Linux系统的/cygdrive目录下。

后续可以使用apt-cyg命令在Cygwin Linux中安装系统软件,需要安装其包管理器软件apt-cyg:

# 从官网下载apt-cyg软件,其实是一个bash脚本程序
curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
chmod 755 apt-cyg
mv apt-cyg /usr/bin

# 设置apt-cyg的源
apt-cyg mirror http://mirrors.163.com/cygwin
# 下载并安装rsync和oenssh软件
apt-cyg install rsync openssh procps
# 若报错没有wget和lynx命令,则重新双击Cygwin安装软件再次安装,搜索并选中wget和lynx命令,额外安装这两个命令后,则可以让apt-cyg顺利运行。

若需要更新Cygwin软件,直接下载最新版软件,再次安装到相同目录即可覆盖和更新,不影响Cygwin系统中已经安装好的软件和用户配置。

此外,若打开的Cygwin终端中不能正确显示中文主机名,可以在终端界面右击打开Options选项,做成点击Text栏,右侧在Locale菜单中选择C,Character set菜单中选择GBK,应用保存后,重新打开Cygwin终端,即可正常显示中文字符。

3. 在Windows系统的文件夹或桌面右键点击后打开Cygwin

默认情况下,通过桌面快捷方式或开始菜单中打开Cygwin软件,进入的工作目录是用户的家目录。为了更方便进行数据操作,可以实现:在某个文件夹或桌面上右键点击,再于弹出的菜单中点击打开Cygwin软件,并自动进入到所在的工作文件夹中。

有两种方法能实现右击打开Cygwin并进入工作目录:

1. 在Cygwin Linux系统中安装chere软件后,以管理员权限打开Cygwin Linux终端,执行命令:chere -i -t mintty -s bash,成功后,右键菜单中有“Bash Prompt Here”选项,点击即可打开Cygwin Linux终端,且自动进入目标文件夹。改进效果:按win+r,输入regedit按回车键后打开注册表编辑器,打开路径“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cygwin64_bash”,将默认数据“&Bash Prompt Here”改为“在此处打开 Cygwin”,能修改右击后菜单的选项名称;然后在页面右侧空白处右击新建字符串值并改名为“Icon”,双击它并填入数据值“C:\cygwin64\Cygwin-Terminal.ico”,使之指向一个图片log文件,能修改右击有菜单选项的图片log;左键点击下级选项command,双击右侧的默认选项,修改其值为:C:\cygwin64\bin\mintty.exe -e /bin/bash --login -i -c "cd '%V';exec bash",则表示使用右击菜单中的Cygwin打开时执行的CMD命令,能让打开Cygwin的方式更好。
2. 直接手动修改Windows系统的注册表信息:按win+r,输入regedit按回车键后打开注册表编辑器,打开路径“计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\Cygwin\command”;新建项Cygwin及其字符串Icon,该项的默认数据值设置为“在此处打开 Cygwin”,字符串Icon的数据值设置为“C:\cygwin64\Cygwin-Terminal.ico”;在其下新建项command,其默认数据值设置为C:\cygwin64\bin\mintty.exe -e /bin/bash --login -i -c "cd '%V';exec bash"。

以上通过修改Windows系统注册表的方式实现了右击打开Cygwin软件,修改后立马生效,不需要重启系统。

4. 一键同时打开多个排列整齐的Cywin终端并同时自动连接服务器

打开Cygwin软件的命令是 C:\cygwin64\bin\mintty.exe,可以在Cygwin终端中执行命令”mintty –help”查看其使用方法。可以通过一些参数设置终端窗口在Windows桌面上的位置、终端的行数和列数、是否有窗口边界、是否有标题、进入终端后执行的命令等。

在我个人笔记本电脑的Windows桌面上生成文件aa.bat,写入以下三行内容:

C:\cygwin64\bin\mintty.exe --position 3,3 --size 113x35 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116
C:\cygwin64\bin\mintty.exe --position 3,1060 --size 113x34 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116
C:\cygwin64\bin\mintty.exe --position 1930,3 --size 112x69 --title 1 --Border void -e ssh -p 7118 -i C:\cygwin64\home\chenlianfu\.ssh\id_rsa chenlianfu@122.205.95.116

当双击桌面上aa.bat文件时,即可同时打开3个Cygwin终端,能整齐排列并占满桌面;每个终端打开后则执行ssh命令并无密码自动登录到我的远程服务器中。

通过热键进行一键启动的高级用法:我个人通过AutoHotkey软件设置热键,当按 alt+f 键时,即表示执行了aa.bat,即可同时打开多个排列整齐的Cywin终端并同时自动连接服务器。操作方法:首先通过AutoHotkey官网https://www.autohotkey.com/下载并安装AutoHotkey软件;然后在桌面上生成文件aa.ahk,其内容如下,用于设置热键;双击aa.ahk文件运行程序,使热键生效;将aa.ahk文件放置到C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup路径(其中xxx是用户名)下,让aa.ahk程序能开机启动,从而实现永久生效。

; 在Windows系统桌面上打开多个cygwin终端
; 设置快捷的热键:^表示control键;#表示windows键;!表示Alt键;Right表示方向键右。
!f::
Run C:\User\Desktop\aa.bat
Return

备份Windows系统

1. 创建系统印象

按Windows+q,在搜索框输入“控制面板”,打开Window7时代的控制面板页面,再点击“备份和还原(Windows 7)”,于打开的页面中点击“创建系统映像”,即可将系统中的所有设置和软件备份到指定的驱动器下,生成文件夹WindowsImageBackup。

2. 创建回复驱动器

按Windows+q,在搜索框输入“创建恢复驱动器”,打开的页面中会自动识别驱动器,此时插上U盘后会自动刷新找到U盘的驱动器盘符,按提示将U盘做成启动盘,用于系统恢复。