zoukankan      html  css  js  c++  java
  • 删除文件名含有特殊字符的文件

    2011-12-24 14:21:29

    分类: LINUX

     

    Linux 系统下的文件名长度最多可到256个字符。通常情况下,文件名的字符包括:字母、数字、“.”(点)、“_”(下划线)和“-”(连字符)。Linux 允许在文件名中使用除上述符号之外的其它符号, 但并不建议用户这样做。 有些转意字符 (即该字符被系统借用,表示某种特殊含义) 在 Linux 的 命令解释器(shell)中有特殊的含义。这样的转意字符有:“?”(问号),“*”(星号), “ ”(空格), “$”(货币符), “&”, 扩号等等。在文件名中应尽量避免使用这些字符。文件名中可以有“ ”(空格),但建议用户用“_”(下划线)来替代。“/” 既可代表目录树的根也可作为路径名中的分隔符(类似DOS下的“”),因此“/“不能出现在文件名中。   和 DOS 一样,“.” 和 “..”分别用来表示“当前目录”和“父目录”, 因此它们也不能作为文件名。

    1. 文件名含有特殊字符,直接使用 rm 可能删除不了,可以使用如下方法:
    1) 使用 ls -i 查处该文件的 inode 号,假设为654321
    2) 使用find命令删除
    1. find ./ -inum 654321 -ok rm '{}' ;

    2. 如果文件名是以 - 连字符开头的,可以使用如下方法来删除,如删除 "-filename" 文件:
    1. rm -- -filename
      rm ./-filename
  • 相关阅读:
    c++最大公约数
    c++判断一个整数里面是否包含 3 这个数字
    动态使用webservice,以及含有ref类型的参数的问题
    带有用户名密码验证的远程文件下载
    注册表
    fsdfasfsa
    C# addin 开发心得记录
    c# 读写注册表
    like的性能问题
    查找表中多余的重复记录(多个字段)
  • 原文地址:https://www.cnblogs.com/wuxi/p/3156440.html
Copyright © 2011-2022 走看看