linux文件管理(补充)

news2025/6/4 15:32:31

1、查看文件命令

1.1 cat

用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。
用法: cat 参数 文件名
参数:
Ø -n:显示行号,会在输出的每一行前加上行号。
Ø -b:显示行号,但只对非空行进行编号。
Ø -s:压缩连续的空行,只显示一个空行。
Ø -E:在每一行的末尾显示 $ 符号。
Ø -T:将 Tab 字符显示为 ^I。
Ø -v:显示一些非打印字符。

1.2 more和less

more 和 less命令通过全屏的方式分页显示文件,便于 从头到尾仔细地阅读文件内容。
用法: more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
           less与more用法类似
more的参数:
Ø -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 欲显示内容的文档,可为复数个数
less的参数:
Ø -e 当文件显示结束后,自动离开
Ø -S 行过长时间将超出部分舍弃
Ø /字符串:向下搜索"字符串"的功能
Ø ?字符串:向上搜索"字符串"的功能
Ø n:重复前一个搜索(与 / 或 ? 有关)
Ø N:反向重复前一个搜索(与 / 或 ? 有关)
Ø b 向上翻一页
Ø Q 退出less 命令
Ø y 向前滚动一行
Ø 空格键 滚动一页
Ø 回车键 滚动一行
Ø [pagedown]: 向下翻动一页
Ø [pageup]: 向上翻动一页

1.3 head和tail

head 和 tail 是一对作用相反的命令,前者用于显示文 件开头的一部分内容,后者用于显示文件末尾的一部分 内容。其中“-n”选项指定需要显示多少行的内容,不指定则显示10行。
配合“-f”选项使用时,还可以跟踪文件尾部内容的动 态更新,便于实时监控文件内容的变化。
等等.......

2、检索文件内容

2.1 wc命令

wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。
语法
wc [-clw][--help][--version][文件...]
参数:
-l:统计文件内容中的行数。
-w:统计文件内容中的单词个数(以空格或制表位作为分隔)。
-c:统计文件内容中的字节数。

2.2 grep命令

grep 命令用于在文件中查找并显示包含指定字符串的行,可 以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如, “^word”表示以 word 开头, “word$”表示以 word 结尾, “^$”表示空行)。
格式:
grep [选项]… 查找条件 目标文件
参数:
参数说明示例
-i忽略大小写grep -i "error" log.txt
-v反向匹配,显示不包含模式的文本grep -v "success" file.txt
-w全词匹配(避免部分匹配)grep -w "word" file.txt
-n显示匹配行的行号grep -n "pattern" file.txt
-c统计匹配行数(不显示内容)grep -c "error" log.txt

文件与目录控制参数:

参数说明示例
-r递归搜索目录grep -r "main" /src/
--include指定文件类型grep -r --include="*.py" "import" ./
--exclude排除文件类型grep -r --exclude="*.log" "error" ./
-l只显示包含匹配的文件名grep -l "pattern" *.txt
-L显示不包含匹配的文件名grep -L "pattern" *.txt

2.3 find命令

find 是 Unix/Linux 系统中一个强大的文件搜索工具,用于在目录层次结构中查找文件和目录。它可以根据多种条件(如名称、类型、大小、修改时间等)进行搜索,并对找到的文件执行操作。
格式:
find [路径] [选项] [操作]
参数:

(1)按文件名/路径匹配

参数说明示例
-name "模式"按文件名匹配(区分大小写)find /etc -name "*.conf"
-iname "模式"按文件名匹配(不区分大小写)find . -iname "readme*"
-path "模式"按路径匹配(区分大小写)find /var -path "*log*"
-ipath "模式"按路径匹配(不区分大小写)find . -ipath "*doc*"
-regex "模式"按正则表达式匹配(全路径)find . -regex ".*\.\(txt|sh\)"
-iregex "模式"按正则表达式匹配(不区分大小写)find . -iregex ".*\.pdf"

(2)按文件类型过滤

参数文件类型示例
-type f普通文件find /home -type f
-type d目录find . -type d -name "src"
-type l符号链接find /usr -type l
-type b块设备文件find /dev -type b
-type c字符设备文件find /dev -type c
-type p命名管道(FIFO)find /tmp -type p
-type s套接字文件find /run -type s

(3)按时间过滤

参数说明示例
-mtime n修改时间在 n 天前(精确到天)find /var/log -mtime +7(7天前修改)
-mmin n修改时间在 n 分钟前find ~ -mmin -60(最近60分钟内修改)
-atime n访问时间在 n 天前find /tmp -atime +30(30天未访问)
-amin n访问时间在 n 分钟前find . -amin -10(10分钟内访问过)
-ctime n状态变更时间在 n 天前find /etc -ctime -1(1天内元数据变更)
-cmin n状态变更时间在 n 分钟前find . -cmin -5(5分钟内权限/所有者变更)
-newer 文件比指定文件更新的文件find . -newer reference.txt

