那些年我们踩得那些shell坑(三)

0x01 测试环境
 
    []系统类型:redhat linux 6.0[/][]shell类型:bash shell[/]

 
0x02 坑位描述(cp复制命令卡壳了)
 
复制cp命令使用频率很多,,很多时候大家没有在这个地方栽过跟头,有一次被郁闷了,这次的文件名比较奇葩,文件名为“-reg.log”,把文件复制到/tmp 目录下,出现参数问题,,
 
0x03 代码如下
 
[root@localhost test]# touch -- -reg.log

[root@localhost test]# cp -reg.log /tmp/

cp:无效选项 -- e

请尝试执行"cp --help"来获取更多信息。

[root@localhost test]# 
 
0x04坑位分析
 
原因是文件前面有一个“-”,导致当成参数执行了。
 
0x05 三思一下
 
大家自己先自己想一下,,可以积极回复,,

13 个评论

打酱油的小学生路过~
起名不规范 。把后面的文件名当命令来执行了。
ttgo2

ttgo2 回复 Shun

你得解题呀。。别路过
遇见这种名字的先备份改名字复制过去了再把名字改回来 - -
cp -- -reg.log /tmp/
非要起这样的文件名么-_-|||
非要起这样的文件名么-_-|||
TaeJa 说的很对啊
cp ./-reg.log /tmp/ 这条命令也可以
不能加引号吗?顺嘴说一句
不是非要,,真玩意真遇到过的
ttgo2

ttgo2 回复 kakaxi

你可以试试的。。。。
题目中的touch -- -reg.log暴露了一切2333.

要回复文章请先登录注册