zoukankan      html  css  js  c++  java
  • 2.5.6 基本命令查找

        前文曾提过Shell会沿着查找路径 $PATH 来寻找命令。 $PATH 是一个以冒号分隔的目录列表,你可以在列表所指定的目录下找到所要执行的命令。所找到的命令可能是编译好的可执行文件,也可能是Shell脚本;从用户的角度来看,两者并无超别。
     
        默认路径(defualt path)因系统而异,不过至少包含 /bin 与 /usr/bin 。
     
    [many@avention Desktop]$ echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/many/test/:/home/many/.local/bin:/home/many/bin
     
        名为 bin 的目录用来保存可执行文件。
     
        若要编写自己的脚本,最好准备自己的bin目录来存放,并让Shell能够自动找到它们。只需要建立自己的bin目录,并将它加入$PATH中的列表即可
     
        [many@avention Desktop]$ echo $HOME
        /home/many
        [many@avention Desktop]$ cd $HOME
        [many@avention ~]$ mkdir bin
        [many@avention my_sh]$ mv nusers $HOME/bin
        [many@avention my_sh]$ PATH=$PATH:$HOME/bin
        [many@avention my_sh]$ nusers
        开始统计用户数...
        2
        统计用户数结束...
     
        上述修改环境变量的方式只是临时的,要让修改永久生效,在 .profile 文件中把新定义的 bin 目录加入 $PATH,因为每次登陆时,Shell 都将读取 .profile 文件。
        export PATH=$PATH:$HOME/bin
     
        $PATH里的空项目(empty component)表示当前目录(current directory),空项目位于路径值中间时,可以用两个连续的冒号表示。如果将冒号置于最前端或尾端,可以分别表示查找时最先查找或最后查找当前目录。
     
        如果将当前目录纳入查找路径(search path),更好的做法是在$PAHT中使用点号(.),因为空项目在可移植性上有点问题。只是可以将当前路径纳入查找路径,但最好不要这样做,会在安全上存在问题。
     
     
     

    linux profile 在哪个目录?

    linux下profile是在/etc目录下。用户可以在Profile文件中加入环境变量,这些环境变量都会得以设置,不用每次都手工设置。
     
    一、Unix/Linux有两个profile文件。
    1、/etc/profile:是全局profile文件,设置后会影响到所有用户。
    2、/home/username/.profile或.bash_profile是针对特定用户的,可以针对用户,来配置自己的环境变量。
    注意:profile是unix上才有的;bash_profile是Linux下有的(Linux下,用户目录没有.profile文件)
    /home/username/.profile或.bash_profile,都是隐藏文件,需要使用ls -a才能看到。
     
    二、Bash登陆(login)的时候,Profile执行的顺序。
    1、先执行全局Profile, /etc/profile。
    2、接着bash会检查使用者的HOME目录中,是否有 .bash_profile 或者 .bash_login或者 .profile,若有,则会执行其中一个,执行顺序为:
    .bash_profile 最优先执行> .bash_login其次执行 > .profile 最后执行。
     
     
     
  • 相关阅读:
    201771010135 杨蓉庆《面对对象程序设计(java)》第十五周学习总结
    201771010135 杨蓉庆/张燕/杨玲《面对对象程序设计(java)》第十四周学习总结
    201771010135 杨蓉庆/张燕《面对对象程序设计(java)》第十三周学习总结
    团队作业6—复审与事后分析
    团队作业6——Alpha阶段项目复审
    团队作业6——事后分析
    团队作业5——测试与发布(Alpha版本)
    团队作业4-项目汇总
    团队作业4-Day7
    团队作业4-Day6
  • 原文地址:https://www.cnblogs.com/avention/p/9691237.html
Copyright © 2011-2022 走看看