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

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

一、mv 指令


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

语法 : mv [ 选项 ]  源文件或目录 目标文件或目录。

功能 :

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项 :

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖。


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

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

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


fda9855be5a54d689252a0e2563443b9.png


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

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



d0070418b81a4853b0ea14aee88419cd.png


1、2 剪切和重命名目录

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

0c1da46bb20845d38192f0c7251fdce8.png


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

二、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 文件名。具体实例如下:


765fdbaf9d12443aa3d3d2a1ab3b924b.png

当我们输入完指令时,直接打印慢屏幕到第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行。


a170493bc12c494d8642def1a742f995.png


四、head 和 tail 指令

4、1 head 指令



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


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

 语法: head [ 参数 ]... [ 文件 ]...

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

 选项 : -n<行数> 显示的行数。

 我们可结合下面实例理解。

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

f84a8b949c964320915efda517b17504.png


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


4、2 tail 指令


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


语法: tail[ 必要参数 ][ 选择参数 ][ 文件 ]

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

选项:

-f 循环读取。

-n<行数> 显示行数。

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


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



02b5846eff584f46a2c6490da5f401aa.png


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

4、3 head 与 tail 综合训练

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

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


f34441659ba44ed2bf81587235b518bc.png


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

 我们先看下图:

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

相关文章
|
2天前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
16 3
|
24天前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
18天前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
31 1
|
25天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
39 3
|
24天前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
30天前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
54 1
|
30天前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
25 0
Linux入门1——初识Linux指令
|
27天前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门
|
30天前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
24 0
|
6月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南