che*_*ila 90 unix linux bash shell command-line
例子:
创建ISO映像并将其直接刻录到CD.
mkisofs -V Photos -r /home/vivek/photos | cdrecord -v dev=/dev/dvdrw -
切换到上一个目录.
cd -
收听端口12345并发送给它的解压数据.
nc -l -p 12345 | tar xvzf -
破折号的目的是什么,我该如何使用它?
pax*_*blo 100
如果你的意思是命令-结束时裸体tar,这在许多想要使用文件的命令上很常见.
它允许您指定标准输入或输出而不是实际文件名.
你的第一个和第三个例子就是这种情况.例如,该cdrecord命令采用标准输入(由其生成的ISO图像流mkisofs)并直接将其写入/dev/dvdrw.
使用该cd命令,每次更改目录时,它都会存储您来自的目录.如果cd使用特殊的-"目录名称",它将使用记住的目录而不是真实的目录.您可以使用它快速轻松地在两个目录之间切换.
其他命令可以-视为不同的特殊值.
Ign*_*ams 17
这不是魔术.某些命令解释-为用户想要从stdin读取或写入stdout; shell没有什么特别之处.
魔术在大会中.几千年来,人们使用' - '来区分选项和参数,并在文件名中使用' - '来表示stdin或stdout,视情况而定.不要低估惯例的力量!
-意味着每个命令想要它的意思.有几个常见的约定,你已经在其他答案中看到了大多数的例子,但没有一个是100%普遍的.
没有什么魔术有关-的字符至于外壳而言(除了外壳本身,有的像其内置的命令cd,并echo使用它在传统的方式).有些人物,比如\,'和",都是 "神奇的",无论出现在哪里都有特殊含义.这些是"shell元字符". -不是那样的.
要查看给定命令的使用方式-,请阅读该命令的文档.