一 为什么要使用命令行

  当初级Linux用户面对缺乏图形界面的Linux时很多人都会抱怨:为何要死守命令行?为什么不采用人机互交好、更简单的图形界面呢?事实上,图形界面在某些任务方面确实高效而且简单,但是在某些任务面前,图形界面就望尘莫及了。例如批量的安装与批量的文件处理。

  Linux是一款文本式驱动的操作系统,有点就是在于可以进行命令界面操作。相比图形界面来说,命令界面可以节省大量的物理内存空间并且可以避免在图形界面下出现的密密麻麻的列表;同时在命令界面可以完成相当复杂的运算。当然我们也可以把图形界面理解成命令行的图形运算外壳。


二 Linux命令行的重要作用

  相比图形界面,Linux命令行才是Linux系统的真正核心,利用命令行可以对系统进行各种配置,要熟练并成功管理Linux操作系统就必须对Linux命令行有深入的了解。Linux下的命令行有助于初学者了解系统的运行情况和计算机的各种设备。比如:中央处理器、内存、磁盘驱动、各种输入和输出设备以及用户文件,都是在Linux系统管理命令下运行的。可以说Linux命令行对整个系统的运行以及设备与文件之间的协调都具有核心的作用。

  虽然近些年个人计算机的潮流已经从命令行转向了图形界面方向,用户也热衷于图形界面的应用,但是在服务器应用与高级别使用上Linux命令行依然是核心应用。这取决于在字符界面下的操作具有更好的稳定性与安全性。

  综上所述,不论是Linux的初学者还是一个正宗的Linux老鸟,Linux命令行都是必不可少的系统管理利器。需要记住的是命令行不是单纯的一段命令,它是一种工具,它也需要安装。


三 命令分类

Linux命令分为两类,具体为内部命令和外部命令

  • 内部命令:指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd、type、echo、time、true等。
  • 外部命令:指通过外部介质安装的命令工具包,如通过yum、rpm等方式安装,具体安装路径在$PATH下。

 注:所有的内部命令在外部命令中都有存在,只是为了提高优先级而在shell中集成一部分

  • 命令查看: type查看命令分类,内部命令显示 shell相关信息,外部命令则显示$PATH路径 [root@localhost ~]# type time
    time is a shell keyword
    [root@localhost ~]# type date
    date is /bin/date

四 命令执行顺序

单命令执行顺序

alias->shell>hash>PATH

多命令执行顺序

  Linux多命令顺序执行连接符(; || && |) 当我们需要一次执行多个命令的时候,命令之间需要用连接符连接,不同的连接符有不同的效果。下面我们总结一下,加以区分。

(1)  ; 

分号,没有任何逻辑关系的连接符。当多个命令用分号连接时,各命令之间的执行成功与否彼此没有任何影响,都会一条一条执行下去。

(2) ||

逻辑或,当用此连接符连接多个命令时,前面的命令执行成功,则后面的命令不会执行。前面的命令执行失败,后面的命令才会执行。

(3) &&

逻辑与,当用此连接符连接多个命令时,前面的命令执行成功,才会执行后面的命令,前面的命令执行失败,后面的命令不会执行,与 || 正好相反。

(4) |

管道符,当用此连接符连接多个命令时,前面命令执行的正确输出,会交给后面的命令继续处理。若前面的命令执行失败,则会报错,若后面的命令无法处理前面命令的输出,也会报错。

例 ls | grep *.txt

五 内部命令与外部命令的产生和区别

  1. CentOs7 的shell是bash;在Linux使用时有一些命令的使用频率较高,若是总是从硬盘数据中读取比较浪费时间且占用资源。所以bash把这些使用频率高的命令集成到shell 当中,加快调用,称为内建命令。
  2. 所以内建命令在就是为了加快外部命令调用而在shell中的备份。即每个内建命令都在外部命令(硬盘上)存在的有。

 二者区别:内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。

外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。

六 命令优先级

alias>shell内建>hash>外部路径

