文章目录
- 前言
- 一、相对路径与绝对路径
- 1.绝对路径(absolute)
- 2.相对路径(relative)
- 二、目录相关操作命令
- 1.cd(change directory, 切换目录)
- 2.pwd(print working directory, 显示目前所在的目录)
- 3.mkdir(make directory, 建立新目录)
- 4.rmdir(remove directory, 删除“空”的目录)
前言
`
在介绍本章用到的基本命令之前,先介绍一下Linux的路径,我们对Windows系统很熟悉,我们知道Windows系统中的所有文件都是在从盘符开始的,并且文件都是存储在磁盘的(C盘、D盘、E盘等)比如C:\user\图片。但是Linux系统是完全不一样的,在Linux中,文件系统里面不都是磁盘文件。Linux文件系统里面除了磁盘文件,还有很多设备、甚至一些虚拟的对象,也在文件系统目录里面访问。
Linux系统中所有的文件的路径始终是从一个根节点开始的,即" / “,Linux在启动的过程中,会根据配置,创建一个虚拟的文件系统目录结构(可以想象成Linux创建在内存中的一个目录结构)。在启动过程中,Linux有一个过程叫做挂接,会将文件系统挂接到虚拟的文件目录结构里的一个挂接点上,比如下图中,将一个磁盘分区挂到opt这个点上,opt上面还有根” / ",因此磁盘挂接在“ /opt ”下,挂接好了之后,再去访问磁盘上的文件就是通过/opt去访问。所以,我们要决定如何访问磁盘中的文件,就是看磁盘挂接在哪个点上。
综上,我们可以得出结论,Linux文件系统其实就是一个虚拟的目录结构,放在内存中,所有磁盘需要挂接到目录的某个点上,然后再去通过这个点去访问。这是与Windows中的目录结构不一样的。
注意:在Linux下面,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头,然后再一个一个的分支下来,有点像是树枝状,因此,我们也称这种目录配置方式为:目录树(directory tree)。其特性有三个:
1.目录树的起始点为根目录(/)
2.每一个目录不止能使用本地分区的文件系统,也可以使用网络上的文件系统。
3.每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。
一、相对路径与绝对路径
上面介绍完了Linux的目录系统,这里我们介绍访问Linux系统的文件的时候路径的两种访问方式。
根据文件名写法的不同,可以将所谓的路径(path),定义为绝对路径(absolute)和相对路径(relative)。
1.绝对路径(absolute)
由根目录(/)开始写起的文件名或目录名称,例如/home/username/anaconda/python.py
2.相对路径(relative)
相对于目前的文件名的写法。例如./home/username/anaconda/python.py。
开头不是" / "就属于相对路径的写法。
二、目录相关操作命令
下面就来讲几个常见的处理目录的命令“
cd: 切换目录
ped: 显示当前目录
mkdir: 建立一个新目录
rmdir: 删除一个空目录
1.cd(change directory, 切换目录)
cd ~ #表示回到自己的家目录
cd #不加任何路径,也代表回到自己的家目录
cd ~user1 #表示进入到user1这个使用者的家目录,但是在非root用户的情况下,是进不去的,会提示权限不够
cd .. #表示回到相对于现在目录的上一层目录
cd - #表示回到刚刚所在的那个目录
2.pwd(print working directory, 显示目前所在的目录)
pwd #单纯显示当前的工作目录
pwd -P #如果当前的目录为链接文件的路径,那么添加-P参数之后显示的不是当前的目录,而是链接文件的正确的完整路径
3.mkdir(make directory, 建立新目录)
mkdir test1 #表示在当前目录下创建一个名为test1的文件夹
mkdir -p test2/test3/test4 #表示在当前目录下创建一个名为test2的文件夹,并在test2的文件夹下创建一个名为test3的文件夹,并在test3的文件夹下创建一个名为test4的文件夹。创建多层的目录文件夹,必须添加-p参数,否则会报错。
mkdir -m 711 test2 #建立权限为rwx--x--x的目录,如果不添加-m属性来强制设置新目录的权限,那么新建立的目录的权限使用的是默认权限,默认权限与umask有关。
4.rmdir(remove directory, 删除“空”的目录)
rmdir test1 #test1下面没有任何的文件和目录,因此可以直接删除
rmdir test2 #test2下面有目录test3,因此会删除失败
rmdir -p test2/test #可以将、test2/test一次一起删除,不过要注意,rmdir仅能删除空目录。当test2下还有目录test2/test1时,这时就无法删除test2/test了,因此删除了test后test2中还有test1,不是空目录
rm -r test2 #可以删除非空的文件夹,但是比较危险,容易误删有用的文件