linux mk和mkdir的区别,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用于创建一个新目录:

mkdir initroot

上述命令在当前工作目录下创建initroot目录

Usage:

mkdir [OPTION]... DIRECTORY...

Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.

-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask

-p, --parents no error if existing, make parent directories as needed

-v, --verbose print a message for each created directory

-Z set SELinux security context of each created directory to the default type

--context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to

CTX

--help display this help and exit

--version output version information and exit

GNU coreutils online help:

http://www.gnu.org/software/coreutils/ Full documentation at:

http://www.gnu.org/software/coreutils/mkdir or available locally via:

info '(coreutils) mkdir invocation'

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目录rmdir testdir

Usage:

rmdir [OPTION]... DIRECTORY...

Remove the DIRECTORY(ies), if they are empty.

--ignore-fail-on-non-empty ignore each failure that is solely because a directory is

non-empty

-p, --parents remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir

a/b/c a/b a'

-v, --verbose output a diagnostic for every directory processed

--help display this help and exit

--version output version information and exit

GNU coreutils online help:

http://www.gnu.org/software/coreutils/ Full documentation at:

http://www.gnu.org/software/coreutils/rmdir or available locally via:

info '(coreutils) rmdir invocation'

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值