一、环境变量:
Shell中的变量也有不同的数据类型,不用专门指定类型名,可以参与运算,有作用域限制。
declare tmp 创建一个变量
可以不用专门声明,可以即用即创建
tmp=shiyanlou 变量赋值
echo $tmp 读取变量的值
Notes: 变量名不能用数字开头,且只能是英文字母,数字,下划线
Shell的环境变量作用于自身及它的子进程,环境变量可以继承。

通常有以下三种环境变量:

  1. 当前Shell进程私有用户自定义变量,如tmp
  2. Shell本身内建的变量
  3. 从自定义变量导出的环境变量

与环境变量相关的命令:

set 显示当前Shell所有环境变量,包括内建环境变量,用户自定义变量和导出的环境变量
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export 显示从Shell中导出的环境变量,也能通过它将自定义变量导出为环境变量


用vimdiff可以比较这几个命令输出文件的不同,如截图所示
zsh创建子Shell, 实验楼用的是zsh,Ubuntu用的是Bash
然后输入值为空,表示变量无效
export导出temp为环境变量,然后创建子进程,有效
添加环境变量示例:
PATH = $PATH:/home/shiyanlou/mybin
这里一定要使用绝对路径
为了让该环境变量每次启动Shell时自动执行添加路径到PATH,需要把它写入到配置文件中,zsh的配置文件为.zshrc,Bash的配置文件为.bashrc,在etc下还都有一个或多个全局的配置文件,不过我们一般只修改用户目录下的。
echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
>是以覆盖的方式重定向到一个文件中,>>是追加标准输出到文件中。
变量修改的方式:
${变量名#匹配字符串} 从前向后匹配,删除符合的最短数据
${变量名##匹配字符串} 从前向后匹配,删除符合的最长数据
${变量名%匹配字符串} 从后向前匹配,删除符合的最短数据
${变量名%%匹配字符串} 从后向前匹配,删除符合的最长数据
${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串
用unset删除变量
让环境变量立即生效,可以用source命令,
source .zshrc
也可以用它的别名.,需要指定完整的绝对或者相对路径名
. ./.zshrc
二、搜索文件:
whereis直接从数据库中查找,快速,搜索-b, -m, -s文件
locate通过/var/lib/mlocate/mlocate.db数据库查询,这个数据库每天自动update一次,快而全
$ locate /usr/share/*.jpg
\转义,只统计数目可以加上-c参数,-i可以忽略大小写查找
which是Shell内建的命令,常用于确定是否安装了某个指定的软件,因为它只从PATH环境变量指定的路径去搜寻
find最为强大,不仅可以通过文件类型,文件名查找,而且可以根据文件的属性(如时间戳,文件权限等)查找。基本格式如下:
find [path] [option] [action]
与时间有关的参数:
-atime 最后访问的时间
-ctime 创建时间
-mtime 最后修改时间
作业提要:
用cmatrix实现《黑客帝国》中的代码数字雨
F11全屏显示




本文原载于实验楼

Linux基础入门-环境变量与文件查找的更多相关文章

  1. (大数据工程师学习路径)第一步 Linux 基础入门----环境变量与文件查找

    环境变量与文件查找 本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变 ...

  2. 环境变量和文件查找&文件打包与解压缩

    环境变量和文件查找 介绍环境变量的作用与用法 及几种搜索文件的方法 学会这些技巧可以高效地使用 Linux 知识点:环境变量的设置 环境变量的修改 环境变量 要解释环境变量,得先明白变量是什么,准确的 ...

  3. linux的环境变量与文件查找

    1. 环境变量 1.1 变量 shell 中的变量有不同类型,可参与运算,有作用域限定 变量的作用域即变量的有效范围(比如一个函数中.一个源文件中或者全局范围),在该范围内只能有一个同名变量.一旦离开 ...

  4. Linux 基础教程 25-命令和文件查找

    which     不管是在Windows还是Linux系统中,我们都会偶尔执行一些系统命令,比如Windows常见的cmd.ping.ipconfig等,它们的位置都在%systemdrive%中. ...

  5. Linux环境变量与文件查找

    作业: 找出/etc目录下所有以.list结尾的文件 代码:locate /etc/\*.list sudo find /etc/ -name \*.list

  6. linux学习-环境变量与文件查找

  7. (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作

    Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...

  8. Linux基础入门-目录结构及文件基本操作

    一.Linux的目录结构: Windows是以存储介质为主的,主要以盘符及分区来实现文件的管理,然后之下才是目录.但Linux的磁盘从逻辑上来说是挂载在目录上的,每个目录不仅能使用本地磁盘分区的文件系 ...

  9. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

随机推荐

  1. 区间dp之四边形不等式优化详解及证明

    看了那么久的四边形不等式优化的原理,今天终于要写一篇关于它的证明了. 在平时的做题中,我们会遇到这样的区间dp问题 它的状态转移方程形式一般为dp[i][j]=min(dp[i][k]+dp[k+1] ...

  2. Matlab小波工具箱的使用2

    Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...

  3. js判断字段是否为空 isNull

    js判断字段是否为空 isNull   //在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true .//为空判断函数f ...

  4. 使用RevoUninstaller Pro卸载

    使用RevoUninstaller Pro卸载opera浏览器,操作过的注册表 HKEY_CURRENT_USER\SOFTWARE\CLASSES\Local Settings\Mircrosoft ...

  5. python学习笔记 18-4-11

    一.执行一个简单的代码 1.先创建目录 mkdir /home/dev 2.切换到目录 cd /home/dev 3.在目录下创建文件夹 vim hello.py 4.编辑文件内容 vim hello ...

  6. python基础—列表的使用[]

    names = ['zhangyang','guyun','xiangpeng','xuliangchen']print(names[0])print(names[1:3])#切片print(name ...

  7. 在Java中用 . 深层访问JSON数据

    本文介绍Java中解析JSON的一种方法,可以让我们在Java程序中也用x.x.x的形式访问JSON数据中的值. 代码大部分来源非本人,本人在源代码基础上加以修改以使正常运行. 代码: // 将提取方 ...

  8. 看到Console.WriteLine($"string")写法,一时间不理解$的用途

    参了网上资料,原来它是C# 6.0的语法糖. C# 6.0 新加上的功能:   Null-Conditional Operator 大概就是,简洁代码量,缩短一些关于为null的判断~ 旧写法: pu ...

  9. mysql navcate longblob 查询结果导出倒入

    由于之前项目为了查询方便,且不受权限控制.所以把image储存在了数据库.但是也遇到了很多瓶颈问题. 1,丢图从日志上查询获知,丢图95%以上是由于mysql的timeout时间失效引起的.(由于另一 ...

  10. WEB学习笔记6-正确闭合HTML标签

    自闭合标签(空元素,即不能包含任何内容,这些元素对应的HTML标签成为自闭合标签) area/base/br/col/command/embed/hr/img/input/keygen/link/me ...