linux命令类型及执行顺序的更多相关文章

  1. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  2. Linux命令行上执行操作,不退回命令行的解决方法

    问题描述: 如果你现在登录Centos执行了某个操作,但是操作一直占用命令行,命令行显示的也都是这个命令相关的操作,我想做其它事情 ,该怎么办呢 ? 解决方法: 根据<Linux命令行与Shel ...

  3. linux shell的配置文件执行顺序

    shell配置文件的作用:初始化环境变量.设置命令提示符.指定系统命令路径等 shell配置文件分类: (1)系统级别配置文件: /etc下,比如/etc/profile./etc/bashrc (2 ...

  4. Linux 命令 - watch: 反复执行命令,全屏显示输出

    watch 命令周期性地执行命令,全屏显示输出.可以通过 watch 命令反复执行某一程序来监视它的输出变化. 命令格式 watch [-dhvt] [-n <seconds>] [--d ...

  5. Linux命令-进程后台执行:nohup(就是不挂起的意思)

    nohup 就是不挂起的意思( no hang up) 用途:LINUX命令用法,不挂断地运行命令. 语法: nohup Command [ Arg ... ] [ & ] 描述:nohup ...

  6. linux命令中,执行一个程序,后面加上&, 代表的意思是什么?

    后台执行.也就是执行这个程序的同时,你的终端同时还能够做其他的事情,如果不加这个符号,那么你执行这个程序后,你的终端只能等这个程序执行完成才能够继续执行其他的操作 . 如:启动etcd: ./etcd ...

  7. linux命令了的查找顺序

    $PATH,从左到右依次查找. 遇到第一个匹配的命令就立即停止查找.

  8. 查看linux命令类型

    type type -a type type是内建变量 root@akayer-p6:~# type -a lsls 是 `ls --color=auto' 的别名ls 是 /bin/ls

  9. linux命令行下执行循环动作

    在当前子目录下分别创建x86_64 for dir in `ls `;do (cd $dir;mkdir x86_64);done

随机推荐

  1. 线性一致性与全序广播------《Designing Data-Intensive Applications》读书笔记12

    上一篇聊了聊构建分布式系统所面临的困难,这篇将着重讨论构建容错分布式系统的算法与协议.构建容错系统的最佳方法是使用通用抽象,允许应用程序忽略分布式系统中的一些问题.本篇我们先聊一聊线性一致性,以及与线 ...

  2. SSE图像算法优化系列十七:一些图像处理中常用小过程的SSE实现。

    在做图像处理的SSE优化时,也会经常遇到一些小的过程.数值优化等代码,本文分享一些个人收藏或实现的代码片段给大家. 一.快速求对数运算 对数运算在图像处理中也是个经常会遇到的过程,特备是在一些数据压缩 ...

  3. Java String使用总结

    1 == 与 equals() 使用==来比较两个primitive主数据类型在意义上相等(是否带有相同的字节组合),或者判断两个引用(如String变量)是否引用同一个对象.使用equals()来判 ...

  4. pyDash:一个基于 web 的 Linux 性能监测工具

    pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的.经测试,在下面这些主流 Linux 发行版上可运行:Cen ...

  5. Spring-Security 自定义Filter完成验证码校验

    Spring-Security的功能主要是由一堆Filter构成过滤器链来实现,每个Filter都会完成自己的一部分工作.我今天要做的是对UsernamePasswordAuthenticationF ...

  6. 对于 @Autowired注解和@service注解的理解

    @Autowired相当于Spring自动给你进行了new一个对象将这个对象放入你的注解所在类里面. @service 是可以让IOC容器对于你注解的类可以在容器中生成相应的bean实例 便于我们进行 ...

  7. PHP不使用array_merge函数实现一维数组合并

    function array_mer() { $arrays = func_get_args(); //获取当前函数中传递进来的所有参数,也就是所有一维数组 // echo '<pre>' ...

  8. JAVA 处理 Spring data mongodb 时区问题

    Spring data mongodb 查询出结果的时候会自动 + 8小时,所以我们看起来结果是对的 但是我们查询的时候,并不会自动 + 8小时,需要自己处理 解决方法 1   @JsonFormat ...

  9. rpm软件包管理的详细解读

    CentOS系统上使用rpm命令管理程序包:安装.卸载.升级.查询.校验.数据库维护 1.基本安装 rpm -ivh PackageFile 2.rpm选项 rpm -ivh --test Packa ...

  10. javascript 事件基础

    一:事件流 事件流描述的是从页面中接收事件的顺序.  事件冒泡 <div id="one"> <div id="two"> <di ...