作者: houlijiang

  • 如何在Windows 10上用cmd批量重命名多个文件

    如何使用命令提示符重命名多个文件

    也可以使用 ren(或rename)命令来批量更改单个文件的名称以及多个文件和扩展名。

    使用以下步骤在所需的文件夹位置打开命令提示符,并使用要重命名的文件:

    1. 打开文件浏览器
    2. 浏览到包含要重命名的所有文件的文件夹。
    3. 在地址栏中,键入cmd并按Enter键
    1. 快速提示:您可以按照以下步骤将“在此处打开命令窗口”选项返回到Windows 10的上下文菜单。

    在文件夹位置,您可以使用 renrename命令以多种方式批量重命名文件:

    1. ren “old-filename.txt” “new-filename.txt”

    重命名单个文件

    要仅重命名一个文件,请使用以下命令语法并按 Enter键:命令语法示例:

    ren "215155.docx"
    "nutou66.com"

    值得注意的是,您可以在没有引号的情况下运行命令,但如果您尝试更改包含一个或多个空格的文件的名称,则需要它们。

    重命名多个文件

    要重命名多个文件,请使用此命令语法并按 Enter键

    ren .ext1 ???-new_filename_part.

    命令语法示例:

    ren .pptx ????-嘤嘤嘤.

    在命令语法示例中,星号(*)是一个通配符,它​​告诉 ren命令匹配.jpg扩展名的所有内容。问号(?)也是通配符,但它表示原始文件名的字符。因此,在语法中,我们使用三个问号,这意味着输出文件名将包含原始文件的前三个字符(作为唯一标识符以避免重复)以及您之后使用的任何名称问号。

    例如,如果您使用此命令语法重命名 弹头分享 .PPTX木头分享-呵呵哒.PPTX,则输出将如下所示:弹头分享-嘤嘤嘤.pptx木头分享-嘤嘤嘤.pptx

    使文件名更短

    如果您有一长串使用长名称的文件,并且只是想让它们更短,您可以使用以下命令语法:

    ren . ?????.*

    在命令语法示例中,星号(*)匹配文件夹中的所有文件名和扩展名,问号(?)表示用于文件名的字符数。在这种情况下,如果文件名少于五个字符,则名称不会更改。(如果要使文件名更长,请添加额外的问号。)

    更改文件名的一部分

    要重命名类似文件的部分文件名,请使用以下命令语法结构并按 Enter键

    ren old_filename_part. new_filename_part.

    命令语法示例:

    >ren 木头分享. 嘻嘻嘻.

    更改文件扩展名

    如果您有许多具有特定文件扩展名的文件,并且您想将其更改为另一个兼容的扩展名,则可以使用以下命令:

    ren .ext1 .ext2

    命令语法示例:

    ren .txt .doc

  • Minio文件镜像同步配置

    背景

    项目中由于会使用到minio对象存储,在需要满足项目多点灾备的情况下,记录下使用mirror和replicate来实现minio同步和镜像的相关功能,作为后续配置参考。

    mirror和replicate的区别

    mc mirror 用于在两个minio server中的桶之间进行数据同步。mc mirror 命令类似于 Unix rsync 命令,会对源和目标地址进行比较,并只将新增或修改的内容从源复制到目标,可以实现将源目录快速同步到目标目录。

    mc replicate 用于配置 Minio 服务器上的桶(replication rules)用于在区域间自动复制对象。这通常用于地理冗余和跨区域数据复制。最大的优势是在源桶和目标桶之间实现自动、异步的对象复制。

    1
    mc replicate add <source-bucket> --priority <arg> --remote-bucket <arg> --storage-class <value> --tags <value> --prefix <string> --arn <string>

    replicate配置

    两者的主要区别在于mc replicate 适用于设置自动跨区域复制规则,而 mc mirror 则更适合于手动的、一次性的数据迁移或备份。

    配置别名(源节点和备节点)

    alias主要的作用是方便好记,方便后续配置。

    1
    2
    3
    mc alias set minio-server http://10.8.40.1:9000 minio password --api s3v4 
    mc alias set minio-backup http://10.8.40.2:9000 minio password --api s3v4 
    mc alias ls

     

    创建bucket(源节点)

    1
    2
    3
    4
    mc mb -p minio-server/ucap 
    mc mb -p minio-backup/ucap 
    mc version enable minio-server/ucap 
    mc version enable minio-backup/ucap

    配置双向同步的主主复制(源节点)

    1
    2
    3
    4
    5
    #主节点上配置 
    mc replicate add --remote-bucket http://minio:password@10.8.40.2:9000/ucap --replicate "delete,delete-marker,existing-objects" --sync minio-server/ucap --limit-upload 200Mi  
    
    #备份节点配置-如果是灾备,只有执行1条即可。 
    mc replicate add --remote-bucket http://minio:password@10.8.40.1:9000/ucap --replicate "delete,delete-marker,existing-objects" --sync minio-backup/ucap --limit-upload 200Mi

    测试效果

    用以下方法测试在多点写入,是否都可以访问。

    1
    2
    3
    4
    5
    6
    mc cp /etc/hosts minio-server/ucap 
    mc cp /etc/alias minio-backup/ucap 
    curl http://10.8.40.1:9000/ucap/hosts 
    curl http://10.8.40.2:9000/ucap/hosts 
    curl http://10.8.40.1:9000/ucap/alias 
    curl http://10.8.40.2:9000/ucap/alias

     

    replicate相关状态查看

    命令 描述
    mc replicate add 添加服务器端复制配置规则
    mc replicate edit 修改现有的服务器端复制配置规则
    mc replicate ls 列出服务器端复制配置规则
    mc replicate status 显示服务器端复制状态
    mc replicate resync 重新复制所有以前复制的对象
    mc replicate export 导出服务器端复制配置
    mc replicate import 以 JSON 格式导入服务器端复制配置
    mc replicate rm 删除服务器端复制配置规则

    mirror后续再补…..

    mirror后续再补…..

  • nps内网穿透代理服务器

    nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理p2p等,并带有功能强大的web管理端。

    背景

     

    web

    1. 做微信公众号开发、小程序开发等—-> 域名代理模式

    2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,—-> tcp代理模式

    3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等—-> udp代理模式

    4. 在外网使用HTTP代理访问内网站点—-> http代理模式

    5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备—-> socks5代理模式

    特点

     
    • 协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理…
    • 全平台兼容(linux、windows、macos、群辉等),支持一键安装为系统服务
    • 控制全面,同时支持服务端和客户端控制
    • https集成,支持将后端代理和web服务转成https,同时支持多证书
    • 操作简单,只需简单的配置即可在web ui上完成其余操作
    • 展示信息全面,流量、系统信息、即时带宽、客户端版本等
    • 扩展功能强大,该有的都有了(缓存、压缩、加密、流量限制、带宽限制、端口复用等等)
    • 域名解析具备自定义header、404页面配置、host修改、站点保护、URL路由、泛解析等功能
    • 服务端支持多用户和用户注册功能

    没找到你想要的功能?不要紧,点击进入文档查找吧

    快速开始

     

    安装

     

    GETHUB: https://github.com/ehang-io/nps/releasesreleases:

    GETEE: https://gitee.com/houlijiang/common/tree/master/nps

    下载对应的系统版本即可,服务端和客户端是单独的

    服务端启动

     

    下载完服务器压缩包后,解压,然后进入解压后的文件夹

    • 执行安装命令

    对于linux|darwin sudo ./nps install

    对于windows,管理员身份运行cmd,进入安装目录 nps.exe install

    • 默认端口

    nps默认配置文件使用了80,443,8080,8024端口

    80与443端口为域名解析模式默认端口

    8080为web管理访问端口

    8024为网桥端口,用于客户端与服务器通信

    • 启动

    对于linux|darwin sudo nps start

    对于windows,管理员身份运行cmd,进入程序目录 nps.exe start

    安装后windows配置文件位于 C:\Program Files\nps,linux和darwin位于/etc/nps

    如果发现没有启动成功,可以查看日志(Windows日志文件位于当前运行目录下,linux和darwin位于/var/log/nps.log)

    • 访问服务端ip:web服务端口(默认为8080)
    • 使用用户名和密码登陆(默认admin/123,正式使用一定要更改)
    • 创建客户端

    客户端连接

     
    • 点击web管理中客户端前的+号,复制启动命令
    • 执行启动命令,linux直接执行即可,windows将./npc换成npc.exe用cmd执行

    如果需要注册到系统服务可查看注册到系统服务

    配置

     
    • 客户端连接后,在web中配置对应穿透服务即可
    • 更多高级用法见完整文档
  • NatTypeTester.exe 当前网络nat测试 1.98 MB

    NAT0: OpenInternet,没有经过NAT地址转换,公网IP NAT1: Full Cone NAT,动态家宽可以达到最优的状态,外网设备可以主动发信息给NAT1网络内的设备。 NAT2: Address-Restricted Cone NAT,只有内网设备(地址:任意端口)主动发过信息给外网设备,外网设备才能主动连接NAT2的该设备的地址(地址:任意端口) NAT3: Port-Restricted Cone NAT,只有内网设备(地址:指定端口)主动发过信息给外网设备,外网设备才能主动连接NAT3的该设备的地址(地址:指定端口),限制为通信过的端口 NAT4: Symmetric NAT,只能和NAT0设备通讯

    打开软件,点击左侧菜单栏RFC 3489

    上方菜单栏中可选择STUN服务器,大陆境内推荐使用QQ和MIWIFI

    点击TEST即可得到测试结果,如图FullCone即为NAT1,具体释义可参考上文

    公网IP,NAT0

    下载:https://gitee.com/houlijiang/common/raw/master/NatTypeTester.exe

  • NPS-比frp还简单易用的内网穿透及端口映射工具

    为什么要使用NPS

    1. 1. frp手动编写映射规则配置文件。nps在浏览器中可视化配置。
    2. 2. frp新增映射规则需要重启客户端。nps无需重启客户端,所有配置均在服务端进行配置立即生效。
    3. 3. frp需要手动设置开机自启。nps安装后自动注册到系统服务,随系统启动而启动。

    教程内容比较多,总体下来部署非常快,除去安装的过程需要命令操作安装完成后就完全脱离了终端操作。

    搭建教程

    客户端与服务端下载地址:https://github.com/ehang-io/nps/releases github镜像 下载地址 https://githubfast.com/ehang-io/nps/releases/ 一定要选择适合自己服务器内核的版本!一定要选择适合自己服务器内核的版本!一定要选择适合自己服务器内核的版本! 要是不知道自己的服务器是什么内核,linux用arch命令查看,显示aarch64 的就是arm64内核

    在Linux上搭建

    下载服务端文件

    mkdir nps && cd nps
    # 下载服务端
    wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
    # 解压
    tar -zxvf linux_amd64_server.tar.gz

    编辑配置文件

    vim conf/nps.conf

    常用配置:

    • • http_proxy_port:域名代理http代理监听端口。
    • • https_proxy_port:域名代理https代理监听端口。
    • • https_just_proxy:为false时仅代理https转发,为true则可以配置站点的ssl证书。
    • • web_port:web管理端口。
    • • web_username:web界面管理账号。
    • • web_password:web界面管理密码。

    安装服务端

    # 进行安装
    ./nps install
    # 启动nps
    nps start

    安装完成后,nps的配置文件会存放在 /etc/nps目录下。

    在windows上搭建

    下载服务端文件并存放解压:

    https://github.com/ehang-io/nps/releases/download/v0.26.10/windows_amd64_server.tar.gz

    编辑配置文件

    使用记事本或者你任意喜欢的文本编辑器编辑 conf/nps.conf文件,配置文件的内容与Linux中部署是一样的道理。

    安装服务端

    我们需要使用 管理员权限来运行cmd终端:

    640

    进入到存放 nps目录的地方执行命令安装:

    nps.exe install
    640-1

    如果跟我一样出现:

    load config file error the target config file: C:\Program Files\nps\conf\nps.conf don't exist

    相似的错误,只需要将 nps下的conf目录完整的拷贝至 C:\Program Files\nps\目录下,然后重新执行nps.exe install来安装,安装完成后使用以下命令来启动。

    # 需要使用管理员模式下的cmd执行启动
    net start nps

    访问web控制台

    通过访问 http://127.0.0.1:8080来进入到控制台登录界面,使用配置的web_usernameweb_password来进行登录。

    创建客户端

    一台需要映射的机器视作一个客户端,我们需要先在控台创建好客户端,才能对需要穿透的主机进行穿透。我们点击左侧的 客户端进入到客户端管理界面。点击新增客户端添加一个需要映射客户端的基本信息:

    640-2

    填写 备注基本就可以了,填写完成点击新增按钮即可添加成功,新增完会自动回到客户端列表,此时刷新即可看到新增的客户端:

    640
    1. 1. ID:id是用来区分主机的,胚子的域名绑定和端口映射都是跟id挂钩的。
    2. 2. 备注:用于方便区分不同的机器。
    3. 3. 版本:内网机器安装的客户端版本。
    4. 4. 唯一验证密钥:内网机器安装的客户端通过这个密码可以找到与平台挂钩的映射配置,唯一且只能被一个客户端引用。

    配置端口映射

    在每个客户端后面也就是右侧中有两个按钮,在 隧道中可以配置端口映射规则,进入到隧道我们新增一个隧道:

    640-1

    依次来看:

    1. 1. 模式:映射的端口走的什么协议,比如(TCP,UDP)等等。一般映射网站也可以使用TCP协议。
    2. 2. 客户端ID:这个映射规则被哪个客户端所使用,一般情况下也可以直接修改现有规则的客户端ID将规则移动到指定客户端下。
    3. 3. 备注:给自己看的,用于分别映射用途。
    4. 4. 服务端端口:即搭建NPS服务器的自身端口,不可重复使用同一个端口。
    5. 5. 目标(IP:端口):指内网客户端需要映射的端口,如(127.0.0.1:3389),也可以是内网其他机器如(192.168.1.100:3389)。

    点击下方 新增按钮即可立即生效。

    配置域名访问

    如果内网存在网站这种服务,想要使用域名访问内网的网站则可以配置 主机映射,同样的在客户单列表中选择指定的客户端右侧的主机按钮进入到域名配置页面,点击新增按钮:

    640

    继续来看每一个作用重复的内容不再赘述:

    1. 1. 主机:即需要是什么域名来访问咱们的服务,填写域名即可。
    2. 2. 模式:这里分(http、https)。
    3. 3. URL路由:则是区分不同的路由访问不同的服务类似nginx代理(http://a.com/a、http://a.com/b)。

    如果经常使用域名访问服务,还是比较推荐使用域名泛解析 *来解析道NPS服务器的IP上。

    安装客户端

    Linux上安装

    mkdir npc && cd npc
    wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
    tar -zxvf linux_amd64_client.tar.gz
    # 安装命令
    ./npc install -server=127.0.0.1:8024 -vkey=8x95ia9d2zjwjvco -type=tcp
    # 启动客户端开始映射
    npc start
    1. 1. -server:这里是你NPS服务器的IP地址。
    2. 2. -vkey:是指定客户端的唯一验证密钥,即安装成功后可以看到当前客户端处于在线状态。

    windows上安装

    下载客户端文件并存放解压:

    https://github.com/ehang-io/nps/releases/download/v0.26.10/windows_amd64_client.tar.gz

    同理,以 管理员权限打开cmd进入存放客户单的目录下执行:

    # 安装命令
    npc.exe install -server=127.0.0.1:8024 -vkey=8x95ia9d2zjwjvco -type=tcp
    # 启动映射
    net start npc

    这里需要注意:在windwos上可能会被杀毒软件误杀,找回文件放入白名单即可。


    至此,所有的安装和配置过程均已结束。后面添加映射规则只需要前往 web控制台操作即可,每一条规则添加完成后都是立即生效的无需重启任何服务。服务端和客户端如若出现电脑重启的情况也没关系,等系统启动后映射服务会自动启动,无需担心穿透失联。

  • 主题:案例分析:两兄弟基因确诊,哥哥临床确诊,弟弟临床没确诊

    主题:案例分析:两兄弟基因确诊,哥哥临床确诊,弟弟临床没确诊

    案例分析

    一、老大情况分析

    案例情况: 老大 19 年确诊,确诊后单锌治疗,喝的冲剂,一次两袋一天三次,偶尔降量到一袋,现在急性肝衰竭,腹水,排铜水一月后,锌 12 片,青 1/8 片每次,一天两次。

    分析: 孩子目前的症状都是因为铜沉积造成的,七八岁确诊的时候肝内已经沉积了不少铜,可是医生没有排铜,并且给孩子吃了剂量比较小的颗粒锌,加上家长自己没有重视,没有好好吃药,就不断地有铜沉积在肝脏,撑了四年,肝脏里的铜饱和,爆发了,现在就成了急性肝衰。

    建议:

    1 )锌减量至 10 片。

    2 )测尿铜后,青加量 1/8 ,并且保证空腹。现在吃锌,就是抑制铜的吸收,但是现阶段最重要的还是要吃青排铜,让身体让肝脏得以恢复。目前吃 1/4 的剂量肯定是不够的,要慢慢加到体重对应的剂量,但是也不能盲目加,因为你们铜不少,如果加得太快太猛,会让铜激活得比较多,引起二次伤害。

    3 )加量期间要监测尿铜,来辅助判断排铜和身体内铜的水平。

    4 )给孩子做复查表,把孩子历年来的检查结果和对应的用药整理一下。

    5 )老大近段时间尽量避免一些剧烈运动。

    二、两兄弟基因检查情况分析

    案例情况: 下图(图一)是一家人基因检查结果,明显可以看出父母亲及二弟为携带者,三弟和老大基因一模一样。

    d4b28244f4655bc3b9a5f1141022b5ce

    (图一)

    以下(图二、图三)是老三的铜蓝蛋白及尿铜检查情况,以此为依据,老三并不具备确诊的条件。

    989508fb03f6d987fd6ad9bf51103d0d

    (图二)

    a5df010576dfc689b49b45564a3dc2fa

    (图三)

    分析: 这一家的基因挺有意思的,是一个很好的案例,同样的突变点位,在老大身上致病,在老三那儿没致病。由此可见,基因只是一个辅助手段,不是决定判断的依据,一切还是要结合临床。

    建议:

    1 )老三要定期查肝功和尿铜,一年一次,家长不放心就一年两次。

    2 )低铜饮食没必要,锌可以吃一点,但不用按照肝豆治疗的剂量来。比如老三五岁, 一天 1 颗就行了。

    我们现在给出来的参考意见就是,老三要重点监测。监测的目的 就是他如果出现异常,我们能在最早的时间发现,可以及时干预、控制住。如果老三在十来岁还没出现相关的临床指征,比如尿铜和肝功一直都很正常,那就可以排除。

    如果换做 20 年前,压根就不会做基因,老大依然还是确诊肝豆,老二老三不还是看肝功和铜蓝吗?细致的家长会跟着监测,心大的家长就直接给排除了。

    你们现在就当没有做这份基因,老三铜蓝 0.18 ,尿铜 10+ ,九成九就是排除了,之后无非是给他追踪一下,把监测频率调高一点而已。

    三、关于基因的一些解析

    以前我经常说基因不确诊不一定排除肝豆病,基因确诊一定能确诊肝豆,但是后来就不说了,因为我以为基因检测是绝对准确的,现在看来是很难做到的,结合临床才是王道。

    这个就跟隔墙传话一样,从第一个传到最后一个的意思可能就不同了。同样一个基因点位遗传给下一代,不同人对应的表现就是不同的,对 A 来说致病,不代表对 B 也会,也许遗传给 A 的时候缺陷是 90% ,给 B 的就只有 20% 了。就像大家的基因点位基本都是差不多的,尤其是亚洲人的高发点位 2333 ,很多肝豆患者都有,可实际表现都是有差异的。还有之前说过的同卵双胎的肝豆,他们有不同病情表现和程度,那既然程度会有不同,现在这一家的情况也就可以理解了。

    下图(图四)是针对肿瘤基因的一篇报道,放在肝豆上也是一样的道理,大家不要太过看重基因,现在对基因的研究开发真的还太少了,我们只看到简单的点位突变,却很难去研究内里跟疾病的关系和程度,所以关于基因的这些事也不用纠结。

    33f048dca70a7ad6190c02fe5847a8de

    (图四)

  • 主题:简析青霉胺与曲恩汀对比

    主题:简析青霉胺与曲恩汀对比

    1. 青霉胺

    关于曲恩汀,很多家长认为“进口药也许效果更好,听说副作用比青霉胺小,我要给孩子最好的,哪怕是贵一点”,其实都只是自我感动自我安慰。

    首先,青霉胺原本也是国外研发用来治疗肝豆的,只是因为提取工艺相对简单,我国有充足的原研条件去制作,所以我们现在吃的信宜青霉胺是国产原研药。

    其次青霉胺的很多副作用,在我们群里一段时间的群友都知道,很多副作用是由于服用方法不当造成的,比如昨天义乌家长说孩子直接一天三颗起步过敏了,对我们群的人来说其实副作用都是可以规避的。

    2. 青霉胺的副作用

    以下是关于青霉胺的副作用问题:

    9afc96c5cebe7073da98ebf41c685910

    3. 曲恩汀的副作用

    另外就是关于曲恩汀的副作用,原先在早期应用时,因为临床数据较少,所以普遍认为曲恩汀副作用小,可随着使用人数的增多,其副作用也逐渐与青霉胺相当,这一点,在 2022 版肝豆状核变性诊疗指南中也有说明:

    0cd3ad5ce50a7bb032ddff58c784adfb

    最后就是关于是否需要使用曲恩汀的问题。我们已知身体里的铜必须要用足量的药物才能最大程度地排出,否则就是温水煮鸡蛋,时间再长也不能把鸡蛋煮熟,所以,根据各种文献资料(有兴趣可以自己搜,不赘述)显示,曲恩汀的排铜效果<青霉胺,那么我们就无法通过尿铜判断排铜的真实情况,更不能确保有效将体内铜排出,加上昂贵的价格,那不是多此一举吗?

    综上,我们不推荐曲恩汀。当然,如果谁愿意为了肝豆献身,一直吃曲恩汀给我们反馈效果,我们也不反对

  • 畅网微控 X86-P1软路由N3160迷你主机 如何安装系统

    畅网微控 X86-P1软路由N3160迷你主机 如何安装系统

    第一步:制作U盘启动 下载安装 Ventoy ,注意 分区类型选择:GPT

    58d00a39c003d340d585cbfc8f641ca4

    下载地址:https://github.com/ventoy/Ventoy/releases/download/v1.0.99/ventoy-1.0.99-windows.zip

    第二步:制作完成把相应的系统iso镜像拷贝到U盘

    5bbf07f8e61574783b012a8eeca05a2a

    第三步:启动主机 ,按 F11  进入选择启动引导页面,

    4884121aa5b58ca3c2bdb467ad7fe3f6
  • jq 元素绑定事件重复

    在使用 jQuery (jq 是 jQuery 的简写) 为元素绑定事件时,如果不注意,可能会遇到事件重复绑定的问题。这意味着每次代码执行时,都会向元素添加一个新的事件监听器,而不是替换之前的事件监听器。这会导致事件被触发多次,每次触发都会执行相同的事件处理函数,次数等于它被绑定的次数。

    例如,如果你有以下代码:

    javascriptCopy Code
    $('#myButton').click(function() { alert('Button clicked!'); });

    每次这段代码执行时(可能在某个函数内,该函数被多次调用),click 事件都会被再次绑定到 #myButton 元素上。如果用户点击按钮,alert 会显示多次,具体次数取决于 click 事件被绑定的次数。

    为了避免这种情况,可以使用 .off() 方法来先移除之前绑定的事件,然后再绑定新的事件:

    javascriptCopy Code
    $('#myButton').off('click').click(function() { alert('Button clicked!'); });

    这样,每次执行代码时,都会先移除 #myButton 上的 click 事件(如果它存在),然后再绑定新的事件处理函数。这样,无论代码执行多少次,点击按钮时只会触发一次 alert

    如果你正在使用 jQuery 的 .on() 方法来绑定事件,同样可以使用 .off() 方法来避免重复绑定。.on() 方法是一个非常强大的事件绑定方法,它允许你绑定事件到当前或未来的元素上(通过选择器)。

    javascriptCopy Code
    $('#myButton').off('click').on('click', function() { alert('Button clicked!'); });

    通过这种方式,你可以有效地管理 jQuery 事件绑定,避免重复绑定导致的问题。

  • Linux实例的/etc/fstab文件配置错误导致系统启动异常

    问题描述

    通过远程连接软件无法登录Linux实例,通过使用管理终端连接Linux实例远程连接时,发现系统出现进入到急救模式(emergency mode)的信息,且出现报错。

    • CentOS实例报如下错误。

    • Ubuntu实例报如下错误。

       
      An error occurred while mounting /alidata.
      Press S to skip mounting or M for manual recovery

      具体信息以下图所示。Ubuntu进入维护模式

    问题原因

    一般是因为/etc/fstab文件中写入了错误的文件系统,或者磁盘的分区信息不正确。/etc/fstab文件主要用于保存服务器的磁盘挂载信息,如果该配置文件中写入不正确的挂载信息或者该文件自身存在访问错误,例如:权限配置、文件丢失等,系统启动时就可能出现异常,导致启动失败。

    解决方案

    说明
    • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

    • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

    • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

    本节主要解决CentOS和Ubuntu系统因为/etc/fstab配置文件错误导致启动失败的解决方法。

    说明

    本文相关配置及说明适用于CentOS6.5、CentOS7.0、Ubuntu12.04和Ubuntu14.04等操作系统。在其它操作系统版本上的配置可能有所差异,具体情况请参阅相应操作系统官方文档。

    CentOS实例

    本文主要介绍以下两种方法解决该问题,推荐您使用方法一

    方法一

    1. 通过使用管理终端连接Linux实例远程连接ECS实例。系统提示进入急救模式时,输入实例登录密码。

    2. 执行以下命令,将根分区的挂载模式变更为读写。

       
      mount / -o remount,rw
    3. 执行blkid命令,查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,ECS实例数据盘分区为/dev/xvdb1,文件系统类型为ext4。

    4. 执行以下命令,检查磁盘的分区信息与文件系统和上一步返回的结果是否一致。

       
      vim /etc/fstab
    5. 如果不一致,按以下步骤进行修改。

      1. 将光标移到异常的参数行,按i键进入编辑模式,写入正确的分区信息,如下所示。

         
        /dev/xvdb1 /mydata ext4 defaults,nofail 0 0
        说明

        建议您在挂载的时候添加nofail参数,在启动实例时,若设备不存在会直接忽略它,从而不发生报错。

      2. Esc键退出编辑模式,并输入:wq!,按Enter键保存并退出。

    6. 执行reboot命令,重启系统,确认能成功登录系统。

    方法二

    1. 在ECS控制台重启实例(或者强制重启示例),然后使用VNC连接实例,当系统启动至内核选项界面时,按e键进入修改grub引导文件。

    2. 将光标定位至Linux内核参数行,删除其余内核参数,添加rw init=/bin/bash参数,如下图所示,然后按Ctrlx键,进入单用户模式。

    3. 参见方法一的第3步至第6步,修改/etc/fstab配置后,重启实例即可。

    Ubuntu实例

    方法一

    1. 通过使用管理终端连接Linux实例远程连接ECS实例。

    2. S键跳过磁盘挂载,进入系统。

    3. 执行如下命令,变更根分区的挂载模式为读写。

       
      mount / -o remount,rw
    4. 执行blkid命令,查看ECS实例上磁盘的分区情况以及文件系统。如下图所示,ECS实例数据盘分区为/dev/xvdb1,文件系统为ext4。

    5. 执行如下命令,检查磁盘的分区信息与文件系统和上一步返回的结果是否一致。

       
      vim /etc/fstab
    6. 如果不一致,按以下步骤修改。

      1. 将光标移到异常的参数行,按i键进入编辑模式,写入正确的分区信息,如下所示。

         
        /dev/xvdb1 /mydata ext4 defaults,nofail 0 0
        说明

        建议您在挂载的时候添加nofail参数,在启动实例时,若设备不存在会直接忽略它,从而不发生报错。

      2. Esc键退出编辑模式,并输入:wq!,按Enter键保存并退出。

    7. 执行reboot命令,重启系统,确认能成功登录系统。

    方法二

    具体操作请参见CentOS实例的方法二

    相关文档