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.rhkb.cn/news/298289.html

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

相关文章

leetcode.203. 移除链表元素

题目 题意&#xff1a;删除链表中等于给定值 val 的所有节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5] 示例 2&#xff1a; 输入&#xff1a;head [], val 1 输出&#xff1a;[] 示例 3&#xff1a; 输入&#…

LeetCode 热题 100 | 贪心算法

目录 1 121. 买卖股票的最佳时机 2 55. 跳跃游戏 3 45. 跳跃游戏 II 4 763. 划分字母区间 菜鸟做题&#xff0c;语言是 C 1 121. 买卖股票的最佳时机 解题思路&#xff1a; 维护一个变量 max_pricemax_price 用于存储排在 i 天之后的股票最高价格第 i 天的最高利润 …

【MySQL】:深入解析多表查询(上)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 多表关系1.1 一对多1.2 多对多1.3 一对一 二. 多表查询概述2.1 概述2.2 分类…

升级一下电脑,CPU换I5-14600K,主板换华硕B760M

刚给自己电脑升级了一下&#xff0c;CPU从 AMD R5 5600X 换成 Intel I5-14600K&#xff0c;主板换成了华硕的 TUF GAMING B760M-PLUS WIFI D4。 因为我现有的两根内存是DDR4的&#xff0c;所有我选了个支持DDR4内存的主板。 我发现用AMD处理器时将系统从Win10升级到Win11后变…

基于SSM的邮票鉴赏系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的邮票鉴赏系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Spri…

frp内网穿透,让外网可以访问内网

需求 我们的svn部署在内网&#xff0c;用的一直没问题&#xff0c;但是有时候有需求在外网访问svn&#xff0c;进行提交更新等操作&#xff0c;这时候就有了内网穿透这个需求。 当然&#xff0c;我们也可以借助花生壳等软件进行内网穿透&#xff0c;傻瓜化操作&#xff0c;也…

Yarn的安装和使用(2):使用及问题解决

Yarn是JavaScript的依赖管理工具&#xff0c;它与npm类似&#xff0c;但提供了一些额外的性能优化和一致性保证。 Yarn的使用&#xff1a; 初始化项目&#xff1a; yarn init 此命令会引导您创建一个新的package.json文件&#xff0c;用于记录项目的元信息和依赖。 添加依赖&…

如何更新Code::blocks的MinGW

前言 LVGL V9版本更新了很多新特性&#xff0c;其中windows平台部分也进行了优化&#xff0c;如果你是用的是Code::blocks体验LVGL那么在编译时会不通过&#xff1b;因为如果你使用的是 Code::blocks 20.03并且使用内置的MinGW&#xff0c;那么就会因为MinGW版本过低遇到下面所…

c++的学习之路:12、vector(1)

这章主要是根据cplusplus中的文档进行使用Vector&#xff0c;文章末附上测试代码。 目录 一、什么是vector 二、vector的简单使用 三、代码 一、什么是vector 下图是cplusplus的简介&#xff0c;上面一共有六点&#xff0c;如下&#xff1a; 1、vector是表示可变大小数组…

Ant Design Vue table固定列失效问题解决

问题描述&#xff1a;项目中封装好的公共table组件&#xff0c;基于Ant Design Vue table封装&#xff1b;使用中&#xff0c;用到了列固定&#xff0c;但是没生效&#xff0c;找了好久的原因。。。最后是因为外层容器标签导致&#xff1b; 解决方法&#xff1a;如果a-table组件…

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令&#xff08;重要&#xff09; 06.rmdir指令 && rm 指令&#xff08;重要&#xff09; 07.man指令&#xff08;重要&#xff09; 07.cp指令&#xff08;重要&#xff09; 08.mv指令&#…

理解 SQL 数据添加:从基础到实践

引言&#xff1a; 在现代软件开发中&#xff0c;数据库是不可或缺的一部分。而 SQL 作为结构化查询语言的代表&#xff0c;广泛应用于数据库管理系统中&#xff0c;为我们提供了强大的数据管理和查询能力。 主题&#xff1a; 我们将从基础的 SQL INSERT INTO 语句开始&…

EVM Layer2 主流解决方案

深度解析主流 EVM Layer 2 解决方案&#xff1a;zk Rollups 和 Optimistic Rollups 随着以太坊网络的不断演进和 DeFi 生态系统的迅速增长&#xff0c;以太坊 Layer 2 解决方案日益受到关注。 其中&#xff0c;zk Rollups 和 Optimistic Rollups 作为两种备受瞩目的主流 EVM&…

地质地貌卫星影像集锦(三 矿产资源篇)

1. 元古代沉积岩的抬升 这个地区位于Leigh Creek中部&#xff0c;距离澳大利亚南部的阿德莱德约500km&#xff0c;弗林德斯山脉的北面是Gawler克拉通。弗林德斯山脉是由元古代沉积岩抬升后形成的块体&#xff0c;在其之下的是寒武纪的岩石&#xff0c;它座落在距阿德莱德北…

How to install JDK on mac

文章目录 1. Install JDK on mac2. zshenv, zshrc, zprofile3. 查看java环境变量配置 1. Install JDK on mac Installation of the JDK on macOS 2. zshenv, zshrc, zprofile How Do Zsh Configuration Files Work? 3. 查看java环境变量配置 open Terminal&#xff0c;cd…

HTTP 常见面试题(计算机网络)

HTTP 基本概念 一、HTTP 是什么&#xff1f; HTTP(HyperText Transfer Protocol) &#xff1a;超文本传输协议。 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 「HTTP 是用于从互联网服务器传输超文本到本…

虚拟机打不开

问题 另一个程序已锁定文件的一部分&#xff0c;进程无法访问 打不开磁盘“G:\centeros\hadoop104kl\hadoop100-cl2.vmdk”或它所依赖的某个快照磁盘。 模块“Disk”启动失败。 未能启动虚拟机。 原因 前一次非正常关闭虚拟机导致.lck 文件是VMWare软件的一种磁盘锁文件&…

【java探索之旅】逻辑控制掌握 顺序结构 分支语句

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、逻辑控制的概念二、顺序结构三、分支结构3.1 if语句3.2 if习题巩固3.3 细节注意项…

【QT+QGIS跨平台编译】056:【pdal_lepcc+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_lepcc介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_lepcc介绍 pdal_lepcc 是 PDAL(Point Data Abstraction Library)的一个插件,用于点云数据的压缩。它基于 EPCC(Entwine Point Cloud Compression)算法,提供了对点…

【C++】list模拟实现

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. list源码3. 初始化3.1 构造3.2 拷贝构造3.3 赋值3.4 析构 4. 迭代器4.1 后置加加和前置加加4.2 后置减减和前置减减4.3 解引用4.4 &#xff01;和4.5 begin 和 end4.6 const迭代器4.7 迭代器优化 5. Modifi…