7.管理用户环境变量

从技术上讲,有两种类型的变量:shell和环境变量。环境变量是构建在系统和接口中的系统范围的变量,它们控制用户对系统的外观、行为和“感觉”,并且它们由任何子shell或进程继承。另一方面,shell变量通常以小写形式列出,并且只在它们所设置的shell中有效。

变量只是键值对中的字符串。通常是key=value。在多个值的情况下,看起来像key=value1:value2。与linux中的大多数东西一样,如果值中有空格,则需要包含在引号中。

在kali中,环境就是bash shell。每个用户,包括根用户,都有一组默认的环境变量。可以更改这些变量的值,使你的系统更有效的工作,调整你的工作环境以最好的满足你的个人需要,如果需要,还可以覆盖你的痕迹。

 

查看和修改环境变量

  env          查看所有默认的环境变量

  环境变量总是大写的。这些只是系统上的默认环境变量。用户还可以创建自己的变量。

 

查看所有环境变量

  要查看所有环境变量,包括shell变量、本地变量和shell函数(如任何用户定义的变量和命令别名),请使用set命令。输出内容多,无法再单个屏幕上查看所有这些变量。可以使用set请求以更容易访问的方式逐行查看每个变量,并将其传递到more命令

  set | more

 

特定变量的过滤

  寻找一个特定的变量

  HISTSIZE为例,此变量包含命令历史记录文件存储的最大命令数。它不会存储命令本身,只存储可以存储的命令数。

  set | grep HISTSIZE

 

更改会话的变量值

  有时,你不希望系统保存过去的命令 - 可能是因为你不希望在自己的系统或目标系统上留下任何活动证据。在这种情况下,你可以将HISTSIZE变量设置为0,系统就不会存储你以前的任何命令。

  HISTSIZE=0

 

使变量值永久更改

  使用export命令。这个命令把当前环境(bash shell)中的新值导出到系统的其余部分,使其在每个环境中都可用。

  备份变量。

  echo $HISTSIZE > ~/valueofHISTSIZE.txt

  set > ~/valueofALLon01012017.txt

  在更改了一个变量之后,可以通过export,后面跟变量的名称来永久更改

  export HISTSIZE

  

更改SHELL提示符

  shell提示符是另一个环境变量。kali中的默认shell提示符采用以下格式

  username@hostname:current_directory

  可通过设置PS1变量的值来更改默认shell提示符中的名称。PS1变量有一组占位符,用于显示希望在提示符中显示的信息。

  \u   当前用户的名称       \h  主机名        \W当前工作目录的基本名称

  更改一下终端中的提示符

  PS1="World's Best Hacker: #"

  export PS1='C:\w'

 

改变你的PATH

  在你的环境中,最重要的变量之一是PATH变量,它控制你的shell将在系统的哪个位置查找你输入的命令,比如cd、ls和echo,大多数命令位于sbin或bin子目录中,比如/usr/local/sbin或usr/local/bin。如果bash shell没有在PATH变量中的某个目录中找到该命令,它将返回“未找到错误”命令,即使该命令确实存在于路径之外的目录中。

  你可以找到哪些目录存在路径变量中,使用echo

  echo $PATH

  

  当你输入任何命令时,系统知道在这些目录中查找它们并执行它们。

 

添加到PATH变量

  如果你下载并安装了一个新工具(比如newhackingtool)到/root/newhackingtool目录中,你只能在该目录中使用该工具的命令,因为该目录不在PATH变量中。每次想使用时,首先必须导航到/root/newhackingtool,如果你经常使用就有点不方便。

  要从任何目录中使用此新工具,需要将包含此工具的目录添加到PATH变量中。

  要向PATH变量添加newhackingtool,请输入以下命令:

  PATH=$PATH:/root/newhackingtool

  echo $PATH

  

创建用户定义的变量

  你可以在linux中创建自己的自定义变量,只需要为命名的新变量分配一个值。当你在进行一些更高级的shell脚本编写时,或厌烦了输入很长的命令时,很有用。

  语法很简单:变量的名称,赋值符号,变量的值

  MyNewVariable="hacking is the most valuable skill set in the 21st century"

  echo $MyNewVariable

  就像我们的系统变量一样,必须导出用户定义的变量才能将其持久化到新的会话中。

  如果要删除这个新变量或任何变量,请使用unset命令。

  unset MyNewVariable

  echo $MyNewVariable

 

转载于:https://www.cnblogs.com/sec875/articles/10887077.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值