linux - 命令行参数中的 "-"(破折号)有什么魔力?

例子:

  • 创建 ISO 镜像并将其直接刻录到 CD。

    mkisofs -V 照片 -r/home/vivek/photos | cdrecord -v dev=/dev/dvdrw -

  • 切换到上一个目录。

    cd -

  • 监听 12345 端口并解压发送给它的数据。

    nc -l -p 12345 | tar xvzf -

破折号的用途是什么以及如何使用它?

最佳答案

如果您指的是 tar 命令末尾的裸 -,这在许多想要使用文件的命令中很常见。

它允许您指定标准输入或输出,而不是实际文件名。

您的第一个和第三个示例就是这种情况。例如,cdrecord 命令采用标准输入(mkisofs 生成的 ISO 镜像流)并将其直接写入 /dev/dvdrw

使用 cd 命令,每次更改目录时,它都会存储您来自的目录。如果您使用特殊的 - “目录名称”执行 cd,它会使用该记住的目录而不是真实目录。使用它,您可以轻松地在两个目录之间快速切换。

其他命令可能会将 - 视为 不同的 特殊值。

关于linux - 命令行参数中的 "-"(破折号)有什么魔力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045479/

相关文章:

python - 重新加载模块给出 NameError : name 'reload' is not

python - Queue.Queue 与 collections.deque

python - 从动态导入的模块中的类的字符串名称动态实例化?

python - 为什么 python setup.py 在 Travis CI 上说无效命令 'b

linux - 我的环境变量是什么?

python - django 测试应用程序错误 - 创建测试数据库时出错 : permission

linux - 如何更改 Ubuntu 中的默认 GCC 编译器?

linux - 发送电子邮件的 Shell 脚本

android - adb 设备命令不起作用

linux - 即使在安装 npm install -g gulp 后也找不到本地 gulp 安装