操作系统

认识Linux常用的基本指令

  1. Linux下基本指令

  注:在以下指令的学习默认都是在root账号当中使用的,到接下来我们学习到开发工具之后再切换到普通账号

  1.1 adduser与userdel

  在之前我们使用Xshell远程登入Linux时使用的其实是root账号登入,那么是不是一个云服务器就只能登入一个root账号呢?

  其实除了root能登入之外还可以使用普通账号登入,只不过要先创建相应的普通账号才能进行登入。

  那么在Linux当中创建普通账号的指令如下所示:

  adduser [用户名]

  设置普通账号密码的指令如下所示:

  passwd [用户名]

  以上操作进行之后就在Linux添加了新的普通账号,那么如果不想使用这个账号了呢,该如何移除创建等账号呢?

  在此移除普通用户账号的指令如下所示:

  userdel -r [用户名]

  注意:以上指令的-r不可省略,现在你还无法理解其中的原因,不必担心,之后学习了更多的知识之后就能理解了

  1.2 pwd

  在此pwd指令的作用是显示用户当前所在的目录

  pwd

  在以上就是使用超级用户登入时的默认路径,那么这里的/代表的是什么呢?

  在此在linux的文件路径表示当中**/表示的是路径分隔符**,这和windows是类似的。

  注:在windows当中将存储多个文件的叫做文件夹,但在Linux当中一般都叫做目录,在此需要记住

  知识点

  此外在两个路径分隔符之间的一定是一个目录 ,并且路径的末尾可能是一个目录 也可能是一个普通文件

  在Linux当中文件的存储其实是一个多叉树 的结构,路径当中的**/** 其实表示的就是根目录

  因此在使用root账户登入时,使用pwd指令之后显示的是/root,这是因为root账户默认的路径就是/root,在此/表示的就是根目录,root就是根目录内的文件

  1.3 whoami

  当我们想知道当前用户的名称就可以使用whoami指令

  whoami

  输入之后点击回车就会显示当前你所登入的账号用户的名称

  超级用户(该超级用户被我命名为root)

  普通用户(该普通用户被我命名为zhz)

  1.4 touch

  touch指令的作用是在当前的目录当中创建一个普通文件

  touch [文件名]

  知识点

  在Linux当中文件分为普通文件和目录,普通文件包括文本文件、二进制可执行文件、动静态库、视频、音频、图片等。并且在Linux当中文件的类型是于文件的后缀是无关的,但在此还是建议不同类型的文件带上对应的后缀,这是因为在Linux的一些软件下文件的类型还是和后缀相关的,例如之后要学习的gcc、g++等。

  在此我们创建了一个文件之后,此时文件内还任何内容都不存在,是否就说明该文件什么内容都不存在呢?

  要解答这个问题就要了解到在Liunx当中文件是由内容加属性组成的,因此以上提到的文件为空是文件的内容为空,而文件被创建出来就拥有文件存储位置,文件的大小等文件属性;这就使得文件的属性不可能为空,因此文件就不为空

  知识点

  在Linux下文件=文件内容+文件属性,文件内容和文件属性都是数据,都要被保存起来

  1.5 mkdir

  mkdir指令的作用是在当前的目录下创建一个目录

  mkdir [目录名]

  那么如果我们要在创建目录时在其内部再创建目录;之后再在目录内创建普通文件以上的指令还能实现对应的功能吗?接下来就来试试看

  通过以上到的结果就可以看出mkdir无法实现我们的要求,那么有什么其他的方法呢?

  在此我们要知道的是由于Linux的文件存储其实是一个多叉树的结构 ,因此以上创建一个带路径的目录时一定是要进行递推式的创建的

  那么在此在学习ls指令的同时,我们要从此了解到的是在Linux的指令当中除了直接使用指令之外还可以使用携带选项的指令

  格式为:指令 空格 -选项

  在此在mkdir指令当中就提供了 -p选项 此时-p之后的就是路径,这时系统将自动建立好那些尚不存在的目录,即⼀次可以建立多个目录

  mkdir -p [路径]

  那么如何验证我们使用mkdir -p指令之后真的创建了我们要求的目录呢?

  接下来就在学习mkdir指令的同时再了解一个指令tree,该指令的作用是将指定的目录以树的形式展示出文件和目录结构

  tree [目录]

  注:在此tree指令一般系统不会自带

  需要使用以下的指令进行安装

  yum install -y tree

  安装了之后就可以使用tree指令来验证之前我们使用mkdir创建的目录是否符合我们的要求

  通过以上的输出结果就可以看出是满足我们的要求的

  1.6 ls

  ls指令的作用如下:

  对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

  ls [目录或者文件]

  例如以下就是使用ls将当前目录下的文件信息展示出来:

  在ls指令当中也是也可以携带选项的,以下的完整的ls选项以及各自的作用

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。

  • -d 将目录像文件⼀样显示,而不是显示其下的文件。 如:ls ‒d 指定目录

  • -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件

  • -k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件

  • -l 列出文件的详细信息

  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)

  • -F 在每个文件名后附上⼀个字符以说明该⽂件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别)

  • -r 对目录反向排序

  • -t 以时间排序

  • -s 在l文件名后输出该⽂件的大小。(大小排序,如何找到目录下最大的文件)

  • -R 列出所有子目录下的文件。(递归)

  • -1 ⼀行只输出⼀个文件。

  以上的选项众多但是其实需要重点掌握的只有两个就是**-a 和 -l**

  在了解ls指令的同时还要了解的是 ,指令之后的选项其实是可以一起传入的

  就例如ls当中的-a和-l就可以在同一条ls指令当中使用:ls -l -a ,并且指令其实还也可以组合传入,例如以上的指令就可以变为ls -la,在此选项的顺序是随意的

  在了解ls当中-a选项之前先要来理解在Linux当中的隐藏文件是什么

  我们知道在windows当中是存在隐藏文件的

  其实和windows一样Linux当中也是存在隐藏文件的,在此隐藏文件存在的意义是操作系统一般会将重要的文件默认隐藏起来,这样即使用户误操作也不会将重要的文件删除,保证的操作系统的稳定。

  知识点

  在Linux当中以.开头的文件或者是目录都是隐藏文件,使用-a选项就可以将隐藏文件展示出来

  知识点

  在ls指令使用-a选项当中显示出的 . 和 . . 分别表示当前路径和上级路径,并且对于任何一个目录一定都存在 . 和 . .

  在ls指令使用-l选项当中每个文件或者目录显示的的第一个字符表示文件的类型;-表示是普通文件,d表示是目录

  注:在此文件的类型其实除了以上提到的两种之外还有很多类型的文件,但目前我们还不会接触到,到之后接触到再进行补充

  那么这时你可能就会疑惑了,以上提到的 . 和 . .文件有什么作用呢?

  在此就先要了解两个概念------绝对路径和相对路径

  在以上了解pwd指令时我们就知道在Linux下每个文件都是有路径的,但其实之前提到的都是绝对路径也就是都是从根目录/开始的,通过之前数据结构的学习知道绝对路径是具有唯一性的。

  其实寻找一个文件除了从根目录开始的绝对路径之外还可以使用相对路径的方式来查找。

  相对于当前用户所处目录,定位⽂件的路径方式

  例如以下示例:

  在以上的根目录下存在许多的文件和目录,在此如果要定位到名为src的文件可以通过/user/src绝对路径的方式来查找,如果此时处于local下就可以通过local的位置来定位,由于local和src的父节点相同因此使得src相对local的相对路径也是唯一 的。

  这时 .. 文件的作用就体现出来了,当我们要从local切换到local路径;此时**../** 就定位到user,../user/src就定位到src文件。

  因此通过以上的示例就可以看出 ..可以帮助快速的实现路径的切换, 但要切换路径还需要cd指令,接下来我们就来学习该指令的使用方法

  知识点

  定位文件既可以通过绝对路径也可以通过相对路径,两个路径都具有唯一性

  1.7 cd

  cd指令的作用是改变工作目录。将当前工作目录改变到指定的目录下

  cd [目录名]

  例如以下示例:

  在之前我们创建一个目录a,那么要进入到该目录内的b目录就可以使用cd指令

  我们知道在root用户当中默认登入所处的路径是就是/root,那么普通账号默认的路径是什么呢?

  接下来我们就使用几个普通账号来登入看看

  通过以上的两个普通账号默认路径就可以看出普通账号一开始都处在home目录下,那么home目录是什么呢?

  知识点

  在此home路径称为家目录,所有普通账户的数据都是存储在家目录下的,之后不同账户的信息在存储在各自的账户路径下,这样做的目的是为了保护用户的信息,在普通用户登入时默认就处在对应的家目录下 。

  那么在Linux是任何实现普通账号防止其他人进入其的家目录下的呢?

  这个问题等到以下我们讲到权限时再来细致的讲解

  那么在了解了家目录的相关知识之后接下来就再来了解cd指令的两个选项

  //切换到用户的家目录

  cd ~

  //快速的切换回最近的一次路径

  cd -

  1.8 rm

  rm指令可以实现删除文件或者目录

  rm [目录/文件]

  在此使用rm删除时如果是普通文件就只需要 rm 文件名 即可

  但在删除目录时rm 目录名就无法删除

  这是因为目录是递归创建的,那么在删除时也要递归的删除,因此在删除目录时就需要给rm指令带上**-r**,表示递归删除

  在一些情况下在递归删除目录时命令行还会问你是否确定,如果你想直接删除没有这个过程就可以加上**-f**选项。因此在删除目录时一般使用的是以下所示的指令

  rm -rf [目录]

  1.9 man

  在此在Liunx当中有很多指令,我们不可能将全部指令的功能和使用方法记住,如果想快速的查阅相关的指令就可以使用man手册来查询,在此man手册对应的指令就是man指令

  使用方式如下所示:

  man [选项] 指令

  例如要查阅之前我们学习的ls指令就在命令行当中输入man ls,输入之后就会显示ls指令的相关信息,要退出就只需要点击q

  在此man除了可以查询Linux系统当中的·指令之外还可以查询C库 当中的函数 ,例如要想知道C语言中的printf函数的功能就可以使用man printf指令来查询,但是以下的输出的printf指令,不是我们想查询的C库内的printf函数,那么这就需要我们来进一步了解man指令

  man除了能查询以上的系统指令和C库当中的函数之外还可以查询其他的信息,那么接下来就使用man指令来查询man

  在此就可以看出man手册一共是有9号的,但一般情况下我们自会使用到man手册当中的前三号手册内容,其他的基本不会使用到,因此在此我们也就不做了解

  • 1 是普通的命令

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

  头文件)

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

  • 4 略

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

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

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

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

  • 9 略

  那么以上我们要查询的C库当中的printf函数就要使用man 3 printf 指令来查询

  1.10 cp

  在以上我们学习了文件在Linux下该如何创建和删除,那么有时我们还要将一个文件进行复制粘贴,这时就需要用到cp指令

  cp指令得作用是复制文件或目录

  指令得形式如下所示:

  cp 源⽂件或⽬录 ⽬标文件或⽬录

  但在详细了解cp指令之前要再来了解一些Liunx的知识

  知识点

  在Linux下,一切皆文件

  在此我们要了解一个指令------echo ,作用是将文本输入到指定的文件当中,默认情况下在为指定文件时就直接将文本输入到显示器文件当中。在使用echo之后的文本内容最好使用" "引起来,这样要输入的内容就更加显著

  当我们指定输入的文件时就会将文本的内容该为输入到指定的文件当中

  以上出现的一个之前我们没有学习到的指令------cat,其实该指令的作用就是获取指定文件内的文本信息,接下来还会细致讲解,在此只是先使用一下。

  以上我们先test文件当中输入了字符串hello world,那么如果在将字符串AAA输入到test文件当中会追加到原来的hello world 之后吗?

  接下来就来试试看

  通过使用可以看出输入的AAA会将test内原本文本覆盖。其实以上指令当中的 > 叫做输出重定向 ,在echo之后使用>就会先将原来文件内文本清空 ;之后再将新的内容写入 。并且不带echo直接使用>之后带文件名,当文件之前就存在就会将文件内的文本全部清除

  若文件原来不存在就会创建相应名称的文件在当前路径下

  那么这时就有问题了,如果此时我们想向指定的文件当中追加指定的文本,以上的 > 就无法满足我们的要求,那么这时有什么办法呢?

  在此要实现追加的功能就需要用到 >> 来实现追加重定向

  其实除了以上提到的输出重定向和追加重定向,还存在输入重定向,使用到的符号是 <

  因此以上的内容就可以总结出以下的知识点

  知识点

  echo默认是向显示器输出,要向指定的文件写入就需要使用到 > 进行输出重定向, 如果要进行追加重定向就需要使用 >> ,如果进行输入重定向就需要使用到 <

  那么在了解echo以及输入重定向的相关知识之后接下来就来进一步的了解cp指令

  以下就是将我们之前在b目录下的test文件复制到b目录当中就按照以下的形式实现:

  那么若要将test文件复制到zhz目录下并且还要将文件重命名为newtest,那么就需要在指定的目录下再将新的文件名也创建

  注:在此新文件名一定要是不存在的

  在此要复制一个目录呢,也是直接使用cp指令吗?

  在此我们来试着看看

  通过以上的报错就可以看出在复制目录时直接使用cp无法满足我们的要求,此时要完成目录的复制也是要带上-r 选项的,就和之前我们删除目录一样,-r 表示递归,毕竟目录是也是一棵子树如果能直接使用cp复制,那么也显的很不合理。

  1.11 mv

  在以上我们了解了文件的复制,但有时还需要进行文件的剪切,此时就需要使用到mv指令

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

  在此也可以使用mv来实现目录的剪切

  1.12 which

  如果我们要搜索系统下指令的路径就课使用which指令

  which [指令]

  那么有了which指令之后就可以来查询之前我们学习的cp、ls等指令在系统内的路径了。

  通过以上就可以看出ls、cp都是在**/usr/bin**路径下的文件,那么了解了这些之后就可以引入一个知识了

  知识点

  在Linux下,一切指令都是程序,并且系统特定路径/usr/bin下的程序

  在此使用ls指令将 /usr/bin 内的文件展示出来就可以看到确实系统的指令都是在该目录下的

  因此在使用系统的指令时使用带绝对路径的方式也是可以调用的

  那么为什么在之前调用系统的指令时我们不用带路径直接输入指令名就可以使用呢?

  在此该问题就不进行解答,到之后学习到进程部分再来解答,现在你在需要知道指令就是特定路径下的指令即可

  如果我们直接使用绝对路径来调用ls,那么目录就不会带颜色,而直接使用ls就会带,那么这是为什么呢?

  这就需要再使用which来观察了

  这时就可以看到ls指令其实原来是被加上了 --color=auto选项的,在此alias是给原来的ls起别名,这就使得在使用ls指令时默认的就是使用ls --color=auto

  在此再补充一个指令ll,该指令其实就是ls -l 的别名,之后我们要使用ls -l 指令就可以直接使用 ll

  1.13 cat

  在此cat的作用在之前就已经提到了就是查看目标文件的内容

  cat [文件]

  若要使得输出的文件内的文本带上行编号就需要用到 -n 选项

  cat -n [文件名]

  但是如果文件内的文本内容非常多,此时就会刷屏,那么此时想要退出就需要按 CTRL+c就可以强制退出

  注:在此要从末尾开始查看文件的文本内容可以使用tac指令,其使用方式和cat类型

  1.14 more

  在以上的cat指令在打开大文本内容的文件会出现刷屏的问题,那么此时就适合适用more指令了

  more [文件]

  例如当打开系统的日志时就可以使用more来查看

  more /var/log/messages

  使用more指令打开文件后会先显示满一屏,在左下方会显示出现在所处的进度,要向下翻阅只需要点击ENTER即可

  要按照关键字查询就点击 / 之后再输入要查询的关键字,之后再点击 ENTER 就会输出关键字,之后再点击 n 就能继续向下查询

  1.15 less

  以上我们了解了more指令,其实more在查看大文本的文件是确实是要比cat指令要好用,但是more指令也纯在问题就是在more指令内不能进行前后的翻阅,因此在此我们就来学习一个比more更好用的指令------less

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

  在此还是打开系统的日志使用指令less /var/log/messages

  此时在查询关键字就会发现在less指令内还会将查询的关键字高亮标注出来

  1.16 head与tail

  在以上我们已经了解了cat以及more和less来查看文件的文本内容,但是这几个指令在查看时都是将整个文件的文本都输出出来,要是我们只是想看文件当中的开头几行或者是末尾几行时;这几个指令就会效率较低了

  这时以上提到的场景就适合使用 head 以及tail 指令了。

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

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

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

  head和tail都拥有选项:• -n <行数> 显示的行数

  此时有了head和tail指令确实可以直接将文本的从头开始的指定行输出或者是末尾的指定行输出,但是问题就来了,如果我们要输出的是中间的指定行;就例如要输出50~60行,那么该怎么实现呢?

  首先你可能会想到的是先使用head得到前面60行存入到临时文件当中,之后再对临时文件使用tail得到后21行。以上操作下来就可以得到原来文件当中的50~60行

  以上这种方式确实能解决问题,但是解决的过程显得较为繁琐,那么有什么更加简便的方式呢?

  在此要解决该问题就需要引入管道的相关概念,使用管道来实现以上操作指令如下所示

  head -60 /var/log/messages | tail -21

  以上的**| 就是管道** ,实现的大致的过程就是将head之后的文本再使用tail进行加工,最后形成的文本就是我们想要的内容。具体的实现过程之后的篇章再进行讲解

  1.17 date

  在此如果要在Linux当中获取当前的时间就可以使用到date指令

  date

  但是以上天/月/年的形式不太符合我们的直觉,这时要系统输出年/月/日的格式就要输出以下的指令

  在显示方面,使用者可以设定欲显示的格式,格式设定为⼀个加号后接数个标记,其中常用的标记

  列表如下

  • %H : 小时(00..23)

  • %M : 分钟(00..59)

  • %S : 秒(00..61)

  • %X : 相当于 %H:%M:%S

  • %d : 日 (01..31)

  • %m : 月份 (01..12)

  • %Y : 完整年份 (0000..9999)

  • %F : 相当于 %Y-%m-%d

  在每个%之前需要使用-、_等字符进行不同的划分

  但其实在学习date指令当中date指令的使用不是最为重要的,在此我们最需要了解的是一个叫做时间戳的概念

  知识点

  那么首先来看时间戳是什么:

  有了时间戳之后世界不同区域的计算机都能有统一的计时的方式,这是互联网的一次大进步。

  那么在Liunx当中我们该如何来获取时间戳呢?

  在此就来讲解写一个非常简单的方式来获取当前的时间戳。

  注:在此我们使用nano只是当前较为容易理解,该记事本不是之后我们要进行使用的,在之后的篇章学习了vim之后,基本都是使用vim进行代码的编写

  首先我们要来了解一个叫做nano的文本计事本,你可以类比Windows当中的记事本,nano的作用是和记事本类似的,就是用于记入文本内容的

  在Linux当中打开nano只需要输入 nano 文件文件 指令(当nano打开的文件不存在会自动的创建对应的文件)

  输入以上指令之后就会进入nano记事本内

  注:之后我们要使用gcc进行编译,这就使得创建的文件后缀要为.c

  #include

  #include

  int main()

  {

  printf("%lu",time(NULL));

  return 0;

  }

  之后在nano记事本内输入以下的代码,之后在nano内点击CTRL+x,再点击y+ENTER即可保存退出nano

  #include

  #include

  int main()

  {

  printf("%lu\n",time(NULL));

  return 0;

  }

  使用gcc编译之后就形成了a.out的可执行程序,在此你可能还无法理解这个过程是如何实现的,在此不必担心,之后的Linux基础开发工具篇章会进行细致的讲解

  运行a.out就可以得到当前的时间戳

  其实要快速的获取当前的时间戳可以直接使用以下指令来实现

  date +%s

  以上我们已经知道该如何获取当前的时间戳了,那么如果要将时间戳转换为 年 月 日 的格式要进行什么样的操作呢?

  这时只需要使用以下的指令

  cpp复制代码

  date +%Y-%m-%d\ %H:%M:%S -d @0

  1.18 cal

  al命令可以用来显示公历(阳历)日历。

  cal

  常用选项:

  • -3 显示系统前⼀个月,当前月,下⼀个月的月历

  •-j显示在当年中的第几天(⼀年日期按天算,从1月1号算起,默认显示当前月在⼀年中的天数)

  • -y 显示当前年份的日历

  此时你可能就会有疑惑了,为什么Linux下要提供日历?

  其实在任何操作系统下都是要提供日历的,就例如Windows下就有

  那么你可能还会有疑惑就是其他设备上都能看到时间,什么情况下才会使用cal来获取呢?

  这对于我们普通用户确实是作用不大的,但对于一些底层开发的系统工程师,他们在开发时可能不能将手机等电子设备带入到机房内,这时date和cal指令的作用就显示出来了

  1.19 find

  find指令的功能是用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)

  find -options [文件名]

  find当中的常用选项为• -name 作用是按照文件名查找文件

  那么find和之前我们学习的which指令有什么区别呢?

  find进行的是系统目录的直接查找,可以查找任意的文件;而which只能用来查找系统自带的可执行程序,也就是只能查询 /usr/bin/ 路径下的指令

  1.20 whereis

  除了以上的which和find指令能进行查询之外,还有一个指令whereis也能进行查询,不同的是whereis用于找到程序的源、二进制文件或手册

  例如以下示例:

  1.21 grep

  在Linux当中当我们要进行行文本的过滤就可以使用grep指令

  该指令的功能就是在文件中搜索字符串,将找到的行打印出来

  grep [搜索的字符串] [文件]

  例如以下示例:

  在此如果要在过滤时显示行号就需要带上选项 -n

  cpp复制代码

  grep -n [搜索的字符串] [文件]

  在grep指令当中除了以上的 -n 选项之外以下的选项也较为常用

  • -i :忽略大小写的不同,所以大小写视为相同

  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

  1.22 zip

  在以上当中我们了解了在Liunx下如何创建文件,复制、剪切文件,删除 文件等操作,但如果要进行文件的传输就需要来了解如何在Linux下进行文件的打包和压缩

  知识点

  首先要了解的是什么是打包压缩

  打包压缩是使用特定的算法将文件进行合并或者压缩的操作,从而达到减小文件的体积,最终实现的效果就是将文件打包压缩为一个整体

  那么为什么要进行打包压缩呢?

  首先是文件的体积太大在存储时就很浪费空间,将文件进行压缩之后文件的体积减少,就实现了节省资源;节省磁盘空间。

  此外打包压缩之后将多个文件转化为一个文件,这就使得在进行文件传输时的容错性大大提升。

  了解了打包压缩的作用之后接下来我们就来学习如何进行打包压缩

  注:在以下学习的打包压缩当中是将这两个步骤直接使用一个指令来实现,没有分开实现,这样更易于操作

  要进行打包压缩就可以使用以下的指令

  zip (-r)[目录] dst.zip src

  在以上的指令当中src要进行打包压缩的文件,dst是打包之后的文件名,以zip结尾。当要打包的为目录时就需要带上-r 选项

  如果在使用以上的指令时,显示出以下,这就说明你的Liunx系统当中没有安装zip软件,此时你就要输入 yum install -y zip unzip

  以下就是使用zip指令进行打包压缩的示例展示

  学习了如何打包压缩之后接下来我们继续来学习如何进行解压解包

  unzip XXX.zip

  unzip XXX.zip -d [路径]

  以上两个指令就展示如何进行解压解包,如果是直接在unzip 之后带压缩包;那么此时就是直接将对应的压缩包解压到当前路径下 。如果在之后带上 -d 选项再外加上要解压到的路径就可以实现将压缩包解压到指定的路径上

  解压到当前路径下:

  解压到指定的路径下:

  我们知道在Windows之间是可以进行文件的回传的,其实Linux和Windows之间也是可以进行文件的传输的,那么接下来就来讲解如何操作

  知识点

  使用lrzsz这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。

  使用以下的指令可进行该软件的安装

  sudo yum install -y lrzlz

  此时要将Linux内的文件传输到Windows当中只需要在命令行当中输入**sz 文件名,**之后就可以选择Wndows当中接收该文件的位置

  要将Windows当中的文件传输到Linux当中就是要指令 rz 来实现,输入之后回车就可以选择要传输的文件

  但其实还有一种比以上更简单的方式,那就是直接将Windows中的文件拖拽到Xshell中即可

  1.23 tar

  除了以上的zip指令将文件压缩为zip格式之外,较为常见的压缩包格式还有tgz格式。要将文件压缩为tgz压缩包就需要使用tar指令

  tar -czf dst.tgz src

  以上src表示的是要进行压缩的文件,dst.tgz是压缩之后的压缩包名称。选项中的 -c 表示创建一个打包压缩的文件,-z表示进行压缩,-f 表示之后紧跟的文件就是打包压缩之后要形成的文件

  注:如果要在执行以上指令时显示过程就要再加上 -v 选项

  要将tgz格式的压缩包进行解压解包就要使用以下指令

  tar -xzf XXX.tge

  以上XXX.tge表示的是要进解压解包的压缩包。选项中的 -x 表示解开一个压缩文件,-z表示进行压缩,-f 表示之后紧跟的文件就是打包压缩之后要形成的文件

  注:如果要在执行以上指令时显示解压过程就要再加上 -v 选项

  若要将解压出的文件到指定路径下就使用以下指令

  tar -xvzf -C [指定路径]

  1.24 uname

  当我们要获取当前linux主机所用的操作系统的版本、硬件的名称等基本信息就可以使用unam指令。

  常用选项:

  • -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理

  器类型,硬件平台类型,操作系统名称

  1.25 补充热键

  在了解以上的基本指令之后接下来我们来了解几个Linux下的热键,学习了之后能显著的提高我们的效率

  1.TabTab按键---具有『命令补全』和『档案补齐』的功能

  2. CtrlCtrl-c按键---让当前的程序『停掉』

  3. 使用上下键可以翻阅之前的历史命令

  4.使用CtrlCtrl-r可以翻阅历史命令




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
上一篇:Linux从快速入门到精通
下一篇:什么是Linux及Linux常用指令

在线
客服

在线客服服务时间:9:00-22:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部