Linux文件管理

article/2025/8/21 6:54:38

1 查看文件内容

  • 在 Linux 操作系统中,绝大多数的配置文件是以普通文本格式保存的,这些配置文件决定着系统及相关服务、程序的运行特性。
  • 查看及检索文本文件的内容,能够快速了解相关配置信息,以便为管理、维护操作系统提供有效的参考。

1.1 cat命令

cat(concatenate)命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。

  • 语法格式
    • cat [选项] [文件]
  • 参数说明
    • -n:显示行号,会在输出的每一行前加上行号
    • -b:显示行号,但只对非空行进行编号
    • -s:压缩连续的空行,只显示一个空行
    • -E:在每一行的末尾显示$ 符号
    • -T:将 Tab 字符显示为^I
    • -v:显示一些非打印字符
  • 使用说明
    • 显示文件内容:cat filename 会将指定文件的内容输出到终端上。
    • 连接文件:cat file1 file2 > combined_file 可以将file1和file2的内容连接起来,并将结果输出到combined_file中。
    • 创建文件:可以使用 cat 命令来创建文件,例如cat >filename,然后可以输入文本,按 Ctrl+D 来保存并退出。
    • 在终端显示文件:可以将 cat 与管道(|)结合使用,用来显示其他命令的输出,例如 ls -l | cat 会将ls -l 的输出通过cat 打印到终端上。
  • 实例
# 查看文件内容
cat filename
# 创建文件
cat > filename
# 追加内容到文件
cat >> filename
# 连接文件
cat file1 file2 > file3
# 查看多个文件内容
cat file1 file2 file3

1.2 more和less命令

  • more 和 less命令通过全屏的方式分页显示文件,便于从头到尾仔细地阅读文件内容。
  • more 命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思。less命令是较晚出现的分页显示命令,提供了比早期more 命令更多的一些扩展功能。
  • 两个命令的用法基本相同。

1.2.1 more命令

more命令类似cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,使用中的说明文件按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 欲显示内容的文档,可为复数个数
  • 实例
# 1.连续两行以上空白行以一行空白行显示
more -s lshelp.txt
# 2.从第50行开始显示
more +50 lshelp.txt
  • 常用操作命令
    • Enter 向下n行,需要定义。默认为1行ØCtrl+F 向下滚动一屏
    • 空格键 向下滚动一屏
    • b 返回上一屏
    • = 输出当前行的行号
    • :f 输出文件名和当前行的行号ØV 调用vi编辑器
    • !命令 调用Shell,并执行命令
    • q 退出more
  • more 命令除了可以分屏查看文件内容以外,还可以结合管道符号“|”分屏查看执行命令时的输出信息,这在命令输出内容较多的情况下特别有用。
