当前位置: 首页 > news >正文

第八章 文件处理命令

 第八章 文件处理命令

一、 文本编辑器 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 等一些工作在图形界面下使用起来也更为方便 的文本编辑器&#xff0c;但在很多情况下&#xff0c;vi 这种专为字符界面操 作而设计的编辑器恐怕还是要充当首…...

LVS 负载均衡群集的 NAT 模式和 DR 模式

1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 DR 模式 * 负载各节点服务器通过本地网络连接&#xff0c;不需要建立专用的IP隧道 原理&#xff1a;首先负载均衡器接收到客户的请求数据包时&#xff0c;根据调度算法决定将请求发送给哪个后端的…...

自学自动化测试,第一份工作就18K,因为掌握了这些技术

我个人的情况是有1年自动化测试工作经验半年的实习经验&#xff0c;2020年毕业&#xff0c;专业通信工程&#xff0c;大一的时候学过C语言&#xff0c;所以一直对于编程感兴趣&#xff0c;之所以毕业后没做通信的工作&#xff0c;通信行业的朋友应该都明白&#xff0c;通信的天…...

C++ 类的继承与派生

目录 1、继承的概念 2、继承&#xff08;Inherit&#xff09; 3、继承方式 4、父子同名成员并存 5、虚函数&#xff08;virtual&#xff09; 6、纯虚函数 1、继承的概念 以李白为例 类1是类2的基类&#xff08;父类&#xff09;&#xff0c;类2是类3的基类&#xff08;父类…...

分布式系统基础理论

CAP是分布式系统方向中的一个非常重要的理论&#xff0c;可以粗略的将它看成是分布式系统的起点&#xff0c;CAP分别代表的是分布式系统中的三种性质&#xff0c;分别是Consistency&#xff08;可用性&#xff09;、Availability&#xff08;一致性&#xff09;、Partition tol…...

HttpServletRequestWrapper的使用与原理

​ 介绍 HttpServletRequestWrapper 实现了 HttpServletRequest 接口&#xff0c;可以让开发人员很方便的改造发送给 Servlet 的请求.HttpServletRequest 对参数值的获取实际调的是org.apache.catalina.connector.Request没有提供对应的set方法修改属性所以不能对前端传来的参…...

PBDB Data Service:List of fossil occurrences(化石产出记录列表)

List of fossil occurrences&#xff08;化石产出记录列表&#xff09; 描述用法参数选择PBDB所有记录&#xff08;all_records&#xff09;以下参数可用于按各种条件查询化石产出记录以下参数可用于筛选所选内容以下参数还可用于根据分类筛选结果列表以下参数可用于生成数据存…...

初识C语言

1. 初识C语言 C语言是一门通用计算机编程语言&#xff0c;广泛应用于底层开发。 C语言是一门面向过程的计算机编程语言&#xff0c;它与C,Java等面向对象的编程语言有所不同。 第一个C语言程序&#xff1a; #include<stdio.h>int main(void) {printf("hello worl…...

Leetcode 322. 零钱兑换(完全背包)

Leetcode 322. 零钱兑换&#xff08;完全背包&#xff09;题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&…...

怎么恢复回收站?分享4个宝藏方法!

案例&#xff1a;怎么恢复回收站 【请问大家怎么恢复误删的文件呀&#xff1f;如果回收站被清空了&#xff0c;又应该怎么恢复呢&#xff1f;】 电脑回收站是我们存储被删除文件的地方。但是有时候&#xff0c;我们会不小心把一些重要的文件或者照片误删了。这时候&#xff0…...

大模型混战,最先实现“智慧涌现”的会是谁?

作者 | 曾响铃 文 | 响铃说 几秒钟写出了一篇欢迎词&#xff1b; 小说人物乱入现实&#xff0c;快速创作不重样的故事&#xff1b; 鼠标一点&#xff0c;一封英文工作沟通邮件撰写完成&#xff1b; 准确解出数学应用题&#xff0c;还给出解题步骤&#xff1b; 甚至还能理…...

Powerlink协议在嵌入式linux上的移植和主从站通信(电脑和linux板通信实验)

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

快速理解基本的cookie、session 和 redis

一、Cookie 1、什么是Cookie 1、Cookie实际上是一小段的文本信息&#xff0c;是一种keyvalue形式的字符串。客户端请求服务器&#xff0c;如果服务器需要记录该用户状态&#xff0c;就使用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定位到导致错误的代码&#xff0c;是metric.py&#xff0c;Collect values for Confusion Matrix 收集混淆矩阵的值时出错 …...

Java 中String对象详解

Java语言中的String对象是一个非常常见的数据类型&#xff0c;大多数情况下我们都是在使用String对象来表示字符串类型的数据。Java中的String类是一个final class&#xff0c;它是不可被继承的。本文将对Java中的String对象进行详细全面的描述&#xff0c;包括以下几个方面&am…...

k8s nfs运行问题、etcd问题、calico网络问题

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

Qt--QString字符串类、QTimer定时器类

目录 1. QString 字符串类 dialog.cpp 2. 容器类 2.1 顺序容器 QList 示例代码&#xff1a; student.h student.cpp dialog.h dialog.cpp 运行结果&#xff1a; 2.2 关联容器 QMap 示例代码&#xff1a; dialog.h dialog.cpp 运行结果&#xff1a; 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操作系统&#xff0c;它基于Red Hat Enterprise Linux系统&#xff0c;是一款稳定、可靠、安全的操作系统。本文将介绍Centos系统的基本使用方法&#xff0c;包括安装、命令行操作、软件安装和系统管理等方面的内容。 安装Centos系统 Centos系统可以从…...

IDEA生成ER图、UML类图、时序图、流程图等的插件推荐或独立工具推荐

以下是几个常用的IDEA插件和独立工具&#xff0c;可以用于生成ER图、UML类图、时序图、流程图等&#xff1a; Visual Paradigm (独立工具) Visual Paradigm是一个强大的建模工具&#xff0c;可以生成UML类图、时序图、流程图等。它支持多种语言和框架&#xff0c;包括Java、Spr…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...