当前位置: 首页 > news >正文

【Linux】基本指令介绍

目录

一、操作系统简介

二、基本指令

01. ls指令:列出目录与文件信息

02. pwd指令:显示用户当前所在的目录

03. cd指令:改变当前所在的位置

04. mkdir指令:创建目录

05. touch指令:创建普通文件

06. rmdir指令:删除目录

07. rm指令:可以同时删除文件或目录

08. man指令:访问Linux手册页

09. alias指令:创建命令别名

10. echo指令:向显示器/向文件打印

11. nano指令:文本编译器

12. cat指令:查看文件内容

13. cp指令:用来拷贝文件的

14. mv指令:移动文件或将文件改名

15. more指令:浏览文件

16. less指令:浏览文件

17. head指令:显示开头文字内容

18. tail指令:显示结尾文字内容

19. history指令:显示历史命令

20. date指令:时间相关指令

21. cal指令:查看日历

22. find指令:在指定路径中查找

23. which指令:在指令路径下查找

24. whereis指令:在系统特定路径下查找

25. grep指令:文本过滤器

26. zip/unzip指令:压缩和解压

27. tar指令:可以打包/解包,不打开就能看内容

28. bc指令:Linux下的计算器

29. uname指令:获取系统内核和硬件信息

30.  free指令:查内存

三、常用热键


一、操作系统简介

        本文是作为学习Linux操作系统的第一节知识总结。首先来简单了解一下操作系统。操作系统是一款做软硬件管理的软件。计算机系统中软件与硬件的层次结构如下图所示:

        操作系统的核心工作通过对下管理好软硬件资源的手段,达对上提供良好(即稳定、快速、安全)的操作或使用环境

        我们现在在计算机上的所有操作都会转换成硬件行为,比如:我们C语言使用printf来进行显示器打印,它的本质就是通过软件层次的协作,将高级语言操作逐步转换为硬件可执行的信号的,除此之外还有许多通过软件,将行为转换为硬件行为的情况,但它并不是从软件到硬件的,而是按上面的层次结构自顶向下贯穿计算机的软硬件结构的,几乎我们所有的软件行为,都直接或间接的和操作系统相关。

        Linux操作的特点是:纯命令行(指令)、也有图形化界面。指令和图形化界面的本质是一样的,但指令更加贴切操作系统,要知道在历史上时现有指令再有图形的(因为现有键盘再有鼠标的)。

        总之,使计算机更好用! 这是操作系统的根本要义。

二、基本指令

        在介绍指令之前,需要知道本文使用的环境是通过文章:Linux环境搭建(xshell) -- 云服务器安装_xsheel-CSDN博客 搭建的环境。对于该环境,我们进入后,需要知道以下几个信息:

其中的~目录是我们一开始登陆进账号时默认所处在的目录,也叫家目录root的家目录是/root;而普通用户的家目录是/home/用户名,如图所示:

那么,现在就开始我们的基本指令的介绍。

01. ls指令:列出目录与文件信息

语法: ls [选项] [目录或文件] 

功能:

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

如果你是第一次使用环境,当你刚登陆就开始输入ls,则会出现以下情况,什么都没有

这是因为现在这个目录(lightqjx用户的家目录)是一个空目录,里面什么都没有(其实是有文件的,但是隐藏文件,所以不会显示),所以什么都不显示,这里我们需要简单了解下面两个命令(本文章后面会详细在讲):

  • midir 目录:实现创建一个目录
  • touch 文件名:实现创建一个普通文件

使用它们创建了一些目录和文件之后在使用ls就可以显示出信息了

        ls指令时可以跟选项的(注意ls和选项的中间要有空格,并且选项也可以更跟多个):常见的选项有:-l、-a、-F、-d 。

对于 ls -l :它的功能是列出文件更多、更详细的信息,也可以说是列出文件属性,比如文件大小、文件更新时间等。

当然,对于 ls -l  这个指令还可以简写成: ll  ,效果也是一样的:

注意:在显示文件列表时,每一行的第一列的第一个字符,表示了文件类型。比如:

 - :普通文件;:目录,......等等。

 

