【Linux从入门到精通】Linux常用基础指令(中)

本文详细介绍了Linux系统中常用的几个基础指令,包括mv(用于移动文件和重命名)、cp(复制文件和目录)、more和less(分页查看文件内容)以及head和tail(查看文件开头和结尾)。这些指令在日常的Linux文件管理中非常实用,文章通过实例演示了它们的用法和选项,帮助读者更好地理解和掌握这些命令。
摘要由CSDN通过智能技术生成

 

  本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上))进行详解。本章的指令相对较为重要,使用频率较高,难度相对上篇文章较难,也较为复杂。希望能对你的理解有所帮助。 

文章目录

一、mv 指令

1、1 剪切和重命名普通文件 

1、2 剪切和重命名目录 

二、cp 指令

2、1复制 普通文件 

2、2 复制 目录 

三、more 和 less 指令

3、1 more 指令

3、1、1 more 直接查看 

3、1、2 -n 选项

3、2 less 指令

四、head 和 tail 指令

4、1 head 指令

4、2 tail 指令

4、3 head 与 tail 综合训练


🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️

👀 专栏:Linux从入门到精通 👀

💥 标题:Linux常用基础指令💥

 ❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️

一、mv 指令

  mv 命令是 move 的缩写,可以用来移动文件或者将文件改名( move (rename) fifiles ),是 Linux 系统下常用的命令,经常用来备份文件或者目录。
语法 : mv [ 选项 源文件或目录 目标文件或目录。
功能 :
  • mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  • 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖。

1、1 剪切和重命名普通文件 

  通过对上面内容的了解,这里给大家总结一下:mv 指令有重命名和剪切两个功能

  当第二个参数类型是文件,我们可视为重命名。具体实例如下:

  第二个参数是已存在的目录名称时,我们将文件移至其他目录下,我们可视为剪切。具体实例如下:

  我们也可以在剪切的同时,对该文件进行重命名 。具体实例如下:

1、2 剪切和重命名目录 

  当然,目录也是可以剪切的。具体我们可看如下实例:   但是,我们需要注意的一点是,普通文件能在剪切的同时对其进行重命名,目录也是可以的。但目录是有所区别的。当我们第二个参数跟上已存在的目录时,是将此目录剪切到已存在的目录下。具体如下:

   当我们第二个参数跟不存在的目录时,我们是将此目录剪切并且重命名为不存在的目录。具体示例如下:

二、cp 指令

  我们先来了解一下cp指令的使用方法和细节。
  语法 cp [ 选项 ] 源文件或目录 目标文件或目录。
  功能 : 复制文件或目录。
  说明 : cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
  常用选项
  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在;
  • -i 或 --interactive 覆盖文件之前先询问用户;
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理;
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。

2、1复制 普通文件 

  复制一个普通的文件给还是比较简单的。我们看如下实例:

2、2 复制 目录 

  当时我们要复制目录时,我们必须加上 -r 选项。也就是递归处理。

  注意,复制文件和目录时,内容也会被完全复制的。有同学说这与剪切 mv 指令很像。确实很像,但是又有所区别。剪切相当于把原文件移至另一目录,但是复制就是拷贝了一份,原目录下的原文件仍然存在。

三、more 和 less 指令

3、1 more 指令

  我们在学上篇文章时,了解到了 cat 指令是去查看一个文件的内容。细心的同学就会发现,cat 指令查看大文件时,就很不方便cat 指令只适合查看小文件。我们现在有一个文件,内容有1000行。我们只想查看第500行,用cat 指令似乎不太方便。这是我们引入more 指令的学习。我们先了解一下 more 指令。

语法 more [ 选项 ][ 文件 ]。
功能 more 命令,功能类似 cat。
常用选项
  • -n 对输出的所有行编号;
  • q 退出more。

  具体我们结合下面是里一起理解一下。

3、1、1 more 直接查看 

  当我们直接 more + 文件名 查看内容时,我们可通过回车键进行下移查看,此时的上下键是不能够操作的。默认是输出的行数为整个屏幕。具体图下:

3、1、2 -n 选项

  我们也可加上 -n 选项进行指定行查看,指令: more -n 文件名。具体实例如下:

  

  当我们输入完指令时,直接打印慢屏幕到第500行,具体如上图。当然,我们也可输入 ‘/+n’ 跳转到指定的第n行,但是系统会直接加载了(打印出)文件第n行后的所有内容。具体如下图:

  

  当我们想退出more命令时,按下 q键 即可。

3、2 less 指令

   我们发现 more 指令也并没有那么好用。这里还有一个 less 指令。我们先了解一下less指令。

语法: less [ 参数 ] 文件。
功能 : less与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前 不会加载整个文件。
选项
  • -i  忽略搜索时的大小写;
  • -N  显示每行的行号;
  • /字符串:向下搜索“字符串”的功能;
  • ?字符串:向上搜索“字符串”的功能;
  • n:重复前一个搜索(与 / 或 ? 有关);
  • N:反向重复前一个搜索(与 / 或 ? 有关);
  • q:quit。

  less指令与more指令相似。但功能强于more指令。强在哪里呢?

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
  • less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看;
  • 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容!
  • 除此之外,在 less 里头可以拥有更多的搜索功能不止可以向下搜,也可以向上搜

   我们结合如下实例理解。 

  less的直接查看可使用上下键进行翻阅。 我们也可输入 ‘/+n’ 跳转到指定的第n行,直接打印满屏目。less 想查看第 n 行的话,就可以输入 ‘/+n’ 跳转到指定的第n行。

四、head 和 tail 指令

4、1 head 指令

  我们只想查看文件开头的内容,我们就可以使用 head 命令。

  head   tail  就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head  用来显示档案的开头至标准输出中,而 tail  想当然就是看档案的结尾。
  语法: head [ 参数 ]... [ 文件 ]... 
  功能 : head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。 
  选项 : -n<行数> 显示的行数。
  我们可结合下面实例理解。

  head 指令默认打出前10行内容,如下:

  我们也可通过加上 -n 选项,进行选择打印出的行数。如下:

4、2 tail 指令

  tail 命令从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail - f fifilename会把fifilename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

语法: tail[ 必要参数 ][ 选择参数 ][ 文件
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
  • -f 循环读取。
  • -n<行数> 显示行数。

  tail指令也很简单。我们看如下实例。

  tail 指令默认打出后10行内容,如下:

  当然,也可通过加上-n选项进行选择打印多少行。如下:

4、3 head 与 tail 综合训练

  上述我们都是查看开头和结尾。那我们想要是查看其中的一段呢?例如查看其中的666-688行呢?当然,我们第一时间会想到利用head和tail综合来解决。

  head 将文件前688行输出到一个新的文件中,再去用tail查看新的文件的后29行。具体实例如下:

  但是这种方法还需要另外开一个文件来存储数据,是有所消耗的。有没有更好的方法呢?这里我们引出一个新的概念:管道文件。

  我们先看下图:

  上面的符号 ‘ | ’就是管道,充当着我们第一种方法所建的tmp.txt文件。 

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ggggggtm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值