最近火了的龙虾的一键安装命令为:

iwr -useb https://openclaw.ai/install.ps1 | iex

从网上下载一个 PowerShell 脚本,不在本地存文件,直接在内存里执行它。
作用:OpenClaw Windows 一键安装


本文不是讲龙虾的安装,仅是对安装命令感兴趣,并对此命令形式所包含的知识点进行讨论。

一、命令拆解

1. iwr

  • 全称:Invoke-WebRequest
  • 中文:发起 HTTP/HTTPS 请求,下载网页/文件内容
  • 身份:PowerShell 内置命令(不是外部程序,不用安装
  • 类比:Linux 的 curl / wget

2. -useb

  • 全称:-UseBasicParsing
  • 作用:关闭 IE 引擎的 HTML 解析,只用纯文本解析
  • 为什么要加:
    • 默认 iwr 会调用 IE COM 组件解析网页,容易卡、慢、报错
    • 下载纯文本脚本(.ps1)时,加这个参数更稳定、更快、兼容性好
  • 写法:单横简写参数(对应长参数 --UseBasicParsing,但实际只有短形式)

3. https://openclaw.ai/install.ps1

  • 要下载的远程脚本地址
  • 内容:OpenClaw 官方安装脚本(PowerShell 写的)
  • 后缀 .ps1:PowerShell 脚本文件

4. | 管道符

  • 作用:把前一个命令的输出,作为后一个命令的输入
  • 这里:把 iwr 下载到的脚本文本,传给后面的 iex

5. iex

  • 全称:Invoke-Expression
  • 中文:把字符串当作命令/脚本执行
  • 身份:PowerShell 内置命令
  • 效果:
    # 比如
    iex "Write-Host 你好"
    # 等价直接写
    Write-Host 你好
    
  • 在这里:把下载到的 install.ps1 全文,当作本地脚本直接跑

二、安全风险

iwr ... | iex 属于高危快捷方式

  • 不保存脚本到本地,无法审计
  • ❌ 远程服务器被劫持 → 你会自动运行恶意代码
  • ✅ 安全做法:
# 1. 先下载到本地,看看内容
iwr -useb https://openclaw.ai/install.ps1 -OutFile install.ps1

# 2. 打开检查
notepad install.ps1

# 3. 确认没问题再执行
.\install.ps1

三、PowerShell 最常用别名(简写)命令

前述总结有:

  1. iwr = 别名(简写)
  2. Invoke-WebRequest = 正式命令(全称)
  3. 两个是同一个东西,功能一模一样
    那么,还有哪些类似的别名命令?

1. 网络/下载类

别名 全称(真正命令名) 作用
iwr Invoke-WebRequest 下载网页/文件(curl/wget 等价)
curl Invoke-WebRequest Windows 里 curl 就是 iwr
wget Invoke-WebRequest 同上

2. 执行/运行类

别名 全称 作用
iex Invoke-Expression 执行字符串/脚本
ipmo Import-Module 加载模块

3. 文件/目录操作类

别名 全称 作用
ls Get-ChildItem 列出文件/目录
dir Get-ChildItem 同上
cd Set-Location 切换目录
rm Remove-Item 删除文件/目录
mv Move-Item 移动/重命名
cp Copy-Item 复制
mkdir New-Item 创建文件夹

4. 进程/服务类

别名 全称 作用
ps Get-Process 查看进程
kill Stop-Process 结束进程

如何查看任意命令的别名
一条命令:

Get-Alias 别名

例如:

Get-Alias iwr
Get-Alias iex
Get-Alias ls
Get-Alias curl

总结成 3 句最简单的话:

  1. 别名 = 简写
  2. 全称 = 真正命令名
  3. 你看到的短命令,90% 都是别名

四、命令行中的参数

iwr -useb https://openclaw.ai/install.ps1 | iex

其中,-useb 为参数,https://openclaw.ai/install.ps1 也为参数

一条命令里,参数分两种

  1. - / -- 的 = 命名参数(选项)
    例如:
  • -useb
  • -d
  • -p
  • -v

作用:开关、设置、功能控制

  1. 不带横线的 = 位置参数(目标/内容)
    例如:
  • https://openclaw.ai/install.ps1
  • 文件名
  • 路径
  • 网址

作用:告诉命令:你要处理的“东西”是什么


举例

iwr -useb https://openclaw.ai/install.ps1

拆开:

  • iwr = 命令本身
  • -useb = 命名参数(设置:简单解析模式)
  • https://… = 位置参数(目标:要下载的网址)

五、单横线与双横线

例:Docker(你天天用)

docker run -d --name openclaw 镜像名
  • -d--name:带横线 = 设置
  • 镜像名:不带横线 = 目标

其中, 带横线-d--name

  • 一个 - = 短参数(简写)
  • 两个 -- = 长参数(完整名字)

1. 一个 - (短横)

简写形式,一般是一个字母

-d
-p
-v
-it
  • 方便快速输入
  • 缩写
  • 必须小写字母

例子:

-d  = --detach
-p  = --publish
-v  = --volume
-it = --interactive --tty

2. 两个 -- (长横)

完整单词,看得懂

--name
--restart
--volume
--help
  • 意思明确
  • 方便阅读
  • 一般是英文单词

3. 对比

短参数(1个横) 长参数(2个横) 意思
-d --detach 后台运行
-p --publish 端口映射
-v --volume 目录挂载
--name (无简写) 容器名字

示例1:等价写法对比(功能完全一致)

两条命令效果一模一样,只是参数写法不同

# 简写版(单横)
docker run -d -p 18789:18789 -v C:\Users\qiying\.openclaw:/root/.openclaw

# 完整版(双横全称)
docker run --detach --publish 18789:18789 --volume C:\Users\qiying\.openclaw:/root/.openclaw

示例2:

  1. --help双横,完整单词,查看命令帮助,无简写
  2. --restart双横,完整单词,设置重启策略,无简写
  3. 单短横线后可以连续写多个单字母参数,不用反复加 -,如-it单横,是 -i + -t 的组合简写,对应全称 --interactive --tty

示例3:长短参数混用无顺序要求

单横简写、双横全称可以任意穿插,只要参数值跟对就行。
下面两条 Docker 命令效果完全一致:

docker run -d --name app -p 80:80
docker run --name app -p 80:80 -d

六、 -v 一会儿是版本,一会儿是挂载?

每个命令都可以自由定义 -a -b -c -v 代表什么!

这就导致了-v有多种含义。

最常见的 3 种 -v 含义(你一定会遇到)

1、Docker 里:-v = --volume(挂载目录)

docker run -v 本地目录:容器目录

这是挂载,不是版本!

2、大多数软件/工具里:-v = --version(查看版本)

node -v
npm -v
docker -v

这里 -v = 版本号。

3、Linux 命令里:-v = --verbose(显示更多日志)

cp -v 源文件 目标文件

-v = 显示详细过程。


同一个字母参数,换个命令,意思就变了!

最简单的判断方法: 看命令是谁,就知道 -v 是什么意思!

  • 看到 docker run-v = 挂载
  • 看到 docker 单独用-v = 版本
  • 看到 node / npm / python-v = 版本
  • 看到 ls / cp / rm-v = 详细输出

所以:

  • 短参数 -v 容易乱
  • 长参数 --xxx 基本不乱

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