Linux 命令行介绍
1. Shell 简介
Shell 的意思是“外壳”,在 Linux 中它是一个程序,比如/bin/sh、/bin/bash 等。它负责接收用户的输入,根据用户的输入找到其他程序并运行。比如我们输入“ls”并回车时,shell 程序找到“ls”程序并运行,把结果打印出来。Shell 有很多种实现,我们常用 bash。
shell就是一个应用程序,我们可以通过键盘、串口给它发送命令,回车后它就会去执行这些命令。
以“ls -l”命令为例,
① 接收键盘数据并回显
比如:我们使用键盘给shell程序发送字母l,它收到后会在屏幕上显示出来
② 解析输入的字符串,寻找程序,执行程序:
当我们使用键盘给shell程序发送回车时,它就知道字符输入结束了
a. shell会解析字符串,这些字符串用空格分为好几部分
第1部分就是程序名、命令名,
其他部分是参数
b. shell会去寻找该程序,去哪里找?去PATH环境变量所指示的位置找。
你当然也可以指定绝对、相对路径,shell就会直接去这些路径找到程序
执行命令 echo $PATH
显示出某一个环境变量。
Shell 程序就是通过去这些目录逐个寻找用户输入的指令。
book@100ask:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
执行命令 env
显示出各种环境变量及其值。
book@100ask:~$ env
CLUTTER_IM_MODULE=xim
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;