(4)按大小过滤

参数说明示例
-size +n大于 n 单位(如 +1Mfind /var -size +10M(大于10MB)
-size -n小于 n 单位find ~ -size -100k(小于100KB)
-size n等于 n 单位find . -size 0(空文件)
单位c(字节)、k(KB)、M(MB)、G(GB)find / -size +1G

(5)按权限/所有者过滤

参数说明示例
-perm 权限精确匹配权限(八进制)find . -perm 644
-perm -权限包含指定权限(所有位必须满足)find /bin -perm -111(可执行文件)
-perm /权限包含任一权限(任意位满足)find . -perm /222(用户/组/其他可写)
-user 用户名属于指定用户find /home -user alice
-group 组名属于指定组find /etc -group root
-nouser无有效所有者(用户被删除)find / -nouser
-nogroup无有效组(组被删除)find / -nogroup

(6)逻辑操作符

参数说明示例
-a(默认)与(AND)find . -name "*.txt" -type f
-o或(OR)find . -name "*.sh" -o -name "*.py"
-not(或 !非(NOT)find /var ! -name "*.log"
()分组条件find . \( -name "*.tmp" -o -name "*.bak" \) -delete

.......

3、备份与恢复

在 Linux 操作系统中,最简单的文件和目录备份工具就是 cp(复制)命令。但是当需要备份的文件、目录数量较多时,仅仅使用 cp命令就显得“力不从心” ,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力。

3.1 gzip和gunzip文件

使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。

语法: gzip 参数 文件

参数:

Ø -d:解压缩 .gz 文件。相当于使用 gunzip 命令。
Ø -k:保留原始文件,不删除。
Ø -r:递归压缩目录下的所有文件。
Ø -v:显示详细的压缩或解压缩过程。
Ø -l:显示压缩文件的详细信息,如压缩率、原始大小等。
Ø -1 到 -9:指定压缩比。-1 是最快的压缩,压缩率最低;
-9 是最慢的压缩,压缩率最高。默认是 -6。
Ø -t:测试压缩文件的完整性。

3.2 bzip2和bunzip2

bzip2 和 bunzip2 命令的用法与 gzip、gunzip 命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为".bz2"。在ubuntu系统中,一般自带gzip工具,bzip2工具需要下载。

apt install bzip2 #在ubuntu下安装bzip2

需要解压缩经 bzip2 压缩的文件时,只需使用带“-d” 选项的bzip2 命令即可,或者直接使用 bunzip2 命令

3.3 tar命令

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

格式:

tar [选项] … 归档及压缩文件名 需要归档的源文件或目录

参数:

Ø -c:创建(Create).tar 格式的包文件。
Ø -C:解压时指定释放的目标文件夹。
Ø -f:表示使用归档文件。
Ø -j:调用 bzip2 程序进行压缩或解压。
Ø -p:打包时保留文件及目录的权限。
Ø -P:打包时保留文件及目录的绝对路径。
Ø -t:列表查看包内的文件。
Ø -v:输出详细信息(Verbose)。
Ø -x:解开.tar 格式的包文件。
Ø -z:调用 gzip 程序进行压缩或解压

4、vim文本编辑器的使用

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

vim键盘图(源自网络):

基本上 vi/vim 共分为三种模式,
命令模式(Command Mode)、输入模式(Insert Mode)、命令行模式(Command-Line Mode)

......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2396287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python训练营---Day42

DAY 42 Grad-CAM与Hook函数 知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业:理解下今天的代码即可 1、回调函数 回调函数(Callback Function)是一种特殊的函数,它作为参数传递给另一个函数&#…

基于空天地一体化网络的通信系统matlab性能分析

目录 1.引言 2.算法仿真效果演示 3.数据集格式或算法参数简介 4.MATLAB核心程序 5.算法涉及理论知识概要 5.1 QPSK调制原理 5.2 空天地一体化网络信道模型 5.3 空天地一体化网络信道特性 6.参考文献 7.完整算法代码文件获得 1.引言 空天地一体化网络是一种将卫星通信…

c++ opencv 形态学操作腐蚀和膨胀

https://www.jb51.net/article/247894.htm(上图图片来自这个博客) https://codec.wang/docs/opencv/basic/erode-and-dilate(上图图片参考博客) cv::Mat kernel cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3)); cv::erode(src, dst, kern…

【c++】【数据结构】红黑树

目录 红黑树的定义红黑树的部分模拟实现颜色的向上更新旋转算法单旋算法双旋算法 红黑树与AVL树的对比 红黑树的定义 红黑树是一种自平衡的二叉搜索树,通过特定的规则维持树的平衡。红黑树在每个结点上都增加一个存储位表示结点的颜色,结点的颜色可以是…

基于SpringBoot+Redis实现RabbitMQ幂等性设计,解决MQ重复消费问题

解决MQ重复消费问题 一、实现方案 本方案参考 「RabbitMQ消息可靠性深度解析|从零构建高可靠消息系统的实战指南」,向开源致敬! 1、业务层幂等处理: 每个消息携带一个全局唯一ID,在业务处理过程中,首先检查…

使用lighttpd和开发板进行交互

文章目录 🧠 一、Lighttpd 与开发板的交互原理1. 什么是 Lighttpd?2. 与开发板交互的方式? 🧾 二、lighttpd.conf 配置文件讲解⚠️ 注意事项: 📁 三、目录结构说明💡 四、使用 C 编写 CGI 脚本…

DRF的使用

1. DRF概述 DRF即django rest framework,是一个基于Django的Web API框架,专门用于构建RESTful API接口。DRF的核心特点包括: 序列化:通过序列化工具,DRF能够轻松地将Django模型转换为JSON格式,也可以将JS…

2024年09月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:有几个PAT 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 时间限制:1000 内存限制:26214…

免费且好用的PDF水印添加工具

软件介绍 琥珀扫描.zip下载链接:https://pan.quark.cn/s/3a8f432b29aa 今天要给大家推荐一款超实用的PDF添加水印工具,它能够满足用户给PDF文件添加水印的需求,而且完全免费。 这款PDF添加水印的软件有着简洁的界面,操作简便&a…

mqtt协议连接阿里云平台

首先现在的阿里云物联网平台已经不在新购了,如下图所示: 解决办法:在咸鱼上租用一个账号,先用起来。 搭建阿里云平台,参考博客: (一)MQTT连接阿里云物联网平台(小白向&…

一文详谈Linux中的时间管理和定时器编程

(目录) 先说一些在计算机中需要用到时间的地方:系统日志log、OS调度(时间片、定时器)等等~~ 时间的计量 计时的方式发展:日晷、沙漏 -> 机械钟 -> 石英振荡器、晶振 -> 铯原子钟 -> 氢原子钟 计算机中的计时方式&…

性能优化 - 理论篇:常见指标及切入点

文章目录 引言一、 Java 性能优化的核心思路二、为什么要度量?三、常用性能衡量指标详解3.1 吞吐量与响应速度3.2 响应时间的具体度量:平均响应时间与百分位数3.3 并发量3.4 秒开率(页面秒开)3.5 正确性(功能可用性&am…

【论文阅读 | PR 2024 |ICAFusion:迭代交叉注意力引导的多光谱目标检测特征融合】

论文阅读 | PR 2024 |ICAFusion:迭代交叉注意力引导的多光谱目标检测特征融合 1.摘要&&引言2.方法2.1 架构2.2 双模态特征融合(DMFF)2.2.1 跨模态特征增强(CFE)2.2.2 空间特征压缩(SFS)…

华为OD机试真题——模拟消息队列(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《模拟消息队列》: 目录 题…

MySql(十三)

目录 mysql外键约束 准备工作 创建表 插入数据 创建表时添加外键 1..格式 2..创建表student表时,为其添加外键 3.插入数据测试 正常数据 异常数据 3.使用alter添加外键 删除外键 添加外键 4.Mysql外键不生效的原因 修改引擎 phpystudy的mysql位置 mysql外键约束 注&…

iOS —— UI 初探

简介 第一次新建时,你可能会好奇。为什么有这么多文件,他们都有什么用? App 启动与生命周期管理相关 文件名 类型 作用 main.m m 程序入口,main() 函数定义在这里 AppDelegate.h/.m h/m App 启动/进入后台/退出等全局事…

day23-计算机网络-1

1. 网络简介 1.1. 网络介质 网线:cat5,cat5e 六类网线,七类网线,芭蕾网线光纤:wifi:无线路由器,ap5G 1.2. 常见网线类型 1.2.1. 双绞线(Twisted Pair Cable)【最常用】 按性能主…

C语言基础(09)【数组的概念 与一维数组】

数组 数组的概念 什么是数组 数组是相同类型、有序数据的集合。 数组的特征 数组中的数据称之为数组的元素(数组中的每一个匿名变量空间,是同构的)数组中的元素存放在内存空间建立。 衍生概念:下标(索引) 下标或者索引代表…

【JavaScript】Ajax 侠客行:axios 轻功穿梭服务器间

一、AJAX 概念和 axios 使用讲解 什么是 AJAX ? 使用浏览器的 XMLHttpRequest 对象与服务器通信 浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端…

Django数据库连接报错 django.db.utils.NotSupportedError: MySQL 8 or later is required

可尝试换django版本 pip install django3.2.13 另外mysql下载地址 https://dev.mysql.com/downloads/installer/ 安装可以参考: https://blog.csdn.net/HHHQHHHQ/article/details/148125549 重点:用户变量添加 C:\Program Files\MySQL\MySQL Server …