【Linux】文件变身大作战: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 文件
    功能: 默认查看文件后十行,可以通过增加选项查看指定行数

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

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值