文件内容显示
目录
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…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...

如何做好一份技术文档?从规划到实践的完整指南
如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...
深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...