Linux系统命令及文件的浏览、管理和维护

在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径。如果你告诉系统这个文件的路径,那么系统就可以找到这个文件。在linux的世界中,存在着绝对路径和相对路径。

绝对路径:路径的写法一定由根目录”/”写起,例如/usr/local/mysql 这就是绝对路径。

相对路径:路径的写法不是由根目录”/”写起,例如,首先用户进入到/ 然后再进入到home ,命令为 cd /home 然后 cd test 此时用户所在的路径为 /home/test 。第一个cd命令后跟 /home 第二个cd命令后跟test ,并没有斜杠,这个test是相对于/home 目录来讲的,所以叫做相对路径。

pwd 这个命令打印出当前所在目录

[image]

cd 进入到某一个目录

[image]

./ 指的是当前目录

../ 指的是当前目录的上一级目录。

[image]

上图中,首先进入到/usr/local/lib/ 目录下,然后再进入 ./ 其实还是进入到当前目录下,用pwd查看当前目录,并没有发生变化,然后再进入../ 则是进入到了/usr/local/目录下,即/usr/local/lib目录的上一级目录。你看明白了吗?

mkdir 创建一个目录,这个命令在上一章节中提及过。mkdir 其实就是make directory的缩写。其语法为 mkdir [-mp] [目录名称] ,其中-m , –p 为其选项,-m:这个参数用来指定要创建目录的权限,该参数不常用,所以笔者不做重点解释。-p:这个参数很管用的,先来做个试验,你会一目了然的。

[image]

当我们想创建 /tmp/test/123 目录,可是提示不能创建,原因是/tmp/test目录不存在,你会说,这个linux怎么这样傻,/tmp/test目录不存在就自动创建不就OK了嘛,的确linux确实很傻,如果它发现要创建的目录的上一级目录不存在就会报错。然后linux也为我们想好了解决办法,即-p参数。

[image]

你看到这里,是不是明白-p参数的作用了?没错,它的作用就是递归创建目录,即使上级目录不存在。还有一种情况就是如果你想要创建的目录存在的话,会提示报错,然后你加上-p参数后,就不会报错了。

[image]

rmdir 删除一个目录。

[image]

rmdir 其实是rmove directory 缩写,其只有一个选项-p 类似与mkdir命令,这个参数的作用是将上级目录一起删除。举个例子吧,新建目录mkdir -p d1/d2/d3 ,rmdir -p d1/d2/d3相当于是删除了d1,d1/d2, d1/d2/d3。如果一个目录中还有目录,那么当你直接rmdir 该目录时,会提示该目录不为空,不能删除。如果你非要删除不为空的目录,那你用rm指令吧。

rm 删除目录或者文件

rmdir 只能删除目录但不能删除文件,要想删除一个文件,则要用rm命令了。rm同样也有很多选项。你可以通过 man rm 来获得详细帮助信息。在这里笔者只列举较常用的几个选项。

-f 强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。

[image]

-i 这个选项的作用是,当用户删除一个文件时会提示用户是否真的删除。

[image]

如果删除,输入y 否则输入 n

-r 当删除目录时,加该选项,如果不加这个选项会报错。rm是可以删除不为空的目录的。

[image]

你会发现,笔者在列举的rm例子中使用的是绝对路径,而ls 则使用的相对路径。这是为什么呢?

[image]

which 用来查找一个命令的绝对路径,这个命令笔者不详细介绍,因为平时笔者只用来查找一个命令的绝对路径。

alias 用来设置指令的别名。语法:alias[别名]=[指令名称],例如 alias rm='rm -i' ,即当我们使用rm命令时,实际上是使用的是rm –i ,而用绝对路径的/bin/rm 则不会被alias。

 

关于rm,笔者使用最多便是-rf两个选项合用了。不管删除文件还是目录都可以。但是方便的同时也要多注意,万一你的手太快后边跟了/那样就会把你的系统文件全部删除的,切记切记。

[image]

ls 在前面的命令中多次用到它。现在你已经明白它的含义了吧。没有错,就是查看某个目录或者某个文件,是list的简写。ls 后可以跟一个目录,也可以跟一个文件。以下是ls的选项,在这里笔者并没有完全列出,只是列出了平时使用最多的选项。其他选项,你可以自行通过man ls 查询。

-a 全部的档案都列出,包括隐藏的。linux文件系统中同样也有隐藏文件。这些隐藏文件的文件名是以.开头的。例如.test, /root/.123, /root/.ssh 等等,隐藏文件可以是目录也可以是普通文件。

-l 详细列出文件的属性信息,包括大小、创建日期、所属主所属组等等。ll 这个命令等同于ls –l 。

[image]

--color=never/always/auto never即不要显示颜色,always 即总显示颜色,auto 是由系统自行判断。在Redhat/CentOS 系统中,默认是带颜色的,因为我们平时用的ls已经alias成了ls –color=tty 所以目录的颜色是蓝色的,而可执行文件的颜色是绿色。这样有助于帮我们区分文件的格式。

[image]

-d 后边跟目录,如果不加这个选项则列出目录下的文件,加上后只列车目录本身。

[image]

cp copy的简写,即拷贝。格式为 cp [选项] [ 来源文件 ] [目的文件] ,例如我想把test1 拷贝成test2 ,这样即可 cp test1 test2,以下介绍几个常用的选项

-d 这里涉及到一个“连接”的概念。连接分为软连接和硬连接。在以后的章节中会详细解释,现在你只要明白这里的软连接跟windows中的快捷方式类似即可。如果不加这个-d 则拷贝软连接时会把软连接的目标文件拷贝过去,而加上后,其实只是拷贝了一个连接文件(即快捷方式)。

[image]

上例中的ln 命令即为建立连接的,以后再做详细解释。

-r 如果你要拷贝一个目录,必须要加-r选项,否则你是拷贝不了目录的。

[image]

-i 如果遇到一个存在的文件,会问是否覆盖。在Redhat/CentOS系统中,我们使用的cp其实是cp –i

 

 注:本文为转载,原作者保留版权,详见http://www.92csz.com/study/linux/

posted @ 2017-05-23 20:25  CN_Shakespeare  阅读(282)  评论(0编辑  收藏  举报