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 命令搜索一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVAEE之IoCDI

Spring 是⼀个 IoC&#xff08;控制反转&#xff09;容器&#xff0c;作为容器, 那么它就具备两个最基础的功能&#xff1a; • 存 • 取 Spring 容器管理的主要是对象, 这些对象, 我们称之为"Bean". 我们把这些对象交由Spring管理, 由 Spring来负责对象的创建…

想学网络安全,从哪里开始?网络安全的学习路线

网络安全学习路线&#xff1a; 想学习网络安全专业的知识&#xff0c;想当黑客&#xff0c;但是不知道该从哪里开始学。 我给你一个路线&#xff01; 清晰图片和大纲&#xff1a;https://docs.qq.com/doc/DU1lpVFpSbWVrd2p3

面试官:为什么忘记密码要重置,而不是告诉我原密码?

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello&#xff0c;大家好&#xff0c;我是 Sunday。 最近有个同学在面试中遇到了一个很有意思的问题&#xff0c;我相信大多…

蓝桥杯23年第十四届省赛-异或和之和|拆位、贡献法

题目链接&#xff1a; 蓝桥杯2023年第十四届省赛真题-异或和之和 - C语言网 (dotcpp.com) 1.异或和之和 - 蓝桥云课 (lanqiao.cn) 参考题解&#xff1a; 蓝桥杯真题讲解&#xff1a;异或和之和 &#xff08;拆位、贡献法&#xff09;-CSDN博客 洛谷P9236 [蓝桥杯 2023 省 A]…

【T5中的激活函数】GLU Variants Improve Transformer

【mT5中的激活函数】GLU Variants Improve Transformer 论文信息 阅读评价 Abstract Introduction Gated Linear Units (GLU) and Variants Experiments on Text-to-Text Transfer Transformer (T5) Conclusion 论文信息 名称内容论文标题GLU Variants Improve Transfo…

flutter获取手机中的系统路径信息

https://www.bilibili.com/video/BV1wE421g7sw获取系统中的路径 获取系统中的路径&#xff0c;并在这个路径中创建一个文本文件【str.txt】 然后进行写入【str.txt】 再读取这个文件【str.txt】 手机没有开通root权限无法看到写入到【应用程序文档目录】路径中的文件 用来…

MySQL故障排查与优化

一、MySQL故障排查 1.1 故障现象与解决方法 1.1.1 故障1 1.1.2 故障2 1.1.3 故障3 1.1.4 故障4 1.1.5 故障5 1.1.6 故障6 1.1.7 故障7​ 1.1.8 故障8 1.1.9 MySQL 主从故障排查 二、MySQL优化 2.1 硬件方面 2.2 查询优化 一、MySQL故障排查 1.1 故障现象与解决方…

【考研经验贴】24考研860软件工程佛系上岸经验分享【丰富简历、初复试攻略、导师志愿、资料汇总】

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解24考研860软件工程佛系上岸经验分享【丰富简历、初复试攻略、导师志愿、资料汇总】&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; 目…

玩转C语言——文件操作、预处理、编译、链接

前言&#xff1a; 经过前面的学习&#xff0c;我们已经对C语言的语法学习完毕了&#xff0c;今天&#xff0c;我们这节内容是为了修炼内功&#xff0c;为以后的学习打下一个坚实基础。话不多说&#xff0c;开始我们今天的学习吧&#xff01; 一、文件操作 1.⼆进制⽂件和⽂本⽂…

一文了解低功耗蓝牙BLE

低功耗蓝牙技术可以构建两种类型的设备:双模设备和单模设备。双模设备既支持经典蓝牙又支持低功耗蓝牙。单模设备只支持低功耗蓝牙。还有仅支持经典蓝牙的设备。 在链路层,设备被分为广播者、扫描者、从设备和主设备。广播者是传输数据包的设备,扫描者是接收广播者的数据包…

C语言 | Leetcode C语言题解之第10题正则表达式匹配

题目&#xff1a; 题解&#xff1a; bool isMatch(char* s, char* p) {int m strlen(s);int n strlen(p);// dp[i][j] 表示 s 的前 i 个字符和 p 的前 j 个字符是否匹配bool dp[m 1][n 1];memset(dp, false, sizeof(dp));dp[0][0] true; // 空字符串和空模式匹配// 处理 …

00-JAVA基础-javassist字节码操作

字节码操作 什么是字节码 Java字节码&#xff08;Java bytecode&#xff09;是Java虚拟机&#xff08;JVM&#xff09;执行的一种虚拟指令格式。它是由Java编译器生成的&#xff0c;基于栈的指令集&#xff0c;用于在Java虚拟机上执行。字节码文件包含了JVM能够识别的指令&am…

【JSON2WEB】 12基于Amis-admin的动态导航菜单树

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

Flume 拦截器概念及自定义拦截器的运用

文章目录 Flume 拦截器拦截器的作用拦截器运用1.创建项目2.实现拦截器接口3.编写事件处理逻辑4.拦截器构建5.打包与上传6.编写配置文件7.测试运行 Flume 拦截器 在 Flume 中&#xff0c;拦截器&#xff08;Interceptors&#xff09;是一种可以在事件传输过程中拦截、处理和修改…

FreeRtos入门-4 事件组与同步点

事件组 事件组 同步点 创建 xEventGroupCalc xEventGroupCreate();//1&#xff0c;创建事件组 xEventGroupSyc xEventGroupCreate() 设置 xEventGroupSetBits(xEventGroupCalc,(1<<0));//设置事件组bit0 位 xEventGroupSync(xEventGroupSyc,BUSYING,ALL,portMAX…

VB 通过COM接口解析PSD文件

最近有PS测评的需求&#xff0c;故而想到了解析psd文件&#xff0c;目的就是为了获取文档信息和图层信息&#xff1b;获取PS的图像信息有很多方式&#xff0c;有过程性的&#xff0c;比如监听PS的各种操作事件&#xff1b;有结果性的&#xff0c;比如本文写的解析PSD文件。 0.…

使用pip安装geopandas(24.4更新)

geopandas是我们用Python进行地理分析常用的库&#xff0c;在数据处理、分析、制图等场景中有着极为广泛的应用&#xff0c;但是在安装过程中会出现各种问题。​geopandas的安装方式有很多&#xff0c;今天我们选取较为简单的pip来进行geopandas的安装。 ​首先&#xff0c;我…

内部类(InnerClass)

概述 什么是内部类 将一个类A定义在另一个类B里面&#xff0c;里面的那个类A就称为内部类&#xff08;InnerClass&#xff09;&#xff0c;类B则称为外部类&#xff08;OuterClass&#xff09;。 为什么要声明内部类呢 具体来说&#xff0c;当一个事物A的内部&#xff0c;还有…

Java web第一次作业

1.学会用记事本编写jsp文件&#xff0c;并放进tomcat的相关目录下&#xff0c;运行。 源代码&#xff1a; <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head> <title>我的第一个JSP页面</ti…