第八章 文件处理命令
第八章 文件处理命令
一、 文本编辑器 vi
• vi 是 Unix 类操作系统中最为流行的文本编辑器。尽管目前
已有 gedit 等一些工作在图形界面下使用起来也更为方便
的文本编辑器,但在很多情况下,vi 这种专为字符界面操
作而设计的编辑器恐怕还是要充当首选,比如通过 telnet
网络登录来使用系统时。
• 要使用 vi 编辑一个文本文件,键入:
vi 文件名
• 在无法使用光标键的情况下,可用 k、j、h、l 上下左右移动
光标到指定位置,按 i 键进入插入状态,进行编辑;
• 按 esc 键退到编辑状态,按“:wq”存盘并退回到 shell;
或按”:q!”放弃对文件的修改而退回到 shell。
• 有关 vi 的更具体的操作,请详见附录。
二、 有关查看文件内容的操作命令
① cat 连接多个文件并输出到标准输出设备
例:cat a1.txt a2.txt >a.txt 将两文件的内容合并写到 a.txt
更经常地是被用来显示文本文件的内容:
例: cat a.txt 将 a.txt 内容显示到终端
说明:⑴若不指定文件名,cat 将从标准输入读取数据;
⑵可用 ctrl+s、ctrl+q 来停止滚屏和恢复滚屏;
⑶参数-b、-n、-s 可对输出加上行号和合并相邻空行。② more 分屏显示
用法:more 文件名
翻屏操作:空格键:下翻一屏 b: 前翻一屏
回车键:下翻一行 q: 退出
③ less 分屏显示(类同 more)
用法:less 文件名
翻屏操作:空格键:下翻一屏 b: 前翻一屏
回车键:下翻一行 q: 退出
(实际上,less 与 more 有些细微区别。可参见具体说明)
④ head 显示指定文件的开头若干行
用法:head [-n] 文件名 其中 n=行数,默认值为 10
例:less –5 a.txt 显示 a.txt 的开头 5 行
⑤ tail 显示指定文件的末尾若干行
用法:tail [-n] 文件名 其中 n=行数,默认值为 10
例:tail –5 a.txt 显示 a.txt 的末尾 5 行
⑥ od 以八进制显示文件内容
用法:od [选项] 文件名
常用的选项:-tc 以 ASC 码和转义序列显示文件内容
-tx 以 16 进制显示文件内容⑦ sort 以排序形式显示文件内容
用法:sort [选项] 文件名
三、 用于查找、比较、统计、甄别文件的操作命令
①grep、egrep、fgrep 在指定文件中查找符合模式的内容
用法:grep [选项] [查找模式] [文件 1,文件 2,…]
常用选项:-E 将查找模式看成是扩展的正则表达式
-F 将查找模式看成是单纯的字符串
-i 匹配比较时不区分大小写
-r 以递归方式查询目录下所有子目录中的文件
-n 加上行号
例:grep ‘z3’/etc/passwd 查找 z3 的账号信息
grep –Fn z3 /etc/passwd 查找 z3 的账号信息及所在行
ps -aux|grep z3 找出所有与 z3 有关的进程
注:grep 一次只能搜索一个指定的模式;egrep 可以使用扩
展的字符串模式进行搜索;fgrep 命令检索固定字符串,
它不识别正则表达式,是快速搜索命令。这三个命令在
指定文件名时都可使用通配符。
② find 搜索文件
用法:find [路径] [表达式]
说明:⑴未指定路径时为当前目录。
⑵常用-name 参数指定字符串作为表达式例:find / –name vnc* 从根开始找出所有冠以 vnc 的文件
(注:locate 命令也可用来定位查找文件,执行速度要快地
多。但有时需要执行 updatedb 更新其数据库)
③ whereis 查找命令相关文件所在的位置
例:whereis ls 朝找出与 ls 命令相关文件的位置
④ which 在环境变量$PATH 设定的目录中查找文件
例:which vncserver 依$PATH找出vncserver所在目录
注:似乎不能使用通配符。
⑤ diff 逐行找出两个文件的不同之处,完全相同则无输出
用法:diff [选项] 文件一 文件二
常用选项:-b 忽略行尾空格
-c 带上下文的三行输出格式
-r 若比较的是目录,递归比较其子目录
注:若用“
-”取代文件名,则意味取标准输入。
⑥ cmp 比较两个文件是否相同
cmp 文件 1 文件 2
⑦ wc 统计文件的行数、字数和字节数
用法:wc [选项] 文件一 文件二 …
显示:行数、字数、字节数、文件名
选项-l、-w、-c 分别表示按行数、字数、字节数统计 默认的情况相当于这三个选项都选。
例:wc a.txt b.txt 显示两个文件的行数字数字节数。
⑧ file 识别文件类型
例 1:file /etc/passwd
显示:/etc/passwd:ASCII text
例 2:file /boot/vmlinuz*
显示:/boot/vmlinuz:symbolic link to vmlinuz-2.4.20-8
/boot/vmlinuz-2.4.20-8:x86 boot sector
注:⑴cat、more、less、head、tail、od、sort、grep、find、
diff、wc 等命令在未指定文件名时的默认输入都是读自
标准输入,都具有过滤器特性。如 more a.txt、more
<a.txt、cat a.txt>more 效果一样。
⑵本节只是对一些常用命令作入门性的概括介绍,
有关命令的更多的一些具体选项请参见其手册信息。
四、 特殊过滤命令 tee
tee 是 T 的发音,表示象 T 型管道那样一头进两头出,把从标
准输入读取的数据送到标准输出的同时也送往文件。
例 1:tee a.txt 直接将键盘输入(ctrl+d结束)生成文件 a.txt。
(用法同 dos 的 copy con,但 dos 是 crtl+z 或 F6 结束。)
例 2:cat /etc/passwd|head –5|tee –a a.txt
显示账号文件的前 5 行并追加到文件 a.txt。-a 参数表示追加。
相关文章:
第八章 文件处理命令
第八章 文件处理命令 一、 文本编辑器 vi • vi 是 Unix 类操作系统中最为流行的文本编辑器。尽管目前 已有 gedit 等一些工作在图形界面下使用起来也更为方便 的文本编辑器,但在很多情况下,vi 这种专为字符界面操 作而设计的编辑器恐怕还是要充当首…...
LVS 负载均衡群集的 NAT 模式和 DR 模式
1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 DR 模式 * 负载各节点服务器通过本地网络连接,不需要建立专用的IP隧道 原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的…...

