shell是一个应用程序,当我们用规定的格式输入shell指令时,linux系统会根据指令的内容查找到对应的应用程序,从而执行相应功能的代码,最后将执行的结果在终端上展示出来。这就涉及到shell命令怎么写,它是如何寻找到准确的代码执行的。
1.shell命令格式
命令 [选项] [参数]
如:ls //展示当前
ls -l //展示当前所在目录下的文件夹(路径)和文件创建时间和内存大小等内容
ls -l /etc //展示指定(这里是\etc)目录下文件夹(路径)和文件的创建时间和内存大小等内容
其中,数据与数据之间以空格隔开,命令是shell指令必须包含的内容,[选项]和[参数]不是必须输入的内容,如果你只关心当前目录下有哪些文件夹和文件,则不必输入[选项]和[参数]信息,它与用户所要的效果有关系。
shell命令的选项可以通过man 命令 来查找,如 man ls。
2.环境变量
当终端输入shell指令后,系统通过环境变量来寻找对应功能的应用程序,从而执行相应的代码。
上图shell命令的环境变量,从图中可以看出,系统指令和用户指令大部分分布在bin和sbin的路径下。
如果需要在linux上运行自己写的C程序,在不使用 ./ 命令的情况下,需要将程序放在环境变量中的路径或者将程序所在的路径加入到环境变量中,将程序路径加入到环境变量有三种方法:
(1)临时方法:export PATH=$PATH:程序路径,重启无效。如export PATH=$PATH:/home/book
(2)针对当前用户有效的永久方法:修改 ~/.bashrc,如vi ~/.bashrc,在末尾输入 export PATH=$PATH:程序路径。
(3)针对所有用户有效的永久方法:修改 /etc/environment,在末尾添加程序路径即可。