Linux 命令大全完整版(11)

5.文件管理命令

diff(differential)

  • 功能说明:比较文件的差异。
  • 语  法:diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录 1][文件或目录 2]
  • 补充说明:diff 以逐行的方式,比较文本文件的异同处。若指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
  • 参  数
    • -<行数>:指定要显示多少行的文本。此参数必须与 -c 或 -u 参数一并使用。
    • -a 或 --text:diff 预设只会逐行比较文本文件。
    • -b 或 --ignore-space-change:不检查空格字符的不同。
    • -B 或 --ignore-blank-lines:不检查空白行。
    • -c:显示全部内文,并标出不同之处。
    • -C<行数>或 --context<行数>:与执行 "-c -<行数>" 指令相同。
    • -d 或 --minimal:使用不同的演算法,以较小的单位来做比较。
    • -D<巨集名称>或 ifdef<巨集名称>:此参数的输出格式可用于前置处理器巨集。
    • -e 或 --ed:此参数的输出格式可用于 ed 的 script 文件。
    • -f 或 -forward-ed:输出的格式类似 ed 的 script 文件,但按照原来文件的顺序来显示不同处。
    • -H 或 --speed-large-files:比较大文件时,可加快速度。
    • -l<字符或字符串>或 --ignore-matching-lines<字符或字符串>:若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
    • -i 或 --ignore-case:不检查大小写的不同。
    • -l 或 --paginate:将结果交由 pr 程序来分页。
    • -n 或 --rcs:将比较结果以 RCS 的格式来显示。
    • -N 或 --new-file:在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:Only in 目录:文件 A。若使用 -N 参数,则 diff 会将文件 A 与一个空白的文件比较。
    • -p:若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称。
    • -P 或 --unidirectional-new-file:与 -N 类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
    • -q 或 --brief:仅显示有无差异,不显示详细的信息。
    • -r 或 --recursive:比较子目录中的文件。
    • -s 或 --report-identical-files:若没有发现任何差异,仍然显示信息。
    • -S<文件>或 --starting-file<文件>:在比较目录时,从指定的文件开始比较。
    • -t 或 --expand-tabs:在输出时,将 tab 字符展开。
    • -T 或 --initial-tab:在每行前面加上 tab 字符以便对齐。
    • -u,-U<列数>或 --unified=<列数>:以合并的方式来显示文件内容的不同。
    • -v 或 --version:显示版本信息。
    • -w 或 --ignore-all-space:忽略全部的空格字符。
    • -W<宽度>或 --width<宽度>:在使用 -y 参数时,指定栏宽。
    • -x<文件名或目录>或 --exclude<文件名或目录>:不比较选项中所指定的文件或目录。
    • -X<文件>或 --exclude-from<文件>:您可以将文件或目录类型存成文本文件,然后在 =<文件> 中指定此文本文件。
    • -y 或 --side-by-side:以并列的方式显示文件的异同之处。
    • --help:显示帮助。
    • --left-column:在使用 -y 参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
    • --suppress-common-lines:在使用 -y 参数时,仅显示不同之处。

diffstat(differential status)

  • 功能说明:根据 diff 的比较结果,显示统计数字。
  • 语  法:diff [-wV][-n <文件名长度>][-p <文件名长度>]
  • 补充说明:diffstat 读取 diff 的输出结果,然后统计各文件的插入,删除,修改等差异计量。
  • 参  数
    • -n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    • -p<文件名长度>:与 -n 参数相同,但此处的 <文件名长度> 包括了文件的路径。
    • -w:指定输出时栏位的宽度。
    • -V:显示版本信息。

file

  • 功能说明:辨识文件类型。
  • 语  法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
  • 补充说明:通过 file 指令,我们得以辨识该文件的类型。
  • 参  数
    • -b:列出辨识结果时,不显示文件名称。
    • -c:详细显示指令执行过程,便于排错或分析程序执行的情形。
    • -f<名称文件>:指定名称文件,其内容有一个或多个文件名称呢感,让 file 依序辨识这些文件,格式为每列一个文件名称。
    • -L:直接显示符号连接所指向的文件的类别。
    • -m<魔法数字文件>:指定魔法数字文件。
    • -v:显示版本信息。
    • -z:尝试去解读压缩文件的内容。