对于 ls -a  :它的功能是列出目录下的所有文件,包括隐含文件(隐藏文件是指以 . ..  开头的文件)。  

这里我们可以再知道一个使用方法技巧:选项是可以跟多个的,顺序不要求,而且选项还可以和起来一起写。

对于  ls -F  :它的功能是在每个文件名后附上一个字符以说明该文件的类型。比如:“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)等等。

对于  ls -d  :它的功能是将目录象文件一样显示(显示目录的属性),而不是显示其下的文件。它的使用后面可以加上是:ls –d 指定目录。

如果后面不指定目录,则会显示当前目录的信息:

02. pwd指令:显示用户当前所在的目录

语法:pwd

功能:显示当前所在目录

pwd没有什么选项,它只是用来显示我们当前所在目录的,方便我们定位。

这里我们可以来了解一下:Linux系统中,磁盘上的文件和目录都会被组成一棵目录树,每个节点都是目录或文件。即:

输入指令pwd时:

这里就表示了:当前目录所处的位置就是指根目录(/)下的home目录下的lightqjx目录下。

03. cd指令:改变当前所在的位置

语法:cd 目录名 
功能:改变工作目录。将当前工作目录改变到指定的目录下。

    常用情况:  cd 当前的目录下的目录名   它的功能就是进入该目录中。如图所示:

    对于cd 指令,它的特殊的使用情况有如下几种:

    cd .. : 返回上级目录
    cd /home/litao/linux/ : 绝对路径
    cd ../day02/ : 相对路径
    cd ~:进入用户家目
    cd -:返回最近访问目录

    对于  cd ..   :它的功能是返回上级目录。
    在介绍改命令指令之前,我们需要先了解两个特殊的隐藏文件:..文件  .文件 。

    使用ls -a后,我们可以看到:

    其实在每个目录下都会存在这两个目录,其中的 .文件 就是指当前目录,..文件 就是指上一级目录。

    • 通过  cd ..  可以返回上一级目录,就相当于Windows下的返回上级目录的按键。

    • 通过  cd .  就是指当前所在目录。它存在的意义就是帮助我们用户单位当前目录下的一个文件。如果向Windows一样运行.exe文件,就可以使用指令: cd ./.exe文件  相当于Windows下的双击软件。

    对于  cd 绝对路径 :进入绝对路径所指的目录;
    对于  cd 相对路径 :进入相对路径所指的目录。

    对于  cd ~ :它的功能是无论你在什么目录下,使用该命令,就可以直接回到家目录,即普通用户回到/home/用户名,root用户回到/root目录。

    对于  cd - :它的功能是返回最近一次访问的目录。它的应用场景,比如当我们在一个比较深的目录下使用 cd ~  回到家目录后,先要快速上次那个比较深的目录就可以使用  cd - 

    04. mkdir指令:创建目录

    语法:mkdir [选项] 目录名
    功能:在当前目录下创建新的目录,注意新创建的目录名不能与当前所处目录下的任何文件名相同。

    常规我们如果直接在mkdir后面跟目录名,表示在当前所在的目录下创建一个新目录。

    上面的意思是在/home/lightqjx/下创建d1、dd2两个目录。不能一次性递归创建多个目录,即:

            因为我们的目录的结构是树状结构的,比较难观察,所以这里我们首先来介绍一个Linux环境下的一个实用软件tree,可以来将目录的结构可视化显示。它需要再root账号下输入以下指令就可以安装了:

    yum install -y tree

    现阶段不用理解这是什么意思,只需要知道它是用来安装tree的就行了。tree的使用方法就是:tree 目录名(或路径),演示结果:

    如果想要一次性递归建立多个目录,则就需要加一个选项 -p 。即 mkdir -p 一串路径

    05. touch指令:创建普通文件

    语法:touch 文件名

    功能:创建一些普通文件,比如.txt的文本文件、.c的源文件...等等。

    如图所示,创建了几个普通文件:

    06. rmdir指令:删除目录

    语法:rmdir [选项] [目录名] 
    适用对象:具有当前目录操作权限的所有使用者,并且只能对目录进行删除,不能对普通文件进行删除。

    功能:只能删除空目录。(所以就具有局限性,一般删除我们后面常常采用的是rm指令)

    常用选项: -p 即递归删除空目录,当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

    基础功能实现

    加上 -p 选项后,进行删除操作:

    如果 d1/d2/d3 是空目录,则按顺序删除 d3 → d2 → d1(如果它们都是空的)。但如果某一层目录非空,则停止删除并报错。

    07. rm指令:可以同时删除文件或目录

    语法:rm [选项] 文件或目录...
    适用对象:所有使用者 

    功能:删除文件或目录

    常用选项:

    • -i     交互式删除,删除前会询问确认(比较安全)
    • -r     递归删除目录及其内容(用于删除非空目录)
    • -f     强制删除,不提示确认(比较危险!,因为通常删了就无法恢复了)

    如果 rm 指令不加任何选项,则就只能删除普通文件,对于其他的目录或看目录都不能删除。如果是在·root账户下,就会询问;如果是在普通账户下就不糊同时

    rm还可以更多个文件,来同时删除多个文件:

    注意:如果是在root用户下进行删除操作,就会出现提示;但在普通用户下是不会提示的

    对于  rm -r :它的功能是可以删除目录及其下所有文件,所以它是可以删除目录和普通文件的,对于root用户会询问是否删除,而对于普通用户则不会询问。

    因为目录是递归方式定义的,所以删除也要递归式删除。

    对于 rm -i :它的功能是删除时会逐步询问是否删除。

    对于  rm -f :就是像上述情况一样的时候,使用-f之后就不会提示了;如果是在root用户下进行一些删除操作,也就不会提示了。但是这个选项需要慎用!!!如果误删根目录就会系统崩溃,数据无法恢复。

            常常 -f 选项互和 -r 选项一起配合使用。即: rm -rf  就可以删除任何文件(包括任何目录。任何文件),即递归并强制删除。  

    08. man指令:访问Linux手册页

    语法: man [选项] 命令 

    常用选项 

    • num 只在第num章节找
    • -a     将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
    • -k     根据关键字搜索联机帮助

            由于Linux的命令有很多参数,我们不可能全记住,对于C语言我们可以通过查看文档来获取帮助;而对于Linux,则我们也可以来进行查文档来获取帮助。
    查找指令:man 指令 ,就可以查找相应的指令使用:比如 man ls 可以查看ls指令的使用,如图以下所示:

    输入后,就会得到以下界面,如果要退出,注入 q 就可以退出了。

    而输入man man 则可以查看Linux手册。
    这里先解释一下Linux手册,在Linux中输入man man 指令就可以看到。在Linux中,手册通常被分为多个章节,每个章节涵盖不同类型的内容。根据传统,Linux手册分为以下8种(有时更多,如某些系统可能扩展)个主要章节:

    1. 用户命令:包括在shell命令行中输入的可执行程序。
    2. 系统调用:由操作系统内核提供的函数。
    3. 库调用:C库函数,这些通常在程序内调用。
    4. 特殊文件:设备文件和驱动程序,通常在/dev目录下找到。
    5. 文件格式:人类可读或可配置的文件格式说明,如/etc/passwd
    6. 游戏:与游戏相关的说明。
    7. 概述、约定及杂项:包括宏包、标准和其他环境内容。
    8. 系统管理命令:通常需要root权限的管理命令。

    有时,手册还可能包括扩展章节,例如:

          9. 内核例程:非标准的,某些系统可能包含此章节。

    man的查找逻辑:

            一般我们如果直接man加指令,则它会从生手册1开始依次向后向后找。我们也可以加一个选项(-num)来指定在哪个手册查找。比如:

    注意,这里的printf它除了是一个函数。其实也是一个指令,如果直接使用 man printf 的话,它会先在手册1中去找,找到了就会停止,不会向后再找了。如果想要继续向后找,则可以使用选项 -a   来实现,从而实现在多个手册中查找。  

    补充:

            可能你刚开始时,使用man 3 printf可能查不到,这是因为某些Linux发行版可能默认不安装所有手册页,所以我们可以自己安装,在root账户下输入: yum install man-pages 就可以了安装了。

    man 的后面-k 根据关键字搜索联机帮助(实际上是在本地whatis数据库中查找,但功能上类似于联网查找相关手册页的概念展示)的相关内容。比如我们来搜索printf,则就会在系统的手册页描述数据库中搜索包含“printf”关键字的所有手册页条目,并列出匹配的结果。

    总结一下:如果我们想要查找一些指令的相关选项,就可以使用man来查找。

    09. alias指令:创建命令别名

            alias是一个用于创建命令别名的内置命令。通过别名,你可以为常用的复杂命令设置简短的替代名称,从而提高工作效率。比如ls指令中的ll就是ls -l的别名。

    语法: alias 别名='原命令'  

    也可以删除我们自己取的别名:  unalias 别名  

    10. echo指令:向显示器/向文件打印

     echo 字符串 :echo直接加字符串(注意:echo后面不论加不加双引号,都会认为是一个字符串,如果不加双引号的话,则空格会用来分界),将字符串原封不动的进行打印。

    echo还可以将字符串写入到文件中去,它的使用格式是: echo 字符串 > 文件名  。其中如果该文件名不存在,则会创建一个一样名称的文件名。这里可以先了解一下cat指令,它是用来查看文件内容的

    注意,这样的写入内容到文件是覆盖写入,即每次写入都会先清空内容,再写入新内容。

    这也叫 输出重定向 ,即一种将命令的输出从默认位置(通常是终端屏幕)定向到其他位置(如文件)的机制。

    如果不想要覆盖写入,则可以这样写:echo 字符串 >> 文件名  ,它可以逐步向文件中添加新内容。其中如果该文件名不存在,则会创建一个一样名称的文件名。

    这也加 追加重定向 ,它是一种输出重定向方式,用于将命令的输出追加到文件的末尾,而不是覆盖文件原有的内容。

    11. nano指令:文本编译器

    语法:nano 文件名

    功能:进入文件中,可以编辑文件的内容

    如果要退出,则可以看下面的提示:Ctrl + X 是退出,使用流程是:

    12. cat指令:查看文件内容

    语法:cat [选项] [文件] 
    功能: 查看目标文件的内容 
    常用选项: 
    -b 对非空输出行编号 
    -n 对输出的所有行编号 
    -s 不输出多行空行

            在解释echo指令时,我们已经知道,如果cat直接加文件名,执行的话则会直接输出文件内容到终端。但在这里,我们还需要知道一种方法: 输入重定向  (允许用户将命令的输入来源从默认的键盘(终端)更改为文件或其他来源),如图所示:

    这里是从指定文件中读取,进行打印,虽然这里看起来功能是一样的,其实在简单场景下,两者输出相同,但底层机制和应用场景不同。

            这里我们来看一下不同选项的情况。

    对于 cat -b 文件名  :对于每一行,如果有内容,则会进行编号;若没有内容,则不会进行编号。

    对于 cat -n 文件名  :对于每一行不论有没有内容,都会进行编号。

    对于 cat -s 文件名  :对于每一行,如果没有内容,则就不会输出。

    13. cp指令:用来拷贝文件的

    语法:cp [选项] 源文件或目录 目标文件或目录 
    功能:复制文件或目录,从源文件或目录拷贝到目标文件或目录

    常用选项: 
    -f  强行复制文件或目录, 不论目的文件或目录是否已经存在 
    -i  覆盖文件之前先询问用户 
    -r 或 -R 递归复制目录及其子内容

    注意事项:

    目标文件或目录存在时:

    • 如果目标是文件,cp 会直接覆盖(除非使用 -i 或 -n)。
    • 如果目标是目录,文件会复制到该目录下(保留原文件名)。

    14. mv指令:移动文件或将文件改名

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

    mv指令的使用大致有三种基本情况:1.重命名、2.剪切、3.重命名+剪切

    以下的原文件名也是可以使用路径来确认的。

    情况1:

     mv 原文件名 新名称  :这和重命名的功能是一样的

    情况2:

     mv 原文件名 目录路径  :这和剪切的功能是一样的,此时原文件会移动到新路径下。

    情况3:

     mv 原文件名 某目录路径下的新文件名  :这种功能就像是先剪切,再重命名一样,即先将文件移动到新目录,再对该文件进行重命名。

    mv的常用选项有以下两种常用的: 

    • -f :force 强制的意思,适用情况是目标文件已经存在,不会询问而直接覆盖(一般只有root用户才会询问) 
    • -i :若目标文件已经存在时,就会询问是否覆盖

    15. more指令:浏览文件

    语法:more [选项][文件] 
    功能:more命令,功能类似 cat ,不同的是当文件内容较长时,more 可以逐页(占满一屏)显示,避免信息快速滚屏,方便用户阅读。

    常用选项: 

    • q 退出more

     more 文件名  :逐页显示文件内容,通过q退出

    注意:more只能按Enter键向下翻,不能向上翻。

    如果你不想逐页显示,则可以使用  more -行数 文件名    就可以指定行数进行显示

    使用more后也可以进行查找:在执行more指令后输入: /xxx     ,其中xxx是指要搜索的内容。

    图中的数据是从0到1000的范围整数,然后输入/995来查找整数995的过程。

    16. less指令:浏览文件

    语法: less [参数] 文件 
    功能: less与more类似,但使用less可以随意浏览文件,即支持前后双向翻页(上下滚动),而more仅支持向前翻页(向下滚动),几乎所有 more 的功能 less 都支持

    选项: 

    • -i  忽略搜索时的大小写,即认为搜索是a和A是一样的来进行搜索
    • -N  显示行号,便于定位内容(如 less -N log.txt)。 
    • /字符串:向下搜索“字符串”的功能 
    • ?字符串:向上搜索“字符串”的功能 
    • n:重复前一个搜索(与 / 或 ? 有关) 
    • N:反向重复前一个搜索(与 / 或 ? 有关) 
    • q:退出浏览

    17. head指令:显示开头文字内容

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

    常用选项: 

    •  -行数   显示的行数

    首先,我们把以下代码内容写入到text.txt文本中去,则改文本文件中就会有1000行的内容。

    再使用head指令来显示文本内容:

    18. tail指令:显示结尾文字内容

    该指令的功能和head指令的功能相对。

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

    常用选项: 

    •  -行数   显示的行数

    还是使用上面的 text.txt 文本,演示结果如下:

    补充内容:管道

            head和tail指令通常是配合管道来使用的。管道是一种强大的命令行工具,它通过符号 |(竖线)将一个命令的标准输出直接连接到另一个命令的标准输入,从而实现数据的链式处理

            示例:查看text.txt的中间行,比如500 - 520行.

            一种常用的方法是先使用head先查看前520行,这时可以将它的输出重对象到一个temp.txt文件中去,再使用tail提取出temp.txt中的后20行就可以得到500行到520行了。

    但是上面这种方法需要创建一个真实存在磁盘的新文件,而这里我们使用管道来解决其实更加简单,即:

    这样只需一条指令就可以完成操作了,并且不用直接创建新文件。

    它的作用是:

            其中的  |  是一种符号,后面会别系统解释为管道文件(这是内存级的文件,与其他内存级文件不同的是:其他文件会定期将文件内容或数据刷到磁盘上,而管道不需要,仅此而已),它可以将左边的程序的输出交给管道文件,右侧的程序再从管道文件中将数据读到自己的程序当中。简而言之,管道就像水管一样,有一个入口,有一个出口,可以用来传输文件的。

            所以,我们后面就可以通过  |  符号来连接命令,来解决一系列链式处理数据的问题。

    19. history指令:显示历史命令

    直接只输入history指令局可以显示历史命令,但是显示的只有最新的1000条指令。

    20. date指令:时间相关指令

    可以自定义输出格式输出当前时间

    使用 + 指定格式符号,常见选项:

    • %Y   年
    • %m  月
    • %d   日
    • %H  小时
    • %M  分钟
    • %S  秒
    • %A  星期全名
    • %B  月份全名
    • %F  等价于 %Y-%m-%d
    • %T  等价于 %H:%M:%S 

    使用示例:

    其中date后面的+必须要有,还有选项不能变,其余的符号可以自定义显示出来。

    时间戳

    概念:时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

    如果要显示时间戳,则可以使用:  date +%s

    如果想要将一个时间戳转换为时间,则可以使用:date -d@1758205966  这种格式显示

    21. cal指令:查看日历

    格式: cal [选项] [月份][年份]
    功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
    常用选项:

    • -3 显示系统前一个月,当前月,下一个月的月历 
    • -j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数) 
    • -y  显示当前年份的日历

    如果只输入cal,则就会显示当前月份:

    如果cal后面只有一个参数:

    如果有两个参数:

    对于 cal -3  :

    对于 cal -j  :

    22. find指令:在指定路径中查找

    语法: find 路径 选项 查找对象
    功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘) 
    常用选项:

    • -name   按照文件名查找文件

    也可以在查找系统目录下查找指令:

    23. which指令:在指令路径下查找

    语法:whereis 查找对象

    which指令是一个在 Linux 系统中常用的命令行工具。它可以在我们的系统的指令路径下(/ust/bin/)来进行指令级的查找,搜索指令文件。同时它还会详细显示所查指令的别名。

    24. whereis指令:在系统特定路径下查找

    语法:whereis 查找对象

    whereis是在系统指定路径(如:/usr/bin、/usr/share/  等等)下查找,既可以找到可执行程序,还会搜索相关的帮助文档和源码文件等,比如手册,安装包,压缩包之类的。

    25. grep指令:文本过滤器

    语法: grep [选项] 搜寻字符串 文件 
    功能: 在文件(不能是目录)中搜索字符串,按行匹配过滤,将找到包含该字符串的的行打印出来 
    常用选项:

    • -i :忽略大小写的不同,所以大小写视为相同 
    • -n :顺便输出行号 
    • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

    当然也可以这里的选项组合起来使用,效果更好。

    除此之外,还可以和管道一起使用,只不过需要注意的细节是不用带文件名了:

    26. zip/unzip指令:压缩和解压

    语法: zip 压缩文件.zip 目录或文件 
    功能: 将目录或文件压缩成zip格式 
    常用选项:

    • -r 递归处理,将指定目录下的所有文件和子目录一并处理 

    安装:对于不同平台的服务器可以是没有安装这两条指令的,所以我们可以手动安装,安装方法:登录root账户后,直接输入命令: yum install -y zip unzip  就可以了

    对于单个普通文件,我们可以直接使用zip来进行压缩,不用带选项: zip 打包压缩后的名称 需要压缩的文件  ,解压则就只需要: unzip 压缩包名称  这样就可以在当前目录下进行解压了。

    但是,zip后面直接更对象来进行压缩操作,如果zip后面是一个目录呢?如下所示:

    所以对目录进行压缩,必需要使用一个选项才行: zip -r 压缩后的新名称 目录  

    在解压时,也可以直接解压到指定目录的,使用方法如下:

    补充:压缩时是可以同时打包压缩多个文件的

    27. tar指令:可以打包/解包,不打开就能看内容

    语法:tar [选项] 新名称 文件与目录

    选项:

    • -c :建立一个压缩文件的参数指令(create 的意思); 
    • -x :解开一个压缩文件的参数指令! 
    • -t :查看 tarfile 里面的文件! 
    • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
    • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
    • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
    • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
    • -C : 解压到指定目录

    可以发现tar指令的选项是有很多的,并且它们还是比较容易混的。所以我们只需要掌握以下三种情况即可:

    1. tar -czf XXX.tgz XXX       打包压缩()
    2. tar -tzf XXX.tgz                预览查看
    3. tar -xzf XXX.tgz               解压解包

    其中的.tgz是  .tar.gz 的缩写,.tar是打包的后缀,.gz是压缩的后缀。

    上面使用tar -xzf XXX.tgz   解压解包时也可以指定目录: tar -xzf XXX.tgz 指定目录  即可

    28. bc指令:Linux下的计算器

    直接在命令行输入bc,就可以进入了;输入qiut就可以退出。

    一般,bc命令还可以和管道一起使用,可以直接输出结果:

    29. uname指令:获取系统内核和硬件信息

    语法:uname [选项]

    功能: uname用来获取电脑和操作系统的相关信息。 
    选项:

    • -a    详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
    • -r    查体系结构。

    执行 uname -a 

    执行 uname -r  :

    30.  free指令:查内存

    语法:  free [选项]  

    如果不加选项,默认以 KB 为单位显示内存信息。


    三、常用热键

    • [Tab]按键 --- 具有『命令补全』和『档案补齐』的功能 
    • [Ctrl]+C按键 --- 让当前的程序『停掉』 
    • [Ctrl]+D按键 --- 通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
    • [Ctrl]+R按键 --- 可以用来作历史命令搜索。比如当我们按下该键,再输入几个字符,就可以快速定位内容了。

    关于shell命令及其运行原理的理解

            shell 在翻译上又外壳的意思,而在这里它是指命令行解释器。我们上面使用的[lightqjx@hcss-ecs-d790 ~]$或[root@hcss-ecs-d790 ~]#都统称为bash命令行,它其实是shell(命令行解释器)的一种显示方式。

            我们将Linux操作系统称之为“核心”,但我们一般用户,不能直接使用“核心”。而是通过“核心”的“外壳”程序,也就是所谓的shell(外壳),来与“核心”沟通。

            因为我们所有的命令,最终都是在操作系统内部运行的,但操作系统的使用难度比较高的,我们用户不能直接和操作系统打交道,而需要一个工具来连接两者,比如我们的图形化界面和命令行解释器。所以命令行解释器的作用就是将用户的命令翻译给核心处理,同时将处理结果翻译给用户。所以它的关系就是如图所示:

            

            指令的本质,其实是编译好的程序和脚本,它们会存放在系统的特定路径下。我们输入指令,就相当于是将指令交给命令行解释器,命令行解释器再与操作系统打交道,让操作系统拿结果返回命令行解释器,命令行解释器再返回给用户。

    命令行解释器存在的意义就是:对用户需求进行解释;保护操作系统,对于非法请求,直接拦截。


    本文是主要是关于Linux中的大部分基本指令的常见介绍,让我们初步进入Linux操作系统的认识。

    感谢各位观看!希望能多多支持!

    http://www.dtcms.com/a/391356.html

    相关文章:

  • 爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】----待完成
  • 【软考-系统架构设计师】特定领域软件体系结构(DSSA)
  • idea git使用提示问题处理
  • 数据结构初阶——哈希表的实现(C++)
  • Problem: lab-week3- exercise01 Insertion sort
  • 金融级虚拟机安全:虚拟化平台5大安全风险与国产化防护实践
  • 可视化在智慧城市中的应用
  • C#实现高性能拍照(旋转)与水印添加功能完整指南
  • Pandas 2.x与PyArrow:深入探索内存优化与性能提升技巧
  • opencv之轮廓识别
  • lesson65:JavaScript字符串操作完全指南:从基础到高级实战
  • 【脑电分析系列】第19篇:深度学习方法(一):卷积神经网络(CNN)在EEG图像/时频图分类中的应用
  • 写文件的几种方法
  • 序列化与反序列化漏洞及防御详解
  • uniapp 锁定竖屏,固定竖屏,锁定屏幕
  • 论文解读 | Franka 机器人的 CRISP-ROS2 集成实践:适配学习型操作策略与遥操作
  • Redis数据库(二)—— Redis 性能管理与缓存问题解决方案指南
  • TCP KeepAlive判断离线的记录
  • Ceph 测试环境 PG_BACKFILL_FULL
  • 维星AI的GEO搜索优化:企业在AI时代的可见度突围之道
  • Abp Vnext 数据库由SQL server切换MySQL
  • Linux嵌入式自学笔记(基于野火EBF6ULL):4.gcc
  • Mellanox网卡寄存器PPCC
  • [vibe code追踪] 应用状态管理 | 交互式点击 | 共享白板
  • SG-TCP232-110 单通道串口服务器,一键实现串口与以太网双向转换
  • 零基础入门神经网络:从数学公式到通俗理解
  • 坤驰科技诚邀您参加——第十三届中国光纤传大会
  • 如何找到高质量的Java项目教程?
  • 无声的战场:AUTOSAR AP日志里的谍影重重(1)
  • ThinkPHP在使用nginx反向代理后如何获取真实的Ip地址