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

Linux 文件相关命令

一、查看文件命令

1)浏览文件less

默认查看文件的前 10 行。

less /etc/services
##功能说明:
#1.默认打开首屏内容
#2.按【回车】按行访问
#3.按【空格】按屏访问
#4.【从上向下】搜索用/111,搜索包含111的内容,此时按n继续向下搜,按N反向上搜。
#5.【从下向上】搜索用?111,搜索包含111的内容,此时按n继续向上搜,按N反向下搜。
#6.按【q】字母退出文件

2 ) 查看文件头部内容head

#1.默认查看文件的前10行。
[root@oldboyedu ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
#2.查看前两行
[root@oldboyedu ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
##简单写法
[root@oldboyedu ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

3)  查看文件尾部内容tail

默认查看文件的后10行。
#1.默认查看文件的后10行。
[root@oldboyedu ~]# tail /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd
daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash
#2.查看后两行
[root@oldboyedu ~]# tail -n 2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash
##简单写法
[root@oldboyedu ~]# tail -2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
oldboy:x:1000:1000::/home/oldboy:/bin/bash=

4)  过滤文件内容grep(三剑客老三)

#1.过滤出包含root的行(按行过滤)
[root@oldboyedu ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
##带双引号是标准的写法
[root@oldboyedu ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#2.过滤出不包含root的行(-v)
#a)先生成3行内容到oldboy.txt,用作练习
[root@oldboyedu ~]# head -3 /etc/passwd >oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#b)过滤包含root的行
[root@oldboyedu ~]# grep root oldboy.txt
root:x:0:0:root:/root:/bin/bash
#c)过滤不包含root的行
[root@oldboyedu ~]# grep -v root oldboy.txt
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin#3.对过滤出的内容显示[在源文件中]的行号(-n)
[root@oldboyedu ~]# grep -v -n root oldboy.txt
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
#选项组合写法
[root@oldboyedu ~]# grep -vn root oldboy.txt
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
#4.不区分大小写过滤(-i)
#a.数据准备
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#b.追加大写ROOT到文件里
[root@oldboyedu ~]# echo "ROOT" >>oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
ROOT
#c.正常过滤包含root的行
[root@oldboyedu ~]# grep root oldboy.txt
root:x:0:0:root:/root:/bin/bash
#d.不区分大小写过滤包含root的行
[root@oldboyedu ~]# grep -i root oldboy.txt
root:x:0:0:root:/root:/bin/bash
ROOT

grep 筛选总结

1. 直接过滤,就是过滤出想要的内容。
2.-v 反选,过滤当前内容以外的内容。
3.-n 对过滤的内容显示在源文件中的行号。
4.-i 不区分大小写过滤。

二、修改文件内容命令

1、echo写入文件

(配合>或>>实现的修改文件内容)
#1.接什么内容就输出什么内容
[root@oldboyedu ~]# echo 123
123
[root@oldboyedu ~]# echo "oldboy" ##标准用法
oldboy
#2.将oldboy字符串输入到oldboy.txt里
##把oldboy.txt内容清空,加入oldboy。如果oldboy.txt不存在就创建。
[root@oldboyedu ~]# echo oldboy >oldboy.txt ## >标准输出重定向(清空文件已有内容,存入
输出内容)
[root@oldboyedu ~]# cat oldboy.txt
oldboy#3.将oldboy字符串输入到oldboy.txt里,但是不影响oldboy.txt里面的已有内容
[root@oldboyedu ~]# echo oldboy >>oldboy.txt ## >>标准输出追加重定向(不删除任何内容,
只在文件结尾加入新的内容)
[root@oldboyedu ~]# echo oldboy >>oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
oldboy
oldboy
oldboy
#4.清空oldboy.txt
[root@oldboyedu ~]# >oldboy.txt ##清空oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
#5.用一条命令输入多行内容到指定文件里
echo 'oldboy
oldgirl
littleboy
liittgirl'>f.txt
##查看结果
[root@oldboyedu ~]# cat f.txt
oldboy
oldgirl
littleboy
liittgirl
#6.将/etc/passwd的前三行放入到其他文件里
[root@oldboyedu ~]# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@oldboyedu ~]# head -3 /etc/passwd >a.txt
[root@oldboyedu ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@oldboy ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@oldboy ~]# grep root /etc/passwd >a.txt
[root@oldboy ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
b.cat写入内容到文件结尾
方法1:通过cat交互式输入内容到文件方法2:一条命令输入多行内容到文件

2、vi/vim编辑器

1vi/vim介绍
        vi,相当于 windows 下【记事本】,默认是有的,非常简单,用来改文件内容 ,改配置和写代码不太友
        vim,相当于 windows 下【 notepad++ 】类工具,但是 Linux 默认没有,需要单独安装。
        推荐: linux vim 工具,不但可以编辑文本,同时可以用来开发 python,c 语言 ,shell
2)安装vim工具
a.查看是否安装
[root@oldboy ~]# rpm -qa vim-enhanced
vim-enhanced-7.4.629-8.el7_9.x86_64
b.安装vim编辑器
如果没有执行下面命令安装
yum install vim-enhanced -y
.VIM三种模式转换图
        1、执行vim oldboy.txt进入普通模式,准备编辑文件。
        2、进入编辑模式,不同的命令作用:
i 在当前光标所在处插入文字,推荐只用这一个。
I 在当前所在行的行首第一个非空格符处开始插入文字,和A相反
a 当前光标下一个字符处于编辑模式
A 在当前所在行的行尾最后一个字符处开始插入文字,和I相反
O 在当前所在行的上一行开头处插入新的一行
o 在当前所在行的下一行开头处插入新的一行
真正的编辑模式下和普通记事本操作一样。
特殊写法:vim oldboy.txt +5 #进入后光标直接定位到第五行。
        3、按esc键,返回普通模式。
        4、普通模式下,输入冒号,进入命令模式。
        5、在命令模式下不同字符含义

4)动手练习

