Linux命令执行过程

  1.判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls) ,如果是的话则直接执行

  2.Linux系统检查用户输入的命令是否为”别名命令”.

    即用一个自定义的命令名称来替换原本的命令名称(格式 : alias 别名=命令)

    若要取消一个命令别名,则用unalias,格式 : unalias 别名

  3.Bash解释器判断用户输入的是内部命令还是外部命令.内部命令时解释器的内部指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令会交由步骤4继续处理.可以使用”type命令名称”来判断用户输入的命令是内部的命令还是外部命令.

  4.系统在多个路径中查找用户输入命令文件,而定义这些路径的变量叫做PATH,可以简单的把它理解成是”解释器小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖的的在这些位置中逐个查找.PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找.

  注:

    1.为什么不能将当前目录(.)添加到PATH变量中呢?

      答 : 尽管可以将当前目录(.)添加到 PATH 变量中,从而在某些情况下可以让用户免去输入命令 所在路径的麻烦。但是,如果黑客在比较常用的公共目录/tmp 中存放了一个与 ls 或 cd 命令同 名的木马文件,而用户又恰巧在公共目录中执行了这些命令,那么就极有可能中招了。

    2.接收任何一台Linux系统后一定会在执行命令前检查PATH变量是否有可疑目录

Linux系统中最重要的10个环境变量

变量名称

作用

HOME

用户的主目录(即家目录)

SHELL

用户在使用shell解释器名称

HISTSIZE

输出的历史命令记录条数

HISTFILESIZE

保存的历史命令记录条数

MAIL

邮件的保存路径

LANG

系统语言,语系名称

RANDOM

生成一个随机数字

PS1

BASH解释器的提示符

PATH

定义解释器搜索用户执行命令的路径

EDITOR

用户默认的文本编辑器


变量的组成 : 固定的变量名与用户或系统设置的变量值两部分组成的

提升全局变量的命令 : export

 

Linux就该这么学——重要的环境变量的更多相关文章

  1. 【linux草鞋应用编程系列】_2_ 环境变量和进程控制

    一. 环境变量     应用程序在执行的时候,可能需要获取系统的环境变量,从而执行一些相应的操作.     在linux中有两种方法获取环境变量,分述如下.   1.通过main函数的参数获取环境变量 ...

  2. Linux下Jdk的安装和jdk环境变量的设置

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  3. Linux上安装jdk1.8和配置环境变量

    前言 Linux 上安装jdk1.8 和配置环境变量,参考相关文档,本人在此总结,操作归纳如下. 第一步:创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容 ...

  4. Linux—export命令查看、修改用户环境变量

    Linux export 命令用于设置或显示环境变量. 在 shell 中执行程序时,shell 会提供一组环境变量. export 可新增,修改或删除环境变量,供后续执行的程序使用. export ...

  5. 常见linux命令释义(第六天)——shell环境变量

    太懒了,这几天好像得了懒癌,一点都不想写博客.后来想想,知识嘛,还是分享出来的好.第一治自己的懒癌:第二顺便巩固下自己的知识. Linux的变量分为两种,一种是系统变量,是系统一经启动,就写进内存中的 ...

  6. Linux和Windows下查看、设置环境变量的比较

    [一]查看环境变量: 1.windows 查看所有的变量:set    范例:>set    查看某个变量的值:set 环境变量名    范例:     >set JAVA_HOME    ...

  7. linux下JDK,tomcat的安装与环境变量配置

    先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,下载后放在/home目录中,当然其它地方也行. 进入安装目录#cd /home#cp jdk-1_5_0_02-linu ...

  8. linux下export命令添加、删除环境变量(转载)

    转自:http://blog.csdn.net/shenshendeai/article/details/49794699 export命令 功能说明:设置或显示环境变量. 语 法:export [- ...

  9. Linux下发布javaWeb项目,配置环境变量,tomcat,和安装mysql数据库

    如果不懂,可以联系微博本人:QQ:3111901846 (原创) 1.配置java中jdk 注意一切操作,都是在root这个目录下进行的,不要选择其他目录,不然会出现一些小问题的 第一步: 你需要一个 ...

随机推荐

  1. Centos7安装Redis5.0.3

    1.切换目录 cd tmp 2.下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 3.解压,删除压缩包 tar xzf redi ...

  2. P2089 烤鸡

    题目背景 猪猪hanke得到了一只鸡 题目描述 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末.孜然等),每种配料可以放1—3克, ...

  3. Java基础__Java中集合类

    ArrayList:有序.可重复.线程不安全.内部使用数组进行存储 LinkedList:有序.可重复.线程不安全.内部使用引用进行存储[可以很方便的进行插入.删除数据] Vector:有序.可重复. ...

  4. 2017 ZSTU寒假排位赛 #7

    题目链接:https://vjudge.net/contest/149498#overview. A题,水题,直接按照题意模拟一下即可. B题,我用的是线段树.大力用的差分标记(上次听zy说过,下次再 ...

  5. ImportError: DLL load failed: 找不到指定的模块

    如果遇到错误:ImportError: DLL load failed: 找不到指定的模块出现错误原因:安装包的来源问题,也可以理解为包版本兼容问题,有的包使用官方出版,有的包使用whl文件安装 解决 ...

  6. 腾讯云安装mysql数据库

    转载自  https://www.cnblogs.com/shalldou/p/10767043.html 首先,我们检测一下系统中是否已安装mysql的相关服务 命令: rpm -qa | grep ...

  7. redis2. sds 字符串(SimpleDynamicString)

    1.标准strcat 会有溢出风险,sdscat无溢出风险 2.空间预分配,惰性空间释放 空间预分配:sds分配空间时,如果原来是5,free是0, sdscat追加一个10长度的,此时字符串加长到1 ...

  8. 基于eclipse的java与mysql开发环境的搭建

    本文主要介绍  Java与MySQL的连接 1.安装jdk 略~ 园子里有很多 2.安装mysql 略~ 3.下载并安装JDBC,通过mysql官网下载  http://dev.mysql.com/d ...

  9. Elasticsearch的安装入门

    大纲: 一.简介 二.Logstash 三.Redis 四.Elasticsearch 五.Kinaba 一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部 ...

  10. parted对大容量磁盘进行分区

    Linux系统中MBR与GPT的区别 主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节.它包含操作系统的引导器和存储设备的分区表. 全局唯一标识分区表 ...