当前位置: 首页 > 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…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...