Linux目录结构与文件管理 (02)(四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、查看文件内容
二、创建文件
三、删除文件
四、 移动文件
五、复制文件
六、编辑文件内容
总结
前言
今天是在昨天的基础上继续学习,主要是学习文件管理的部分,还是一些基本的操作命令,同样也是学习Linux 最基础的部分,对于我们刚学习的人来说也很重要,望一起共勉。
一、查看文件内容
1、cat 将文件内容直接打印到终端(标准输出)
选项 -n显示行号
2、more 将文件内容分页显示到终端
用法: enter 向下翻行
空格 向上翻页
q 退出
缺点:只能向下,不能向上
不支持查找

3、less 将文件内容分页显示到终端
用法: 翻行 enter
方向键
翻页 空格
pgup
pgdn
返回文件首页
g
home键
跳转到文件末尾
G
end键
根据关键字查找
/关键字
n向下查找
N向上查找
退出
q

4、head 显示文件内容的前几行 ( 默认显示前10行 )
选项
-n 要显示的行数
-要显示的行数

5、tail 显示文件内容的后几行 ( 默认显示10行 )
选项
-n 要显示的行数
- 要显示的行数
-f
动态显示文件内容
监视文件内容的变化
应用场景 : 动态监视日志

6、管道符 |
将前一个命令处理的结果交给后一个命令进行再次处理 (流水线 )
例:显示/etc/virc文件的第5行 命令: head -5 virc | tail -1

二、创建文件
1、touch 空文件
touch /path/fileName
2、重定向符号
正确重定向 > 覆盖
>> 追加
错误重定向 2> 覆盖
2>> 追加
混合重定向 &> 覆盖
&>> 追加
3、echo 非空文件
echo > /path/fileName
echo 内容 > /path/fileName

4、vim 默认空文件
vim /path/fileName
:wq! (强制保存退出)


三、删除文件
rm 删除文件
选项 -i 交互式询问是否操作
-f 强制删除

四、 移动文件
重命名
当前目录重命名 mv old_fileName new_fileName
移动后重命名 mv /source_path/old_fileName /dest_path/fileName
移动
mv /source_path/fileName /dest_path/

五、复制文件
cp 复制文件
选项
-i 当目标文件已存在时,交互式询问是否操作
-p 保留属主及属组权限复制文件
-f 当目标文件存在,先删除后复制

六、编辑文件内容
vim 编辑文件内容
模式类型:
1、命令模式 vim 进入文件的初始模式
用法:
(1) G 跳转到文件末尾
(2) gg 返回文件首行
(3)同行跳转
跳到首字符
home键
ctrl + ^
跳到尾字符
end键
ctrl + $
(4)复制行
单行 yy
多行 要复制的行数yy ( 从光标所在行开始 )
(5)粘贴行
p 将光标移动到想要粘贴位置的上一行
P 将光标移动到想要粘贴位置的下一行
(6) 撤销操作 u (注意:进行保存且退出后无效)
(7) 删除行
单行 dd
多行 要删除的行数dd ( 从光标所在行开始 )
(8)同行删除部分字段 D ( 从光标所在字符到行尾 )
(9)替换某一个字符 r ( 光标所在字符 )
(10)删除单个字符 del键 ( 光标所在字符的后一个字符 )
(11)根据关键字查找
/关键字
n向下查找
N向上查找
(12)保存且退出 ZZ
(13)进入其他模式
插入模式
末行模式
2、插入模式
(1) 进行文件内容编辑
(2)进入插入模式
在命令模式下输入
a 在当前光标的后一个字符插入
o 在当前光标的下一行插入
i 在当前光标所在字符插入
返回命令模式时会将光标迁移一个字符
A 在光标所在行的尾字符后插入
I(大写i) 在光标所在行的首字符插入
O 在当前光标的上一行插入
(3)返回命令模式 ESC
3、视图模式
进行行选中 v
4、视图块模式
(1)进行列选中 ctrl + v
注释 #
(2)常用操作
批量删除注释
ctrl + v
利用上下方向键选中
del
批量增加注释
ctrl + v
利用上下方向键选中
输入 大写i I
输入#
按两次ESC
5、末行模式
(1)保存、退出及字符串替换
:
(2) 操作
保存 :w
不保存退出 :q
保存退出
:wq
:x
强制 !
设置密码并保存退出
:X
输入密码
:wq
取消密码
:X
enter 回车两次
:wq
设置行号 :set nu ( 退出后失效 )
取消行号 :set nonu
取消高亮 :nohl
跳转到指定行 :行号
字符串匹配替换
全文替换
首个匹配替换 :%s/keyword/neword/
所有匹配替换 :%s/keyword/neword/g
指定行替换
首个匹配替换 :指定行号s/keyword/neword/
所有匹配替换 :指定行号s/keyword/neword/g
范围替换
首个匹配替换 :起始行号,结束行号s/keyword/neword/
所有匹配替换 :起始行号,结束行号s/keyword/neword/g
总结
今天学习的是文件管理的部分,标红的是必须要记住的,没有商量的余地;没有标红的同样也是很重要的,需要我们熟练掌握和运用。所以,无论如何都是要记住的重要内容。(很重要、很重要、很重要)
相关文章:
Linux目录结构与文件管理 (02)(四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、查看文件内容 二、创建文件 三、删除文件 四、 移动文件 五、复制文件 六、编辑文件内容 总结 前言 今天是在昨天的基础上继续学习,主要…...
对1GHz脉冲多普勒雷达进行快速和慢速处理生成5个移动目标的距离多普勒图研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
uni.uploadFile上传 PHP接收不到
开始这样,后端$file $request->file(file);接收不到 数据跑到param中去了 去掉Content-Type,就能接收到了 param只剩下...
2023年高教社杯 国赛数学建模思路 - 复盘:光照强度计算的优化模型
文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&…...
Netty简易聊天室
文章目录 本文目的参考说明环境说明maven依赖日志配置单元测试 功能介绍开发步骤 本文目的 通过一个简易的聊天室案例,讲述Netty的基本使用。同时分享案例代码。项目中用到了log4j2,junit5,同时分享这些基础组件的使用。项目中用到了awt&…...
Flutter Cannot run with sound null safety, because the following dependencies
flutter sdk 版本升级到2.0或者更高的版本后,运行之前的代码会报错 Error: Cannot run with sound null safety, because the following dependencies dont support null safety:- package:flutter_swiper- package:flutter_page_indicator- package:transformer_p…...
利用改进的遗传算法(种群隔离与个体迁移)mpi并行解决tsp问题
序 关于tsp问题的概述以及如何使用遗传算法进行求解已经在上一篇文章中说明了:遗传算法解决TSP问题. 但是,作为一种演化算法,遗传算法还存在着许多问题,比如早熟的情况,很容易在算法前期就已经收敛了,大量…...
【C++】—— C++11之线程库
前言: 在本期,我将给大家介绍的是 C11 中新引进的知识,即关于线程库的相关知识。 目录 (一)线程库的介绍 1、线程库的由来 2、线程库的简单介绍 (二)线程函数参数 (三…...
前端面试:【性能优化】前端缓存、CDN、懒加载和预加载
亲爱的前端开发者,Web性能对用户体验至关重要。如果你想让你的网站更快、更具吸引力,就需要关注前端性能优化。在这篇文章中,我们将深入探讨四个关键的性能优化策略:前端缓存、CDN(内容分发网络)、懒加载和…...
民族传统文化分享系统uniapp 微信小程序
管理员、用户可通过Android系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、用户管理、知识分类管理、知识资源管理、用户分享管理、意见反馈、系统管理,用户前端;首页、知识资源、用户分享、我的等。 本系统的使用…...
netty(二):NIO——处理可写事件
处理可写事件 什么情况下需要注册可写事件? 在服务端一次性无法把数据发送完的情况下,需要注册可写事件 服务端一次性是否能够把数据全部发送完成取决于服务端的缓冲区大小,该缓冲区不受程序控制 注册可写事件的步骤 判断ByteBuffer是否仍…...
PHP基本语法解析与应用指南
PHP(Hypertext Preprocessor)是一种广泛应用的开源脚本语言,特别适用于Web开发。本文将深入探讨PHP的基本语法,包括变量、数据类型、运算符、控制流等方面的内容。我们将详细介绍每个主题的基本概念、语法规则和常见应用ÿ…...
ICS PA1
ICS PA1 init.shmake 编译加速ISA计算机是个状态机程序是个状态机准备第一个客户程序parse_argsinit_randinit_loginit_meminit_isa load_img剩余的初始化工作运行第一个客户程序调试:零断点TUI 基础设施单步执行打印寄存器状态扫描内存 表达式求值词法分析递归求值…...
Java学数据结构(4)——散列表Hash table 散列函数 哈希冲突
目录 引出散列表Hash table关键字Key和散列函数(hash function)散列函数解决collision哈希冲突(碰撞)分离链接法(separate chaining)探测散列表(probing hash table)双散列(double hashing) Java标准库中的散列表总结 引出 1.散列表,key&…...
OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 论文阅读
论文信息 题目:OVRL-V2: A simple state-of-art baseline for IMAGENAV and OBJECTNAV 作者:Karmesh Yadav, Arjun Majumdar, Ram Ramrakhya 来源:arxiv 时间:2023 代码地址: https://github.com/ykarmesh…...
【安全】原型链污染 - Hackit2018
目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下,然后可以试着访问一下,报错是因为里面没内容而已,不影响,准备工作就做好了 解题 代码审计 const express require(express) var hbs require…...
net.ipv4.ip_forward=0导致docker容器无法与外部通信
在启动一个docker容器时报错: WARNING: IPv4 forwarding is disabled. Networking will not work. 并且,此时本机上的其他容器的网络服务,只能在本机上访问,其他机器上访问不到。 原因: sysctl net.ipv4.ip_forward …...
软考高级系统架构设计师系列论文九十八:论软件开发平台的选择与应用
软考高级系统架构设计师系列论文九十八:论软件开发平台的选择与应用 一、相关知识点二、摘要三、正文四、总结一、相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构二、摘要 本文讨论选择新软件开发平台用于重新开发银行中间业务系统。银行中…...
Springboot整合WebFlux
一、使用WebFlux入门 WebFlux整合MysqlWebFlux整合ESWebFlus整合MongdbWebFlus整合Redis 1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.2.1.…...
uniapp 实现地图距离计算
在uniapp中实现地图距离计算可以借助第三方地图服务API来实现。以下是一种基本的实现方式: 注册地图服务API账号:你可以选择使用高德地图、百度地图等提供地图服务的厂商,注册一个开发者账号并获取API密钥。 安装相关插件或SDK:根…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
