第7章、 Linux 档案与目录管理

7.1. 目录与路径
7.1.1. 相对路径与绝对路径
一、定义:

  • 绝对路径:路径写法『一定由根目录 / 写起』
  • 相对路径:路径写法『不是由 / 写起』,相对路径意指『相对于目前工作目录路径!』

二、绝对路径的用途
如果是在写程序 (shell scripts) 来管理系统条件下,务必使用绝对路径写法。因为绝对路径写法虽然比较麻烦,但是可以肯定这个写法绝对不会有问题。

7.1.2. 目录的相关操作: cd, pwd, mkdir, rmdir
记下来:
这里写图片描述
常见的处理目录的指令:

  1. cd:变换目录(Change Directory)
  2. pwd:显示当前目录(Print working directory)
  3. mkdir:建立一个新目录 (make directory)
  4. rmdir:删除一个空目录 (remove directory)

1.cd:变换目录
特殊目录:
这里写图片描述
cd是用来变换工作目录的指令。目录名称与cd指令之间存在一个空格。
我们的提示字符,就已经有指出当前目录了, 刚登入时会到自己的家目录,而家目录还有一个代码,那就是『 ~ 』符号!
Linux 默认指令列模式 (bash shell) 具有档案补齐功能, 要常常利用 [tab] 按键来达成你的目录完整性。

2.pwd:显示当前目录
这里写图片描述
这里写图片描述
pwd也就是显示目前所在目录的指令。
那个 -P 选项可以让我们取得正确目录名称,而不是以链接文件路径来显示的。

3.mkdir:建立一个新目录
这里写图片描述
这里写图片描述
mkdir 在预设的情况下, 需要目录得一层一层的建立才行!
现在有个更简单有效的方法是加上 -p 这个选项。
预设权限:我们可以利用 -m 来强制给予一个新的目录相关的权限, 例如上表当中,我们给予 -m 711 来给予新的目录 drwx–x–x 的权限。不过,如果没有给予 -m 选项时, 那么默认的新建目录权限又是什么呢?这个跟 umask 有关,我们在本章后头会加以介绍的。

4.rmdir:删除一个空目录
这里写图片描述
目录需要一层一层的删除才行!而且被删除的目录里面必定不能存在其他的目录或档案! 这也是所谓的空目录(empty directory)的意思!如果要将所有目录下的东西都杀掉这个时候就必须使用『 rm -r test 』!不过,还是使用 rmdir 比较不危险!也可以尝试以 -p 的选项加入,来删除上层的目录!

7.1.3. 关于执行文件路径的变量: $PATH
当我们在执行一个指令的时候,系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件, 如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同名指令先被执行!
请下达『echo $PATH』来看看到底有哪些目录被定义出来了? echo有『显示、印出』的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH!
这里写图片描述
PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分的。仔细看一下上面的输出,你可以发现到无论是root还是vbird都有/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls执行档!
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
而由上面几个例题我们也可以知道几件事情:

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

对于PATH更详细的『变量』说明,我们会在第三篇的bash shell中详细说明!

7.2. 档案与目录管理
7.2.1. 档案与目录的检规: ls
这里写图片描述
当你只有下达 ls 时,默认显示的只有:非隐藏档的档名、 以档名进行排序及文件名代表的颜色显示如此而已。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
其实 ls 的用法还有很多,包括查阅档案所在 i-node 号码的 ls -i 选项,以及用来进行档案排序的 -S 选项,还有用来查阅不同时间的动作的 –time=atime 等选项(更多时间说明请参考本章后面touch的说明)。而这些选项的存在都是因为 Linux 文件系统记录了很多有用的信息的缘故。那么 Linux 的文件系统中,这些与权限、属性有关的数据放在 i-node 里面。
ls 最常被使用到的功能还是那个 -l 的选项,为此,很多 distribution 在预设的情况中, 已经将 ll (L 的小写) 设定成为 ls -l 的意思了!其实,那个功能是 Bash shell 的 alias 功能。也就是说,我们直接输入 ll 就等于是输入 ls -l 是一样的。

7.2.2. 复制、删除与移动: cp, rm, mv
1.cp (复制档案或目录)
这里写图片描述
复制(cp)这个指令在不同身份者执行这个指令会有不同的结果产生,尤其是那个-a, -p的选项, 对于不同身份来说,差异则非常的大!底下的练习中,有的身份为root有的身份为一般账号,开始来做复制的练习与观察:
这里写图片描述
这里写图片描述
cp 这个指令的用途:

  • 复制档案
  • 建立连结档 (快捷方式)
  • 比对两档案的新旧而予以更新
  • 复制整个目录

复制在预设的条件中, cp 的来源档与目的档的权限是不同的,目的档的拥有者通常会是指令操作者本身
由于具有这个特性,因此当我们在进行备份的时候,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值