文件内容查看和处理
cat
用于显示、连接和创建文件内容的命令。
cat [选项] [文件...]
常用选项
- -n, --number:为所有输出的行编号。
- -b, --number-nonblank:为非空输出行编号。
- -s, --squeeze-blank:删除连续的空行,仅保留一行。
- -v, --show-nonprinting:显示不可打印字符,除了换行和制表符。
- -E, --show-ends:在每行的结尾显示
$
。- -T, --show-tabs:将制表符显示为
^I
。
该命令还可以和‘>’'>>'配合使用
将文件内容连接并输出到一个新的文件
cat file1 file2 > newfile
追加文件内容到现有文件
cat file1 >> existingfile
less 和more
用于在终端中逐页查看文件内容。它们特别适用于查看大文件,因为它们不会一次加载整个文件,而是按需加载内容。
more
是一个简单的分页工具,允许用户按页查看文件内容。
more [选项] 文件
- 常用操作
- 空格键:向下滚动一屏。
- Enter 键:向下滚动一行。
- b 键:向上滚动一屏。
- q 键:退出
more
。- /搜索词:向下搜索指定词。
- n:跳到下一个搜索结果。
less
是 more
的增强版,提供了更多的功能和更灵活的导航选项。
less [选项] 文件
常用操作
- 空格键:向下滚动一屏。
- b 键:向上滚动一屏。
- Enter 键:向下滚动一行。
- k 键:向上滚动一行。
- g 键:跳到文件的开头。
- G 键:跳到文件的结尾。
- /搜索词:向下搜索指定词。
- ?搜索词:向上搜索指定词。
- n:跳到下一个搜索结果。
- N:跳到上一个搜索结果。
- h 键:显示帮助。
- q 键:退出
less
。
more和
less的对比
- 功能:
less
提供了更多的功能,如向前滚动、上下移动、搜索高亮等,而more
功能较少。- 效率:
less
更适合查看大文件,因为它不会一次加载整个文件,而是按需加载。- 用户体验:
less
提供了更灵活的导航和搜索功能,用户体验更好。
head
head
命令用于显示文件的开头部分。它在需要快速查看文件的前几行时非常有用。默认情况下,head
命令会显示文件的前 10 行,但你可以通过选项来调整显示的行数。
head [选项] [文件...]
- 常用选项
- -n, --lines=[行数]:指定要显示的行数。
- -c, --bytes=[字节数]:指定要显示的字节数。
- -q, --quiet, --silent:不显示文件名(即使有多个文件)。
- -v, --verbose:总是显示文件名。
tail
tail
命令用于显示文件的尾部内容,默认情况下显示最后 10 行。它在需要查看文件末尾部分的内容时非常有用,特别是查看日志文件的最新日志。
tail [选项] [文件...]
常用选项
- -n, --lines=[行数]:指定显示的行数。
- -c, --bytes=[字节数]:指定显示的字节数。
- -f, --follow:实时显示文件的新增内容。
- -F:类似于
-f
,但文件被重命名或移除时会重新打开文件。- –retry:与
-f
一起使用时,如果文件不存在则定期重新尝试打开。- -q, --quiet, --silent:不显示文件名(即使有多个文件)。
- -v, --verbose:总是显示文件名。
grep
grep
是 Unix 和类 Unix 操作系统中用于搜索文本的命令。它通过使用正则表达式来匹配和显示文本中的特定模式。grep
是一个非常强大的工具,特别适用于从文件或命令输出中查找和过滤特定的信息。
grep [选项] PATTERN [文件...]
grep "pattern" filename//从文件中搜索匹配的行
grep -l "pattern" *.txt//显示包含匹配的文件名
其中:
模式
:是要搜索的字符串或者正则表达式模式。
文件
:是要搜索的文件名。
grep
命令会在指定的文件中搜索匹配模式的行,并将匹配到的行打印到标准输出。如果不指定文件名,则 grep
将会从标准输入读取数据进行搜索。
常用选项
- -i, --ignore-case:忽略大小写。
- -v, --invert-match:反转匹配,显示不匹配的行。
- -c, --count:只显示匹配的行数。
- -l, --files-with-matches:只显示包含匹配的文件名。
- -L, --files-without-match:只显示不包含匹配的文件名。
- -n, --line-number:显示匹配行的行号。
- -H, --with-filename:显示文件名。
- -h, --no-filename:不显示文件名。
- -r, --recursive:递归搜索目录下的所有文件。
- -w, --word-regexp:只匹配整个单词。
- -x, --line-regexp:只匹配整行。
- -A NUM, --after-context=NUM:显示匹配行后面的 NUM 行。
- -B NUM, --before-context=NUM:显示匹配行前面的 NUM 行。
- -C NUM, --context=NUM:显示匹配行前后各 NUM 行。
ln
ln
是 Linux 和其他类 Unix 操作系统中的一个命令,用于创建链接(link)
具体来说,ln
命令有两种常用的用法:
创建硬链接:
bashCopy code ln source_file target_link
这条命令会创建一个名为
target_link
的硬链接,指向source_file
。硬链接是文件系统中的一个指向原始文件 inode 的新路径,它们与原始文件在磁盘上的存储位置相同,因此对硬链接或原始文件的修改都会影响到另一个。创建符号链接(软链接):
bashCopy code ln -s source_file target_link
这条命令会创建一个名为
target_link
的符号链接(也称为软链接),它指向source_file
。符号链接是一个特殊类型的文件,它包含了指向原始文件的路径,而不是原始文件本身。因此,符号链接可以跨文件系统、指向目录,或者指向不存在的目标。
在使用 ln
命令时,如果不加任何选项,默认情况下会创建硬链接。要创建符号链接,需要使用 -s
选项。
除了常见的
-s
选项外,ln
命令还有一些其他常用的选项,这些选项可以根据需要来进行不同的操作。以下是一些常用的选项:
- -b, --backup[=CONTROL]:在创建目标链接之前,对现有目标文件进行备份。可选的
CONTROL
参数用于指定备份方式,例如:
none
:不进行备份。off
:与none
相同。numbered
:创建带有数字后缀的备份文件。t
:将每次备份视为一个版本,并在备份文件名中追加时间戳。
- -f, --force:如果目标链接已经存在,则强制删除它,并创建新的链接。
- -i, --interactive:在覆盖现有目标链接之前,提示用户进行确认操作。
- -n, --no-dereference:将目标链接视为一个普通文件而非符号链接,不对其解引用。
- -r, --relative:创建相对路径的符号链接,而不是绝对路径。
- -T, --no-target-directory:如果目标文件是一个目录,不要将链接创建在目标目录内,而是创建在目标目录的上一级目录中。
find
find
命令用于在指定目录下搜索文件和目录。它是一个非常强大且灵活的工具,可以根据多种条件(如文件名、文件类型、大小、时间戳等)进行搜索。
find [搜索路径] [搜索条件] [操作]
find . -name "example.txt"//在当前目录及其子目录中查找名为 example.txt 的文件
find /home -type f//查找 /home 目录下所有普通文件
find /home -type d//查找 /home 目录下所有目录
find . -name "example.log" -exec rm -f {} \;//查找并删除名为 example.log 的文件
常用选项和条件
路径:指定搜索的起始目录。例如,
.
表示当前目录,/
表示根目录。-name:按名称搜索。
-iname:按名称搜索,忽略大小写。
-type
:按文件类型搜索。
- f:普通文件。
- d:目录。
- l:符号链接。
-size
:按文件大小搜索。
- +n:大于 n 块。
- -n:小于 n 块。
- n:正好 n 块。
- 常用单位:
c
(字节)、k
(千字节)、M
(兆字节)、G
(吉字节)。-mtime
:按修改时间搜索。
- +n:n 天前修改的文件。
- -n:n 天内修改的文件。
- n:正好 n 天前修改的文件。
-atime:按访问时间搜索(同
-mtime
)。-ctime:按状态更改时间搜索(同
-mtime
)。-user:按所有者搜索。
-group:按组搜索。
-perm:按权限搜索。
-exec:对匹配的文件执行指定命令。
wc
wc
(word count)命令用于统计文件中的字数、行数、字节数等信息。它是一个非常实用的工具,尤其在处理文本文件时。
wc [选项] [文件...]
wc filename//统计文件的行数、字数和字节数
//输出格式 行数 字数 字节数 文件名
wc -l filename//统计文件的行数
//行数 文件名
wc file1 file2//同时统计多个文件
行数 字数 字节数 文件名
行数 字数 字节数 文件名
总行数 总字数 总字节数 总计
常用选项
- -l:显示行数。
- -w:显示字数。
- -c:显示字节数。
- -m:显示字符数。
- -L:显示最长行的长度。