find

  • 功能说明:查找文件或目录。
  • 语  法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24 小时数>][-cmin <分钟>][-cnewer <参考文件或目录>][-ctime <24 小时数>][-daystart][-depyh][-empty][-exec <执行指令>][-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>][-fprintf <列表文件><输出格式>][-fstype <文件系统类型>][-gid <群组识别码>][-group <群组名称>][-help][-ilname <范本样式>][-iname <范本样式>][-inum <inode 编号>][-ipath <范本样式>][-iregex <范本样式>][-links <连接数目>][-lname <范本样式>][-ls][-maxdepth <目录层级>][-mindepth <目录层级>][-mmin <分钟>][-mount] [-mtime <24 小时数>][-name <范本样式>][-newer <参考文件或目录>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>][-version][-xdev][-xtype <文件类型>]
  • 补充说明:find 指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。
  • 参  数
    • -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算。
    • -anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。
    • -atime<24 小时数>:查找在指定时间曾被存取过的文件或目录,单位以 24 小时计算。
    • -cmin<分钟>:查找在指定时间之时被更改的文件或目录。
    • -cnewer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
    • -ctime<24 小时数>:查找在指定时间之时被更改的文件或目录,单位以 24 小时计算。
    • -daystart:从本日开始计算时间。
    • -depth:从指定目录下最深层的子目录开始查找。
    • -expty:寻找文件大小为 0 Byte 的文件,或目录下没有任何子目录或文件的空目录。
    • -exec<执行指令>:假设 find 指令的回传值为 True,就执行该指令。
    • -false:将 find 指令的回传值皆设为 False。
    • -fls<列表文件>:此参数的效果和指定 "-ls" 参数类似,但会把结果保存为指定的列表文件。
    • -follow:排除符号连接。
    • -fprint<列表文件>:此参数的效果和指定 "-print" 参数类似,但会把结果保存成指定的列表文件。
    • -fprint0<列表文件>:此参数的效果和指定 "-print0" 参数类似,但会把结果保存成指定的列表文件。
    • -fprintf<列表文件><输出格式>:此参数的效果和指定 "-printf" 参数类似,但会把结果保存成指定的列表文件。
    • -fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录。
    • -gid<群组识别码>:查找符合指定之群组识别码的文件或目录。
    • -group<群组名称>:查找符合指定之群组名称的文件或目录。
    • -help 或 --help:在线帮助。
    • -ilname<范本样式>:此参数的效果和指定 "-lname" 参数类似,但忽略字符大小写的差别。
    • -iname<范本样式>:此参数的效果和指定 "-name" 参数类似,但忽略字符大小写的差别。
    • -inum<inode 编号>:查找符合指定的 inode 编号的文件或目录。
    • -ipath<范本样式>:此参数的效果和指定 "-ipath" 参数类似,但忽略字符大小写的差别。
    • -iregex<范本样式>:此参数的效果和指定 "-regexe" 参数类似,但忽略字符大小写的差别。
    • -links<连接数目>:查找符合指定的硬连接数目的文件或目录。
    • -iname<范本样式>:指定字符串作为寻找符号连接的范本样式。
    • -ls:假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。
    • -maxdepth<目录层级>:设置最大目录层级。
    • -mindepth<目录层级>:设置最小目录层级。
    • -mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算。
    • -mount:此参数的效果和指定 "-xdev" 相同。
    • -mtime<24 小时数>:查找在指定时间曾被更改过的文件或目录,单位以 24 小时计算。
    • -name<范本样式>:指定字符串作为寻找文件或目录的范本样式。
    • -newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
    • -nogroup:找出不属于本地主机群组识别码的文件或目录。
    • -noleaf:不去考虑目录至少需拥有两个硬连接存在。
    • -nouser:找出不属于本地主机用户识别码的文件或目录。
    • -ok<执行指令>:此参数的效果和指定 "-exec" 参数类似,但在执行指令之前会先询问用户,若回答 "y" 或 "Y",则放弃执行指令。
    • -path<范本样式>:指定字符串作为寻找目录的范本样式。
    • -perm<权限数值>:查找符合指定的权限数值的文件或目录。
    • -print:假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有 "./" 字符串。
    • -print0:假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。
    • -printf<输出格式>:假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式可以自行指定。
    • -prune:不寻找字符串作为寻找文件或目录的范本样式。
    • -regex<范本样式>:指定字符串作为寻找文件或目录的范本样式。
    • -size<文件大小>:查找符合指定的文件大小的文件。
    • -true:将 find 指令的回传值皆设为 True。
    • -typ<文件类型>:只寻找符合指定的文件类型的文件。
    • -uid<用户识别码>:查找符合指定的用户识别码的文件或目录。
    • -used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。
    • -user<拥有者名称>:查找符合指定的拥有者名称的文件或目录。
    • -version 或 --version:显示版本信息。
    • -xdev:将范围局限在先行的文件系统中。
    • -xtype<文件类型>:此参数的效果和指定 "-type" 参数类似,差别在于它针对符号连接检查。

