【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇
CSDN 2024-10-07 08:37:02 阅读 99
Linux基础指令(上):【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇-CSDN博客
前言:
在前面我们已经讲解了一些常用的Linux的基础指令,那些当然是远远不够的,今天我们就继续Linux基础指令的学习
目录
一、man指令
二、echo指令和cat指令
三、cp指令
四、mv指令
五、which指令
六、alias指令
七、总结
在讲解今天内容之前,我们先来看一下上篇的内容,如果有还没掌握的请先返回上篇,循序渐进
下面正式开始今天内容的讲解:
一、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基础指令的内容,结合上篇,我们也讲了有十几个基础指令了,还有几个基础指令我们留在下一章讲
感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。