Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Linux入门教程(四)文件与目录管理

$
0
0

第六章 linux 文件与目录管理

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

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

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

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


Linux入门教程(四)文件与目录管理

cd 进入到某一个目录


Linux入门教程(四)文件与目录管理

./ 指的是当前目录

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


Linux入门教程(四)文件与目录管理

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

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

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


Linux入门教程(四)文件与目录管理

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


Linux入门教程(四)文件与目录管理

rmdir 删除一个目录 。


Linux入门教程(四)文件与目录管理

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 强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错 。


Linux入门教程(四)文件与目录管理

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


Linux入门教程(四)文件与目录管理

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

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


Linux入门教程(四)文件与目录管理

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


Linux入门教程(四)文件与目录管理

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

alias 用来 设置指令的别名 。 语法: alias[ 别名 ]=[ 指令名称 ] ,例如 alias rm='rm -i' ,即当我们使用 rm 命令时,实际上是使用的是 rm i ,而用绝对路径的 /bin/rm 则不会被 alias ,该命令在以后章节中会详细介绍 。

【 环境变量 PATH】

上边提到了 alias ,也提到了绝对路径的 /bin/rm ,然后你意识到没有,为什么我们输入很多命令时是直接打出了命令,而没有去使用这些命令的绝对路径?这是因为环境变量 PATH 在起作用了 。 请输入 echo $PATH ,这里的 echo 其实就是打印的意思,而 PATH 前面的 $ 表示后面接的是变量 。


Linux入门教程(四)文件与目录管理

因为 /bin 在 PATH 的设定中,所以自然就可以找到 ls 了 。 如果你将 ls 移动到 /root 底下的话,然后你自己本身也在 /root 底下,但是当你执行 ls 的时候,他就是不理你?怎么办?这是因为 PATH 没有 /root 这个目录,而你又将 ls 移动到 /root 底下了,自然系统就找不到可执行文件了,因此就会告诉你, command not found !那么该怎么克服这种问题呢?

有两个方法,一种方法是直接将 /root 的路径加入 PATH 当中!如何增加?可以使用:

PATH=”$PATH”:/root

另一种方式则是使用完整档名,亦即直接使用相对或绝对路径来执行,例如:

/root/ls

./ls

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


Linux入门教程(四)文件与目录管理
ls 在前面的命令中多次用到它 。 现在你已经明白它的含义了吧 。 没有错,就是查看某个目录或者某个文件,是 list 的简写 。ls 后可以跟一个目录,也可以跟一个文件

Viewing all articles
Browse latest Browse all 11063

Trending Articles