Linux基本指令介绍(二)

简介: 之前给大家介绍了LInux操作系统的历史以及教大家自己配置了一个属于自己的操作系统,那么我们今天就给大家介绍一些基本指令,教会大家如何去基础的这款操作系统。

rmdir指令 && rm 指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。


语法:rmdir [-p] [dirName]


适用对象:具有当前目录操作权限的所有使用者


功能:删除空目录


常用选项:


-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。


rm命令可以同时删除文件或目录(所以一般使用中我们都只使用rm指令)


语法:rm [-f-i-r-v] [dirName/dir](rm 不带·默认选项删除的是普通文件)


适用对象:所有使用者


功能:删除文件或目录


常用选项:


-f 即使文件属性为只读(即写保护),亦直接删除(强制删除并且不提示)


-i 删除前逐一询问确认(在超级用户目录的文件,删除后会自动询问)


-r 删除目录及其下所有文件(递归式)


这里我给大家演示一下:



这里我们就可以发现dir2连同该子目录和文件都被全部删除。


man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man


语法: man [选项] 命令


常用选项


-k 根据关键字搜索联机帮助


num 只在第num章节找(当man指令后面没有接数字(直接接命令),它是从手册的第一章开始按顺序往后访问)


-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。


这里的手册我们一共分为8章


1 是普通的命令


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


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


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


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


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


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


cp指令

语法:cp [选项] 源文件或目录 目标文件或目录(同一个目录下不能存在同名文件,所以我们这里的目标文件和源文件如果在同一个目录中是不可以同名的)(所以我们这里的目标文件可以用同目录下的不同名文件,也可以是其他路径的同名(不同名)文件)


功能: 复制文件或目录


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


常用选项:


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


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


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


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


这里给大家演示一下:



mv指令

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


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


功能:


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


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


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


这里先给大家演示一下:



当mv  文件名    目录名(这里只是单纯的将该文件移到我们指定的目录)


mv  mytext.c   dir/text.c


这里发生了先将mytext.c移到了dir目录下,然后重命名为text.c


当 mv  源文件名    目标文件名(这里做的是将文件重命名,但这里也可以写为 mv  源文件名  ./目标文件(这里我们其实也是我们理解上的剪切和重命名同时进行,但是我们剪切的时候只是把该文件移到当前文件))


对于目录操作其实大部分和文件操作是一致的,但是这里我们需要考虑到的是


比如:mv  dir1 ../newdir


这里有两种情况,当newdir不存在时,我们这里进行的操作就是将dir1目录移到上一个目录,然后重命名为newdir,


当newdir存在时,就是将dir1文件移入newdir目录


用选项:


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


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


cat(显示文件内容(全部),且不可修改的)

语法:cat [选项] [文件]


功能: 查看目标文件的内容(只能显示文件)


常用选项:


-b 对非空输出行编号


-n 对输出的所有行编号


-s 不输出多行空行(有连续多行的空行会压缩成一行空行输出)


在使用cat指令之前,我们需要先在一个文件中写入内容才可以该大家具体展示,这里我们需要使用到echo和我们的 >>,这里echo的功能大家可以认为是将该后面的文本内容写入到某个文件中。而如果我们后面不接文件,该会直接将其打印在屏幕上(在Linux中我们现阶段可以将其理解为该中一切皆文件,我们的屏幕也是对应的文件),那么接下来我给大家具体演示一下:



那么我们的 >>的作用就是将其写入到,对应的其他文件,那么接下来我们往文件中写一点内容,去给大家演示一下,cat命令的作用。



重定向

上面大家简单的看到了追加重定向的用法,但是对于具体的作用大家暂时还不了解,那么这里小编就给大家简单的介绍,三个重定向符号。


输出重定向

输出重定向的符号是:>


作用:这里 >的作用是将原本要写入其他文件的内容写到我们>后指定的文件当中。


这里我给大家简单的演示一下:



这里我们还发现一个问题就是,我们这里连续写入两次hello world,但是我们的文件当中并没有两条对应语句,这里我们就可以发现,我们输出重定向其实是:向文件进行写入的时候,覆盖文件


该本质上是:


1.先清空文件


2.再写入到文件当中


所以我们也可以使用 > 文件名 ,去自动清理一个文件,例如:



这里我们的text.txt就已经被清理了。