git(gnu interactive tools)

  • 功能说明:文字模式下的文件管理员。
  • 语  法:git
  • 补充说明 :git 是用来管理文件的程序,它十分类似 DOS 下的 Norton Commander,具有互动式操作界面。它的操作方法和 Norton Commander 几乎一样,略诉如下:
    • F1:执行 info 指令,查询指令相关信息,会要求您输入欲查询的名称。
    • F2:执行 cat 指令,列出文件内容。
    • F3:执行 gitview 指令,观看文件内容。
    • F4:执行 vi 指令,编辑文件内容。
    • F5:执行 cp 指令,复制文件或目录,会要求您输入目标文件或目录。
    • F6:执行 mv 指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。
    • F7:执行 mkdir 指令,建立目录。
    • F8:执行 rm 指令,删除文件或目录。
    • F9:执行 make 指令,批处理执行指令或编译程序时,会要求您输入相关命令。
    • F10:离开 git 文件管理员。

gitview(gnu interactie tools viewer)

  • 功能说明:Hex/ASCII 的看文件程序。
  • 语  法:gitview [-bchilv][文件]
  • 补充说明:gitview 指令可用于观看文件的内容,它会同时显示十六进制和 ASCII 格式的字码。
  • 参  数
    • -b:单色模式,不使用 ANSI 控制码显示彩色。
    • -c:彩色模式,使用 ANSI 控制码显示色彩。
    • -h:在线帮助。
    • -i:显示存放 gitview 程序的所在位置。
    • -l:不使用先前的 显示字符。
    • -v:显示版本信息。

ln(link)

  • 功能说明:连接文件或目录。
  • 语  法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]
  • 补充说明:ln 指令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。
  • 参  数
    • -b 或 --backup:删除,覆盖目标文件之前的备份。
    • -d 或 -F 或 --directory:建立目录的硬连接。
    • -f 或 --force:强行建立文件或目录的连接,不论文件或目录是否存在。
    • -i 或 --interactive:覆盖既有文件之前先询问用户。
    • -n 或 --no-dereference:把符号连接的目的目录视为一般文件。
    • -s 或 --symbolic:对源文件建立符号连接,而非硬连接
相关推荐
m0_748254668 分钟前
定时任务特辑 Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战
java·spring boot·后端
烂蜻蜓9 分钟前
深入理解 Uniapp 中的 px 与 rpx
前端·css·vue.js·uni-app·html
海边漫步者23 分钟前
Idea2024中搭建JavaFX开发环境并创建运行项目
java·intellij-idea·javafx
木亦Sam26 分钟前
响应式网页设计中媒体查询的进阶运用
前端·响应式设计
diemeng111929 分钟前
2024系统编程语言风云变幻:Rust持续领跑,Zig与Ada异军突起
开发语言·前端·后端·rust
烂蜻蜓31 分钟前
Uniapp 中布局魔法:display 属性
前端·javascript·css·vue.js·uni-app·html
Warren9833 分钟前
Springboot中分析SQL性能的两种方式
java·spring boot·后端·sql·mysql·intellij-idea
java1234_小锋1 小时前
一周学会Flask3 Python Web开发-redirect重定向
前端·python·flask·flask3
蛊明1 小时前
下载CentOS 10
linux·运维·centos
琑951 小时前
nextjs项目搭建——头部导航
开发语言·前端·javascript