前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux基础指令及其作用之文件内容查看和处理

Linux基础指令及其作用之文件内容查看和处理

作者头像
薄荷冰
发布2024-06-02 09:11:18
1020
发布2024-06-02 09:11:18
举报
文章被收录于专栏:后端学习之旅

cat

用于显示、连接和创建文件内容的命令。

代码语言:javascript
复制
cat [选项] [文件...]

常用选项

  • -n, --number:为所有输出的行编号。
  • -b, --number-nonblank:为非空输出行编号。
  • -s, --squeeze-blank:删除连续的空行,仅保留一行。
  • -v, --show-nonprinting:显示不可打印字符,除了换行和制表符。
  • -E, --show-ends:在每行的结尾显示 $
  • -T, --show-tabs:将制表符显示为 ^I

该命令还可以和‘>’'>>'配合使用

将文件内容连接并输出到一个新的文件

代码语言:javascript
复制
cat file1 file2 > newfile

追加文件内容到现有文件

代码语言:javascript
复制
cat file1 >> existingfile
less 和more

用于在终端中逐页查看文件内容。它们特别适用于查看大文件,因为它们不会一次加载整个文件,而是按需加载内容。

more 是一个简单的分页工具,允许用户按页查看文件内容。

代码语言:javascript
复制
more [选项] 文件
  • 常用操作
  • 空格键:向下滚动一屏。
  • Enter 键:向下滚动一行。
  • b 键:向上滚动一屏。
  • q 键:退出 more
  • /搜索词:向下搜索指定词。
  • n:跳到下一个搜索结果。

lessmore 的增强版,提供了更多的功能和更灵活的导航选项。

代码语言:javascript
复制
less [选项] 文件

常用操作

  • 空格键:向下滚动一屏。
  • b 键:向上滚动一屏。
  • Enter 键:向下滚动一行。
  • k 键:向上滚动一行。
  • g 键:跳到文件的开头。
  • G 键:跳到文件的结尾。
  • /搜索词:向下搜索指定词。
  • ?搜索词:向上搜索指定词。
  • n:跳到下一个搜索结果。
  • N:跳到上一个搜索结果。
  • h 键:显示帮助。
  • q 键:退出 less
moreless的对比
  • 功能less 提供了更多的功能,如向前滚动、上下移动、搜索高亮等,而 more 功能较少。
  • 效率less 更适合查看大文件,因为它不会一次加载整个文件,而是按需加载。
  • 用户体验less 提供了更灵活的导航和搜索功能,用户体验更好。
head

head 命令用于显示文件的开头部分。它在需要快速查看文件的前几行时非常有用。默认情况下,head 命令会显示文件的前 10 行,但你可以通过选项来调整显示的行数。

代码语言:javascript
复制
head [选项] [文件...] 
  • 常用选项
  • -n, --lines=[行数]:指定要显示的行数。
  • -c, --bytes=[字节数]:指定要显示的字节数。
  • -q, --quiet, --silent:不显示文件名(即使有多个文件)。
  • -v, --verbose:总是显示文件名。
tail

tail 命令用于显示文件的尾部内容,默认情况下显示最后 10 行。它在需要查看文件末尾部分的内容时非常有用,特别是查看日志文件的最新日志。

代码语言:javascript
复制
tail [选项] [文件...]

常用选项

  • -n, --lines=[行数]:指定显示的行数。
  • -c, --bytes=[字节数]:指定显示的字节数。
  • -f, --follow:实时显示文件的新增内容。
  • -F:类似于 -f,但文件被重命名或移除时会重新打开文件。
  • –retry:与 -f 一起使用时,如果文件不存在则定期重新尝试打开。
  • -q, --quiet, --silent:不显示文件名(即使有多个文件)。
  • -v, --verbose:总是显示文件名。
grep

grep 是 Unix 和类 Unix 操作系统中用于搜索文本的命令。它通过使用正则表达式来匹配和显示文本中的特定模式。grep 是一个非常强大的工具,特别适用于从文件或命令输出中查找和过滤特定的信息。

代码语言:javascript
复制
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 命令有两种常用的用法:

创建硬链接:

代码语言:javascript
复制
bashCopy code
ln source_file target_link

这条命令会创建一个名为 target_link 的硬链接,指向 source_file。硬链接是文件系统中的一个指向原始文件 inode 的新路径,它们与原始文件在磁盘上的存储位置相同,因此对硬链接或原始文件的修改都会影响到另一个。

创建符号链接(软链接):

代码语言:javascript
复制
bashCopy code
ln -s source_file target_link

这条命令会创建一个名为 target_link 的符号链接(也称为软链接),它指向 source_file。符号链接是一个特殊类型的文件,它包含了指向原始文件的路径,而不是原始文件本身。因此,符号链接可以跨文件系统、指向目录,或者指向不存在的目标。

在使用 ln 命令时,如果不加任何选项,默认情况下会创建硬链接。要创建符号链接,需要使用 -s 选项。

除了常见的 -s 选项外,ln 命令还有一些其他常用的选项,这些选项可以根据需要来进行不同的操作。以下是一些常用的选项:

  1. -b, --backup[=CONTROL]:在创建目标链接之前,对现有目标文件进行备份。可选的 CONTROL 参数用于指定备份方式,例如:
  • none:不进行备份。
  • off:与 none 相同。
  • numbered:创建带有数字后缀的备份文件。
  • t:将每次备份视为一个版本,并在备份文件名中追加时间戳。
  1. -f, --force:如果目标链接已经存在,则强制删除它,并创建新的链接。
  2. -i, --interactive:在覆盖现有目标链接之前,提示用户进行确认操作。
  3. -n, --no-dereference:将目标链接视为一个普通文件而非符号链接,不对其解引用。
  4. -r, --relative:创建相对路径的符号链接,而不是绝对路径。
  5. -T, --no-target-directory:如果目标文件是一个目录,不要将链接创建在目标目录内,而是创建在目标目录的上一级目录中。
find

find 命令用于在指定目录下搜索文件和目录。它是一个非常强大且灵活的工具,可以根据多种条件(如文件名、文件类型、大小、时间戳等)进行搜索。

代码语言:javascript
复制
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)命令用于统计文件中的字数、行数、字节数等信息。它是一个非常实用的工具,尤其在处理文本文件时。

代码语言:javascript
复制
wc [选项] [文件...]
wc filename//统计文件的行数、字数和字节数
//输出格式 行数  字数  字节数  文件名
wc -l filename//统计文件的行数
//行数  文件名
wc file1 file2//同时统计多个文件
  行数  字数  字节数  文件名
  行数  字数  字节数  文件名
  总行数  总字数  总字节数  总计

常用选项

  • -l:显示行数。
  • -w:显示字数。
  • -c:显示字节数。
  • -m:显示字符数。
  • -L:显示最长行的长度。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • less 和more
    • more和less的对比
    • head
    • tail
    • grep
    • ln
    • find
    • wc
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档