在其父目录不存在时先创建父目录的命令 linux命令中,在属主目录的位置,想要在上一级目录新建一个...

作者&投稿:璩注 (若有异议请与网页底部的电邮联系)

题主你好,

从你的问题来看, 应该考查的是mkdir命令的-p参数. 下面通过一个例子为题主详细的说一下:

假设在根目录下有一个子目录A,即 /A,

现在我想新建层级为/A/B/C这样的一个目录C, 但问题来了, 如果我直接使用命令:

    mkdir /A/B/C

会报错, 提示不存在目录B, 这个报错没问题, 因为事实上A目录下是空的(也就是说当mkdir命令后直接接路径的话, 执行过程是: "逐级检测目录是否存在, 如果某一祖先级目录不存在,则报错"). 此时我们就要借助mkdir命令的-p参数, 这个参数的作用是如果祖先级目录(题主问题中写的是父级目录, 其实不止父级)不存在则会自动为你创建, 因此将上面的命令改为:

    mkdir -p /A/B/C

上面命令加了-p参数的执行过程是, 先检测根目录下有没有目录A,有则继续向下看, 没有则新建目录A, 当A目录存在了, 再看A目录下有没有目录B,有则继续向下看, 没有则新建目录B, 当B目录也存在了, 再看目录C是否存在, 存在则退出, 不存在则新建目录C后退出. 也就是说-p参数将mkdir命令的执行逻辑改为: "逐级检测目录是否存在,有则继续向下处理,没有则新建"

-----

希望可以帮到题主, 欢迎追问.



Linux中mkdir命令先创建父目录的选项是?~

