一 为什么要使用命令行

  当初级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. 在CentOS 6.x上配合Windows客户端搭建 git(gitosis)服务器

    一.在 CentOS 上安装 git 和 gitosis: 逐条执行如下语句: sudo yum install git python-setuptools cd /opt sudo git clon ...

  2. Linux 虚拟IP

    虚拟IP Linux网卡上绑定另一个虚拟ip,即网卡上一个真实ip一个虚拟ip.当然通过这2个ip都可以连接到该主机. 实现原理主要是靠TCP/IP的ARP协议.因为ip地址只是一个逻辑 地址,在以太 ...

  3. PHPStorm 常用 设置配置 和快捷键大全 Win/Mac

    [转自 http://blog.csdn.net/fenglailea/article/details/53350080] PHPStorm 下载及主题样式下载 http://www.lanmps.c ...

  4. Jenkins实现PHP的自动部署

    1.汉化jenkins 1).安装汉化包 系统管理 -> 插件管理 -> 安装插件 ->选择插件(Locale plugin) 2).设置语言为中文 系统管理 -> 系统设置 ...

  5. Ubuntu系统下crontab的使用

    最近一个项目,需要用到一个定时任务,先说crontab的常用命令. crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出 ...

  6. Vue.js源码——事件机制

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...

  7. 图论算法-网络最大流【EK;Dinic】

    图论算法-网络最大流模板[EK;Dinic] EK模板 每次找出增广后残量网络中的最小残量增加流量 const int inf=1e9; int n,m,s,t; struct node{int v, ...

  8. POJ 1023 The Fun Number System

    Description In a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight o ...

  9. angular2^ typescript 将 文件和Json数据 合并发送到服务器(2.服务端)

    nodejs 中使用框架 express web框架 multer 文件接受 直接贴代码了,我就不解释了 "use strict"; exports.__esModule = tr ...

  10. linux 下安装php curl扩展

    方法一 安装cURL wget https://curl.haxx.se/download/curl-7.53.1.tar.gz tar -zxf curl-7.17.1.tar.gz ./confi ...