@yanglt7
2017-12-17T16:39:32.000000Z
字数 3239
阅读 877
Linux
1. 复制、删除与移动:cp,rm,mv
(1)cp 复制文件或目录
| 选项 | 参数 |
|---|---|
| -a | -dr --preserve=all |
| -d | 若source属性为link file,则复制link file属性而非文件本身 |
| -f | 为强制(force)的意思,若目标文件已存在且无法开放,则移除后再尝试一次 |
| -i | 若目标文件已经存在时,在覆盖时先询问动作的进行 |
| -l | 进行hard link的link file建立,而非复制文件本身 |
| -p | 连同文件的属性(权限、用户、时间)一起复制过去,而非使用预设属性 |
| -r | 用于目录的复制 |
| -s | 复制成为symbolic link,即捷径档案 |
| -u | destination比source旧才更新destination,或destination不存在的情况下才复制 |
(2)rm移除文件或目录
| 选项 | 参数 |
|---|---|
| -f | force,忽略不存在的文件,不会出现警告讯息 |
| -i | 互动模式,在删除前会询问使用者时是否动作 |
| -r | 常用在目录的删除,将目录下的所有文件包括子目录全部删掉 |
(3)mv移动文件或目录,或更名
| 选项 | 参数 |
|---|---|
| -f | force,如果目标文件已经存在,不会询问而是直接覆盖 |
| -i | 若目标文件已经存在时,就会询问是否覆盖 |
| -u | 若目标文件已经存在,且source比较新,才会更新 |
2.取得路径的文件名称和目录名称
(1)basename取最后的文件名
(2)dirname取目录名
3.文件内容查阅
| 指令 | 用途 |
|---|---|
| cat | 由第一行开始显示文件内容 |
| tac | 从最后一行开始显示,可以看出tac是cat的倒写 |
| nl | 显示的时候,顺便输出行号 |
| more | 一页一页的显示文件内容 |
| less | 与more类似,但是比more更好的是,它可以往前翻页 |
| head | 只看头几行 |
| tail | 只看末尾几行 |
| od | 以二进位的方式读取档案内容 |
3.1 直接检视文件内容
(1)cat(concatenate,连续)
| 选项 | 参数 |
|---|---|
| -A | 相当于-vET的整合选项,可列出一些特殊字符而不是空白而已 |
| -b | 列出行号,仅针对非空白行做出行号显示,空白行不标行号 |
| -E | 将结尾的断行字元$表示出来。 |
| -n | 列出行号,连同空白行也会有行号,与-b的选项不同 |
| -T | 将[Tab]按键显示为^,因为Tab和空白的效果差不多,易于分辨 |
| -v | 列出一些看不出来的字符 |
(2)tac(反向列示)
(3)nl(添加行号打印)
| 选项 | 参数 |
|---|---|
| -b | 指定行号指定的方式,主要有两种: |
| -b a | 表示不论是否为空行,也同样列出行号,类似(cat -n); |
| -b t | 如果有空行,空的那一行不要列出行号(预设值) |
| -n | 列出行号表示的方法,主要有三种: |
| -n ln | 行号在屏幕的最左方显示; |
| -n rn | 行号在栏位的最右方显示,且不加0; |
| -n rz | 行号在栏位的最右方显示,且加0 |
| -w | 行号栏位占用的字元数 |
3.2 可翻页检视
(4)more(一页一页翻动)
| 按键 | 指令 |
|---|---|
| 空白键 | 向下翻一页 |
| Enter | 向下翻一行 |
| /字串 | 在这个显示的内容当中,向下搜寻【字串】这个关键字 |
| :f | 立即显示出文件名以及目前显示的行数 |
| q | 立即离开more,不再显示该文件内容 |
| b或[Ctrl]+b | 往回翻页,这动作只对文件有用,对管线无用 |
(5)less(一页一页翻动)
| 按键 | 指令 |
|---|---|
| 空白键 | 向下翻一页 |
| 【PGDN】 | 向下翻一页 |
| 【PGUP】 | 向上翻一页 |
| /字串 | 向下搜寻【字串】 |
| ?字串 | 向上搜寻【字串】 |
| n | 重复前一个搜寻 |
| N | 反向的重复前一个搜寻 |
| g | 前进到文件内容的第一行 |
| G | 前进到文件内容的最后一行 |
| q | 离开less |
3.3 资料截取
(6)head(取出前面几行)
(7)tail(取出后面几行)
3.4 非纯文字文件 : od
| 选项 | 参数 |
|---|---|
| a | 利用预设的字元来输出 |
| c | 使用ASCII字元来输出 |
| d[size] | 利用十进制(decimal)来输出,每个整数占用 size bytes; |
| f[size] | 利用浮点数值(floating)来输出,每个数占用 size bytes; |
| o[size] | 利用八进制(octal)来输出,每个整数占用 size bytes; |
| x[size] | 利用十六进制(hexadecimal)来输出,每个整数占用 size bytes; |
3.5 修改文件时间或建立新文件:touch
三个指令中间用 ; 隔开即可同时依序执行。
touch [-acdmt] 文件
| 选项 | 参数 |
|---|---|
| -a | 仅修订access time |
| -c | 仅修改文件的时间,若该文件不存在则不建立新文件 |
| -d | 后面可以接欲修订的日期而不是用目前的日期,也可以使用 --date=“日期或时间” |
| -m | 仅修改mtime |
| -t | 后面可以接欲修订的时间而不用目前的时间。格式为【YYYYMMDDhhmm】 |