vim oldgirl.txt, 增加如下内容,保存后查看 .
I am 28.
I am a beautiful girl.
I like Linux.
w 保存 write
q 退出 quit
! 强制
常用组合操作;
:wq! #<==强制保存退出
:wq #<==保存退出
:q! #<==强制退出不保存
:q #<==退出不保存
vim编辑器快捷键
思路:不需要记忆,只需要会使用。
head /etc/passwd >oldboy.txt
vim oldboy.txt
##行号显示:
显示行号:set nu
取消行号:set nonu
##光标移动:
光标移动到行尾 $
光标移动到行首 0
光标移动到文件尾行开头 G
光标移动到文件开头行行首 gg
当前光标移动到第5行 5gg
光标移动到从当前行开始移动几行 数字[回车]
##编辑内容:
复制当前行 yy
复制当前行及下面n行 nyy #n是数字
粘贴 p #可以切换光标到指定的行按p
回滚 u
删除当前行 dd
删除多行 ndd n是数字
## 搜索内容 : less 命令搜索一样

相关文章:

Linux 文件相关命令

一、查看文件命令 1&#xff09;浏览文件less 默认查看文件的前 10 行。 less /etc/services ##功能说明&#xff1a; #1.默认打开首屏内容 #2.按【回车】按行访问 #3.按【空格】按屏访问 #4.【从上向下】搜索用/111,搜索包含111的内容&#xff0c;此时按n继续向下搜&#x…...

K8S Deployment 简介, 1个简单的Kubernetes Deployment YAML 文件

当谈到 Kubernetes 集群中的应用程序部署和管理时&#xff0c;Deployment、ReplicaSet 和 Pod 是三个重要的概念。它们之间存在一定的关系和层次结构。下面是对 Deployment、ReplicaSet 和 Pod 的详细解释以及它们之间的关系。 Deployment&#xff08;部署&#xff09; Deploy…...

win11安装WSL UbuntuTLS

win11安装WSL WSL 简介WSL 1 VS WSL 2先决要求安装方法一键安装通过「控制面板」安装 WSL 基本命令Linux发行版安装Ubuntu初始化相关设置root用户密码网络工具安装安装1panel面板指导 WSl可视化工具问题总结WSL更新命令错误Ubuntu 启动初始化错误未解决问题 WSL 简介 Windows …...

第十题:金币

题目描述 国王将金币作为工资&#xff0c;发放给忠诚的骑士。第一天&#xff0c;骑士收到一枚金币&#xff1b;之后两天&#xff08;第二天和第三天&#xff09;&#xff0c;每天收到两枚金币&#xff1b;之后三天&#xff08;第四、五、六天&#xff09;&#xff0c;每天收到…...

Windows 11 中Docker的安装教程

选择正确的Docker版本 在Windows上&#xff0c;你可以安装两种类型的Docker&#xff1a;Docker Desktop和Docker Toolbox。Docker Desktop是针对Windows 10 Pro、Enterprise和Education版本的&#xff0c;这些版本内置了Hyper-V虚拟化支持。对于旧版本的Windows&#xff0c;比…...

纯C代码模板