自学自动化测试,第一份工作就18K,因为掌握了这些技术
我个人的情况是有1年自动化测试工作经验半年的实习经验,2020年毕业,专业通信工程,大一的时候学过C语言,所以一直对于编程感兴趣,之所以毕业后没做通信的工作,通信行业的朋友应该都明白,通信的天…...

C++ 类的继承与派生
目录 1、继承的概念 2、继承(Inherit) 3、继承方式 4、父子同名成员并存 5、虚函数(virtual) 6、纯虚函数 1、继承的概念 以李白为例 类1是类2的基类(父类),类2是类3的基类(父类…...
分布式系统基础理论
CAP是分布式系统方向中的一个非常重要的理论,可以粗略的将它看成是分布式系统的起点,CAP分别代表的是分布式系统中的三种性质,分别是Consistency(可用性)、Availability(一致性)、Partition tol…...
HttpServletRequestWrapper的使用与原理
介绍 HttpServletRequestWrapper 实现了 HttpServletRequest 接口,可以让开发人员很方便的改造发送给 Servlet 的请求.HttpServletRequest 对参数值的获取实际调的是org.apache.catalina.connector.Request没有提供对应的set方法修改属性所以不能对前端传来的参…...
PBDB Data Service:List of fossil occurrences(化石产出记录列表)
List of fossil occurrences(化石产出记录列表) 描述用法参数选择PBDB所有记录(all_records)以下参数可用于按各种条件查询化石产出记录以下参数可用于筛选所选内容以下参数还可用于根据分类筛选结果列表以下参数可用于生成数据存…...

初识C语言
1. 初识C语言 C语言是一门通用计算机编程语言,广泛应用于底层开发。 C语言是一门面向过程的计算机编程语言,它与C,Java等面向对象的编程语言有所不同。 第一个C语言程序: #include<stdio.h>int main(void) {printf("hello worl…...
Leetcode 322. 零钱兑换(完全背包)
Leetcode 322. 零钱兑换(完全背包)题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&…...

怎么恢复回收站?分享4个宝藏方法!
案例:怎么恢复回收站 【请问大家怎么恢复误删的文件呀?如果回收站被清空了,又应该怎么恢复呢?】 电脑回收站是我们存储被删除文件的地方。但是有时候,我们会不小心把一些重要的文件或者照片误删了。这时候࿰…...

大模型混战,最先实现“智慧涌现”的会是谁?
作者 | 曾响铃 文 | 响铃说 几秒钟写出了一篇欢迎词; 小说人物乱入现实,快速创作不重样的故事; 鼠标一点,一封英文工作沟通邮件撰写完成; 准确解出数学应用题,还给出解题步骤; 甚至还能理…...

Powerlink协议在嵌入式linux上的移植和主从站通信(电脑和linux板通信实验)
使用最新的openPOWERLINK 2.7.2源码,业余时间搞定了Powerlink协议在嵌入式linux上的移植和测试,并进行了下电脑和linux开发板之间的通信实验。添加了一个节点配置,跑通了源码中提供的主站和从站的两个demo。这里总结下移植过程分享给有需要的…...

快速理解基本的cookie、session 和 redis
一、Cookie 1、什么是Cookie 1、Cookie实际上是一小段的文本信息,是一种keyvalue形式的字符串。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。 2、当浏览器再请求…...

STANet代码复现出现的问题
1 IndexError: boolean index did not match indexed array along dimension 0; dimension is 4194304 but corresponding boolean dimension is 65536定位到导致错误的代码,是metric.py,Collect values for Confusion Matrix 收集混淆矩阵的值时出错 …...
Java 中String对象详解
Java语言中的String对象是一个非常常见的数据类型,大多数情况下我们都是在使用String对象来表示字符串类型的数据。Java中的String类是一个final class,它是不可被继承的。本文将对Java中的String对象进行详细全面的描述,包括以下几个方面&am…...

k8s nfs运行问题、etcd问题、calico网络问题
服务器重启后nfs运行问题导致服务不能正常重启 解决办法 在每个节点下使用如下命令进行查看nfs是否正常启动 systemctl status nfs 如果没有启动,则使用如下命令启动,保证三个节点下的nfs都正常启动 systemctl start nfs 再次查看nfs是否正常启动 syst…...

Qt--QString字符串类、QTimer定时器类
目录 1. QString 字符串类 dialog.cpp 2. 容器类 2.1 顺序容器 QList 示例代码: student.h student.cpp dialog.h dialog.cpp 运行结果: 2.2 关联容器 QMap 示例代码: dialog.h dialog.cpp 运行结果: 3. Qt类型 3.1 跨平台数据类型…...

2023.5.13>>Eclipse+exe4j打包Java项目及获取exe所在文件的路径
Eclipseexe4j打包Java项目及获取exe所在文件的路径 1、打包exe文件1.1 打jar包1.2 打包exe2、在程序中获取exe所在路径3、遇到问题4、JDK version和class file version(Class编译版本号)对应关系5、参考文章 1、打包exe文件 1.1 打jar包 右单击项目选择“Export…” 1.2…...
Centos系统的使用基本教程
Centos是一款流行的Linux操作系统,它基于Red Hat Enterprise Linux系统,是一款稳定、可靠、安全的操作系统。本文将介绍Centos系统的基本使用方法,包括安装、命令行操作、软件安装和系统管理等方面的内容。 安装Centos系统 Centos系统可以从…...
IDEA生成ER图、UML类图、时序图、流程图等的插件推荐或独立工具推荐
以下是几个常用的IDEA插件和独立工具,可以用于生成ER图、UML类图、时序图、流程图等: Visual Paradigm (独立工具) Visual Paradigm是一个强大的建模工具,可以生成UML类图、时序图、流程图等。它支持多种语言和框架,包括Java、Spr…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...