文件处理命令
Posted alohana
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理命令相关的知识,希望对你有一定的参考价值。
1. ls 查看列表
- 语法
- ls [-aAdfFhlinrRSt] [文件或目录]
- ls [--color={never, auto, always}] [文件或目录]
- ls [--full-time] [文件或目录]
- ls [--time={atime, ctime}] [文件目录]
空 |
查看当前目录下的文件与目录 |
-a (all) |
显示所有文件, 包括隐藏文件(以.开头) |
-A |
显示所有文件, 不包括. 和.. 两个文件 |
-d (directory) |
将操作转向目录,而不显示其中的文件,使用一般-ld |
-f |
直接列出结果,而不进行排序(一般会按文件名排序) |
-F |
根据文件类型在文件名后附加符号(* 可执行文件,/ 目录,= socket文件,| FIFO文件) |
-h (human) |
人性化显示 |
-l (long) |
显示详细信息 |
-i (i-node) |
显示i-node号 |
-n |
列出UID与GID,而非用户与用户组的名称 |
-r |
反向排序 |
-R |
递归调用, 列出子目录 |
-S |
按文件大小排序 |
-t |
按时间排序 |
--color |
never:不要依据文件特性给予颜色显示,always:显示颜色,auto:系统依据设定自行决定 |
--full-time |
使时间以完整格式显示 |
--time |
显示访问时间(atime)或权限改变时间(ctime) |
- 文件类型与权限, 如: -rw-r--r--,drwxr-xr-x
- 引用计数, 连接数, 指出连接此i-node节点的文件名数
- 所有者
- 所属组
- 文件大小 (字节)
- 最后修改时间(mtime) (Linux中文件没有创建时间)
- 文件名
- 文件类型与权限文件类型
- 文件类型
- 文件类型
- -: 二进制文件
- d: 目录
- l: 软链接
- b: 设备文件中可供存储的接口设备
- c: 设备文件的串行端口设备, 例如鼠标、键盘(一次性读取设备)
- 权限
先后依次为所有者、所属组、其他人的权限。每个都有三个字符表示权限
2. mkdir 创建目录
- 语法
- mkdir [-p] [目录名 (可以多个并列,用空格隔开) ]
- mkdir -m [权限数字表示] [目录名(可以多个并列,用空格隔开) ]
空 |
创建一个新的目录 |
-m |
配置目录权限(否则使用默认权限设置, 如无特殊要求, 应使用默认配置) |
-p |
递归创建 |
3. cd 切换目录
语法: cd [目录]
- 特殊目录
- .: 当前目录
- ..: 上一级目录
- ~: 用户根目录
- ~<user>: user的根目录
4. pwd 显示工作目录 (当前目录)
5. rmdir 移除空目录
6. cp 复制文件 (同时改名) 或目录
- 语法: cp [-adfilprsu] [源文件或源目录 (可有多个) ] [目标目录] [新文件名(有多个源时不适用)]
-a |
相当于-pdr |
-d |
若源文件或目录为链接文件,复制链接文件的属性而非文件本身 |
-f |
强制执行(可能会删除目标目录中的同名文件) |
-i |
相当于-f,但在覆盖前会先询问 |
-l |
进行硬链接,而非复制 |
-p |
连同文件或目录的属性一起复制 |
-r |
递归持续复制,用于目录 |
-s |
复制为软链接文件 |
-u |
仅当destination比source新时才更新destination |
- 使用说明
- 复制文件: cp [原文件 (可有多个) ] [目标目录] [新文件名 (可选) ]
- 复制目录: cp [原目录 (可有多个) ] [目标目录]
7. mv 移动文件 (同时改名) 或目录
8. rm 移除文件或目录
空 |
移除文件 |
-f |
强制执行(不显示确认信息) |
-i |
相当于-f,但在删除前会先询问 |
-r |
移除目录(可以是非空的) |
9. touch 修改文件时间或创建文件
- 语法: touch [-acdmrt] [文件名]
- ! 注意:若要创建名称带空格的文件, 要用双引号将文件名包围。但是不推荐用空格。
-a |
仅修改访问时间(actime) |
-c |
仅修改文件的时间,不会创建新文件 |
-d或--date=[STRING] |
解析STRING,修改文件的时间 |
-m |
仅修改修改时间mtime(modification time) |
-r |
使用指定文件的时间代替文件时间 |
-t |
修改文件时间,格式为[[CC]YY]MMDDhhmm[.ss] |
STRING可以为几乎所有的可以被人类识别的时间格式, 如"Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42"
甚至是 "next Thursday" 或 "2 days ago"
10. cat(concatenate) 显示文件内容
空 |
显示文件所有内容 |
-A |
相当于-vET可列出一些特殊字符,而不是空白 |
-b |
列出行号,不过跳过空白行 |
-E |
显示结尾的断行符号$ |
-n |
显示行号,对空白行也显示 |
-T |
将Tab以^I显示出来 |
-v |
列出来一些不可打印的字符,使用^和M-表示法,LFD和TAB除外 |
11. *tac 反向显示文件内容
12. more 分页显示文件内容 (主要)
空格或f |
翻页 |
Enter |
换行 |
/[关键词] |
向下查找 |
n |
重复前一个查找 |
N |
反向重复前一个查找 |
f |
跳过k个屏幕的文本,k默认为1 |
b或^B |
往回跳过k个屏幕的文本,k默认为1,只对文件有效,对管道(pipes)无效 |
q或Q |
退出 |
13. less 分页显示内容/向上查看/搜索
空格或f |
翻页 |
Enter |
换行 |
pageup |
向上翻页 |
uparrow |
向上换行 |
/[关键词] |
向下查找 |
?[关键字] |
向上查找 |
n |
重复前一个查找 |
N |
反向重复前一个查找 |
q或Q |
退出 |
14. head 查看文件开头数行
15. tail 查看文件末尾数行
- 语法: head [-nf] [行数(+x表示显示x行之后的行)]
空 |
显示末尾10行 |
-n |
指定行数 |
-f |
动态显示 |
16. nl 查看文件内容并显示行号
- 语法: nl [-b{a , t}w{1, 2, 3...}n(ln, rn, rz)] 文件
-b |
a显示空行行号,t跳过空行行号 |
-w |
指定行号字段占用的位数 |
-n |
ln行号在其字段的最左端显示,rn在右端,rz在右端且空位补0 |
17. od 以查看非纯文本文件
a |
命名字符,忽略高位 |
c |
可打印字符或反斜杠转义 |
d[SIZE] |
有符号十进制数,每个整数SIZE个字节 |
u[SIZE] |
无符号十进制数,每个整数SIZE个字节 |
f[SIZE] |
浮点数,每个浮点数SIZE字节 |
o[SIZE] |
八进制数,每个整数SIZE个字节 |
x[SIZE] |
十六进制数,每个整数SIZE个字节 |
对 [doux] 中的 TYPE, SIZE 可以是以下值
C |
sizeof(char) |
S |
sizeof(short) |
I |
sizeof(int) |
L |
sizeof(long) |
对 TYPE f, SIZE 可以是以下值
F |
sizeof(float) |
D |
sizeof(double) |
L |
sizeof(long double) |
18. ln 生成链接文件
- 名称: ln (link)
- 路径: /bin/ln
- 执行权限:所有用户
- 语法: ln [-s] [原文件] [目标文件]
- 软链接与硬链接
- 软链接(symbolic links): 类似于Windows下的快捷方式。
- 硬链接(hard links): 相当于 cp -p + 同步更新(不包括删除), 硬链接文件的i-node号与原文件相同。常用于多人操作。
- 其他区别
- 硬链接不能跨设备(分区)创建
- 硬链接不能对目录使用
19. file 查看文件类型
以上是关于文件处理命令的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段——git命令操作一个完整流程
VSCode自定义代码片段4——cli的终端命令大全
VSCode自定义代码片段15——git命令操作一个完整流程
VSCode自定义代码片段15——git命令操作一个完整流程
python常用代码片段总结
vs code 自定义代码片段