mkdir方法(mkdir -p linux命令什么意思)

本文目录
mkdir -p linux命令什么意思
如果一个目录的父目录不存在,就创建它。操作方法如下:
1、首先命令格式mkdir --help//获取格式参考。
2、然后创建一个目录 (相对路径)mkdir ’目录名’,这里创建:mkdir test。
3、接着创建目录(绝对路径),这里用绝对路径在test目录下创建一个名为123的目录,mkdir /home/zinkky/test/123。
4、然后可以用cd命令,切换到123目录,再使用pwd命令验证一下。
5、在一个不存在的目录下创建目录,这里在当前目录下的test1(不存在)目录创建一个目录1234,mkdir -p /home/zinkky/test1/1234,加上-p选项会把不存在目录连带一起创建,就可以了。
系统命令管理
## 创建目录mkdir(make directory)
Usage: mkdir ... DIRECTORY... # 看到语法中含有中括号的,可加可不加Create the DIRECTORY(ies), if they do not already exist.
创建单个或多个目录如果他们不存在
-m:创建目录的时候,给权限
-p:递归创建目录,如果目录已经存在,则不创建并且 (不报错)
-v:显示创建目录的信息
mkdir /gss # 在/下创建gss目录
mkdir gss # 在当前目录下,创建gss目录
mkdir ../gss # 在当前目录的上一级目录中,创建gss目录
mkdir ./gss # 在当前目录下,创建gss目录
mkdir /opt/gss # 在/opt/目录下创建一个gss目录
mkdir -p /abc/123/efg/456
mkdir -pv /abc/123/efg/456
mkdir: cannot create directory ‘/abc/bcd/efg’: No such file or directory
报错原因:/abc目录不存在,所以无法创建后面的目录
解决方法:mkdir -p /abc/bcd/efg
mkdir: cannot create directory ‘/usr/local/zls’: File exists
报错原因:不能创建/usr/local/zls这个目录,因为目录已经存在了
解决方法:1.不创建 2.mkdir -p /usr/local/zls
mkdir: cannot create directory ‘/root/zls’: Permission denied
报错原因:不能创建目录/root/zls,因为 权限不够
解决方法:需要授权(chmod chown 后面讲)
mkdir: cannot create directory ‘/root/a.txt/111’: Not a directory
报错原因:不能创建目录,因为 /root/a.txt 不是一个目录
解决方法:不要在普通文件下创建目录
# 创建多个目录
mkdir /a1 /tmp/a1 /usr/local/a1
mkdir a1 a2 a3 a4 a5 a6 a7
mkdir a{1,2,3}
mkdir a{10..100}
mkdir /tmp/xxx yyy
mkdir -p /zls/abc{1..10}/efg
mkdir -p /zls/abc1/efg /zls/abc2/efg ...
mkdir: created directory ‘/zls/abc1’
mkdir: created directory ‘/zls/abc1/efg’
mkdir: created directory ‘/zls/abc2’
mkdir: created directory ‘/zls/abc2/efg’
mkdir: created directory ‘/zls/abc3’
mkdir: created directory ‘/zls/abc3/efg’
mkdir: created directory ‘/zls/abc4’
mkdir: created directory ‘/zls/abc4/efg’
mkdir: created directory ‘/zls/abc5’
mkdir: created directory ‘/zls/abc5/efg’
mkdir: created directory ‘/zls/abc6’
mkdir: created directory ‘/zls/abc6/efg’
mkdir: created directory ‘/zls/abc7’
mkdir: created directory ‘/zls/abc7/efg’创建文件-touch
mkdir: created directory ‘/zls/abc8’
mkdir: created directory ‘/zls/abc8/efg’
mkdir: created directory ‘/zls/abc9’
mkdir: created directory ‘/zls/abc9/efg’
mkdir: created directory ‘/zls/abc10’
mkdir: created directory ‘/zls/abc10/efg’
/home/zls
/home/zls/test1
/home/zls/test2
/home/oldboy
/home/oldboy/test1
/tmp/oldboy
/tmp/oldgirl
/root/test/test1
/root/test/test2
/root/abc
/backup
# mkdir /{home,tmp,root,backup}
# mkdir /{home/{zls,oldboy},root,tmp,backup}
# mkdir -p /{home/{zls,oldboy},root,tmp/{oldboy,oldgirl},backup}
# mkdir -p /{home/{zls,oldboy},root,tmp/old{boy,girl},backup}
# mkdir -p
/{home/{zls,oldboy},root/{test,abc}tmp/old{boy,girl},backup}
# mkdir -p /{home/{zls/test{1,2,oldboy},root/{test,abc},
tmp/old{boy,girl},backup}
# mkdir -p
/{home/{zls/test{1,2},oldboy},root/{test/test{1,2},abc},tmp/old{boy,girl},backup
}
# mkdir -pv
/{home/{zls/test{1,2},oldboy/test},root/{test/test{1,2},abc},tmp/old{boy,girl},b
ackup}
Usage: touch ... FILE...
1.创建,如果文件已存在,则修改它的`修改时间`和`访问时间`和`改变时间`,不存在则创建(不会报错)
2.必须创建在已经存在的目录中
3.创建相同文件,不会被覆盖
4.在Linux中,一切皆文件,没有后缀的区别,后缀是为了给人看的
## 创建文件的报错
touch: cannot touch ‘/qiandao/canglaoshi’: No such file or directory
报错原因:不在/qiandao下创建canglaoshi文件,因为/qiandao 不是文件或目录
解决方法:1.mkdir /qiandao 2.touch /qiandao/canglaoshi
touch /zls/a
touch /b
touch /tmp/c
touch {a..z}
touch 1{a..z}
touch ww /gss/a
touch /gss/a ww
tree
tree /opt
tree -L 1 /opt/
tree -dL 1 /opt/
-L:显示目录的层级(指定层级)
-d:List directories only 只显示目录,不显示文件
tree
tree /opt
tree -L 1 /opt/
tree -dL 1 /opt/
-L:显示目录的层级(指定层级)
-d:List directories only 只显示目录,不显示文件
copy : 拷贝,复制
Usage: cp ... SOURCE... DIRECTORY
cp ./wwwww /tmp
cp ./wwwww /tmp/gss
# 注意,上面的命令
1.如果gss存在,并且是一个目录,会将wwwww放到/tmp/gss目录下
2.如果gss不存在,那么会将wwwww放到/tmp目录下,并且改名叫gss
3.如果gss存在,并且是一个文件,会将wwwww放到/tmp目录下,并且覆盖原有的gss文件内容
copy : 拷贝,复制
Usage: cp ... SOURCE... DIRECTORY
cp ./wwwww /tmp
cp ./wwwww /tmp/gss
# 注意,上面的命令
1.如果gss存在,并且是一个目录,会将wwwww放到/tmp/zls目录下
2.如果gss不存在,那么会将wwwww放到/tmp目录下,并且改名叫gss
3.如果gss存在,并且是一个文件,会将wwwww放到/tmp目录下,并且覆盖原有的gss文件内容
1.如何快速返回上一次所在的目录?
cd -
2.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是?
-p
3.创建/oldboy目录
# mkdir oldboy
4.创建/data/test目录,已知/data目录不存在,请给出命令?
# mkdir /data/test -p
5.创建/root/user /root/logs /root/conf /root/html目录,请用一条命令实现
# mkdir /root/{user,logs,conf,html}
6.创建文件oldboy.txt
touch oldboy.txt
7.在/root/目录下创建文件test.txt test.log test.sh test.conf 请用一条命令创建。
# touch /root/test.{txt,log,sh,conf}
8.在/oldboy目录下创建以你名字的目录。(已知oldboy目录不存在,请用一条命令实现)
mkdir -p /oldboy/qiandao
9.在你名字的目录下面创建两个文件,分别为test.txt,test.log
touch /oldboy/qiandao/test.{txt,log}
10.切换到/tmp目录下,查看当前的工作位置,同时创建data1、data2、data3、共三个目录。
pwd
# mkdir data{1..3}
11.接上一题,分别在data1、data2、data3三个目录下创建3个文件,名字为oldboy1、oldboy2、oldboy3.然后查看/tmp目录的整个目录结构情况,最后检查下data1和oldboy1两个对象的属性。
# touch /tmp/data{1..3}/oldboy{1..3}
# tree /tmp/
/tmp/
├── aaa
├── data1
│ ├── oldboy1
│ ├── oldboy2
│ └── oldboy3
├── data2
│ ├── oldboy1
│ ├── oldboy2
│ └── oldboy3
├── data3
│ ├── oldboy1
│ ├── oldboy2
│ └── oldboy3
ll
12.在root用户的家目录下oldboy目录里创建两个文件,文件名为aaa和bbb(用一条命令创建)
# touch oldboy/{aaa,bbb}
# tree oldboy/
oldboy/
├── aaa
└── bbb
13.创建文件qiandao.txt
touch qiandao.txt
14.将/etc/resolv.conf配置文件复制到/opt目录下且复制过后的文件名为dns.txt
# cp /etc/resolv.conf /opt/dns.txt
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
# cat /opt/dns.txt
# Generated by NetworkManager
nameserver 114.114.114.114
15.把/etc/hosts文件复制到/tmp/data1目录下,然后把data1目录复制到/opt/目录下
16.当我在拷贝文件时报如下信息,请问什么原因?
# cp /etc/hosts /opt/
cp: overwrite ‘/opt/hosts’?
17.如何解决上一题问题(两种方法解决)
18.扩展题
请问如下登录环境故障的原理及解决办法?
-bash-4.1$
cp -a /etc/skel/.bash* ~
php创建目录的方法
mkdir
(PHP 4, PHP 5, PHP 7)
mkdir — 新建目录
1.说明
mkdir ( string $pathname ) : bool
尝试新建一个由 pathname 指定的目录。
2.参数
pathname
目录的路径。
mode
默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。
Note:
mode 在 Windows 下被忽略。
注意也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修改,可以用 umask() 来改变。
recursive
允许递归创建由 pathname 所指定的多级嵌套目录。
context
Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。
3.返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
4.范例如下图
5.错误/异常
目录已存在时,产生 E_WARNING错误。
如果因为权限问题无法创建目录,导致 E_WARNING错误。
java中f.mkdir();是什么意思
创建目录用的。
比如:
public class Example {
public static void main(String args) {
File f=new File("f:/example/test");
f.mkdir();
}
就在f:/example/文件下创建了一个目录。运行结果:
C里面mkdir可否创建多级子目录
通过linux的mkdir命令来创建文件路径。
操作步骤:通过cd命令进入要创建自路径的文件夹,通过以下方法创建
方法一通过命令:mkdir - p {filename1,filename2,filename3,filename4}(文件名)实现。
方法二通过命令:mkdir filename1 filename2 filename3 filename4(文件名)实现。
java创建目录或文件夹的方法
1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
2、File类的mkdir方法根据抽象路径创建目录
3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录
4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败
示例代码如下:
package book.io;
import java.io.File;
import java.io.IOException;
public class CreateFileUtil {
public static boolean createFile(String destFileName) {
File file = new File(destFileName);
if(file.exists()) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
return false;
}
if (destFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");
return false;
}
//判断目标文件所在的目录是否存在
if(!file.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
System.out.println("目标文件所在目录不存在,准备创建它!");
if(!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
return false;
}
}
//创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + destFileName + "成功!");
return true;
} else {
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
return false;
}
}
public static boolean createDir(String destDirName) {
File dir = new File(destDirName);
if (dir.exists()) {
System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");
return false;
}
if (!destDirName.endsWith(File.separator)) {
destDirName = destDirName + File.separator;
}
//创建目录
if (dir.mkdirs()) {
System.out.println("创建目录" + destDirName + "成功!");
return true;
} else {
System.out.println("创建目录" + destDirName + "失败!");
return false;
}
}
public static String createTempFile(String prefix, String suffix, String dirName) {
File tempFile = null;
if (dirName == null) {
try{
//在默认文件夹下创建临时文件
tempFile = File.createTempFile(prefix, suffix);
//返回临时文件的路径
return tempFile.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建临时文件失败!" + e.getMessage());
return null;
}
} else {
File dir = new File(dirName);
//如果临时文件所在目录不存在,首先创建
if (!dir.exists()) {
if (!CreateFileUtil.createDir(dirName)) {
System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");
return null;
}
}
try {
//在指定目录下创建临时文件
tempFile = File.createTempFile(prefix, suffix, dir);
return tempFile.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建临时文件失败!" + e.getMessage());
return null;
}
}
}
public static void main(String args) {
//创建目录
String dirName = "D:/work/temp/temp0/temp1";
CreateFileUtil.createDir(dirName);
//创建文件
String fileName = dirName + "/temp2/tempFile.txt";
CreateFileUtil.createFile(fileName);
//创建临时文件
String prefix = "temp";
String suffix = ".txt";
for (int i = 0; i 《 10; i++) {
System.out.println("创建了临时文件:"
+ CreateFileUtil.createTempFile(prefix, suffix, dirName));
}
//在默认目录下创建临时文件
for (int i = 0; i 《 10; i++) {
System.out.println("在默认目录下创建了临时文件:"
+ CreateFileUtil.createTempFile(prefix, suffix, null));
}
}
}
输出结果:
创建目录D:/work/temp/temp0/temp1成功!
目标文件所在目录不存在,准备创建它!
创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!
创建了临时文件:D:work emp emp0 emp1 emp5171.txt
创建了临时文件:D:work emp emp0 emp1 emp5172.txt
创建了临时文件:D:work emp emp0 emp1 emp5173.txt
创建了临时文件:D:work emp emp0 emp1 emp5174.txt
创建了临时文件:D:work emp emp0 emp1 emp5175.txt
创建了临时文件:D:work emp emp0 emp1 emp5176.txt
创建了临时文件:D:work emp emp0 emp1 emp5177.txt
创建了临时文件:D:work emp emp0 emp1 emp5178.txt
创建了临时文件:D:work emp emp0 emp1 emp5179.txt
创建了临时文件:D:work emp emp0 emp1 emp5180.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt
在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






