文件内容显示
目录
1.浏览普通文件
1.1. 文件内容查看
1.1.1. cat 命令
例:
1.1.2 扩展tac命令:
1.1.3. more 命令
1.1.4. less命令
1.1.5. head命令
1.1.6. tail命令
1.2. 文件属性信息查看
1.2.1. file 命令
1.2.2. stat 命令
2. 文件内容过滤显示—grep
2.1 参数
2.1.2例:
2.2. /etc/passwd文件含义
2.2.3. 使用特殊符号匹配
编辑
2.2.3.4 例:
3. 切割显示-cut
4. 排序显示-sort
4.3. 参数
5. 去重显示-uniq
6. 文件中字符替换显示-tr
6.3. 参数
1.浏览普通文件
1.1. 文件内容查看
1.1.1. cat 命令
作用:查看文件内容,适合数据量较少
格式:cat -参数 文件名
参数:
-n:显示行号,加上
-b:文件中所有非空行增加行号,编号从1开始
例:
查看主机域名映射文件: [root@server ~]# cat /etc/hosts
127.0.0.1 为回环地址
::1 为IPV6格式
扩展:win10系统的本地的域名映射文件
查看硬盘分区表以及挂载信息: [root@server ~]# cat /etc/hosts
使用参数 -n:显示行号(所有行都加),(命令作用显示全局性,局部性警告信息)
[root@server ~]# cat -n /etc/sos/sos.conf
使用参数 -b:文件中所有非空行增加行号,编号从1开始
[root@server ~]# cat -b /etc/sos/sos.conf
通过cat来实现文件的拷贝:
[root@server ~]# cat /etc/fstab > /root/q1/f1.txt
[root@server ~]# cat /root/q1/f1.txt
通过cat来实现文件的追加:
[root@server ~]# cat /etc/passwd >> /root/q1/f1.txt
[root@server ~]# cat /root/q1/f1.txt
通过cat来合并文件
1.1.2 扩展tac命令:
[root@server q1]# tac r3 将文本内容倒置输出:
1.1.3. more 命令
作用:翻页查看文件内容,适合内容较多的文件查看
格式:more 文件名
注意:使用回车则一行一行查看,使用空格则整页查看,点击q键退出查看
[root@server q1]# more -sp /etc/passwd # -sp 减少空白行,先清屏后输出
[root@server q1]# more /var/log/messages 查看日志
1.1.4. less命令
作用:同more命令
格式:less 文件名
注意:可以使用上下键进行浏览,点击q退出浏览
1.1.5. head命令
作用: 查看文档前n行的内容
格式:head -数字 文件名
例:[root@server q1]# head /etc/passwd # 默认查看文档前10行内容
[root@server q1]# head -5 /etc/passwd
1.1.6. tail命令
作用:查看文档后n行内容
格式:tail -参数 文件名
参数
-数字:查看倒数行数
-f:动态刷新, 实时显示日志文件并且能动态更新
例: [root@server q1]# tail /etc/passwd # 默认查看文档后10行内容
查看一行内容 :
[root@server ~]# tail -f /var/log/messages # 监视日志
[root@server ~]# head -6 /etc/passwd | tail -1 # 查看/etc/passwd第6行
1.2. 文件属性信息查看
1.2.1. file 命令
作用:查看文件类型
格式:file -参数 文件名
文件类型: ASCII
file :ASCII 文本字符文件
empty:空文件
block special :块设备文件
character special :字符设备文件
diretory:目录
1.2.2. stat 命令
作用:显示文件属性信息
格式:stat 文件名
注意:一般通过该命令查看大小、Inode、硬链接、软连接
2. 文件内容过滤显示—grep
作用: 在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用
格式: grep -参数 查找条件 文件名
2.1 参数
2.1.2例:
在passwd中检索包含root的行信息,并且带有行号
[root@server ~]# grep -n root /etc/passwd
在passwd检索不能登录的信息
[root@server ~]# grep -n /sbin/nologin /etc/passwd
# 在passwd中检索可以登录的账户信息
[root@server ~]# grep -nv "/sbin/nologin" /etc/passwd (反向)
# 检索包含“halt”的行及下3行信息
[root@server ~]# grep -nA3 "halt" /etc/passwd
# 检索包含“sshd”的行及上5行信息
[root@server ~]# grep -nB5 “sshd” /etc/passwd
# 检索包含“ftp”的行及上下2行
[root@server ~]# grep -nC2 “ftp” /etc/passwd
# 检索不能登录的账户个数
[root@server ~]# grep -c “/sbin/nologin” /etc/passwd
# 相当于 grep -n “/sbin/nologin” /etc/passwd | wc -l
# 检索包含大小写字母d的行信息
[root@server ~]# grep -ni "d" /etc/passwd
2.2. /etc/passwd文件含义
作用:
记录用户账户信息:共分为7段,使用冒号分割
含义:
文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL
第7列/sbin/nologin:不允许登录
[root@server ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bashroot : x : 0 : 0 : root : /root : /bin/bash
账户名:密码代号x:UID:GID:注释:家目录:SHELL
密码代号x:密码加密后的代号
UID:账户ID
GID:工作组编号
SHELL:命令解释器。只要配有命令解释器/bin/bash就是可以登陆的账户
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 该解释器就是不可登陆的
[root@server ~]# tail -2 /etc/passwd
fox:x:1000:1000::/home/fox:/bin/bash::俩冒号中间没有任何内容代表,该普通账户没有任何注释。
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
2.2.3. 使用特殊符号匹配
2.2.3.4 例:
定位行首以a开头的(^后还可以加完整单词)
[root@server ~]# grep -n "^a" /etc/passwd
检索以“.”结尾的行
[root@server ~]# grep -n "\.$" /etc/fstab "\.$" $必须加在右侧
"\" (转义符 ) :将右侧的字符,赋予新功能或者回复到原有功能
由于“.”具有特殊含义,因此需要转义字符进行转义
过滤所有空白行:
[root@server ~]# grep -n "^$" /etc/sos/sos.conf
检索含有数字的行
[root@server ~]# grep -n [0-9] /etc/passwd
(精确匹配)就此处含义为数字范围1-9
[root@server ~]# grep -nw [1-9] /etc/passwd
检索含有字母的行
[root@server ~]# grep -n [A-Z] /etc/passwd
[root@server ~]# grep -ni [A-Z] /etc/passwd
[root@server ~]# grep -n [a-zA-Z] /etc/passwd (此处含义为忽略大小写)
3. 切割显示-cut
3.1. 作用:
cut命令用于按列提取文本内容
3.2. 格式 :
cut -d "分隔符" -f列数字 文件名
分隔符:分割的具体依据
3.3.
例:提取文件下的所有账户名
[root@server ~]# cut -d ":" -f1 /etc/passwd
例:提取IP地址
确定IP位置
[root@server ~]# ip a | grep ens160 | grep inet | cut -d "/" -f1 | cut -d " " -f6
# 注意空格
例:提取内核版本号:
[root@server ~]# uname -a | cut -d " " -f3
4. 排序显示-sort
4.1. 作用
sort命令用于对文本内容进行排序显示
4.2. 格式:
sort -参数 文件名
4.3. 参数
5. 去重显示-uniq
5.1. 作用
uniq命令用于去除文本中连续的重复行
5.2. 格式
uniq -参数 文件名
6. 文件中字符替换显示-tr
6.1. 作用
tr 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出
6.2. 格式
tr -参数 替换内容 新内容
6.3. 参数
-c :反选设定字符,符合 “替换内容” 的部份不做处理,不符合的剩余部份才进行转换
-d :删除指令字符
-s :缩减连续重复的字符成指定的单个字符
6.4. 示例
小写字母全部转换成大写字母
[root@server ~]# cat /etc/passwd | tr a-z A-Z
相关文章:

文件内容显示
目录 1.浏览普通文件 1.1. 文件内容查看 1.1.1. cat 命令 例: 1.1.2 扩展tac命令: 1.1.3. more 命令 1.1.4. less命令 1.1.5. head命令 1.1.6. tail命令 1.2. 文件属性信息查看 1.2.1. file 命令 1.2.2. stat 命令 2. 文件内容过滤…...
Milvus+Attu
Milvus 1.下载 https://github.com/milvus-io/milvus/releases/wget https://github.com/milvus-io/milvus/releases/download/v2.3.0/milvus-standalone-docker-compose.yml下载milvus-standalone-docker-compose version: 3.5services:etcd:container_name: milvus-etcdim…...

LeetCode算法二叉树—226. 翻转二叉树
目录 226. 翻转二叉树 代码: 运行结果: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入…...

AI项目十:Swin Transformer目标检测环境搭建
若该文为原创文章,转载请注明原文出处。 Swin Transformer是做什么的这里不做介绍,主要是记录下学习的全过程,Swin Transformer在搭建和训练的过程中,折腾了很久,主要是在折腾环境。 一、AutoDL租用实例 个人没有GP…...
【IPC 通信】信号处理接口 Signal API(5)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 kill(2) 遵循 POSIX.1 - 2008 1.库 …...

Arduino PLC IDE
Arduino PLC IDE MCU单片机进入全新的PLC领域概述需要的硬件和软件下一步操作1. Arduino PLC IDE Tool Setup2. Arduino PLC IDE Setup3. Project Setup4. Download the Runtime5. Connect to the Device6. License Activation with Product Key (Portenta Machine Control) 结…...

记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章
一、前言 项目以前签字都是由C端那边进行合成操作,最近项目要求把那块功能,由后端进行实现,其中包含坐标、关键字、任意位置进行签字操作,坐标是最容易实现的,曾经也写过类似的功能在(添加图片印章到PDF&a…...

Java8实战-总结37
Java8实战-总结37 默认方法不断演进的 API初始版本的 API第二版 API 默认方法 传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库…...

【超详细】前段开发之详细的Vue3入门教程,特别适合小白系统学习,入门到熟练使用Vue看这一篇就够了!
前言: 这篇文章更加侧重的是Vue3不同于Vue2的知识点,如果学习Vue2请看下面这篇文章 Vue2详细系统入门教程 11.2 Vue3 声明:图片资源来自于黑马程序员公开学习资料 本人在学习当中,详细整理了笔记,供大家参考学习 1…...

【深度学习】ONNX模型多线程快速部署【基础】
【深度学习】ONNX模型CPU多线程快速部署【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】ONNX模型CPU多线程快速部署【基础】前言搭建打包环境python多线程并发简单教程基本教程ONNX模型多线程并发 打包成可执行文件总结 前…...
Python 同、异步HTTP客户端封装:性能与简洁性的较量
一、前言 引入异步编程趋势:Python的异步编程正变得越来越流行。在过去,同步的HTTP请求已经不足以满足对性能的要求。异步HTTP客户端库的流行:目前,有许多第三方库已经实现了异步HTTP客户端,如aiohttp和httpx等。然而…...

无代码赋能数字化,云表搭桥铺路链接“数据孤岛”
什么是信息孤岛 企业数字化转型过程中,信息孤岛是一个突出的问题。这种情况发生的原因是,企业内部使用了多种应用软件,时间一长,员工在不同的系统中积累了大量的企业数据资产。然而,由于这些系统之间的数据无法互通&am…...

无需公网IP,实现公网SSH远程登录MacOS【内网穿透】
目录 前言 1. macOS打开远程登录 2. 局域网内测试ssh远程 3. 公网ssh远程连接macOS 3.1 macOS安装配置cpolar 3.2 获取ssh隧道公网地址 3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址 4.1 保留一个固定TCP端口地址 4.2 配置固定TCP端口地址 5. 使用固定TCP端…...
网络爬虫学习笔记 1 HTTP基本原理
HTTP原理 ~~~~~ HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种使用最为广泛的网络请求方式,常见于在浏览器输入一个地址。 1. URI和URL URL(Universal Resource Locator,统一资源定位器&…...

113. 路径总和ii
力扣题目链接(opens new window) 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum 22, 在路径总和题目的基础上&…...

百度APP iOS端包体积50M优化实践(六)无用方法清理
一、前言 百度APP包体积经过一期优化,如无用资源清理,无用类下线,Xcode编译相关优化,体积已经有了明显的减少。但是优化后APP包体积在iPhone11上仍有350M的空间占用。与此同时百度APP作为百度的旗舰APP,业务迭代非常多…...
MySQL了解视图View (视图篇 一)
视图View是什么? MySQL的视图是一种虚拟表,它是基于一个或多个表的查询结果构建而成的。视图并不实际存储数据,而是根据定义的查询逻辑动态生成结果。 ----------------------------------- 视图的特点: - 虚拟表:…...

使用applescript自动化trilium的数学公式环境
众所周知,trilium什么都好,就是对数学公式的支持以及markdown格式的导入导出功能太拉了,而最拉的时刻当属把这两个功能结合起来的时候:导入markdown文件之后,原来的数学公式全没了,需要一个一个手动用ctrlm…...

idea中maven项目打包成jar,报错没有主清单属性解决方法
使用idea自带的打包可能会出现一下问题 在pom.xml中引入下面的依赖,即可解决 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions&…...

Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...