zoukankan      html  css  js  c++  java
  • linux下一个有意思的问题(文件名以短划线或空格开头)

    linux下一个有意思的问题(文件名以短划线开头)

    这本是无意中的一个发现。

    在linux下,文件名中含有 - 是没有问题,但是如果文件名是以-作为第一个字符的,那么就比较麻烦了。

    问题演示

    看这里,以短划线开头的文件名似乎对mv cp  rm   等操作免疫了。利用这个特性可以制造出一些比较麻烦的文件或者文件夹来。

    o@o-pc:~$ ls
    -python.md
    o@o-pc:~$ mv -python.md 5-python.md
    mv:无效选项 -- p
    Try 'mv --help' for more information.
    o@o-pc:~$ mv "-python.md" 5-python.md
    mv:无效选项 -- p
    Try 'mv --help' for more information.

    解决办法

    这个其实很好解决的嘛,问题的原因是因为其将 -当做了一个选项参数的标识,而导致找不到对应的文件。解决的办法就是想办法把这个-给隐藏起来咯。

    o@o-pc:~$ mv ./-python.md 5-pythom.md

    文件名以空格开头

    这里不打算说太多,原理是一样的。如果文件名以空格开头,必须知道空格的数目。

    将要操作的文件名以单引号  '' 包裹起来

    例如有一个文件名为 ” A" 注意,该文件名为三个空格加一个字母A。如果对其重命名,使用以下命令

    mv `   A'   新文件名
  • 相关阅读:
    MySQL数据库基础
    Django框架
    Python基础
    C#
    小功能
    数据结构与算法
    C语言
    Robot Framework高级
    Robot Framework初级
    C++基础
  • 原文地址:https://www.cnblogs.com/oloroso/p/4648711.html
Copyright © 2011-2022 走看看