Linux入门第五节-环境变量

Linux入门第五节-环境变量

一.概念 

win上:配置环境变量可以在任何路径调用你想使用的软件,因为配置了环境变量查找时会优先在环境变量中查找;

 如.cmd输入calc调用计算器、notepad调用记事本,在环境变量path中被写入,可以在任何目录使用,许多软件都提前设置了环境变量;

二.全局变量与局部变量 

在win中系统变量和用户变量相似; 

1.全局变量

如.ls,cd,可用printenv查看、输入变量名可单独查看一个变量;

 printenv
SHELL=/bin/bash
LANGUAGE=zh_CN:zh
PWD=/home/xzw
LOGNAME=xzw
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
HOME=/home/xzw
LANG=zh_CN.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
SSH_CONNECTION=192.168.11.1 14851 192.168.11.132 22
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
LESSOPEN=| /usr/bin/lesspipe %s
USER=xzw
SHLVL=1
XDG_SESSION_ID=28
XDG_RUNTIME_DIR=/run/user/1000
SSH_CLIENT=192.168.11.1 14851 22
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
SSH_TTY=/dev/pts/0
_=/usr/bin/printenv

2.局部变量

在一个shell中临时存在,可用set查看(使用次数少)

xzw@fuck:~$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:globasciiranges:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_VERSINFO=([0]="2" [1]="11")
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="1" [2]="16" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='5.1.16(1)-release'
COLUMNS=120
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DEFAULT_XDG_CONFIG_DIRS=/etc/xdg
DEFAULT_XDG_DATA_DIRS=/usr/local/share/:/usr/share/
DIRSTACK=()
EUID=1000
GROUPS=()
HISTCONTROL=ignoreboth
HISTFILE=/home/xzw/.bash_history
HISTFILESIZE=2000
下面还有,这里就截一段

3.输出变量与删除变量

echo $变量名;
unset 变量名(子删父不影响);

4.用户变量(下划线命名法),要小写;

1.用户变量中局部变量:
d=“干啥活”与C语言中定义一样,变量名要小写,只能在一个bash中存在;

2.用户变量中全局变量:
如.export d=“地方”,要小写变量名,只能在一个cli中临时存在,子shell中删除不影响全局;

# 局部变量
xzw@fuck:~$
xzw@fuck:~$ d='fuck'
xzw@fuck:~$ echo $d
fuck

# 全局变量
xzw@fuck:~$ export w='double'
xzw@fuck:~$ echo $w
double
xzw@fuck:~$ unset w
xzw@fuck:~$ echo $w

xzw@fuck:~$

5.系统变量(默认变量)才大写

如果安装软件时需要配置,如何配置如.
PATH=$PATH: /home/xzw/Projec

xzw@fuck:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
xzw@fuck:~$ PATH=$PATH:/home/xzw/Projec
xzw@fuck:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/xzw/Projec

三.如何永久配置

1. 启动文件

Linux开机的时候默认执行环境变量的文件;

2.启动文件有很多个,如何划分

1.登入Shell cat /etc/profile 查看系统变量,每个发行版都不一样)
2.非登入就打开Shell
3.运行脚本非交互Shell

3.如何配置

1.找到~/.bashrc(ubuntu)

xzw@fuck:~$ ll
总计 128
drwxr-xr-x 16 xzw  xzw   4096  8月 10 09:41 ./
drwxr-xr-x  3 root root  4096  7月  2 19:08 ../
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 公共的/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 模板/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 视频/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 图片/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 文档/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 下载/
drwxr-xr-x  2 xzw  xzw   4096  7月  2 19:19 音乐/
drwxr-xr-x  3 xzw  xzw   4096  8月 10 09:56 桌面/
-rw-------  1 xzw  xzw  17804  8月 11 08:56 .bash_history
-rw-r--r--  1 xzw  xzw    220  7月  2 19:08 .bash_logout
-rw-r--r--  1 xzw  xzw   3811  7月  9 19:02 .bashrc
drwx------ 15 xzw  xzw   4096  7月 23 16:55 .cache/
drwxr-xr-x 16 xzw  xzw   4096  7月 23 16:56 .config/
drwx------  3 xzw  xzw   4096  7月  2 19:19 .gnupg/
-rw-------  1 xzw  xzw     20  8月  9 18:19 .lesshst
drwxr-xr-x  3 xzw  xzw   4096  7月  2 19:19 .local/
-rw-r--r--  1 xzw  xzw    807  7月  2 19:08 .profile
drwx------  4 xzw  xzw   4096  7月 26 09:07 snap/
-rw-r--r--  1 xzw  xzw      0  7月  2 19:31 .sudo_as_admin_successful
drwxr-xr-x  2 xzw  xzw   4096  8月 10 09:41 .vim/
-rw-------  1 xzw  xzw  18897  8月 10 09:41 .viminfo
-rw-rw-r--  1 xzw  xzw     85  7月  5 16:18 .vimrc

2.其他发行版
~ / bash_profile
~/.profile 
~ /.bash_login


3.还需要用Vim编写,我们后面会讲,别名也可以在这里配置

xzw@fuck:~$ cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac
省略

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi
省略

补充:Liunx中带.的都是隐藏文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值