0


【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇

Linux基础指令(上):【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇-CSDN博客

前言:

在前面我们已经讲解了一些常用的Linux的基础指令,那些当然是远远不够的,今天我们就继续Linux基础指令的学习

在讲解今天内容之前,我们先来看一下上篇的内容,如果有还没掌握的请先返回上篇,循序渐进

下面正式开始今天内容的讲解:

一、man指令

Linux中的指令选项是有很多的,我们很难将它们全部记住,当我们遇到拿不准使用什么命令参数时,我们就可以去查看Linux的联动手册,访问的方式就是通过man指令

man指令语法:man 选项 命令

我们可以先来看一下man指令不带选项的最简单的用法,比如我们查看ls指令的所有用法:

执行此命令后我们就可以看到Linux联动手册中ls的全部参数及用法了(图中只是截取了部分)

在我们看完后,按q键,就可以退出

可能会有人说,对man指令也很陌生,所以我们也可以用man指令去查它自己

执行这个命令后我们可以看到这样的几行文字:

前面的序号对应着Linux联动手册中的章节号,也就是Linux手册中的内容是分章节的,不同的内容存在不同的章节中,下面我们来看一下上面几行所对应的中文:

**1 是普通的命令 **

**2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要 加什么头文件) **

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

当我们查不同的内容时,尽量带上它们所对应的编号,比如当我们想查C语言中的printf,它所对应 的就是3中的库函数,所以我们需要这样:

切记要带上这个3,如果不带上3我们查的就不是C语言中的库函数了,而是普通命令中的printf,因为我们在查找一个命令时,Linux手册默认的是从上到下查找,所以就是先1,再2,再......如果一个指令,就比如printf,在第一章中有,那么就找到它,而不是第三章中C语言中的printf,所以要加上章节号

二、echo指令和cat指令

echo指令的作用是将内容写入文件中,这里的文件即包括显示屏,也包括普通的文本文件

向屏幕中写入内容的操作:

向普通文件中写入内容的操作:

这里我们要了解一个概念,其实我们键盘输入的内容被打印到文件中而不是显示器中,这样的操作叫输出重定向,上面第二个输出方式就叫做输出重定向

同时我们还要知道的是,在我们向一个文件中写入内容时,比如上文中的test.txt文件,如果其中原来是有内容的,在我们写入新的内容后,原来的内容会被覆盖所以有些时候我们想删除文件中的内容时,也可以采用“>文件名”的操作方式,那我们如何不覆盖原文件中的内容,直接追加到后面呢?实现这个功能我们需要的是 追加重定向:>>

或许有人会对上面的cat疑惑,下面我们来讲一下cat指令:

cat指令的作用就是查看目标文件中的内容,除了上面最基础的用法外,还有以下选项:

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

cat后面什么也不跟时,默认从键盘中读取,如果后面跟了文件名之类时,就不是从键盘中读取了,这种方式叫做输入重定向

三、cp指令

cp指令的作用就是复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息

在我们用户层面上,同一个目录下是不能有重名的文件的,如果同一个目录 下有重名的文件,就会丧失文件的唯一性,我们就根据文件路径查找,所以当我们对一个文件进行拷贝时,如果是拷贝在同一目录下,切记不要重名,如果是在不同目录下可以重名

同一目录下的拷贝:

拷贝后我们可以发现此目录下多了一个拷贝文件,并且文件中内容与被拷贝文件一致

不同目录下的拷贝:

在这个拷贝操作中,我们将test.txt文件拷贝到目录dir1中,属于不同目录下的拷贝,所以就可以重名

cp指令也有几个比较重要的选项:

**-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 **

**-i 或 --interactive 覆盖文件之前先询问用户 **

**-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录 或符号链 接,则一律视为普通文件处理 **

**-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理 **

我们重点讲解一下其中的-r选项:

-r选项就是递归处理的意思,在前面我们也学了一些其它指令,比如mkdir,rm等指令,也都是递归处理的意思,这里的cp -r的作用也就是递归复制,比如一个目录d1,它的下面还有目录d2或者文件d3,这个时候就需要使用-r选项递归复制 

四、mv指令

mv指令有两个作用,一个是剪切,一个是重命名,下面我们可以看一下书上对这个指令功能的讲解:

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

**目录中。 **

**2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 **

**将所给的源文件或目录重命名为给定的目标文件名。 **

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

目标目录中。

下面我们来讲解一下mv指令这两个功能的区别和使用方式:

重命名:

重命名操作一般是将文件放在相同目录下的,也就是说第二个参数是同目录下一个不存在的文件名

比如这样,我们就把test.txt文件的名字改成tmp.txt,mv指令的第二个参数是相同目录下的文件名

剪切:

剪切操作是将目标文件换一个路径,比如换到其它目录下,第二个参数是其他路径

如图,我们就将tmp.txt文件剪切到同级的dir1文件中去了

剪切+重命名:

其实上面两种功能是可以结合起来的,而且其实所有的操作,都是可以看作是剪切+重命名,比如我们上面讲的重命名,它也可以看作是一个文件先剪切到同级文件,再进行重命名

而重命名则可以看作一个文件剪切到其它目录,然后再命相同的名字

五、which指令

which指令的作用就是帮助我们找到指令所在的位置,如下:

六、alias指令

alias指令的功能是给指令进行重命名,这个指令是非常有意思的,比如下面的操作:

我们将 ls -l指令 重命名成指令1,此时我们就可以发现 “指令1” 与 ls- l指令 有了同样的效果

但有一点需要我们注意的是,重命名只是临时的,在我们断开云服务器时就会结束

七、总结

以上就是今天Linux基础指令的内容,结合上篇,我们也讲了有十几个基础指令了,还有几个基础指令我们留在下一章讲 

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

标签: linux 学习 运维

本文转载自: https://blog.csdn.net/2301_80220607/article/details/142631567
版权归原作者 GG Bond.ฺ 所有, 如有侵权,请联系我们删除。

“【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇”的评论:

还没有评论