Linux 系统下,如下文件名中含有空格,该如何处理?

发表于:2023-2-10 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:TIAP    来源:TIAP

  为什么会这样呢?不是因为不能用空格,而是因为如果使用空格的话,会比较麻烦。举个例子,我们应该熟悉在命令行中,一般的语法结构是下面这个样子的:
  command [optionjs] argument1 argument2 ...
  也就是说,命令、选项、参数之间都是用空格隔开的,如果参数是某个文件,而这个文件的文件名中含有空格,那么文件名被空格隔开的部分都会被视为单独的参数,这就会带来问题。
  比如,在我当前工作目录下,有这样一个文件 tiap comm.txt,如果我使用cat 命令查看文件内容:cat tiap comm.txt,系统就会报错,如下图所示:
  那假如文件名中,含有空格,应该怎么办呢?
  一般来说,有如下两种方式:
  1)将文件名放到引号中;
  2)使用反斜杠 \ 来转义空格。
  上面两种方法中,建议使用第一种,原因我们在下面章节中介绍。
  使用引号来处理含有空格的文件名
  前文中提到,如果要查看某个文件中的内容,但是该文件的文件名含有空格,可以将文件名放在双引号中,如下所示:
  cat "tiap comm.txt"
  另外,也可以使用单引号:
  cat 'tiap comm.txt'
  创建文件或文件夹,如果文件名需要包含空格,处理方式也是一样:
  mkdir "folder name"
  cd "folder name"
  touch "new file"
  使用反斜杠处理名称含有空格的文件
  如果文件或文件夹的名称中含有空格,使用反斜杠来转义其中的空格,需要注意的是,文件名中的每一个空格,都需要使用反斜杠来转义,比如:
  cat file\ name\ with\ space
  还是先前的例子:
  cat tiap\ comm.txt
  其他例子:
  mkdir create\ new\ folder
  cd create\ new\ folder/
  touch new\ file
  前文中我们提到过,使用反斜杠来处理空格不如引号,我们举个例子来说明,假如我们当前处于路径 /home/gliu/work/tiap 下:
  上面有个命令:
  cd create\ new\ folder/two/
  看起来是不是比较乱?
  如果换成引号:
  cd "new folder"/two
  就好多了。
  即便如此,我们建议在 Linux 系统中,文件名中不要包含空格,如果需要分割文件名中的各个单词,统一使用下划线:
  folder_name_with_space
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号