linux创建和删除目录-mkdir和rmdir命令详解


1.mkdir命令建立新目录

回到顶部

mkdir为make directory的缩写,该命令用来创建新目录,我们在上面的例子中已经见过该命令的用法了。 常见的命令格式如下:

              [root@initroot ~]# mkdir [-mp] 目录名称
              选项与参数:
              -m :设置目录的权限!-m选项设置的目录权限不受权限掩码umask的影响;
              -p :递归建立多层目录
            
将当前工作目录切换到/tmp目录下,然后建立一个新目录testdir:
              peter@initroot:~$ cd /tmp/
              peter@initroot:/tmp$ mkdir testdir
              peter@initroot:/tmp$ ls -ld testdir
              drwxr-xr-x 2 peter peter 4096 Jan  7 19:17 testdir
            

创建多级目录需要加上-p选项:

              peter@initroot:/tmp$ mkdir -p test1/test2/test3/test4
            
如果不加-p选项是无法创建的,因为多级目录需要一层一层手动建立,只有先创建了父目录才能创建子目录, 加上-p选项就可以自动地创建多级目录了。不过这里并不建议使用-p选项,因为目录参数一旦输入错误,就会造成混乱。 如果要建立多级目录,最好是手动一层一层建立,这样还能用tab自动补全帮助检查拼写错误。

创建一个新目录dir1,并将新目录的权限设置为rwx--x--x:

              peter@initroot:/tmp$ mkdir -m 711 dir1
              peter@initroot:/tmp$ ls -ld dir1
              drwx--x--x 2 peter peter 4096 Jan  7 19:35 dir1
            
如果你理解了linux文件权限的知识,应该不难理解上面命令中的711是什么意思。如果看不懂,那就回到我们的上一篇 linux文件属性与权限 章节查看吧!
-m权限可以指定新建目录的权限,新指定的权限不受umask的影响。如果不加-m选项,系统会创建默认权限的新目录。 关于默认权限和umask的内容我们也已经在上一篇 linux文件属性与权限 章节讲解过了,这里不在赘述。

mkdir用于创建一个新目录,在当前工作目录下创建initroot目录:

              peter@initroot:/tmp$ mkdir initroot
            

2.rmdir命令删除空目录

回到顶部

rmdir为remove directory的缩写,意为移除目录。rmdir命令用来删除空目录,常见格式如下:

              [root@initroot ~]# rmdir [-p] 目录名称
              -p选项类似mkdir命令的-p选项,可以删除多层级空目录。
            
删除上面建立的testdir和dir1目录:
              peter@initroot:/tmp$ rmdir testdir
              peter@initroot:/tmp$ rmdir dir1
              peter@initroot:/tmp$ ls -al
              total 204
              drwxr-xr-x  2 peter peter   4096 Jan  7 19:17 .
              drwxrwxrwt 18 root  root  200704 Jan  7 19:51 ..
              drwxrwxrwt 18 root  root  200704 Jan  7 19:51 test1
            
通过ls -al命令可看出testdir和dir1目录已成功删除。 注意rmdir命令只能用于删除空目录,即目录需要手动一层一层删除。如果目录不为空,那么rmdir命令会失败报错:
              peter@initroot:/tmp$ rmdir test1
              rmdir: failed to remove ‘test1’: Directory not empty
            
需要先将目录中的文件删除或者通过rm -r test1命令强制删除目录。 当然我们也可以通过-p选项删除:
            peter@initroot:/tmp$ rmdir -p test1/test2/test3/test4
            

rmdir是remove directory的缩写,该命令用于删除空目录,再用rmdir命令删除目录之前,需要确保目录为空目录
删除当前工作目录下的testdir目录

              peter@initroot:/tmp$ rmdir testdir
            

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读