一、目录与路径
1.1相对路径与绝对路径## 标题
绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。
相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /usr/share/man 下面时,可以写成: “cd …/man”这就是相对路径的写法啦!相对路径意指“相对于目前工作目录的路径!”
在这里,我喜欢用绝对路径,因为绝对路径肯定不会出错,而相对路径而言可能会出错。
1.2 目录的相关操作
几种常见的目录操作指令:
其中对于mkdir,创建的目录要一层一层的创建。
像如下情况就会报错,因为系统可能认定你要创建的目录名字为test1/test2/test3/test4而出错。
对于此,我们可以递归创建目录,一步一步的从test1开始创建,最终创建到test4.
同样,在进行创建文件的时候还可以直接进行权限管理,例如如下:711代表的是rwx --x --x即只有自己可以进行读写执行操作,而对于群粗和其他人只有执行的权限。
对于rmdir,删除空目录,如果目录不为空则会进行报错。
此外还可以进行递归删除,就是连同这个目录的上一层空目录删除。
1.3 关于可执行文件路径的变量: $PATH**
这一部分简单理解便好.
当我们在执行一个指令的时候,举例来说“ls”好了,系统会依照PATH的设置去每个PATH定义的目录下搜寻文件名为ls的可可执行文件, 如果在PATH定义的目录中含有多个文件名为ls的可可执行文件,那么先搜寻到的同名指令先被执行!
echo有“显示、印出”的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH !
仔细看一下下面的输出,你可以发现到无论是root还是dmtsai都有 /bin 或 /usr/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls可执行文件啰!
二、文件与目录管理
2.1ls命令的使用
如下,ls的命令使用和集中常用的。大部分只需要知道-a,-l即可。
当然也可以进行组合使用。
2.2 复制、删除与移动: cp, rm, mv
要复制文件,请使用 cp (copy) 这个指令即可~不过, cp 这个指令的用途可多了~ 除了单纯的复制之外,还可以创建链接文件 (就是捷径啰),比对两文件的新旧而予以更新, 以及复制整个目录等等的功能呢!至于移动目录与文件,则使用 mv (move), 这个指令也可以直接拿来作更名 (rename) 的动作喔!至于移除吗?那就是 rm (remove) 这个指令啰~下面我们就来瞧一瞧先~
对于cp, rm, mv而言,常用的让当然是-a,-i。当然-r也可能用到,不过这种-r操作比较危险,对于cp而言可能无关紧要,但是对于删除移动可能会导致出错,严重的导致系统崩溃!
cp指令:
rm指令:
mv指令:
三、文件内容查阅
常见的查阅指令如下:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od 以二进制的方式读取文件内容!
这其中每个都有特殊的用法,我只介绍常用的几种,相信不常用的大家解百纳也见不到。
3.1直接检视文件内容
3.2 修改文件时间或创建新文件: touch
先来介绍文件的三种时间吧:
modification time (mtime): 当该文件的“内容数据”变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔!
status time (ctime): 当该文件的“状态 (status)”改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。
access time (atime): 当“该文件的内容被取用”时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的 atime 了。
touch常见的用法:此外,touch还常用于创建空的文件!
四、文件与目录的默认权限与隐藏权限
4.1文件的默认权限
一般文件的创建则不应该有执行的权限,因为一般文件通常是用在于数据的记录嘛!当然不需要执行的权限了。 因此,默认的情况如下:
- 若使用者创建为“文件”则默认“没有可执行( x )权限”,亦即只有 rw 这两个项目,也就是最大为 666 分,默认权限如下:
-rw-rw-rw- - 若使用者创建为“目录”,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,默认权限如下:
drwxrwxrwx
除此之外,我们只需知道在创建时user 并没有被拿掉任何权限,不过 group 与 others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者:
- 创建文件时:(-rw-rw-rw-) - (-----w–w-) ==> -rw-r–r–
- 创建目录时:(drwxrwxrwx) - (d----w–w-) ==> drwxr-xr-x
懂了上述的原理相信大家一眼都能判断一个文件的权限了。