Linux:环境变量和文件查找

1、什么是变量?

即shell变量,shell中的变量同样具有不同的数据类型,但不用专门指定数据类型。

1.1预声明一个变量

主要在创建如数组等其他类型变量时会用到

$ declare tmp

ps:这里注意变量名必须是数字、字母、下划线开头

1.2 给一个变量赋值

使用 =,但需要注意等号两边要保留一个空格,格式才正确

$ tmp = CSDN

1.3 读取一个变量值

使用echo语句读取变量,$用来引用变量

$ echo $ tmp

2、什么是环境变量?

环境变量区别与普通变量,如上介绍的属于用户自定义变量,环境变量的作用域大于自定义变量,shell环境变量作用于自身和它的子进程,也就是可以简单理解为在当前进程和它的子进程中有效的即为环境变量。
ps:环境变量名一般大写,使用$引用

2.1 与环境变量相关的三个常见命令

命令说明
export显示从shell中导出成环境变量的变量,也可以用来将一个普通变量变为环境变量。
set显示shell的所有变量,包括自定义变量和导出的环境变量。
env显示与当前用户相关的变量,并且可以让命令在指定环境中运行。

2.2 更改变量的生存周期

方法:环境变量的生存周期存在于shell中,因此要想更改它的生存周期变为永久性变量只需要将其添加到/etc/profile文件中即可。
解释:在用户的home目录下还存在一个.profile文件,.profile文件只对当前用户永久生效,当切换用户时文件无法生效,但/etc/profile文件对所有用户都生效。

3、文件的查找

3.1 PATH环境变量

我们在平时输入一个命令时,shell就是通过PATH这个环境变量的路径来搜索命令的。可以使用$ echo $PATH来查看设定好的搜索路径。

3.2 添加自定义路径到PATH环境变量

当我们在一个目录下创建好一个shell脚本或者可执行程序时,如何像调用命令一样执行脚本或程序,这时候就需要将脚本或程序的路径添加到PATH路径里,注意这里要采用绝对路径。

$ PATH=$PATH:/home/yonghuming/dir

但这种方式只对当前的shell有效,一旦退出终端就会失效。因此,我们采用下面一种方法使这个路径永久有效。

3.3 在默认配置文件中添加自定义路径

每个用户的home目录中有一个当shell启动时默认执行的一个配置脚本,用来初始化环境,包括添加一些用户自定义变量等,因此我们可以通过这种方式,每次启动shell时自动将自定义变量添加到PATH路径中。
step1:首先,查看当前用户目录下使用的shell。

$ echo $SHELL

ps:如果使用的是zsh,则配置文件为.zshrc,若是bash,配置文件为.bashrc
step2然后,就可以添加路径到配置文件中了。(以下以zsh为例)

$ echo "PATH=$PATH:/home/yonghuming/dir" >> .zshrc
#注意这里>>采用的是追加方式

最后,更改后的配置文件并不会立马生效,我们可以用source命令使其立即生效(在当前用户目录下操作)。

$ source .zshrc 
#这里使用相对路径

3.4 更改和删除已有变量

更改操作

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

实例如下:

$ mypath=$PATH
$ PATH=${mypath%/home/yonghuming/dir}
#也可以使用通配符*表示任意多个字符
$ PATH=${mypath%*/dir}
#我们采用的是>>追加方式,因此从尾部开始查找并删除

删除操作
直接使用unset命令
如:$ unset mupath

3.5 文件查找命令whereis、which、find、locate

(1)whereis-b(查找二进制文件)-m(帮助文件)-s(源代码文件)从数据库中查询
(2)which(用来确定是否安装了某个程序)从path路径中查找命令并返回第一个搜到的结果

$ which ping
$ which man

(3)find [path] [option] [action](常用且重要
与时间相关的命令参数:

参数说明
-atime n最后访问时间 ,n天之前的一天内访问的文件
-ctime +n最后修改文件内容的时间,n天之(不包括n天)修改过的文件
-mtime -n最后修改文件属性的时间,n天之(包含n天)修改的文件

例如:

$ sudo find /etc/ -name myfile 
#在etc目录下找myfile文件,etc目录下用sudo访问

(4)locate(查找指定目录下的不同类型文件)
注意:locate非内置命令,需要下载安装
参考如下:

$ sudo apt-get update //加载安装包
$ sudo apt-get install locate //下载locate
$ sudo updatedb //更新数据库

 $ locate /etc/he
 #查找以etc目录下he开头的文件(递归子目录进行查找)
 $ locate /usr/share/\*.jpg
 #查找该目录下的jpg文件,注意/转义字符

相关参数:-c参数统计文件数量,-i忽略大小写查找,类似的还有-b、-m、-s。

实验参考来源:蓝桥云课
你的点赞是我前进的动力~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux中,环境变量文件系统是两个关键的概念,它们对于系统运行和用户的交互起着至关重要的作用。 **1. Linux环境变量**: 环境变量Linux系统中存储在内存中的配置信息,用于设置和传递应用程序运行时的参数或路径。常见的环境变量包括: - PATH: 定义了程序执行的搜索路径,当命令无法在当前目录找到时,会在PATH中指定的路径下查找。 - HOME: 存储用户的主目录,许多系统默认会使用这个目录作为默认的工作目录。 - USER/USERNAME: 当前登录用户的用户名。 - LANG/LANGUAGE: 显示和处理文本的语言环境。 **2. Linux文件系统**: 文件系统是操作系统用于组织和存储数据的方式,主要有以下几种: - **EXT(Extended)系列**:如EXT2, EXT3, EXT4,Linux的传统文件系统,支持日志记录和错误恢复。 - **FAT(File Allocation Table)**:适用于老旧的Windows和某些移动设备,不支持大文件和长文件名。 - **HFS+(Hierarchical File System Plus)**:苹果Mac OS的默认文件系统。 - **NTFS(New Technology File System)**:微软Windows系统的常用文件系统,支持长文件名和加密等高级特性。 - **Btrfs(Balanced File System)**:Linux内核支持的现代文件系统,提供更好的数据完整性、空间效率和文件系统操作性能。 **相关问题--:** 1. 如何查看Linux系统中的所有环境变量? 2. Linux系统中如何设置或修改环境变量? 3. 文件系统中,什么是inode,它在文件管理中起到什么作用?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只爱圣女果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值