文件管理
一、cat
cat
(英文全拼:concatenate
)命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。
语法
cat [选项] [文件]
-
-n
:显示行号,会在输出的每一行前加上行号。 -
-b
:显示行号,但只对非空行进行编号。 -
-s
:压缩连续的空行,只显示一个空行。 -
-E
:在每一行的末尾显示$
符号。 -
-T
:将Tab
字符显示为^I
。 -
-v
:显示一些非打印字符。
1.1 cat > filename
cat > filename
将标准输入重定向到文件 filename
,覆盖该文件的内容。然后你可以输入文本,按 Ctrl+D
来保存并退出。
1.2 cat >> filename
cat >> filename
将标准输入追加到文件 filename
的末尾。然后你可以输入文本,按 Ctrl+D
来保存并退出。
1.3 cat file1 file2 > file3
cat file1 file2 > file3
将 file1
和 file2
的内容合并到 file3
中。
1.4 cat <<EOF > file \ 内容 \ 内容 \ EOF
cat <<EOF > file \ 内容 \ 内容 \ EOF
你输入这条命令后,Shell
会等待你输入多行文本。可以输入任意内容,直到输入单独一个 EOF
(结束标识符),那么这些输入的内容都会被保存到指定的文件中。总结起来,这条命令是用来快速向一个文件中写入多行文本内容的。
语法
cat <<EOF > file \ 内容 \ 内容 \ EOF
用法一、命令行使用 cat <<EOF > file \ 内容 \ 内容 \ EOF
: 输入 cat <<EOF > file
时回车,命令行会自动提示 heredoc>
。如下所示:
cat <<EOF > text.txt
heredoc> 这是一个很寂寞的天
heredoc> 下着有些伤心的雨!
heredoc> EOF
用法二、Shell
脚本使用 cat <<EOF > file \ 内容 \ 内容 \ EOF
#!/usr/bin/env bash
filePath=text.txt
cat <<EOF > ${filePath}
这是一个很寂寞的天
下着有些伤心的雨!
EOF
二、chattr
三、chgrp
四、chmod
五、chown
六、cksum
七、cmp
八、diff
九、diffstat
十、file
十一、find
find
命令用于在指定目录下查找文件和目录。
语法
find [路径] [匹配条件] [动作]
-
路径: 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
-
匹配条件: 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
-
-name pattern
: 按文件名查找,支持使用通配符*
和?
。 -
-type type
: 按文件类型查找,可以是f
(普通文件)、d
(目录)、l
(符号链接)等。 -
-size [+-]size[cwbkMG]
: 按文件大小查找,支持使用+
或-
表示大于或小于指定大小,单位可以是c
(字节)、w
(字数)、b
(块数)、k(KB)
、M(MB
)或G(GB
)。 -
-mtime days
: 按修改时间查找,支持使用+
或-
表示在指定天数前或后,days
是一个整数表示天数。 -
-user username
: 按文件所有者查找 -
-group groupname
: 按文件所属组查找
-
-
动作: 可选的,用于对匹配到的文件执行操作,比如删除、复制等。
11.1 find [目录] -name [fileName]
find [目录] -name [fileName]
寻找当前目录下匹配的文件
语法
find [目录] -name [fileName]
用法
find . -name "*eadme.md" // 寻找当前目录下以 eadme.md 结尾的文件
十二、git
十三、gitview
十四、indent
十五、cut
十六、ln
十七、less
十八、locate
十九、lsattr
二十、mattrib
二十一、mc
二十二、mdel
二十三、mdir
二十四、mktemp
二十五、more
more
命令类似 cat
,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space
)就往下一页显示,按 b
键就会往回(back
)一页显示,而且还有搜寻字串的功能(与 vi
相似),使用中的说明文件,请按 h
。
语法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
-
-num
一次显示的行数 -
-d
提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.
] ,如果使用者按错键,则会显示 [Press 'h' for instructions.
] 而不是哔
声 -
-l
取消遇见特殊字元^L
(送纸字元)时会暂停的功能 -
-f
计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -
-p
不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -
-c
跟-p
相似,不同的是先显示内容再清除其他旧资料 -
-s
当遇到有连续两行以上的空白行,就代换为一行的空白行 -
-u
不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) -
+/pattern
在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 -
+num
从第num
行开始显示 -
fileNames
欲显示内容的文档,可为复数个数
25.1 more [fileNames]
25.2 more -s [fileNames]
more -s [fileNames]
逐页显示 testfile
文档内容,如有连续两行以上空白行则以一行空白行显示。