文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-13 14:48

关注

为什么会这样呢?不是因为不能用空格,而是因为如果使用空格的话,会比较麻烦。举个例子,我们应该熟悉在命令行中,一般的语法结构是下面这个样子的:

command [optionjs] argument1 argument2 ...

也就是说,命令、选项、参数之间都是用空格隔开的,如果参数是某个文件,而这个文件的文件名中含有空格,那么文件名被空格隔开的部分都会被视为单独的参数,这就会带来问题。

比如,在我当前工作目录下,有这样一个文件 tiap comm.txt,如果我使用 cat 命令查看文件内容:cat tiap comm.txt,系统就会报错,如下图所示:

那假如文件名中,含有空格,应该怎么办呢?

一般来说,有如下两种方式:

1)将文件名放到引号中;

2)使用反斜杠 \ 来转义空格。

上面两种方法中,建议使用第一种,原因我们在下面章节中介绍。

使用引号来处理含有空格的文件名

前文中提到,如果要查看某个文件中的内容,但是该文件的文件名含有空格,可以将文件名放在双引号中,如下所示:

cat "tiap comm.txt"

另外,也可以使用单引号:

cat 'tiap comm.txt'

关于双引号和单引号的区别,大家可参考我们先前的文章:

Bash Shell 中单引号和双引号的区别

创建文件或文件夹,如果文件名需要包含空格,处理方式也是一样:

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
来源:TIAP内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