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

浙江建设工程合同备案网站/产品网络营销方案

浙江建设工程合同备案网站,产品网络营销方案,wordpress移动端底部导航,wordpress百家主题欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…

  欢迎来到 CILMY23 的博客

🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术

🏆个人主页:CILMY23-CSDN博客

🏆系列专栏:Python | C++ | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营

🏆感谢观看,支持的可以给个一键三连,点赞收藏+评论。如果你觉得有帮助,还可以点点关注


 前言:

上期一篇总结系列,我们谈到了重定向的概念,我们还了解了输出重定向,本期就利用输出重定向来伪造一个大文件,并对这个大文件进行各种操作。

我们本期将了解的指令有:

1. mv 指令(⭐)         2. cat 指令 (⭐)         3. more 指令         4.less 指令         5.head 指令         6. tail 指令 


目录

如何伪造一个大文件?

1.mv 指令(⭐) 

2. cat 指令 (⭐)

 tac 指令

 3. more 指令

 4. less 指令

5. head 指令

6. tail 指令 

总结


如何伪造一个大文件?

 我们可以使用以下指令来伪造一个大文件:

i=1; while [ $i -le 100000 ]; do echo "hello ubuntu $i"; let i++;done > big.txt

使用指令 ll 我们可以看到,big.txt具有1888895字节大小。 

 

 这个指令的解析如下:

  1.  i=1: 初始化变量 i 为 1,作为循环计数器。
  2. while [ $i -le 100000 ]; do: 循环条件,当 i 小于等于 100000 时,执行循环体。
  3. echo "hello ubuntu $i": 循环体,每次循环执行以下操作:echo "hello ubuntu $i":将字符串 "hello ubuntu" 和当前 i 的值拼接在一起,并输出到终端。
  4. let i++: 将 i 的值增加 1,准备下一轮循环。
  5. done: 循环结束标志。
  6. > big.txt: 将整个循环的输出重定向到名为 big.txt 的文件中。 

这样我们的文件就伪造好了,接下来我们就开始指令的学习

1.mv 指令(⭐) 

mv 命令是 move 的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录

💫💫指令:mv

💫💫功能:用来移动文件或者将文件改名也可以用来备份文件或者目录

作用1:在指定的目录下,对一个文件或目录进行重命名

我们直接上实操更容易理解,我们现在在桌面的 a 文件夹中。

我们可以看到我们的大文件是 big.txt,现在我想改名字就可以通过 mv 指令 

我们输入

mv big.txt ./a.txt 

就可以发现 big.txt 被重命名成一个 a.txt 文件了。这就跟我们Windows系统中的重命名一样。 

作用2: 将指定目录下的文件或者目录,”剪切“到指定的目录下

我利用相对路径,将指定的文件 aa 移动到了桌面文件夹 aa 中, 我们可以发现我们把 a.txt 文件移动过来的时候,还顺手改了个名字。

 这就是我们 mv 指令的第三个作用:剪切的同时还可以重命名文件

所以 mv 指令的用法很明显了,mv 源文件 指定目录(重命名)

2. cat 指令 (⭐)

cat(“ concatenate ”的缩写)命令是Linux操作系统中常用的命令之一。它可以用来查看文件内容

💫💫指令:cat

💫💫功能:查看目标文件的内容

我们可以在屏幕中输入,cat big.txt ,就可以直接查看目标文件的内容。但是这样不方便看,所以我们就用一个code.c文件进行演示。

 code.cpp文件是我在C++文件中用来验证 vector的扩容机制。

可以看到整个小文件都基本输出在我们的屏幕上。

我们还可以通过附加选项来查看。

比如我们输入 cat -n code.cpp 的时候,我们就可以查看对应的行号。

 那如果我们的文件中,有这么多空余的行,就可以使用 cat -s,使屏幕不打印这些。 

 

 效果如下:

总结:

  1. cat -n 文件 : 对输出的所有行编号 
  2. cat -s 文件 : 不输出多行空行

 cat 还有一种用法:

💫💫用法扩展:cat 回车

💫💫功能:等待用户输入,并且打印到屏幕上

效果如下: 默认从键盘文件读数据,然后输出到显示器文件中。

 

所以 cat 就是把文本内容给我们显示到公屏上,之前的指令,像ls,ll 都是针对文件属性来操作,现在是对文件内容操作,cat适合查看小文件,不适合查看太大的文件,因为大文件,要显示出来太麻烦,所以我们等会就接触了 more 指令和 less 指令。 

 tac 指令