那么我们该如何将文件中如何在上一次写入的基础是继续写入相应内容呢?相信大家通过我们上面对于cat文本的相关演示已经发现了。我们的追加输出重定向就是起到这个作用。


追加输出重定向

那么具体的我们已经演示过了,这里大家只需要记住其作用是在进行内容写入时不对文件进行清空,直接会重我们上次写入的位置继续写入。


输入重定向

输入重定向这里我举一个例子给大家解释一下:


这里首先cat后面不跟文件表示的是后重键盘读到什么就输出什么(默认从输入设备读取,然后打印到显示器),但是cat< 文件名   这里表示原本是从键盘读取现在是从指定文件读取打印到屏幕,这里也就叫做输入重定向(这里其实和 cat 文件名是有区别的,但是这里得到的效果是一致的)


所以通过上面我们就可以理解为,输入重定向是将原本的输入文件改为其他输入文件。

more指令

(只给我们打印一屏幕的文件内容,按回车后会自动进行下翻,适合自顶向下看文件内容)


语法:more [选项][文件]


功能:more命令,功能类似 cat


常用选项:


-n 对输出的所有行编号


q 退出more


/字符串(向下搜索相关内容)


/数字(会给我们直接跳转到某行的内容)


对于该指令的介绍,我们需要搞一些大文本文件,而这里需要使用到我们的一些脚本,这里大家不用去理解该含义,可以直接使用:


cnt=0; while [ $cnt -le 10000 ]; do echo "hello Linux $cnt"; let cnt++; done

这里的意思就是输出10000行的hello Linux。



这里我们将输出内容写入text.txt文件,然后我们使用more指令进行查看,查看结果如下:



这里我们可以发现该输入了一屏内容,在我标红的位置可以进行,相关搜索指令,进行搜索。


less指令

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


语法: less [参数] 文件


功能:


less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。


选项:


-i  忽略搜索时的大小写


-N  显示每行的行号


/字符串:向下搜索“字符串”的功能


?字符串:向上搜索“字符串”的功能


n:重复前一个搜索(与 / 或 ? 有关)


N:反向重复前一个搜索(与 / 或 ? 有关)


q:quit


这里我们继续给大家演示一下:



用less打开文件后,这里就可以输入相关命令进行相关搜索的指令,这里大家可以自己去尝试一下。

head指令&&tail指令

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


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


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


选项:


-n<行数> 显示的行数


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


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


选项:


 -f 循环读取


 -n<行数> 显示的行数


这里我们分别使用一下,看看对应效果:



这里我们看到一个输入前10行,一个输出后10行。但是我们这两个一起讲解的原因还有一点是,我们这里可以使用该两个指令去截取对应文本的部分。


但是在讲解之前需要给大家讲解一下,管道命令,也就是:


| 管道:是用来数据传导的


| 一种符号会被系统解释成为管道文件(内存级)


管道是可以级联多条命令的,每条命令的结果输出,都作为输入,导入下一条命令。



正是由于管道这个特性,那么我们就可以让head去截取一个文本的前n行,然后其作为一个输入导入tail指令,然后让tail指令截取head截取片段的后面一部分,那么也就实现了片段的截取。


这里假设我们需要截取40行到59行的数据,那么我们做法如下:

相关文章
|
5天前
|
Linux
Linux:文件读取指令
Linux:文件读取指令
14 2
|
5天前
|
缓存 安全 Linux
Linux入门基本指令(2)
Linux入门基本指令(2)
13 0
|
5天前
|
Linux Windows
Linux入门基本指令(1)-2
Linux入门基本指令(1)
12 1
|
5天前
|
Linux 数据安全/隐私保护 Windows
Linux入门基本指令(1)-1
Linux入门基本指令(1)
16 1
|
5天前
|
算法 Linux
Linux:文件增删 & 文件压缩指令
Linux:文件增删 & 文件压缩指令
9 0
|
5天前
|
Linux
Linux:时间指令 - cal & date
Linux:时间指令 - cal & date
14 2
|
5天前
|
人工智能 数据可视化 Unix
【Linux】Linux系统基础指令 ( 1 )
本文讲解的指令是基础的操作,下一篇文章我们将继续讲解不同指令。
17 0
|
5天前
|
存储 Unix Linux
【Linux修行路】基本指令(二)
【Linux修行路】基本指令(二)
|
5天前
|
存储 人工智能 安全
【Linux修行路】基本指令(一)
【Linux修行路】基本指令(一)