linux当前⽬录的概念,⼀篇⽂章学会Linux系统⽬录的概念及常
⽤操作命令
前⽂我们对Linux操作系统的主要⽬录进⾏了介绍,⼤家清楚了每个⽬录的具体⽤途。在Linux操作系统下最常做的事情就是在各个⽬录之间进⾏切换和信息查询。今天我们就介绍⼀下在Linux下关于⽬录操作常⽤的命令。安与骑兵全部歌曲
其实⽬录也是⼀个⽂件,只不过是⼀种特殊的⽂件,它的唯⼀功能是⽤来保存⽂件及其相关信息。所有的⽂件,包括普通⽂件、设备⽂件和⽬录⽂件,都会被保存到⽬录中。为了更加容易的理解相关命令,我们先介绍⼀下⽬录相关的概念。
⽬录相关的概念
主⽬录
我们知道Linux是⼀个多⽤户的操作系统,当我们以某个⽤户登录操作系统时就会⾃动的处于某个⽬录下⾯,我们称这个⽬录为主⽬录。对于普通⽤户来说,当创建⽤户的时候通常会在/home⽬录下⾯创建⼀个与⽤户名同名的⼦⽬录,该⽬录就是该⽤户的主⽬录。
例如我们已itworld123⽤户登录系统时,此时我们会位于/home/itworld123⽬录下⾯。
⼯作⽬录
当我们登录到Linux系统时,我们总是处于某个⽬录下⾯。我们当前所处于的⽬录就是⼯作⽬录。我们可以通过cd命令实现⼯作⽬录的切换。
⽬录的绝对路径和相对路径
Linux的⽬录有清晰的层次结构,‘/’代表根⽬录,所有的⽬录都位于/下⾯;在Linux⽂件系统中⽬录中会有⼦⽬录,⼦⽬录中⼜有⼦⽬录,最终会形成⼀个⽬录树,如图所⽰。
由⼦⽬录名称和/分隔符构成的⼀个合法的字符串称为⼀个路径,它⽤于描述⽂件的位置。也就是我们可以通过路径到⽂件,就好像通过⼀条路可以到某个地⽅⼀样。下⾯是路径的两个例⼦:
home/itworld123/home/itworld123
陈慧琳演唱会高清如果我们仔细关注⼀下上⾯两个例⼦,其实上⾯两个路径是不同的。其中后⾯的路径是以/开头的,我们称为绝对路径,⽽不已/开头的称为相对路径。
点号(.)
在Linux操作系统中除了常见的字符串⽬录外,还有⼀种特殊的⽬录名称。这种⽬录名称是以点号(.)构成的。其中⼀个点号(.)表⽰当前⽬录,两个点号(..)表⽰上级⽬录(⽗⽬录)。这种⽬录主要是为了⽅便⽬录的切换,提⾼⼯作效率。你不知道的事mv
⽬录相关的操作
所有数据的操作⽆外乎增删改查,⽬录也是数据。因此,对于⽬录的操作也是增删改查,所谓增就是创建⽬录;所谓删就是删除⽬录;所谓改就是修改⽬录,⽐如重命名;所谓查就是查询⽬录及⽬录内的内容等。
创建⽬录
创建⽬录的命令为mkdir,它是make directory的简写。我们可以通过该命令后⾯跟⼀个⽬录名称的⽅式在当前⽬录创建⼀个⼦⽬录,例如:
$mkdir itworld123
这个⽬录名称其实可以是⼀个路径,可以是相对路径或者绝对路径。下⾯是⼀个相对路径的例⼦。张绍刚简介
$mkdir itworld123/sunnyzhang
当然,这个路径必须是⼀个合法路径,这样⽂件系统会⾃动搜索,并且在最后的⽬录下⾯创建⼦⽬录。当然,这个路径也可以是绝对路径,例如:
$mkdir /tmp/itworld123/sunnyzhang
上述命令会在⽬录itworld123中创建⼀个⼦⽬录sunnyzhang。
前⾯说了,要求后⾯的路径必须是合法路径。合法路径是什么意思呢?所谓合法路径是可访问的路径。对于相对路径和绝对路径有不同的解释。相对路径来说,是指相对⼯作⽬录来说⼼⽬录前⾯的⽗⽬录在⼯作⽬录是必须存在。⽽对于绝对⽬录来说是指新⽬录前⾯的所有⽗级⽬录是必须存在的。
如果创建⼦⽬录是前⾯的⽬录是不合法的,那么就会创建失败。但有时候我们希望创建⼀串⽗⼦⽬录,那么此时这⾥就存在⾮法路径的问题。创建就会失败。例如下⾯,如果itworld123不存在,那么该命令就会失败。
$mkdir itworld123/sunnyzhang
mkdir给我们提供了⼀个选项-p,通过该选项就可以⾃动创建不存在的上级⽬录。如下,如果itworld123不存在,那么mkdir会先创建该⽬录,然后创建sunnyzhang。
$mkdir -p itworld123/sunnyzhang
删除⽬录
有创建就有删除,很多情况下都有可能需要删除⽬录。⽐如创建错误的名称,或者不在使⽤的⽬录。我们可以使⽤ rmdir命令来删除⽬录,例如:
$rmdir itworld123
使⽤ rmdir命令可以同时删除多个⽬录:
$rmdir dirname1 dirname2 dirname3
但是需要注意的是,使⽤rmdir删除⽬录的时候必须保证该⽬录是空的,否则会报错。那么我们如何删除⼀个⾮空的⽬录呢?这就⽤到了rm 命令,它可以删除该⽬录及其内的所有内容。
改变所在⽬录(切换⼯作⽬录)
可以使⽤ cd命令来改变当前所在⽬录,进⼊任何有权限的⽬录,例如下⾯的例⼦:
$cd path/name
path/name是⼀个路径,可以为相对路径,也可以为绝对路径。例如
$cd /usr/local/bin
可以直接进⼊/usr/local/bin ⽬录。
圣诞背景音乐
除了使⽤路径名称来实现路径的切换外,Linux提供了⼀些快速进⾏切换的⽅式。⽐如使⽤下⾯的命令可以随时进⼊主⽬录:
$cd ~
这⾥ ~ 就表⽰主⽬录。如果你希望进⼊其他⽤户的主⽬录,可以使⽤下⾯的命令:
$cd ~username
另外⼀个快捷⽅式是实现两个⽬录之间的快速切换,具体如下:
$cd -
改动⽬录(重命名和移动)
有的时候我们在给⽬录起名的时候没起好。此时最简单的⽅法可能⼤家会想到删除后重新创建。但是如果⽬录中已经有很多内容呢?显然直接删除是不合适的,Linux为我们提供了修改⽬录名称的命令,
就是mv(move) 命令,其语法为:
$mv olddir newdir
该命令不仅仅可以重命名⽬录,还可以将⼀个⽬录整体搬到其它地⽅。例如下⾯的例⼦将会把 mydir ⽬录重搬到 newdir⽬录下⾯,成为其⼦⽬录:
$mv mydir yourdir/
查询⽬录
最后就是查询了,在Linux系统当中,我们可以通过ls命令查询⽬录中的内容,也就是⼦⽬录和⽂件。ls命令的语法格式为:
$ls path/name
这⾥path/name可以是绝对⽬录或者相对⽬录。如果path/name为空,也就是只有ls命令,则表⽰为⼯作⽬录。
ls命令是Linux下最为常⽤的命令之⼀,其功能也⾮常强⼤。前⾯我们了解了选项的概念,通过选项可以使得命令有更加强⼤的功能。ls有很多选项,其中⽐较常⽤的选项有如下⼏个:
-a :全部的⽂件,连同隐藏档( 开头为 . 的⽂件) ⼀起列出来-d :仅列出⽬录本⾝,⽽不是列出⽬录内的⽂件数据-l :长数据串列出,包含⽂件的属性与权限等等数据;-i : 显⽰⽂件或者⽬录的inode id
好了,今天的内容就到这⾥,关于Linux操作系统的更多内容,请关注本号及本号相关专栏。有问题欢迎⼤家反馈,或者在下⾯评论。
举报/反馈因为你所以我