Command 命令
告诉计算机做某件事的指令。 CLI 里输入的就是 command。
结构
$ command [options] [arguments]
$ ls -la /home
└─ 命令本体 └─ [[command-option|选项]] └─ [[argument|参数]]
命令的两种来源
| 类型 | 例 | 在哪 |
|---|---|---|
| shell 内置 | cd, echo, exit | shell 程序里 |
| 可执行文件 | ls, grep, python | /bin, /usr/bin, /usr/local/bin 等 |
which ls # 看可执行文件在哪
type cd # 看是内置还是可执行安全场景:Command Injection
# 危险
os.system("ping " + user_input)
# 用户传 user_input = "google.com; rm -rf /"
# 实际跑:ping google.com; rm -rf /防御:永远不要把用户输入直接拼进命令。用参数数组 + subprocess(shell=False)。