博客
关于我
Linux 命令的执行过程/Shell提示符/alias命令
阅读量:791 次
发布时间:2023-02-01

本文共 1370 字,大约阅读时间需要 4 分钟。

在 Linux 系统中“一切皆文件”,这一原则同样适用于操作系统的命令执行机制。 Whenever you input a command and press enter, the system will initiate a complex process to execute the command. 这个过程涉及到 shell 层和内核层,结合应用层的资源管理和环境变量配置。

一、命令执行的内核机制

当输入命令并回车后,整个执行过程可分为三个步骤:

  • 用户输入命令

    用户在终端或命令行界面中输入命令。命令可以是内部命令(如 pwd,由 shell 自带)的也可以是外部命令(如 ls,是可执行文件 /usr/bin/ls)。

  • shell 解析命令

    shell 会检查是否有 alias(别名),如果有则使用别名执行相关程序。shell 发现命令是外部命令后,会查询 PATH 环境变量,搜索命令的可执行文件。PATH 变量定义了多个目录,shell 会依次检查这些目录,直到找到对应的可执行文件。

  • 内核执行命令

    内核会加载可执行文件到内存中,然后执行其指令。如果命令需要访问文件、网络或其他系统资源,内核会根据请求进行相应操作。

  • 二、shell 层与环境变量

    shell 层是用户与系统交互的核心界面。它不仅解析命令,还维护与命令相关的环境变量,如 PATH、PS1(显示终端提示符)、 aliases、 history 等。

    • ** PATH 环境变量**

      PATH 定义了可能包含命令的目录列表。shell 会依次检查这些目录,直到找到命令的可执行文件。

    • 别名(alias)

      Usuario 可以为命令设置别名,如 alias ls='ls --color=auto'

    • 提示符(PS1)

      提示符由 $PS1 环境变量定义,定义了 shell 提示符的显示方式。默认提示符格式为 [用户名@主机名:~#],其中 ~ 表示用户的主目录,# 表示 root 用户,默认是普通用户 $

    三、命令执行的流程

    • 内部命令

      内部命令由 shell 本身niestop在内存中运行,执行效率高,如 pwdrm -i

    • 外部命令

      外部命令需要从磁盘读取可执行文件到内存后再执行,其速度相对较低。

    • 查找命令的位置

      使用命令 which 查找特定命令的可执行文件位置,比如 which ls 查看 /usr/bin/ls 的路径。

    • 永久别名设置

      要实现永久别名,可将其添加到 ~/.bashrc 文件中,执行 source ~/.bashrc 后生效。

    四、shell 提示符优化

    shell 提示符可以根据需求进行个性化设置:

    • 默认提示符

      提示符由 $PS1 定义,支持多种转义字符,如 \d(日期)、\h(主机名)、\w(当前工作目录)。

    • 修改提示符

      修改提示符可通过设置 $PS1 或直接编辑.bashrc 文件。每次 Shell 提示符会显示当前用户、主机名及工作目录。

    • 查看命令历史

      使用 history 命令查看命令记录,结合 ! 弹 回最近执行过的命令。

    • 命令行技巧

      输入时,按下 Tab 键可自动完成命令名称或路径。按 Esc + b 可以列出命令的别名。

    通过理解这些步骤和原理,用户可以更好地管理和优化他们的 shell 环境。

    转载地址:http://dawfk.baihongyu.com/

    你可能感兴趣的文章
    linux centos 安装 docker-compose 1.27.4
    查看>>
    linux centos6.4 php连接sql server2008
    查看>>
    Linux Centos7 xfsdump文件系统的备份和恢复
    查看>>
    Linux centos7 防火墙设置
    查看>>
    linux centos下 svn 版本控制服务器的搭建
    查看>>
    Linux CFSSL 生成证书
    查看>>
    linux chrom 系统无法读取用户偏好配置无需删除.config配置文件
    查看>>
    linux cmd using
    查看>>
    linux coreseek-4.1安装
    查看>>
    linux core文件设置
    查看>>
    Linux CPU优化性能实战
    查看>>
    Linux CPU管理及监控与性能评估
    查看>>
    Linux CPU负载状态分析实战
    查看>>
    Linux Crontab
    查看>>
    linux crontab 实现每秒执行
    查看>>
    Linux Cron表达式每半个小时执行一次
    查看>>
    linux crw权限,linux中crw brw lrw等等文件属性是什么
    查看>>
    linux curl 调用api
    查看>>
    Linux C(day01)
    查看>>
    linux debian系统中利用sysv-rc-conf启动服务
    查看>>