在这里插入一个 tac 指令, tac 是用来逆向查看目标文件的内容

💫💫指令:tac

💫💫功能:逆向查看目标文件的内容

 实操:

但是 tac 没有 -n 这些选项来进行逆向打印。 

 3. more 指令

more 指令的功能类似cat,它可以用来查看大文件内容,也可以用来查看小文件。cat 不擅长查看大文本的原因:是因为每次查看文本内容都会直接跳到内容底部,想从头看起很麻烦。

💫💫指令:more

💫💫功能:查看目标文件的内容

当我们输入 more big.txt 的时候,我们可以使用回车进行上下翻页, 

按回车上下翻页: 

同时也可以使用/999 进行搜索关键字。

所以more命令,功能类似 cat,它可以打满一屏的输出,然后停下来,等待用户下翻进行阅读,但是并不推荐使用 more 命令。   所以就有下一个指令 -- less

 4. less 指令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

💫💫指令:less

💫💫功能:查看目标文件的内容,less与more类似,但使用less可以随意浏览文件,而more仅能向后移动,却不能向前移动,而且less在查看之前不会加载整个文件。

less指令的优势: 

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,  只能往后面看 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 

实操:

less 指令可以按键盘的上下键来操作,更好用,更方便,推荐使用,这一块大家自己体验就行。 

5. head 指令

 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然就是看档案的结尾

💫💫指令:head

💫💫功能:查看目标文件的开头内容,用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

实操:

head 默认输出前十行的内容。 

我们可以通过增加选项来输出指定的行数。

6. tail 指令 

tail 命令从指定点开始将文件写到标准输出.

使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件,tail - f filename 会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 

💫💫指令:tail

💫💫功能:查看目标文件的末尾内容,用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

实操如下:

这里和head 的指令是一样的,我就不多演示了。 


总结

  1. mv 指令
    操作:mv 源文件 指定目录(重命名)
    功能:mv 指令可以用来重命名文件,相当于Windows系统中的剪切功能,同时可以边剪切,边重命名
  2. cat 指令
    操作: cat 文件
    功能: 用来查看目标文件的内容,更适合用来查看小文件内容。
    扩展用法:
    cat -n :对输出的所有行编号 
    cat -s :不输出多行空行
    cat 回车:默认从键盘文件读数据,然后输出到显示器文件中
  3. tac 指令
    操作: tac 文件
    功能: 用来逆向查看目标文件的内容
  4. more 指令(不推荐)
    操作: more 文件
    功能: 打满一屏的输出,然后停下来,等待用户下翻进行阅读
    补充用法:q 退出 more ,-n 输出编号
  5. less 指令
    操作: less 文件
    功能: 打满一屏的输出,然后停下来,等待用户上下翻进行阅读,同时还支持向上或向下查询
    补充用法:q 退出
  6. head 指令
    操作: head 文件
    功能: 默认查看文件前十行,可以通过增加选项查看指定行数
  7. tail 指令
    操作: tail 文件
    功能: 默认查看文件后十行,可以通过增加选项查看指定行数

 🛎️感谢各位同伴的支持,本期文件篇的指令讲解专题就讲解到这啦,下期我们将进入时间指令篇,如果你觉得写的不错的话,可以给个一键三连,点赞,收藏+评论,可以的话还希望点点关注,若有不足,欢迎各位在评论区讨论。      

相关文章:

【Linux】文件变身大作战:Linux下的文件重命名艺术

欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…...

字节的存储和字符的存储

字节的存储 内存中的存储 基本数据类型: 在Java中,byte 类型占用 1 个字节(8 位)。它的取值范围是从 -128 到 127。存储在内存中的 byte 数据可以直接操作,例如通过数组或变量访问。 数据结构: byte 数组…...

Markdown插入Base64格式的图片,无需图床,稳定保存

Markdown插入Base64格式的图片,无需图床,稳定保存 我是一个Markdown的爱好者,转存图片是MD经常出问题的地方,因为MD不像其他富文本编辑器,将图片内嵌到文件中,而是用链接的形式引用,或网络链接…...

weblogic 连接gaussdb测试数据源是否联通

文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…...

如何成为全域运营商?掌握这2种申请方式就够了!

随着全域概念的兴起,全域运营商的职业前景和收益空间逐渐显现,并迅速成为了热门创业赛道中的一份子,连带着如何成为全域运营商等入局方式相关话题也成为了众多创业者热议的焦点。 不过,从市场现状来看,作为涵盖公域和私…...

@ConfigurationProperties加在方法上

