zoukankan      html  css  js  c++  java
  • 第5节 环境变量与文件查找

    《Linux 基础入门(新版)》学习笔记
    附实验楼地址:https://www.shiyanlou.com/courses/1

    一、环境变量

    • declare

      声明或显示shell变量;

      $ declare tmp=liming //创建
      $ echo $tmp //显示
      $ liming
      $ unset tmp //删除
      

    环境变量

    • Shell 程序也作为一个进程运行在操作系统之上,而我们在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。
    • 三个与环境变量相关的命令:
      • set // 当前Shell所有变量
      • env // 当前用户相关
      • export // 从Shell中导出环境变量的变量

    • 关于哪些变量是环境变量,可以简单地理解成在当前进程的子进程有效则为环境变量,否则不是
      • 注意:为了与普通变量区分,通常我们习惯将环境变量名设为大写。

    永久生效

    * 永久的变量和临时的变量(export声明)
    * 两个文件:
        * ```/etc/bashr // shell变量```
        * ```/ect/profile // 环境变量,对所有用户永久生效```
    * 用户目录的一个隐藏文件:```.profile //只对当前用户生效```
    * 如何实现永久:
        * 将需要的环境变量添加到```/etc/profile```
    

    命令查找路径与顺序

    $ echo $PATH
    $ PATH=$PATH:/home/shiyanlou/mybin
    // (这里在mybin目录下有自己写的.sh)
    // 添加自定义路径到“PATH”环境变量中
    

    但是一旦退出终端再打开就失效了

    实现全局有效

    在每个用户 home 目录中有一个 Shell 每次启动默认执行一个配置脚本,以初始化环境,包括添加一些用户自定义环境变量等等。

    zsh 的配置文件是 .zshrc,
    Bash 的配置文件 .bashrc 。

    它们在 etc 下还都有一个或多个全局的配置文件,不过我们一般只修改用户目录下的配置文件。

    $ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
    

    其中 >> 表示追加到一个文件中

    >表示覆盖到一个文件中

    修改和删除已有变量

    修改变量

    变量设置方式 说明
    ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
    ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
    ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
    ${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
    ${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
    ${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串

    例:

    $ path=$PATH
    $ echo $path
    $ path=${path%/home/shiyanlou/mybin}
    # 或使用通配符,*表示任意多个任意字符
    $ path=${path%*/mybin}
    

    让环境变量立即生效

    $ source .zshrc
     或使用.
    $ . ./.zshrc
    

    二、文件查找

    常用查找命令:

    • whereis 搜二进制文件(-b),man文件(-m),源代码文件(-s)
    • locate
      • 通过“/var/lib/mlocate/mlocate.db”数据库
      • 手动更新数据库updatedb
      • 例:
      $ locate /etc/sh //查找etc目录下以sh开头的文件
      $ locate /usr/share/*.jpg //  转义
      
      • -c 计数
      • -i 忽略大小写
    • which 只能从PATH中搜索命令
    • find
      $ find ~ -mtime 0 //查找当天有改动的文件
      

    黑客帝国数字雨

    命令:cmatrix

    $ sudo apt-get update;sudo apt-get install cmatrix
    
  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/52liming/p/7071778.html
Copyright © 2011-2022 走看看