讲课之前先交给大家一个口令:tm文件文件夹
小伙伴一脸懵,说老师怎么还骂人呢?这个不是骂人,是用来区分mkdir和touch。是我自己编的哦!全网独创
tm文件文件夹,t对应着文件,m对应着文件夹
touch是创建文件的意思,mkdir是创建文件夹
mkdir
mkdir是用来创建文件夹的命令,比如我们想在桌面新建一个文件夹,文件夹的名字叫lin,语句为:
mkdir [-p] linux路径
-p可选,表示自动创建不存在的父目录
我们来演示一下:
咱们想在桌面创建但是打开命令符,你如果直接打开,当前的工作目录是~,我们先把它切换到桌面

因为我的系统还没有装中文输入法,通过ls可以看到家目录下有"桌面",kali Linux粘贴和Windows不太一样,他们多加了一个shift
我们用ctrl+shift+c复制一下"桌面"那两个字,之后用ctrl+shift+v粘贴
再用cd切换到桌面,这样就OK了
mkdir lin
这样你就在桌面创建好了一个名叫lin的文件夹

那么新的任务来了,我们想在这个lin文件夹里创建一个jiang的文件夹,再在里面创建一个ze,再在ze里创建yue,也就是
~/桌面/lin/jiang/ze/yue
这样可以创建成功吗?我们来试一下
因为我们当前工作目录就是桌面,所以只用写lin/jiang/ze/yue就可以了

如果你直接写mkdir lin/jiang/ze/yue,他就会说"无法创建目录 "lin/jiang/ze/yue": 没有那个文件或目录"因为普通的mkdir只能在现有的目录里创建文件夹
我们之前在桌面创建了一个lin,是有这个叫lin的文件夹的,但是lin是空的,里面并没有jiang,所以在jiang里创建ze就会报错
但是你加上-p就可以创建了。-p的作用:自动创建不存在的父目录
这时候就会有小伙伴想,我可以在根目录那里创建一个自己的文件夹吗?答案是------------
当然不可以了
为什么不可以呢?因为你的权限是普通用户,你没有管理员权限,普通用户的权限只有家目录下边可以操作,就是/home/lin里,也就是漂浮号~里
有的小伙伴可能会抬杠,说桌面里面也可以创建文件夹啊,咱就是说,别忘了桌面也在lin里......
我们来在根目录创建一个叫lin的文件夹

不出意外,他说无法创建目录。权限不够
至于怎么样才能拿更高的权限呢?别着急,我们会讲到的
touch命令
先切换到桌面的路径,一会在桌面演示
创建文件,语法是:
touch linux路径
没错,他只有这两句,没有选项
比如我们在桌面创建一个名为qqq1的文件,那么就写为touch qqq1
诶,灵机一动,我用touch创建qqq1的文件,再用mkdir创建qqq1的文件夹,会发生什么呢?我们来试一下

诶?这是为什么?为什么显示"无法创建目录 "qqq1": 文件已存在"呢?这里根本没有叫qqq1的文件夹呀?
答案是:在Linux系统中,文件和文件夹不可以同名,这样会导致冲突,它不像Windows系统上那样同名没什么反应,在Linux系统上,这样是不被允许的
此时又一个小伙伴灵机一动,说我可以像mkdir那样创建多重目录,之后再创建文件吗?当然也是------不可以了
还记得我们开头说过的,他没有选项吗?mkdir有个创建父目录的选项-p,他可以创建多级目录,但是touch没有,这是为什么呢?
touch的设计初衷是操作已存在的路径进行创建文件,并不是修改目录结构,所以我们得先用mkdir把目录整出来,才能创建文件

这一章节就到这里
小结
在kali中,复制粘贴是ctrl+shift+c和ctrl+shift+v
普通用户的权限只有在家目录里操作
在Linux系统中,文件和文件夹不可以同名,这样会导致冲突
mkdir用以创建新的目录(也就是文件夹)
语法:mkdir [-p] linux路径
命令 选项 参数
参数必填,表示要创建的路径,相对路径,绝对路径,特殊路径符都可以使用
-p可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
tm文件文件夹
tm文件文件夹,t对应着文件,m对应着文件夹
touch是创建文件的意思,mkdir是创建文件夹
touch的设计初衷是操作已存在的路径进行创建文件,并不是修改目录结构,所以我们得先用mkdir把目录整出来,才能创建文件