一、快排 void QuickSort(int *a,int left,int right){if(left>right) return;else{int low left,high right;int pivot a[low];while(low<high){while(a[high] > pivot && low < high){high--;}a[low] a[high]; //必须先动a[low]while(a[low] < …...

二、GitLab相关操作

GitLab相关操作 一、组、用户、项目管理1.创建组2.创建项目3.创建用户并分配组3.1 创建用户3.2 设置密码3.3 给用户分配组 二、拉取/推送代码1.配置ssh(第一次需要)1.1 创建一个空文件夹1.2 配置本地仓账号和邮箱1.3 生成ssh公钥密钥1.4 gitlab配置公钥 2.拉取代码3.推送代码3.…...

【详细注释+流程讲解】基于深度学习的文本分类 TextCNN

前言 这篇文章用于记录阿里天池 NLP 入门赛&#xff0c;详细讲解了整个数据处理流程&#xff0c;以及如何从零构建一个模型&#xff0c;适合新手入门。 赛题以新闻数据为赛题数据&#xff0c;数据集报名后可见并可下载。赛题数据为新闻文本&#xff0c;并按照字符级别进行匿名…...

Day.21

interface MyInterface{public final static int PI 3;void show();public default void printX(){System.out.println("接口默认方法");}public static void printY(){System.out.println("接口静态方法");}}class MyClass implements MyInterface{publi…...

Spring-IoC 基于注解

基于xml方法见&#xff1a;http://t.csdnimg.cn/dir8j 注解是代码中的一种特殊标记&#xff0c;可以在编译、类加载和运行时被读取&#xff0c;执行相应的处理&#xff0c;简化 Spring的 XML配置。 格式&#xff1a;注解(属性1"属性值1",...) 可以加在类上…...

Spring声明式事务以及事务传播行为

Spring声明式事务以及事务传播行为 Spring声明式事务1.编程式事务2.使用AOP改造编程式事务3.Spring声明式事务 事务传播行为 如果对数据库事务不太熟悉&#xff0c;可以阅读上一篇博客简单回顾一下&#xff1a;MySQL事务以及并发访问隔离级别 Spring声明式事务 事务一般添加到…...

【C语言数据库】Sqlite3基础介绍

1. SQLite简介 SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computer…...

el-upload上传图片图片、el-load默认图片重新上传、el-upload初始化图片、el-upload编辑时回显图片

问题 我用el-upload上传图片&#xff0c;再上一篇文章已经解决了&#xff0c;el-upload上传图片给SpringBoot后端,但是又发现了新的问题&#xff0c;果然bug是一个个的冒出来的。新的问题是el-upload编辑时回显图片的保存。 问题描述&#xff1a;回显图片需要将默认的 file-lis…...

【拓扑空间】示例及详解1

例1 度量空间的任意两球形邻域的交集是若干球形邻域的并集 Proof&#xff1a; 任取空间的两个球形邻域、&#xff0c;令 任取,令 球形领域 例2 规定X的子集族,证明是X上的一个拓扑 Proof&#xff1a; 1. 2., &#xff08;若干个球形邻域的并集都是的元素&#xff0c;元素…...

linux安装jdk8

上传到某个目录&#xff0c;例如&#xff1a;/usr/local/ tar -xvf jdk-8u144-linux-x64.tar.gz配置环境变量&#xff1a; export JAVA_HOME/usr/local/java export PATH$PATH:$JAVA_HOME/bin设置环境变量&#xff1a; source /etc/profile...

Spring重点知识(个人整理笔记)

目录 1. 为什么要使用 spring&#xff1f; 2. 解释一下什么是 Aop&#xff1f; 3. AOP有哪些实现方式&#xff1f; 4. Spring AOP的实现原理 5. JDK动态代理和CGLIB动态代理的区别&#xff1f; 6. 解释一下什么是 ioc&#xff1f; 7. spring 有哪些主要模块&#xff1f;…...

HTML基础知识详解(上)(如何想知道html的全部基础知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习前端基础时&#xff0c;必不可少的就是三大件&#xff08;html、css、javascript &#xff09;&#xff0c;而HTML&#xff08;超文本标记语言——HyperText Markup Language&#xff09;是构成 Web 世界的一砖一瓦&#xff0c;它定义了网页内容的含义和…...

如何借助Idea创建多模块的SpringBoot项目

目录 1.1、前言1.2、开发环境1.3、项目多模块结构1.4、新建父工程1.5、创建子模块1.6、编辑父工程的pom.xml文件 1.1、前言 springmvc项目&#xff0c;一般会把项目分成多个包:controler、service、dao、utl等&#xff0c;但是随着项目的复杂性提高&#xff0c;想复用其他一个模…...

爬虫 新闻网站 并存储到CSV文件 以红网为例 V1.0

爬虫&#xff1a;红网网站&#xff0c; 获取当月指定关键词新闻&#xff0c;并存储到CSV文件 V1.0 目标网站&#xff1a;红网 爬取目的&#xff1a;为了获取某一地区更全面的在红网已发布的宣传新闻稿&#xff0c;同时也让自己的工作更便捷 环境&#xff1a;Pycharm2021&#…...

CentOS 使用 Cronie 实现定时任务

CentOS 使用 Cronie 实现定时任务 文章目录 CentOS 使用 Cronie 实现定时任务一、简介二、基本使用1、常用命令2、使用示例第一步&#xff1a;创建脚本/home/create.sh第二步&#xff1a;添加定时任务第三步&#xff1a;重启 cronie 服务额外&#xff1a;查看 cronie 运行状态定…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...