Linux多级目录创建的参数是-p,例如:
mkdir -p /fdir/test/sdir以上,fdir是父目录,sdir是子目录,如果要创建子目录会一级一级进行创建的

  目录操作命令
  cd
  cd命令功能
  在每一个操作系统中,都需要有改变目录的工作,Linux也不例外,在Linux操作系统中,是通过cd命令来改变工作目录的。
  cd命令的命令格式及用法
  命令格式:cd
  命令用法
  例1:现在的工作目录为:/home/development,想改变当前工作目录,进入下一层目录temp,应使用cd命令。
  [development@www ~]$ pwd ————可以通过pwd命令查看当前工作目录。
  /home/development ————当前工作目录为:/home/development
  [development@www ~]$ cd temp/ ————通过cd temp命令改变当前目录为/home/development/temp
  [development@www temp]$ pwd ————再次使用pwd命令查看当前工作目录
  /home/development/temp ————可知当前工作目录为:/home/development/temp
  在Linux的目录结构中“.”表示当前目录,“..”表示当前目录的父目录,“/”表示根目录。
  例2:在上例中进到了/home/development的下一级子目录temp,现在我返回到上一级父目录,并从此再返回到根目录。
  [development@www temp]$ cd .. ————返回当前目录的父目录。
  [development@www ~]$ pwd
  /home/development
  [development@www ~]$ cd / ————返回根目录。
  [development@www /]$ pwd
  / ————根目录。
  当用户以个人账户登录系统后,就会直接进入用户主目录。当用户需要从任何一个工作目录返回主目录时,可以使用cd命令直接返回。
  例3:在上例中我们已进入了根目录,现在想返回到自己的主目录。
  [development@www /]$ pwd
  /
  [development@www /]$ cd ————直接回到自己的主目录。
  [development@www ~]$ pwd
  /home/development
  mkdir
  mkdir命令功能
  mkdir命令用于创建一个新的目录。
  这个新的目录不仅可以使用绝对路径,也可以使用相对路径。但用户创建新目录的前提条件是:创建者对被创建新目录的父目录应有写权限。
  mkdir命令的命令格式及用法
  命令格式:mkdir [] (主要有两个选项:-p和-m)
  -p: 创建新目录时,在其父目录不存在的情况下首先创建父目录。
  -m: 创建新目录的同时指定此目录的权限。
  命令用法
  例1:当前工作目录为:/home/development,且用户对/home/development目录有写权限,现在此目录下新建一个名为temp的子目录。(使用相对路径)
  [development@www ~]$ mkdir temp(也可以使用mkdir ./temp创建)
  [development@www ~]$ ls -al
  total 56
  drwx------ 4 development development 4096 Jul 21 13:03 .
  drwxr-xr-x 13 root root 4096 Jul 15 15:45 ..
  -rw------- 1 development development 179 Jul 21 10:58 .bash_history
  -rw-r--r-- 1 development development 24 Jul 12 2006 .bash_logout
  -rw-r--r-- 1 development development 176 Jul 12 2006 .bash_profile
  -rw-r--r-- 1 development development 124 Jul 12 2006 .bashrc
  -rw-r--r-- 1 development development 515 Aug 4 2006 .emacs
  -rw------- 1 development development 16 Jul 4 13:41 .mysql_history
  drwxrwxr-x 2 development development 4096 Jul 21 13:03 temp
  -rw------- 1 development development 7168 Jul 21 10:45 .viminfo
  drwxr-xr-x 2 development development 4096 Jun 30 09:11 .xemacs
  -rw-r--r-- 1 development development 658 Sep 12 2006 .zshrc
  (使用相对路径在/home/development目录下创建一子目录temp,权限默认为775。)
  例2:当前工作目录为:/home/development,且用户对/home/development目录有写权限,现在temp子目录中再新建一子目录test(使用绝对路径)。
  [development@www ~]$ mkdir /home/development/temp/test
  [development@www ~]$ cd temp/
  [development@www temp]$ ls -al
  total 12
  drwxrwxr-x 3 development development 4096 Jul 21 13:07 .
  drwx------ 4 development development 4096 Jul 21 13:04 ..
  drwxrwxr-x 2 development development 4096 Jul 21 13:07 test
  (使用绝对路径在/home/development/temp目录下新建一子目录test,默认权限为775。)
  例3:在/home/development目录下同时创建temp和test目录,temp是test的父目录,test是temp的子目录。此时要使用-p选项,在没有temp父目录的情况下创建test目录。系统首先要创建父目录temp,然后再创建子目录test。
  [development@www ~]$ mkdir -p /home/development/temp/test(也可以使用相当路径mkdir -p ./temp/test创建)
  [development@www ~]$ cd temp/
  [development@www temp]$ ls -al
  total 12
  drwxrwxr-x 3 development development 4096 Jul 21 13:12 .
  drwx------ 4 development development 4096 Jul 21 13:12 ..
  drwxrwxr-x 2 development development 4096 Jul 21 13:12 test
  例4:在/home/development目录下创建一个名为test的子目录,并给此目录赋予一定的权限:本用户有读、写和执行权,同组用户有读权和执行权,本组以外的其他用户只有读权。应使用[-m 权限]选项。
  [development@www ~]$ mkdir -m 754 test
  [development@www ~]$ ls -al
  total 56
  drwx------ 4 development development 4096 Jul 21 13:16 .
  drwxr-xr-x 13 root root 4096 Jul 15 15:45 ..
  -rw------- 1 development development 179 Jul 21 10:58 .bash_history
  -rw-r--r-- 1 development development 24 Jul 12 2006 .bash_logout
  -rw-r--r-- 1 development development 176 Jul 12 2006 .bash_profile
  -rw-r--r-- 1 development development 124 Jul 12 2006 .bashrc
  -rw-r--r-- 1 development development 515 Aug 4 2006 .emacs
  -rw------- 1 development development 16 Jul 4 13:41 .mysql_history
  drwxr-xr-- 2 development development 4096 Jul 21 13:16 test ————权限为754
  -rw------- 1 development development 7168 Jul 21 10:45 .viminfo
  drwxr-xr-x 2 development development 4096 Jun 30 09:11 .xemacs
  -rw-r--r-- 1 development development 658 Sep 12 2006 .zshrc
  rmdir(这个命令现在好像很少用了吧,反正一般我用rm就可以了)
  rmdir命令功能
  删除指定的空目录。
  当要删除目录内的所有文件和子目录都被删除以后,才能使用rmdir命令删除该目录(个人感觉不实用)。用户删除目录时,应对该目录的父目录有写的权限。
  rmdir命令的命令格式及用法
  命令格式:rmdir []
  -p: 删除指定路径上的所有目录(目录数大于一)。
  命令用法
  例1:当前工作目录为:/home/development,且用户对/home/development目录有写权限,现在将temp子目录中的子目录test删除。
  [development@www ~]$ cd temp/
  [development@www temp]$ ls
  test ————temp目录下原有一个空目录test。
  [development@www temp]$ rmdir test/
  [development@www temp]$ ls ————执行rmdir命令后,test被删除。
  [development@www temp]$
  例2:在/home/development目录下有一空子目录,名为:temp,temp下有一空子目录test,test下有一子目录test1.此时可使用-p选项一次删除temp/test/test1目录。
  [development@www ~]$ pwd
  /home/development
  [development@www ~]$ ls
  temp
  [development@www ~]$ rmdir -p temp/test/test1/
  [development@www ~]$ ls
  [development@www ~]$
