• 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 最后执行。
     
     
     
  • 相关阅读:
    使用Nginx搭建图片服务器(windows)
    Vue中使用百度地图——设置地图标注
    大型网站的 HTTPS 实践(三)——基于协议和配置的优化(转)
    大型网站的 HTTPS 实践(二)——HTTPS 对性能的影响(转)
    大型网站的 HTTPS 实践(一)—— HTTPS 协议和原理(转)
    TCP的状态兼谈Close_Wait和Time_Wait的状态
    SYN Flood攻击及防御方法 (转)
    LINUX下解决netstat查看TIME_WAIT状态过多问题(转)
    IP负载均衡技术
    ubuntu下安装Apache+PHP+Mysql
  • 原文地址:https://www.cnblogs.com/avention/p/9691237.html
Copyright © 2020-2023  润新知