Linux下用bash命令执行名称中带有"("符号的目录注意事项

***********************************************声明************************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

表述有错误之处,请您留言或邮件(hyldba@163.com)指明,不胜感激。

本文转载必须保留此处:http://blog.csdn.net/huangyanlong/article/details/39214295

深蓝的blog:http://blog.csdn.net/huangyanlong

****************************************************************************************************

1. 无意中的发现:对“(”符号的转义

名称带有“(”符号的目录,在Linux系统下是无法直接对其执行操作的,如果要直接对其操作,需要在名称中加入转义符,如下举例

[root@hyldb soft]# ls --查看文件,发现有一个rpm(CentOS5.6 +11g)目录

new p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_1of7.zip rpm(CentOS5.6 +11g)

[root@hyldb soft]# cd rpm(CentOS5.6 +11g) --直接进入目录,提示错误

-bash: syntax error near unexpected token `('

[root@hyldb soft]# cd rpm/(CentOS5.6/ +11g/) --修改格式后,进入成功

[root@hyldb rpm(CentOS5.6 +11g)]#

如果想要删除操作,当然也需要加入转义符,如下例举:

[root@hyldb soft]# rm -rf rpm/(CentOS5.6/ +11g/)/

2. 空格的转义:转义中存在的空格处理

其中注意一点,如果创建目录时存在类似“+”符号与空格相连,需要在其“空格”前加转义符“/”,否则会被拆分成多个目录,举例如下:

没有空格的情况下创建目录:(1+2)

[root@hyldb soft]# mkdir /(1+2/)

[root@hyldb soft]# ls --查看发现目录创建成功

(1+2) new p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

有空格的情况下创建目录:(1 + 2)

[root@hyldb soft]# mkdir /(1 + 2/)

[root@hyldb soft]# ls --查看发现,由于格式没有注意,默认创建了三个目录,分别为:“+”、“(1”、“2)”这三个目录

+ (1+2) new p13390677_112040_Linux-x86-64_2of7.zip

(1 2) p13390677_112040_Linux-x86-64_1of7.zip

正确的创建“(1 + 2)”目录的格式应该为如下:

[root@hyldb soft]# mkdir /(1/ +/ 2/)

[root@hyldb soft]# ls --查看发现,“(1 + 2)”目录创建成功

(1 + 2) new p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

小结:如果目录名称中存在空格,需要对空格单独转义,否则会被拆分成单个的目录

3. 后记:删除掉实验目录

[root@hyldb soft]# ls

+ (1 + 2) new

(1 (1+2) p13390677_112040_Linux-x86-64_1of7.zip

(1 + 2) p13390677_112040_Linux-x86-64_2of7.zip

[root@hyldb soft]# rm -rf + /(1/ +/ 2/) /(1 /(1/ + 2/)

[root@hyldb soft]# ls

(1+2) new p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

[root@hyldb soft]# rm -rf /(1+2/)

[root@hyldb soft]# ls

new p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

小细节,简而记之

***********************************************声明************************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

表述有错误之处,请您留言或邮件(hyldba@163.com)指明,不胜感激。

本文转载必须保留此处:http://blog.csdn.net/huangyanlong/article/details/39214295

深蓝的blog:http://blog.csdn.net/huangyanlong

****************************************************************************************************

(0)

相关推荐

  • Linux下非交互式远程执行命令脚本

    Linux下非交互式远程执行命令脚本(比ssh更好的方式) openssh在每台机器上都有,ssh与scp经常出现在我们的生活中。 然而当要管理的机器规模越来越大时,ssh登陆到目标机器进行管理就变得 ...

  • Linux下使用blkid命令查询设备及文件系统信息的方法

    在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ...

  • 在windws下模拟Linux下可获取命令执行时间的time命令

    Linux 下的 time 命令可以获取命令执行时间,Windows 下并没有类似的命令,我们可以自力更生写一个批处理,命名为time.bat。 [plain] @echo off set /a St ...

  • windows下的类似linux下的grep命令--findstr

    windows下的类似linux下的grep命令——findstr 经常用linux下的grep命令,比如: netstat -an|grep 1521 其实windows下也有一个类似的命令find ...

  • linux下学习history命令的用法实例

    linux下学习history命令的用法实例

  • Linux下常用cvs命令整理

    Linux下常用cvs命令整理

  • Linux 下使用mount命令挂载CDROM的方法

    Linux显示所有的目录都在一个目录树下,而与它们位于哪一个驱动器或硬件无关.在Linux下的磁盘内容作为子目录形式出现的,可移动介质的内容不会自动出现在这些子目录中,因此需要我们通过挂载驱动器来实现 ...

  • linux下find查找命令用法

    Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...

  • 在Linux下用Smbmount命令挂载Windows共享

    在Windows操作系统之间,可以通过映射网络驱动器的方式,将某个共享目录映射成一个磁盘文件系统,在Linux下,可以通过smbmount命令来实现相似的功能,将Windows的某个共享目录挂载到Li ...