看看这个能不能帮到你....
你可以试试重新做一次看!

Python中os模块创建目录的函数有哪些呢?
答:使用 os.makedirs() 创建一个新目录,如果该目录的父目录不存在,则也会一并创建 os.makedirs("path/to/newdir")在上面的代码中,第二行导入了 'os模块。然后,第四行使用os.mkdir()函数创建了一个名为newdir的新目录。第六行使用os.makedirs()函数创建了一个新目录,并指定了其完整路径。注意...

appium启动日志分析
答:如果父目录不存在,则创建父目录。 前面几行里也有创建这个文件夹,但是没有-p。 我发现,开源的东西,写的比较乱,因为各种人都在开发,开发的风格不一样,而且有可能并没有把之前的内容都看完,所以上面创建了一个目录,下面又重新创建一个一模一样的目录。adb -P 5037 -s Q5S5T19528002651 shell pm list ...

钉钉下载文件失败父目录不存在怎么办
答:默认父目录不存在,就根据文件路径新建一个下载目录保存。下载文件失败,可以建议更换一下网络环境、客户端、重新打开一下钉钉等试试看哦,如果是别人发送给您的文件,也可以尝试让对方重新给您发送一次试试看呢。如果是企业群或云盘企业文件里下载文件失败,也可以查看是否群主或管理员设置了只读模式哦。

Linux命令
答:作用:创建新目录 语法:mkdir [-p] 目录名 -p 父目录不存在情况下先生成父目录 (parents) eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。 命令路径:/bin/touch 执行权限:所有用户 作用:创建空文件或更新已存在文件的时间 语法:touch 文件名 eg:touch a.txt b.txt touch...

python 当文件目录不存在时,如何自动创建
答:print(path+' 目录已存在') return False # 定义要创建的目录mkpath="d:\\qttc\\web\\"# 调用函数mkdir(mkpath)注意:os.mkdir(path)函数和多层创建目录函数os.makedirs(path)的区别。主要是当父目录不存在的时候os.mkdir(path)不会创建,而os.makedirs(path)会创建父目录。

java中Write FileWriter()和FileWriter(new file)的区别
答:第二个问题 FileWriter(路径名)和FileWriter(new file(路径名))这两者有什么区别?差不多两个都可以做效果是一样的,只不过操作有点不同,第一个是直接在创建这个文件写入器的时候,把要写的写进哪个文件里面去,在这个路径里面就标明清楚了。第二个呢,是先创建一个文件对象用这个路径来创建一个...

Linux目录创建与删除命令
答:说明:dir-name表示目录名。该命令从一个目录中删除一个或多个子目录项。需要 特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替 rmdir,但是有危险性。删除某目录时也必须具有对父目录的写权限。命令中各选项的含义为:- p 递归删除目录dirname,当子目录删除后其父目录为空时,...

UNIX中如何使用绝对和相对路径名来组织和操作目录?
答:你可以通过$pwd命令查看当前工作目录。要列出目录内容,使用$lsdirname,如$ls/usr/local列出/usr/local目录下的文件。创建目录是通过$mkdir dirname,如$mkdir mydir会在当前目录下新建一个mydir。如果父目录不存在,可以使用$mkdir -p来创建所有必需的路径。删除目录需确保其为空,然后使用$rmdir ...

如何一次性创建目录/text/1/2/3/4?
答:可以使用的命令是“mkdir-p/text/1/2/3/4”。其中,mkdir命令用于创建目录,-p选项表示创建目录时自动创建所需的父目录。也就是说,目录的父目录不存在,mkdir-p命令会自动创建父目录。在这个命令中,/text/1/2/3/4表示要创建的目录路径,其中每个斜杠(/)后面的名称表示下一级目录的名称。因此...

Unix系统中目录的操作命令总结
答:如果你在命令行上给出多个目录,mkdir 创建每个目录。例如:代码如下:   $mkdir docs pub在当前目录下创建目录 docs 和 pub 。创建父目录 有时当你想要创建一个目录,其父目录可能不存在。在这种情况下,mkdir 发出一个错误消息,如下所示:代码如下:   $mkdir...