前言
⭕linux的树状文件结构
Linux中,磁盘上的目录和文件被组成一棵多叉树
在linux里,我们可以用tree指令查看一个文件的树状结构,使用tree指令前可能需要先安装tree指令:
yum install -y tree
⭕绝对路径和相对路径
绝对路径:从盘符开始的路径,Linux下的根目录一般为/root或者/home/(普通用户名)
那么一般语法就是
/root/(文件名)或者/home/(普通用户名)/(文件名)
比如:
/root/lesson1/test.txt
/home/张三/lesson1/test.txt
相对路径:沿着当前路径向下,一般语法为
(当前目录或文件)/(文件名)
比如:
/lesson1/test.txt
⭕当前路径和上级路径
一个点表示当前路径,两个点表示上级路径
用当前路径改写相对路径,比如我们在某一目录下:
./就表示当前目录,拿/lesson1/test.txt举例,如果我们在lesson1目录下,这个点就表示lesson1目录
./test.txt
../表示上级目录,假设lesson1的上级目录是/root,两个点就表示root目录,再假设root目录下有一个lesson2目录,那我们可以这么表示:
../lesson2
⭕隐藏文件
.(文件名)表示隐藏文件
基本指令(重点)
1 pwd 指令
功能:显示用户当前所在目录。
语法:pwd
2 mkdir 指令
功能:在当前目录下创建自定义名称的目录。
语法:mkdir [目录名]
常用选项:
-p 递归创建一条路径下的目录
①比如,我们想创建一条路径下的多条目录:
mkdir -p CSDN1/csdn1
②ll和ls指令我们下面会讲,就是列出目录下的所有子目录和文件
③同时我们还可以用tree指令观察其路径:
表明我们创建了一个位于/root路径下(root目录下)的新目录CSDN1,其下还有一个新目录csdn1,其中路径/root/CSDN1/csdn1只有一条,说明路径具有唯一性。
3 touch 指令
功能:可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
语法:touch [选项] [文件名]
常用选项:
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
入门阶段我们只需要会touch一个新文件即可,剩下的大家可以自行尝试,需要注意的是
①只能在目录里新建文件
②只能在当前目录下新建文件,无法使用相对路径或者绝对路径
4 ls 指令
功能:对于目录,该命令列出当前目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
语法:ls [选项] [目录或文件]
常用选项:
-a 可以显示所有文件,包括隐藏文件.
-l 显示文件的所有信息
-d 将目录象文件一样显示,而不是显示其下的文件
目前我们对ls指令的掌握程度,只需要会查看任何路径目录下的文件即可。
4.1 ls只加选项不加文件/目录名,默认查看当前目录下的文件
4.1.1 ls -a:查看所有文件包括隐藏文件
可以看到lesson3不是隐藏文件,其他都是隐藏文件。
4.1.2 ls -l / ll:显示文件的所有信息
红框处就是这个lesson3文件的具体信息,我们还可以简化指令为ll
4.1.3 ls -la / ls -al / ll -a:显示所有文件的所有信息
注:ls -la/ls -al/ll-a 三个指令是一个意思,在linux里可以将指令与选项进行任意组合,但不是所有都可以。
4.2 ls加选项加绝对路径/相对路径
🥝我们可以用绝对路径,在不同目录下访问同一个目录的文件:
①比如我们目前在/root的路径下,我们想在lesson4目录下访问lesson3目录里的文件
②我们先用cd指令(后面会讲)进入lesson4目录,用pwd和ll指令(即ls -l)验证我们是否进入lesson4
③输入指令:ll /root/lesson3
④然后我们回到lesson3,用指令cd /root/lesson3
⑤发现我们在lesson4下用绝对路径访问lesson3是可行的,两张图是一样的。
注:cd指令的功能进入目录或文件,下面会进行讲解。
🥝我们可以用相对路径,在当前目录下的众多文件访问目标文件:
如上图所示,我们在众多文件中访问了第一个目录dir。
5 cd 指令
语法:cd [目录名]
功能:改变工作目录,将路径从当前目录改变到目标目录下。
5.1 cd与相对路径
①比如我们想进入当前lesson3目录下的dir目录
②输入指令:
cd dir 或者 cd ./dir
5.2 cd与绝对路径
①上级路径/root下有一个lesson4的目录,我们原本在/root/lesson3下
②输入指令:
cd /root/lesson4
5.3 访问最近目录
指令:
cd -
用这个指令可以实现反复横跳~
5.4 访问家目录
家目录:/root或者/home/(普通用户名)
指令:
cd ~
①root超级用户
②普通用户
6 rmdir指令和rm指令
6.1 rmdir指令
功能:删除空目录,只能删除空的目录!(很鸡肋)
语法:rmdir [目录名]
删除不空的目录,报错显示:
6.2 rm指令
功能:可以同时删除不为空的目录或者单独的文件。
语法:rm [选项] [目录名/文件名]
常用选项:
-f 强制删除
-i 删除前逐一询问确认
-r 递归删除目录及其下所有文件
选项可以相互组合,比如-rf -ri -if等等。
🥝-f 选项
-f表示强制删除,系统不做询问是否删除。
有询问:
在root用户情况下,rm不带-f会默认询问,而在普通用户情况下,rm不带-f不会默认询问。
不想被询问就带-f吧!
🥝-r选项
r表示递归,目录是树状结构,树的销毁遵循后序销毁,后序就是运用了递归。
-r通常和-f一起使用,-rf表示强制递归删除不为空的目录,不被询问(那么多文件你想一直yes吗?)
比如我们想删除这个del1目录:
输入指令:
rm -rf del1
然后就把del1这个目录连同它的子目录和子文件全部删除了。
🥝当前目录下,隐藏文件需要指定删除
①我们先创建两个隐藏文件
touch .del1.txt
touch .del2.txt
②随后我们删除当前目录下的所有文件:
rm -rf *
*号表示所有文件
发现隐藏文件无法被直接删除
④删除隐藏文件,只需在选项后跟文件名即可
**当然,如果我们进入上级目录进行强制递归删除子目录,子目录里的隐藏文件也会被删除。 **
总结
看完这篇博客,大家可以学会在linux下创建、显示和删除文件,下篇博客会继续教大家文件的复制、改名、读取操作!谢谢支持!
版权归原作者 HenryLin1234 所有, 如有侵权,请联系我们删除。