ConfigurationProperties注解通常用于将外部配置文件(如application.properties或application.yml)中的属性映射到Java类中。它通常加在类上,但也可以加在方法上。加在方法上时,通常与Bean注解一起使用,以便将配置属性…...

使用CUBEMX配置的USB大容量存储设备主机库获取LUN数量的不严谨代码纠正

最近在使用usb主机库驱动U盘直接进行扇区读写。 发现MSC库中获取LUN相关代码有问题 代码如下 其中 status USBH_MSC_BOT_REQ_GetMaxLUN(phost, (uint8_t *)(void *)&MSC_Handle->max_lun); MSC_Handle->max_lun (MSC_Handle->max_lun > MAX_SUPPORTED_L…...

合并重叠的区间

这一题不能用差分数组&#xff0c;因为 [1 , 4] [5, 6] 这个就会被合并&#xff0c;正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…...

docker和运维

创建服务 docker service create --name order --network my-net -p 8080:8080 -d xxx 加入swarm集群 docker swarm join --token xxx 更新结点名字为mysql docker node update --label-add servermysql ecs-82ec-0003 创建MySQL服务 docker service create --name mysql --con…...

苍穹外面day13(day10)---订单状态定时处理、来单提醒和客户催单

Spring Task 同学们可以看我这篇文章 Spring Task初学-CSDN博客 订单状态定时处理 新建OrderTask /*** 定时任务类&#xff0c;定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…...

RCE和php文件上传

一、远程命令执行&#xff08;RCE&#xff09; RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中&#xff0c;如PHP。 RCE漏洞原理 PHP中的一些函数可以执行命令或代码&#xff0c;但如果对这些函数的输入未加限制&a…...

nextjs 实现TodoList网页应用案例

参考&#xff1a; https://nextjs.org/ Next.js 是用于网络的一种 React 框架。一些世界上最大的公司在使用它&#xff0c;它能够借助 React 组件的力量让您创建高质量的网络应用程序。 1、创建项目&#xff1a; 另外注意&#xff1a;pages与app路由存在冲突&#xff0c;如果有…...

U盘格式化了怎么恢复数据?教你U盘恢复妙招

U盘作为便携式存储设备&#xff0c;在我们的日常生活和工作中发挥着重要作用。然而&#xff0c;有时由于操作失误或其他原因&#xff0c;我们可能会格式化U盘&#xff0c;从而导致数据丢失。当遭遇这种情况时&#xff0c;很多人会感到焦虑和困惑。不过&#xff0c;幸运的是&…...

化工厂室内外4G/5G+蓝牙+GPS/北斗RTK人员定位系统解决方案

化工厂是高风险场所&#xff0c;含有大量有毒、易燃、易爆、易腐蚀等化学物品&#xff0c;并且环境复杂、设备繁多&#xff0c;一旦出现人为疏忽或者违规操作很容易引发重大安全事故&#xff0c;因此对化工厂员工、外来访客进行科学合理地管控&#xff0c;提升化工厂管理人员管…...

【知识跨境电商API接口丨python数分实战】国际电商平台用户成交转化分析

今天这篇文章将给大家介绍国际电商平台用户成交转化分析案例。 01 初步思路 问题已经明确 GMV的下降&#xff0c;可能出在用户下单成交环节。 这里需要明确GMV下降是今年与去年相比吗&#xff1f;明确GMV下降到底如何判断出来的&#xff1f;对比的对象是什么&#xff1f;如…...

【SpringBoot】Java对象级联校验

对于Javabean对象中的普通属性字段&#xff0c;我们可以直接使用注解进行数据校验&#xff0c;那如果是关联对象呢&#xff1f;其实也很简单&#xff0c;在属性上添加Valid就可以作为属性对象的内部属性进行验证。 public class User{ Size(min3,max5,message"list的Size在…...

【Redis 进阶】哨兵 Sentinel(重点理解流程和原理)

Redis 的主从复制模式下&#xff0c;一旦主节点由于故障不能提供服务&#xff0c;需要人工进行主从切换&#xff0c;同时大量的客户端需要被通知切换到新的主节点上&#xff0c;对于上了一定规模的应用来说&#xff0c;这种方案是无法接受的&#xff0c;于是 Redis 从 2.8 开始…...

CSS实现元素hover时背景色拉伸渐变

HTML代码 <ul><li><p><a href"#">Facebook搜索</a></p></li><li><p><a href"#">Instagram搜索</a></p></li><li><p><a href"#">Google搜索&…...

Activity收不到bundle值

Activity有四种启动模式&#xff0c;一般为默认。 当Activity的启动模式为singleTask或singleInstance的时候&#xff0c;通过Intent传值&#xff0c;getIntent是接收不到值的&#xff0c;为null。 当Activity的启动模式为singletop的时候&#xff0c;若Activity位于栈顶&…...

ZBrush

所有建模软件最开始需要搞清楚的就是基础操作&#xff0c;如旋转视角&#xff0c;放大缩小&#xff0c;移动等&#xff0c;一般可以看上手教程 zbrush中雕刻很重要的概念是笔刷&#xff1a;ZBrush笔刷介绍-CSDN博客 基本操作 编辑模式&#xff1a;T 清除画布&#xff1a;ctr…...

【多线程-从零开始-贰】线程的构造方法和常见属性

Thread 的常见构造方法 在创建线程的时候&#xff0c;是可以给线程起名字的。默认为 Thread-0 、Thread-1… 不会影响线程执行效果&#xff0c;可以更好地进行管理 ThreadGroup -线程组 把多个线程放到一组里&#xff0c;方便统一的设置线程的一些属性不过现在很少用到&#…...

力扣:100379. 新增道路查询后的最短距离 I(Java,BFS)

目录 题目描述&#xff1a;示例 &#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < …...

程序开发的常用设计思想

程序开发的设计思想多种多样&#xff0c;每种思想都旨在提高软件的可读性、可维护性、可扩展性和性能。以下是一些常见的程序开发设计思想&#xff1a; 1. 面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09; 核心思想&#xff1a; 将程序视为对象的集合…...

Qt之Gui

组件依赖关系 应用 #mermaid-svg-GADicZtZJRVVUeiF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GADicZtZJRVVUeiF .error-icon{fill:#552222;}#mermaid-svg-GADicZtZJRVVUeiF .error-text{fill:#552222;stroke:#…...

Linux操作系统之进程信号

进程信号 一、信号1、概念2、系统定义的信号列表3、常见的信号处理方式 二、产生信号的方式1、终端按键&#xff08;1&#xff09;组合键&#xff08;2&#xff09;示例代码&#xff08;3&#xff09;运行结果 2、调用系统函数&#xff08;1&#xff09;kill命令&#xff08;2&…...

科普文:微服务之Spring Cloud Alibaba消息队列组件RocketMQ工作原理

概叙 本文探讨 RocketMQ 的事务消息原理&#xff0c;并从源码角度进行分析&#xff0c;以及事务消息适合什么场景&#xff0c;使用事务消息需要注意哪些事项。 同时详细介绍RocketMQ 事务消息的基本流程&#xff0c;并通过源码分析揭示了其内部实现原理&#xff0c;尽管事务消…...

黑马头条vue2.0项目实战(五)——首页—频道编辑

目录 1. 使用页面弹出层 1.1 页面弹出层简单使用 1.2 创建频道编辑组件 1.3 页面布局 2. 展示我的频道 3. 展示推荐频道列表 3.1 获取所有频道 3.2 处理展示推荐频道 4. 添加频道 5. 编辑频道 5.1 处理编辑状态 5.2 切换频道 5.3 让激活频道高亮 5.4 删除频道 6.…...

Java:基础语法

基础语法 1. 基本结构类和方法 2. 变量和数据类型基本数据类型引用数据类型 3. 操作符算术操作符比较操作符逻辑操作符 4. 控制结构条件语句循环语句 5. 数组6. 方法7. 面向对象编程类和对象继承多态 8. 异常处理9. 常用类库 1. 基本结构 类和方法 Java程序的基本单位是类&am…...

安装bedtools详细步骤和详细介绍bedtools用法

安装bedtools详细步骤和详细介绍bedtools用法 一、安装bedtools详细步骤下载解压安装编译依赖编译设置环境变量激活环境变量执行命令查看版本二、详细介绍bedtools用法使用bedtools示例用法bedtools intersectbedtools bamtobedbedtools window一、安装bedtools详细步骤 下载 …...

21 - grace数据处理 - 补充 - 泄露误差改正 - Slepian局部谱分析法(一) - slepian分析法理论理解

21 - grace数据处理 - 泄露误差改正 - Slepian局部谱分析法 - slepian分析法理论理解 0 引言1 slepian谱分析法1.1 slepian谱分析法AI解释1.2 基于slepian谱分析法的GRACE数据处理应用2 slepian谱分析法关键过程实现2.1 求解正定特征方程2.2 计算slepian基函数2.3 计算Shannon数…...