ls -lh /etc/*.conf | more -5

1.2.2 less命令

less 命令使用方法与more 命令基本类似,但是比more 更好的是,less 命令结合管道符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页。而 more 命令只能向下翻页,不能向上翻页。

  • 常用参数说明
    • -e 当文件显示结束后,自动离开
    • -S 行过长时间将超出部分舍弃
    • /字符串:向下搜索"字符串"的功能
    • ?字符串:向上搜索"字符串"的功能
    • n:重复前一个搜索(与 / 或 ? 有关)
    • N:反向重复前一个搜索(与 / 或 ? 有关)
    • b 向上翻一页
    • Q 退出less 命令
    • y 向前滚动一行
    • 空格键 滚动一页
    • 回车键 滚动一行
    • [pagedown]: 向下翻动一页
    • [pageup]: 向上翻动一页
  • 实例
# 查看文件
less lshelp.txt
# ps查看进程信息并通过less分页显示
ps -ef |less
# 浏览多个文件
less log2013.log log2014.log

1.3 head和tail命令

  • head 和 tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。
  • 可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
  • 实例
# 查看用户账号文件/etc/passwd文件的前四行
head -4 /etc/passwd
  • tail命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。
  • 配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。
  • 实例
# 查看lshelp.txt的最后十行内容,并进行监控(按Ctrl+C组合键终止)
tail -f lselp.txt

2 检索文件内容

在维护 Linux 操作系统的过程中,除了查看文件内容以外,有时还需要对文件内容进行统计,或者查找符合条件的文本内容

2.1 wc命令

wc命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。

  • 语法:wc [-clw][–help][–version][文件…]
  • 选项:
    • -l:统计文件内容中的行数
    • -w:统计文件内容中的单词个数(以空格或制表位作为分隔)
    • -c:统计文件内容中的字节数
  • 使用不带任何选项的wc 命令时,默认将统计指定文件的行数、单词数、字节数(相当于同时使用“-l”“-w”“-c”三个选项)。
  • 示例
    • wc -l /etc/passwd
    • wc /etc/hosts

将 wc 命令与管道符号一起使用,还可以对命令输出结果进行统计。

  • 示例:find /etc -name “*.conf” | wc -l

2.2 grep命令

grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式
例如:“^word”表示以word开头,“word$”表示以 word 结尾,“^$”表示空行。

  • 基本格式:grep [选项]… 查找条件 目标文件
  • 常用选项:
    • -i:查找内容时忽略大小写(Ignore Case)
    • -v:反转查找(Invert),即输出与查找条件不相符的行
    • -r递归查询目录下所有文件
    • -H显示搜索内容所在文件
    • -n显示查找内容所在的行号
    • -c显示总共有多少行
  • 示例
# 查找/etc/passwd中包含“mt”字符串的行
grep "mt" /etc/passwd
# 查找/etc/host.conf文件中,以“#”开头的行和空行以外的内容
grep -v "^#" /etc/host.conf | grep -v "^$"
# 对路径下的文件进行嵌套查询
grep -r "hello" /root/test
# 查询error有多少个
grep -c "error" /var/log
# 查询error所在的行号
grep -n "error" /var/log
# 显示查询到的内容所在的文件
find /var/log -name "*.log" -exec  grep -H "error" {} \;

3 备份与恢复文档

  • 在Linux操作系统中,最简单的文件和目录备份工具就是cp(复制)命令。但是当需要备份的文件、目录数量较多时,仅仅使用cp命令就显得“力不从心”,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力。因此,要对需要备份的数据进行归档和压缩。
  • 这里所说的归档操作实际上相当于“打包”,即将许多个文件和目录合并保存为一个整体的包文件,以方便传递或携带。
  • 而压缩操作可以进一步降低打包后的归档文件所占用的磁盘空间,充分提高备份介质的利用率。
  • Linux操作系统中较常用的压缩命令工具包括gzip、bzip2,最常用的归档命令工具为tar。
  • 使用 tar 命令可以通过特定选项自动调用gzip或bzip2 程序,以完成归档、压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程。

3.1 压缩和解压缩工具

gzip 和 bzip2 是Linux 操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。
两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说 bzip2 的压缩效率要好一些。

3.2 gzip和gunzip命令

只能压缩文件,无法压缩文件夹。

3.2.1 gzip命令

使用 gzip 制作的压缩文件默认的扩展名为“.gz”。

  • 语法:gzip [options] [file…]
    • gzip 会将指定的文件压缩,并生成一个
    • file…:要压缩的文件
    • options 参数选项:
      • -d:解压缩 .gz 文件,相当于使用gunzip命令
      • -k:保留原始文件,不删除
      • -r:递归压缩目录下的所有文件
      • -v:显示详细的压缩或解压缩过程
      • -l:显示压缩文件的详细信息,如压缩率、原始大小等
      • -1 到 -9:指定压缩比。-1 是最快的压缩,压缩率最低;-9 是最慢的压缩,压缩率最高;默认是-6
      • -t:测试压缩文件的完整性
  • 示例
# 压缩文件
gzip lshelp.txt
# 解压文件
gzip -d lshelp.txt.gz
gunzip lshelp.txt.gz
# 压缩目录下所有文件
gzip -r /root/test/help
# 显示压缩过程
gzip -vr /root/test/help
# 显示压缩文件的详细信息
gzip -lr /root/test/help

3.2.2 gunzip命令

  • gunzip 是个使用广泛的解压缩程序,它用于解开被gzip 压缩过的文件,这些压缩文件预设最后的扩展名为 .gz。
  • 事实上 gunzip 就是gzip 的硬连接,因此不论是压缩或解压缩,都可通过gzip 指令单独完成。

3.3 bzip2 和bunzip2命令

  • bzip2 和 bunzip2 命令的用法与gzip、gunzip命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为“.bz2”。
  • 注意bzip2 命令需要安装:apt install bzip2
  • 示例
# 压缩文件
bzip2 lshelp.txt
# 解压文件
bzip2 -d lshelp.txt.bz2
bunzip2 lshelp.txt.bz2
# bzip2无法像gzip一样压缩目录下所有文件

3.4 tar归档和释放工具

tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的gzip 或bzip2 命令),以节省磁盘空间。

3.4.1 制作归档备份文件

  • 基本格式:tar [选项] … 归档及压缩文件名 需要归档的源文件或目录
    • 常用选项:
      • -c:创建(Create).tar 格式的包文件
      • -x:解开.tar 格式的包文件
      • -v:输出详细信息(Verbose)
      • -f:表示使用归档文件
      • -z:调用 gzip 程序进行压缩或解压
      • -j:调用 bzip2 程序进行压缩或解压
      • -C:解压时指定释放的目标文件夹
      • -r:追加文件到已存在的归档中
      • -p:打包时保留文件及目录的权限
      • -P:打包时保留文件及目录的绝对路径
      • -t:列表查看包内的文件

3.4.2 从归档文件中恢复数据

  • 基本格式:tar [选项] … 归档及压缩文件名[-C目标目录]

3.4.3 示例

# 文件归档
tar -cvf help.tar /root/test/help/
# 文件还原
tar -xvf help.tar
# 归档,并使用使用gzip压缩文件
tar -gcvf help.tar.gz /root/test/help/
# 解压gz2文件
tar -gxvf help.tar.gz
#tar -xvf help.tar.gz
# 归档,并使用使用bzip2压缩文件
tar -jcvf help.tar.bz2 /root/test/help/
# 解压bz2文件
tar -jxvf help.tar.bz2
#tar -xvf help.tar.bz2
# 将文件解压到指定目录
tar -gxvf help.tar.gz -C /root/test/a/
# 追加文件到归档文件中,压缩文件不可以
tar -rvf help.tar num.txt
# 两个文件合并归档
tar -cvf num.tar 1.txt 2.txt
# 压缩文件时,排除目录中的某个文件
tar --exclude=help/ls.ln -zcvf help.tar.gz help

4 vim文本编辑器的使用

所有的 Unix Like 系统都会内建vi 文书编辑器,其他的文书编辑器则不一定会存在。
目前使用比较多的是vim编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

4.1 什么是vim

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。此外还有nano编辑器。

4.2 vim键盘图

在这里插入图片描述

4.3 vim使用

基本上 vi/vim 共分为三种模式:

  • 命令模式(Command Mode)
  • 输入模式(Insert Mode)
  • 命令行模式(Command-Line Mode),或底线命令模式

4.3.1 命令模式

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如此时按下 i,并不会输入一个字符,i 被当作了一个命令。

  • 常用命令
    • i – 切换到输入模式,在光标当前位置开始输入文本
    • x – 删除当前光标所在处的字符
    • : – 切换到底线命令模式,以在最底一行输入命令
    • a – 进入插入模式,在光标下一个位置开始输入文本
    • o:在当前行的下方插入一个新行,并进入插入模式
    • O – 在当前行的上方插入一个新行,并进入插入模式
    • dd – 剪切当前行
    • yy – 复制当前行
    • nyy – 复制当前行开始的n行
    • p(小写) – 粘贴剪贴板内容到光标下方
    • P(大写)-- 粘贴剪贴板内容到光标上方
    • u – 撤销上一次操作
    • Ctrl + r – 重做上一次撤销的操作。

4.3.2 输入模式

在命令模式下按下 i 就进入了输入模式,使用Esc 键可以返回到普通模式。

  • 常用命令
    • 字符按键以及Shift组合,输入字符
    • ENTER,回车键,换行
    • BACK SPACE,退格键,删除光标前一个字符
    • DEL,删除键,删除光标后一个字符
    • 方向键,在文本中移动光标
    • HOME/END,移动光标到行首/行尾
    • Page Up/Page Down,上/下翻页
    • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    • ESC,退出输入模式,切换到命令模式

4.3.3 命令行模式

在命令模式下按下 :(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号)

  • 按 ESC 键可随时退出底线命令模式
  • :w:保存文件
  • :q:退出 Vim 编辑器
  • :wq:保存文件并退出 Vim 编辑器
  • :q!:强制退出Vim编辑器,不保存修改
  • :/all:从光标处向文件尾部搜索字符串all
  • :?all:从光标处向文件头部搜索字符串all
  • 😒/aaa/bbb/:将当前行第一个aaa替换为bbb
  • 😒/aaa/bbb/g:将当前行所有的aaa替换为bbb
  • :n,$s/aaa/bbb/:将第n行到最后一行的第一个aaa替换为bbb
  • :n,$s/aaa/bbb/g:将第n行到最后一行的所有aaa替换为bbb
  • :n1,n2s/aaa/bbb/g:将n1行到n2行的所有aaa替换为bbb
  • :%s/aaa/bbb/g:将每一行的所有aaa替换为bbb
  • :%s/aaa/bbb/:将每一行的第一个aaa替换为bbb
  • :g/aaa/s//bbb/g:将文件中所有aaa替换为bbb
  • 😒#aaa/#bbb/#:当替换目标中有/,可以使用#或+作为分隔符
  • :set number:显示行号
  • :set number!:取消行号显示,其它同理+!
  • :ignorance:搜索中忽略大小写

http://www.hkcw.cn/article/XIJgyFuUBu.shtml

相关文章

法国回应“阵风”疑被击落说明什么 首次实战损毁引关注

法国军方首次对“阵风”战机疑似被击落事件作出回应,称如果情况属实,这将是该机型服役以来首次在实战中损毁。印度空军引进了这款战斗机。据媒体报道,法国国防部军方发言人5月27日在例行记者会上表示,若相关信息准确无误,这将是“阵风”战斗机自服役20年来首次在实战中受损…

python2解决反编译乱码

文章目录 得到.pyc文件调用以下脚本(二进制转明文)得到源码文件 得到.pyc文件 见文章:《python2反编译部分》 执行到这一步就能得到.pyc文件:3、 解包.exe文件(以PyInstaller为例) 调用以下脚本&#xf…

Vue中nextTick()的理解

目录 前言 一、JavaScript的事件循环机制 1.1执行栈 1.2任务队列 1.2.1宏任务 1.2.2微任务 1.3事件循环 1.4宏任务与微任务执行例子 二、Vue的异步更新策略 2.1为什么Vue选择异步更新 2.2Vue的异步更新实现 2.3nextTick 2.4使用nextTick的最佳时机 前言 在了解n…

详细说说Redis分布式锁和ZK分布式锁

在分布式系统中,分布式锁是实现资源互斥访问的核心机制。Redis 和 ZooKeeper(ZK)是两种常用的分布式锁实现方案,但它们的实现原理、优缺点和适用场景存在显著差异。 一、Redis 分布式锁 实现原理 基础命令: SET key v…

特朗普关税政策获批暂时恢复实施 法院裁决反转

当地时间5月29日,美国联邦巡回上诉法院批准特朗普政府的请求,暂时搁置了美国国际贸易法院此前做出的禁止执行特朗普政府依据《国际紧急经济权力法》对多国加征关税措施的裁决。联邦巡回上诉法院在裁决书中表示,在审议相关动议文件期间,美国国际贸易法院作出的判决和永久性禁…

官方通报小车超速坠桥致5死 事故原因正调查

官方通报小车超速坠桥致5死 事故原因正调查!5月19日18时23分,苏某驾驶一辆小汽车搭载4人沿环莞快速路行驶。在虎门一水库特大桥路段,车辆因超速冲破防撞沙桶和护栏后坠桥,导致车上5名司乘人员受伤。尽管被紧急送往医院抢救,但最终不幸全部死亡。事故发生后,市镇两级政府迅…

MTK平台-- 如何在屏幕关闭时过滤组播和广播的数据包

一 前言: 这段时间做了一些MTK平台的开发,关于一些WIFI的优化和大家分享下 当DUT(被测设备)连接到wifi网络时,有许多不重要的组播或广播数据包会在屏幕关闭时唤醒DUT的主机,为了降低功耗,DUT需要过滤这些数据包; MTK固件提供一些客户自定义的功能,如关闭过滤组播和…

交通违法拍照数据集,可识别接打电话,不系安全带的行为,支持YOLO,COCO JSON,VOC XML格式的标注数据集 最高正确识别率可达88.6%

交通违法拍照数据集 数据集概述 数据来源:交通监控摄像头、执法记录仪、公开数据集数据类型:图像、视频、元数据(时间、地点、车辆信息)违法类型标注:接打电话、未系安全带 数据采集与标注方法 采集设备&#xff1…

DMBOK对比知识点对比(2)

1.违背伦理进行数据处理的风险 违背伦理进行数据处理的风险风险

特朗普:5月30日将是马斯克在政府效率部最后一天

当地时间5月29日,美国总统特朗普在社交媒体上发文表示,5月30日将是埃隆马斯克在政府效率部的最后一天,他将于美国东部时间30日13时30分在椭圆形办公室与马斯克举行新闻发布会。美国企业家、政府效率部负责人埃隆马斯克28日在社交媒体上说,他作为“特殊政府雇员”的任期结束…

易经六十四卦象解释数据集分享!智能体知识库收集~

今天给大家分享一个易经六十四卦象解释数据集 ,继续来积累AI相关的资料。 六十四卦,记载于《易经》,每一卦的图像均由两个八卦上下组合而成,每一卦各有六个爻。南宋朱熹说,先画八卦于内,后画八卦于外&#…

使用Zxing导出底部带有文字的二维码

1、引入依赖 <!-- Maven 依赖 --> <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.1</version> </dependency>2、生成二维码 import com.google.zxing.BarcodeFormat; i…

Linux文件操作、文件夹操作

一、文件操作 二、文件夹操作

胖东来红内裤事件案宣判 百万粉丝博主赔偿40万

2025年5月28日,许昌市魏都区人民法院公开审理了许昌市胖东来商贸集团有限公司与段某之间的名誉权纠纷案,并当庭宣判。法院判决段某在其个人抖音账号“两个小段(小)”发布书面道歉信的视频,内容需经法院审核,且发布后30日内不得删除;同时,段某需赔偿许昌市胖东来商贸集团…

【Stable Diffusion 1.5 】在 Unet 中每个 Cross Attention 块中的张量变化过程

系列文章目录 文章目录 系列文章目录前言特征图和注意力图的尺寸差异原因在Break-a-Scene中的具体实现总结 前言 特征图 (Latent) 尺寸和注意力图(attention map)尺寸在扩散模型中有差异&#xff0c;是由于模型架构和注意力机制的特性决定的。 特征图和注意力图的尺寸差异原…

男子酒驾闯卡撞伤交警被刑拘 肇事司机已被控制

5月27日晚,交警在陕西西安莲湖区文景南路与农兴路十字路口附近设卡执勤时,一名男子驾车冲卡,冲毁护栏并撞伤了一名交警。该男子涉嫌酒驾,已被刑拘。事发后,该男子弃车逃离现场,但很快被执勤交警抓获。据事发地商户描述,听到撞击声后,一辆由北向南行驶的黑色商务车冲过道…

南京一公园内出现大量竹节虫 生态环境良好标志

近日,有网民在社交媒体上分享了南京老山国家森林公园内出现大量竹节虫的视频。从视频中可以看到,栏杆上布满了绿色的竹节虫,显得非常密集。29日上午,南京老山国家森林公园的工作人员确认,近期园内确实出现了不少竹节虫。不过,工作人员表示这种昆虫是无害的,不会攻击人类…

黑马点评项目02——商户查询缓存(缓存穿透、缓存雪崩、缓存击穿)以及细节

1.添加redis缓存 StringRedisTemplate 使用的是这个哈&#xff0c;有人可能有疑问&#xff0c;存放的是字符串吗&#xff0c;商铺值应该是个对象才对啊&#xff0c;在细节中解析 代码&#xff1a; Override public Result queryById(Long id) {//查询redis&#xff0c;若存在则…

python学习打卡day39

DAY 39 图像数据与显存 知识点回顾 图像数据的格式&#xff1a;灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业&#xff1a;今日代码较少&#xff0c;理解内容即可 1.图像数据的格式&a…

代码随想录打卡|Day50 图论(拓扑排序精讲 、dijkstra(朴素版)精讲 )

图论part08 拓扑排序精讲 代码随想录讲解链接 题目链接 思路 在这个题目之中&#xff0c;个别文件的处理依赖于别的文件&#xff0c;因此&#xff0c;文件的处理顺序十分重要。我们用图来表示文件的处理顺序&#xff0c;文件s指向文件t&#xff0c;则说明如果要正确的处理文…