Linux 文件与目录管理—笔记5

1. 目录与路径

1.1 目录的相关操作

变换目录的指令有cd,下面这些室比较特殊的目录操作:

.  代表此层目录
.. 代表上一层目录
-  代表前一个工作目录
~  代表 目前使用者身份所在的主文件夹
~  account 代表 account 这个使用者的主文件夹 (account是个帐号名称)

下面我们就来谈一谈几个常见的处理目录的指令吧:

 c :        变换目录
 pwd :      显示目前的目录
 mkdir:     创建一个新的目录
 rmdir:     删除一个空的目录
 cd (change directory, 变换目录)

c d \mathrm{cd} cd 是Change Directory的缩写, 这是用来变换工作目录的指令。注意, 目录名称与cd指令之间 存在一个空格。

pwd是Print Working Directory的缩写,也就是显示目前所在目录的指令。

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧! 不过,在默认的情况下, 你所需要的目录得一层一层的创建才行!例如:假如你要创建一个目录为/home/bird/testing/test1,那么首先必须要有 /home 然后 /home/bird ,再来/home/bird/testing 都必须要存在,才可以创建 /home/bird/testing/test1 这个目录!假如没有/home/bird/testing 时,就没有办法创建 test1 的目录啰!

不过,现在有个更简单有效的方法啦!那就是加上 -p 这个选项喔!你可以直接下达:“ mkdir -p /home/bird/testing/test1 ” 则系统会自动的帮你将 /home, /home/bird, /home/bird/testing 依序的创建起目录!并且, 如果该目录本来就已经存在时,系统也不会显示错误讯息喔!

另外,有个地方你必须要先有概念,那就是“默认权限”的地方。我们可以利用 -m 来强制给予一个新的目录相关的权限, 例如上表当中,我们给予 -m 711 来给予新的目录 drwx–x–x 的权限。不过,如果没有给予 -m 选项时, 那么默认的新建目录权限又是什么呢?这个跟 umask有关,我们在本章后头会加以介绍的。

在这里插入图片描述
rmdir (删除“空”的目录),仅能“删除空的目录

在这里插入图片描述
如果要将所有目录下的东西都杀掉呢?! 这个时候就必须使用“ rm -r test ”啰!不过,还是使用 rmdir 比较不危险!你也可以尝试以 -p 的选项加入,来删除上层的目录喔!

1.2 关于可执行文件路径的变量: $PATH

现在,请下达“echo $PATH”来看看到底有哪些目录被定义出来了? echo有“显示、印出”的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH !

PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有“顺序”之分的。

而由上面的几个例题我们也可以知道几件事情:

  • 不同身份使用者默认的PATH不同,默认能够随意执行的指令也不同(如root与dmtsai);
  • PATH是可以修改的;
  • 使用绝对路径或相对路径直接指定某个指令的文件名来执行,会比搜寻PATH来的正确;
  • 指令应该要放置到正确的目录下,执行才会比较方便;
  • 本目录(.)最好不要放到PATH当中。

2. 文件与目录管理

2.1 文件与目录的检视: ls

在这里插入图片描述

下面则是一些常用的范例,实际试做看看:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 复制、删除与移动: cp, rm, mv

要复制文件,请使用 cp (copy) 这个指令即可~不过, cp 这个指令的用途可多了~ 除了单纯的复制之外,还可以创建链接文件 (就是捷径啰),比对两文件的新旧而予以更新, 以及复制整个目录等等的功能呢!至于移动目录与文件,则使用 mv (move), 这个指令也可以直接拿来作更名 (rename) 的动作喔!至于移除吗?那就是 rm (remove) 这个指令啰~下面我们就来瞧一瞧先~

cp (复制文件或目录)

在这里插入图片描述

复制(cp)这个指令是非常重要的,不同身份者执行这个指令会有不同的结果产生,尤其是那个-a, -p的选项, 对于不同身份来说,差异则非常的大!下面的练习中,有的身份为root有的身份为一般帐号 (在我这里用 dmtsai 这个帐号), 练习时请特别注意身份的差别喔!
在这里插入图片描述

rm (移除文件或目录)

在这里插入图片描述

mv (移动文件与目录,或更名)
在这里插入图片描述

3. 文件内容查阅

如果我们要查阅一个文件的内容时,该如何是好呢?这里有相当多有趣的指令可以来分享一下: 最常使用的显示文件内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的文件 (好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个指令也可以达到这个目的喔!好了,说说各个指令的用途吧!

cat  由第一行开始显示文件内容
tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl   显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od   以二进制的方式读取文件内容!

直接查阅一个文件的内容可以使用 cat/tac/nl 这几个指令啊!
cat (concatenate)
在这里插入图片描述

嘿嘿!Linux 里面有“猫”指令?喔!不是的, cat 是 Concatenate (连续) 的简写, 主要的
功能是将一个文件的内容连续的印出在屏幕上面!例如上面的例子中,我们将 /etc/issue 印出
来!如果加上 -n 或 -b 的话,则每一行前面还会加上行号呦!

4.指令与文件的搜寻

4.1 指令文件名的搜寻

我们知道在终端机模式当中,连续输入两次[tab]按键就能够知道使用者有多少指令可以下达。那你知不知道这些指令的完整文件名放在哪里?举例来说,ls 这个常用的指令放在哪里呢? 就通过 which 或 type 来找寻吧!
which (寻找“可执行文件”)

在这里插入图片描述

4.2 文件文件名的搜寻

再来谈一谈怎么搜寻文件吧!在 Linux 下面也有相当优异的搜寻指令呦!通常 find 不很常用的!因为速度慢之外, 也很操硬盘!一般我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻呦! 为什么呢?因为 whereis 只找系统中某些特定目录下面的文件而已,locate 则是利用数据库来搜寻文件名,当然两者就相当的快速, 并且没有实际的搜寻硬盘内的文件系统状态,比较省时间啦!
whereis (由一些特定的目录中寻找文件文件名)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wokaowokaowokao12345/article/details/127518101