Linux 档案与目录管理
1. 目录与档案的管理
对于目录,有很多可以进行目录操作的指令,首先要知道有一些特殊的命令:
. 代表当前目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表当前用户身份所在的家目录
~account 代表account这个用户的家目录
a. cd(变换目录)
b. pwd(显示所在目录)
c. mkdir(建立新目录)
mkdir [-mp] 目录名称
选项与参数:
-m: 配置文件的权限
-p: 帮助你直接将所需要的目录(包括上层目录)递归建立起来
如: mkdir -m 711 test2
d.rmdir(删除空的目录)
rm -rf 删除目录下的所有
f. ls(检视档案与目录的内容)
常用:
ls -al 目录名称
ls -l (ll) 目录名称
ls [--full-time] 目录名称
g. cp(复制档案或目录)
cp [-adfilprsu] 来源文件 目标文件
选项与参数:
-a: 相当于-pdr的意思
-p: 连同档案的属性一起复制过去,而非使用默认属性
-d: 若来源文件为链接文件的属性,则复制链接文件属性而非档案本身
-r: 递归持续复制,用于目录的复制行为
h. rm(移除档案或目录)
格式: rm [-fir] 档案或目录
选项与参数:
-f: 就是force的意思,忽略不存在的档案,不会出现警告讯息;
-i: 互动模式,在删除前会询问使用者是否动作
-r: 递归删除,最常用在目录的删除了
i. mv(移动档案与目录,或更名)
格式: mv [-fiu] source destination
选项与参数:
-f: force,如果目标档案已经存在,不会询问而直接覆盖
-i: 若目标档案已经存在时,就会询问是否覆盖
-u: 如目标档案已经存在,且source比较新,才会更新
2. 档案内容查阅
最常使用的显示档案内容的指令的:
. cat 由第一行开始显示档案内容
. tac 从最后一行开始显示
. nl 显示的时候,顺道输出行号
. more 一页一页的显示档案内容
. less 与more 类似,但是可以往前翻页
. head 只看头几行
. tail 只看尾巴几行
. od 以二进制的方式读取档案内容
2.1 直接检视档案内容
2.1.1 cat [-AbEnTv] 主要功能是将一个档案的内容连续的印出在屏幕上面
选项与参数:
-A: 相当于 -vET的整合选项,可列出一些特殊字符而不是空白而已;
-b: 列出行号,仅针对非空白行做行号显示,空白行不标行号;
-E: 将结尾的断行字符$显示出来;
-n: 打印出行号,连同空白行也会有行号;
-T: 将[Tab]按键以^I 显示出来;
-v: 列出一些看不出来的特殊字符
2.1.2 tac(反向列示) 主要功能是将一个档案的内容由最后一行反向在屏幕上显示出来
2.1.3 nl(添加行号打印)
nl [-bnw] 档案
选项与参数:
-b: 指定行号指定的方式,主要有两种:
-b a: 表示不论是否为空行,也同样列出行号;
-b t: 如果有空行,空的哪一行不要列出行号
-n: 列出行号表示的方法,主要有三种:
-n ln: 行号在屏幕的最左方显示;
-n rn: 行号在自己字段的最右方显示,且不加0;
-n rz: 行号在自己字段的最右方显示,且加0;
-w: 行号字段的占用位数。
2.2 可翻页检视
2.2.1 more 一页一页翻动
在more 这个程序的运作过程中,有几个按键是可以按的:
- 空格键: 代表向下翻一页
- Enter:代表向下翻一行
- /字符串: 代表在这个显示的内容当中,向下搜索【字符串】这个关键字;
- :f :立刻显示文件名以及目前显示的行数;
- q: 代表立刻离开more, 不再显示该档案内容
- b: 代表往回翻页,不过这动作只对档案有用,对管线无用
2.2.2 less 一页一页翻动
在more 的时候,我们并没有办法向前面翻,只能往后看,若使用了less 时,就可以使用pageup,pagedown 等按键的功能来往前往后翻看文件。基本上可以输入的指令有:
- 空格键: 向下翻动一页
- pagedown : 向下翻动一页
- pageup: 向上翻动一页
- /字符串:向下搜索"字符串" 的功能
- ?字符串: 向上搜索“字符串” 的功能
- n : 重复搜索前一个搜寻
- N: 反向的重复前一个搜寻
- q: 离开less 这个程序
2.3 资料撷取
2.3.1 head (取出前面几行)
格式: head [-n number] 档案
选项与参数:
- n : 后面接数字,代表显示几行的意思
2.3.2 tail(取出后面几行)
格式: tail [-n number] 档案
选项与参数:
- n: 后面接数字, 代表显示几行的意思
3. 修改档案时间或建置新档
在linux 底下都会有记录许多的时间参数,其实是有三个主要的变动时间:
- modification time(mtime): 该档案的内容数据变更时,就会更新这个时间
- status time(ctime):当该档案的“状态”改变时,就会更新这个时间,如属性与权限的被更改了,都会更新这个时间。
- access time(atime): 当该档案的内容被取用时,就会更新这个读取时间。举例来说,我们使用cat去读取/etc/man.config,就会更新该档案的atime了。
touch 这个指令最常被使用的情况是:
- 建立一个空的档案
- 将某个档案日期修订为目前(mtime & atime)