`
qindongliang1922
  • 浏览: 2189507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117687
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126090
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60042
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71417
社区版块
存档分类
最新评论

跟散仙学shell命令(五)

阅读更多
今天散仙,要说的,是关于linux中的环境变量的使用,环境变量是用来存储有关shell会话和工作环境的信息,它允许在内存中访问存储数据,以便运行在shell上的程序和脚本访问。


在最常用的bash shell里,环境变量共分为二大类,一类是全局变量,另一类是局部变量。

全局变量:不仅对shell会话,可见,而且对所有的shell创建的子进程也可见。
局部变量:只对创建他们的shell可见。

在linux中(散仙这里是centos6.5),使用printenv,查看全局变量:
[root@h1 ~]# printenv 
HOSTNAME=h1
TERM=linux
SHELL=/bin/bash
HADOOP_HOME=/home/search/hadoop
HISTSIZE=1000
SSH_CLIENT=192.168.46.22 61369 22
SSH_TTY=/dev/pts/0
ANT_HOME=/usr/local/ant
USER=root
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=01;05;37;41: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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=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:*.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:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAVEN_HOME=/usr/local/maven
MAIL=/var/spool/mail/root
PATH=.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/home/search/hadoop/bin:/home/search/hadoop/sbin:/usr/local/ant/bin:/usr/local/maven/bin:/home/search/hive/bin:/home/search/hive/conf:/root/bin
HIVE_HOME=/home/search/hive
PWD=/root
JAVA_HOME=/usr/local/jdk
LANG=zh_CN.UTF-8
HADOOP_CONF_DIR=/home/search/hadoop/etc/hadoop/
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
CLASSPATH=.:.::/usr/local/jdk/lib:/usr/local/jdk/jre/lib:/home/search/hadoop/lib:/usr/local/ant/lib:/usr/local/maven/lib:/home/search/hive/lib
SSH_CONNECTION=192.168.46.22 61369 192.168.46.32 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/usr/bin/printenv
[root@h1 ~]# 


我们可以采用echo $变量名,来查看具体的环境变量值,注意变量名区分大小写
[root@h1 ~]# echo $HIVE_HOME
/home/search/hive
[root@h1 ~]# echo $HADOOP_HOME
/home/search/hadoop
[root@h1 ~]# echo $JAVA_HOME
/usr/local/jdk
[root@h1 ~]# echo $java_home

[root@h1 ~]# 


使用set命令,可以查看,全局变量和局部变量的并集
[root@h1 ~]# set
ANT_HOME=/usr/local/ant
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")
BASH_VERSION='4.1.2(1)-release'
CLASSPATH=.:.::/usr/local/jdk/lib:/usr/local/jdk/jre/lib:/home/search/hadoop/lib:/usr/local/ant/lib:/usr/local/maven/lib:/home/search/hive/lib
COLORS=/etc/DIR_COLORS
COLUMNS=176
DIRSTACK=()
EUID=0
GROUPS=()
G_BROKEN_FILENAMES=1
HADOOP_CONF_DIR=/home/search/hadoop/etc/hadoop/
HADOOP_HOME=/home/search/hadoop
HISTCONTROL=ignoredups
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HIVE_HOME=/home/search/hive
HOME=/root
HOSTNAME=h1
HOSTTYPE=x86_64
ID=0
IFS=$' \t\n'
JAVA_HOME=/usr/local/jdk
LANG=zh_CN.UTF-8
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=56
LOGNAME=root
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=01;05;37;41: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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=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:*.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:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'
MACHTYPE=x86_64-redhat-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=60
MAVEN_HOME=/usr/local/maven
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/home/search/hadoop/bin:/home/search/hadoop/sbin:/usr/local/ant/bin:/usr/local/maven/bin:/home/search/hive/bin:/home/search/hive/conf:/root/bin
PIPESTATUS=([0]="0")
PPID=1129
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/root
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=1
SSH_CLIENT='192.168.46.22 61369 22'
SSH_CONNECTION='192.168.46.22 61369 192.168.46.32 22'
SSH_TTY=/dev/pts/0
TERM=linux
TMOUT=3600
UID=0
USER=root
_=clear
colors=/etc/DIR_COLORS
[root@h1 ~]# 


设置局部环境变量:使用=号赋值,就可以,注意=号左右不要有空格(这是新手容易犯的错误)
[root@h1 ~]# test=qindongliang
[root@h1 ~]# echo $test
qindongliang
[root@h1 ~]# test = abc
-bash: test: =: unary operator expected
[root@h1 ~]# 

如果环境变量的值之间, 有空格,那么需要用单引号或者双引号,引起来。
[root@h1 ~]# name=a yellow dog
-bash: yellow: command not found
[root@h1 ~]# name='a yellow dog'
[root@h1 ~]# echo $name
a yellow dog
[root@h1 ~]# name2="a red dog"
[root@h1 ~]# echo $name2 
a red dog
[root@h1 ~]# 


每个会话shell设置的变量,仅仅在当前的shell里有效,如果开启新的会话,原来的设置会失效,但是我们退出后,又可以正常使用了:
[root@h1 ~]# name=a yellow dog
-bash: yellow: command not found
[root@h1 ~]# name='a yellow dog'
[root@h1 ~]# echo $name
a yellow dog
[root@h1 ~]# name2="a red dog"
[root@h1 ~]# echo $name2 
a red dog
[root@h1 ~]# bash
[root@h1 ~]# echo $name

[root@h1 ~]# exit
exit
[root@h1 ~]# echo $name2 
a red dog
[root@h1 ~]# 


设置全局环境变量我们需要使用export命令,来激活它,这样以来,它就会对所有的shell会话,生效:
[root@h1 ~]# color=red
[root@h1 ~]# echo $color
red
[root@h1 ~]# exp
expand  export  expr    
[root@h1 ~]# exp
expand  export  expr    
[root@h1 ~]# export  color
[root@h1 ~]# echo $color
red
[root@h1 ~]# bash
[root@h1 ~]# echo $color
red
[root@h1 ~]# bash
[root@h1 ~]# echo $color
red
[root@h1 ~]# 


卸载一个环境变量我们需要unset命令:
[root@h1 ~]# test=abc
[root@h1 ~]# echo $test 
abc
[root@h1 ~]# unset test
[root@h1 ~]# echo $test

[root@h1 ~]# 

注意,如果是全局变量,卸载只会在当前的shell有效,如果退出当前的shell后,那么这个变量依然有效。

在所有的环境变量里$PATH这个变量,非常重要,它是系统中查找的路径,这说明所有的shell脚本都会在这里面的几个目录下查找,PATH的每个目录都由冒号分隔,你可以通过在PATH变量的末尾,加个冒号来引用新添加的环境变量目录,这一点散仙相信,配置过JAVA系列的环境变量的工程师们都有体会。
[root@h1 ~]# echo $PATH
.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/home/search/hadoop/bin:/home/search/hadoop/sbin:/usr/local/ant/bin:/usr/local/maven/bin:/home/search/hive/bin:/home/search/hive/conf:/root/bin
[root@h1 ~]# 


那么为什么需要PATH环境变量了,如果有了这个全局的变量,那么我们就可以在任何位置,执行这个脚本了:
假如,我在/root/test/下面有个,a.sh脚本,现在我想在任何位置都直接能够引用到这个脚本,该怎么做,此时,环境变量就该大显身手了,我们只需要把这个/root/test/配置到系统的PATH里面即可:
-rw-r--r-- 1 root root 23 8月   5 01:44 a.sh
[root@h1 test]# echo $PATH
.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/home/search/hadoop/bin:/home/search/hadoop/sbin:/usr/local/ant/bin:/usr/local/maven/bin:/home/search/hive/bin:/home/search/hive/conf:/root/bin:/home/search/test
[root@h1 test]# PATH=$PATH:/root/t
test/       tsethadoop/ 
[root@h1 test]# PATH=$PATH:/root/test/
[root@h1 test]# echo $PATH
.:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin:/home/search/hadoop/bin:/home/search/hadoop/sbin:/usr/local/ant/bin:/usr/local/maven/bin:/home/search/hive/bin:/home/search/hive/conf:/root/bin:/home/search/test:/root/test/
[root@h1 test]# sh a.sh 
hellow World!
[root@h1 test]# cd /etc/
[root@h1 etc]# pwd
/etc
[root@h1 etc]# sh a.sh
hellow World!
[root@h1 etc]# cd  /home/
[root@h1 home]# sh a.sh
hellow World!
[root@h1 home]# 



当登陆一个linux系统时,bash shell依次会从4个不同的地方启动文件里的读取命令,顺序是:
1: /etc/profile
2:$HOME/.bash_profile
3:$HOME/.bash_login
4:$HOME/.profile

根目录下的几个文件以.开头的文件是隐藏的,我们可以使用ls -lFa查看:
[root@h1 ~]# ls -alF
总用量 328528
dr-xr-x---. 12 root   root      4096 8月   5 01:44 ./
dr-xr-xr-x. 22 root   root      4096 8月   5 01:12 ../
-rw-r--r--   1 root   root 143775368 7月  28 19:30 abc1.txt
-rw-------.  1 root   root      1087 6月  13 19:06 anaconda-ks.cfg
-rw-------.  1 root   root     10215 8月   5 01:32 .bash_history
-rw-r--r--.  1 root   root        18 5月  20 2009 .bash_logout
-rw-r--r--.  1 root   root       176 5月  20 2009 .bash_profile
-rw-r--r--.  1 root   root       119 6月  16 21:12 .bashrc
-rw-r--r--   1 root   root        52 7月  31 21:29 count2.txt
-rw-r--r--   1 root   root        52 7月  31 19:46 count.txt
-rw-r--r--.  1 root   root       100 9月  23 2004 .cshrc
-rw-r--r--.  1 root   root  96183833 6月   9 17:27 hadoop-2.2.0.tar.gz
-rw-r--r--   1 root   root         1 7月  31 21:25 hh.txt
drwxr-xr-x   3 root   root      4096 7月  29 04:47 hivesrc/
-rw-r--r--.  1 root   root      2111 6月  16 13:10 initserver.sh
-rw-r--r--.  1 root   root      7995 6月  13 19:06 install.log
-rw-r--r--.  1 root   root      3384 6月  13 19:06 install.log.syslog
drwxr-xr-x   2 root   root      4096 7月  31 21:19 intest/
lrwxrwxrwx   1 root   root        12 7月  31 21:45 jdk -> jdk1.7.0_25//
drwxr-xr-x.  8 search  143      4096 6月   6 2013 jdk1.7.0_25/
-rwx------.  1 root   root  96316511 11月 20 2013 jdk-7u25-linux-x64.gz*
drwxr-xr-x   3 root   root      4096 7月  31 21:33 li/
drwxr-xr-x   3 root   root      4096 7月   9 04:08 lo/
drwxr-xr-x   3 root   root      4096 7月   9 04:08 login/
drwxr-xr-x   3 root   root      4096 7月  29 04:11 .m2/
-rw-------   1 root   root       727 7月  29 01:44 .mysql_history
-rw-r--r--   1 root   root      1048 6月  19 03:31 setlimit.sh
drwx------.  2 root   root      4096 6月  16 21:00 .ssh/
-rw-r--r--.  1 root   root       129 12月  4 2004 .tcshrc
drwxr-xr-x   2 root   root      4096 8月   5 01:44 test/
drwxr-xr-x   3 root   root      4096 6月  20 02:51 tsethadoop/
-rw-------   1



除此之外,在/etc/profile.d/下的文件,会作为默认的加载的启动目录,这下面的所有的shell脚本都会被登陆时,激活,利用这个特性,我们可以将我们在系统登陆时,需要加载的脚本配置到这里,散仙在这里就是把JAVA系列有关的所有的HOME单独配置在这里的java.sh下:
export PATH=.:$PATH

export JAVA_HOME="/usr/local/jdk"
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/home/search/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/
export CLASSPATH=.:$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export ANT_HOME=/usr/local/ant
export CLASSPATH=$CLASSPATH:$ANT_HOME/lib
export PATH=$PATH:$ANT_HOME/bin

export MAVEN_HOME="/usr/local/maven"
export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib
export PATH=$PATH:$MAVEN_HOME/bin


export HIVE_HOME=/home/search/hive
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf


[root@h1 profile.d]# cd /etc/profile.d/
[root@h1 profile.d]# ll
总用量 48
-rw-r--r--. 1 root root 1127 10月 17 2013 colorls.csh
-rw-r--r--. 1 root root 1143 10月 17 2013 colorls.sh
-rw-r--r--. 1 root root  192 8月  27 2013 glib2.csh
-rw-r--r--. 1 root root  192 8月  27 2013 glib2.sh
-rwxr-xr-x  1 root root  694 7月  29 19:13 java.sh
-rw-r--r--. 1 root root 1741 11月 23 2013 lang.csh
-rw-r--r--. 1 root root 2706 11月 23 2013 lang.sh
-rw-r--r--. 1 root root  122 2月   7 2007 less.csh
-rw-r--r--. 1 root root  108 2月   7 2007 less.sh
-rw-r--r--. 1 root root   97 4月   5 2012 vim.csh
-rw-r--r--. 1 root root  269 4月   5 2012 vim.sh
-rw-r--r--. 1 root root  169 5月  20 2009 which2.sh
[root@h1 profile.d]# ls -laF
总用量 56
drwxr-xr-x.  2 root root 4096 8月   5 01:58 ./
drwxr-xr-x. 61 root root 4096 8月   5 01:12 ../
-rw-r--r--.  1 root root 1127 10月 17 2013 colorls.csh
-rw-r--r--.  1 root root 1143 10月 17 2013 colorls.sh
-rw-r--r--.  1 root root  192 8月  27 2013 glib2.csh
-rw-r--r--.  1 root root  192 8月  27 2013 glib2.sh
-rwxr-xr-x   1 root root  694 7月  29 19:13 java.sh*
-rw-r--r--.  1 root root 1741 11月 23 2013 lang.csh
-rw-r--r--.  1 root root 2706 11月 23 2013 lang.sh
-rw-r--r--.  1 root root  122 2月   7 2007 less.csh
-rw-r--r--.  1 root root  108 2月   7 2007 less.sh
-rw-r--r--.  1 root root   97 4月   5 2012 vim.csh
-rw-r--r--.  1 root root  269 4月   5 2012 vim.sh
-rw-r--r--.  1 root root  169 5月  20 2009 which2.sh
[root@h1 profile.d]# 


另外一个很强大的功能是,通过一个可变数组,给某个变量赋值,记住=号左右不允许有空格出现,取值,使用${mytest[number]}
[root@h1 ~]# mytest=(one two three four) 
[root@h1 ~]# echo $mytest 
one
[root@h1 ~]# echo ${mytest[0]}
one
[root@h1 ~]# echo ${mytest[1]}
two
[root@h1 ~]# echo ${mytest[3]}
four
[root@h1 ~]# echo ${mytest[*]}
one two three four
[root@h1 ~]# 


*号,可以显示所有的值,改变值使用mytest[number]=value即可。
如果想卸载某个值,可以使用unset mytest[number]即可。


最后介绍一个,如何使用命令别名来简化shell命令写法,别名功能类似我们常用的SQL里面的as别名一样,可以给一个很长的表名,做一个简化的别名。

使用alias -p命令,查看系统默认的别名:
[root@h1 ~]# alias -p
alias cp='cp -f'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -f'
alias rm='rm -f'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@h1 ~]# 

当然我们也可以定义自己的别名命令,例如散仙把lx='ls -lFa'可以显示隐藏文件的命令:
[root@h1 ~]# alias lx='ls -iFl'
[root@h1 ~]# lx
总用量 328468
655837 -rw-r--r--  1 root   root 143775368 7月  28 19:30 abc1.txt
659103 -rw-------. 1 root   root      1087 6月  13 19:06 anaconda-ks.cfg
663819 -rw-r--r--  1 root   root        52 7月  31 21:29 count2.txt
674329 -rw-r--r--  1 root   root        52 7月  31 19:46 count.txt
660638 -rw-r--r--. 1 root   root  96183833 6月   9 17:27 hadoop-2.2.0.tar.gz
663822 -rw-r--r--  1 root   root         1 7月  31 21:25 hh.txt
663837 drwxr-xr-x  3 root   root      4096 7月  29 04:47 hivesrc/
660644 -rw-r--r--. 1 root   root      2111 6月  16 13:10 initserver.sh
654083 -rw-r--r--. 1 root   root      7995 6月  13 19:06 install.log
654084 -rw-r--r--. 1 root   root      3384 6月  13 19:06 install.log.syslog
785488 drwxr-xr-x  2 root   root      4096 7月  31 21:19 intest/
674328 lrwxrwxrwx  1 root   root        12 7月  31 21:45 jdk -> jdk1.7.0_25//
659106 drwxr-xr-x. 8 search  143      4096 6月   6 2013 jdk1.7.0_25/
659105 -rwx------. 1 root   root  96316511 11月 20 2013 jdk-7u25-linux-x64.gz*
796184 drwxr-xr-x  3 root   root      4096 7月  31 21:33 li/
796042 drwxr-xr-x  3 root   root      4096 7月   9 04:08 lo/
663800 drwxr-xr-x  3 root   root      4096 7月   9 04:08 login/
663149 -rw-r--r--  1 root   root      1048 6月  19 03:31 setlimit.sh
674331 drwxr-xr-x  2 root   root      4096 8月   5 01:44 test/
663148 drwxr-xr-x  3 root   root      4096 6月  20 02:51 tsethadoop/


alias命令非常好用,是我们简化一长串命令的神器。

如果我们觉得这个命令,比较符合自己的胃口,我们可以在/etc/profile.d/目录下,新建自己的alias.sh脚本,里面定义自己的别名风格,这样以来,就可以在全局的shell会话里起作用了。








0
0
分享到:
评论

相关推荐

    Android执行shell命令(转)

    在Android系统中,有时我们需要执行一些底层操作,如文件管理、系统调试或自动化测试,这时候就需要用到shell命令。本文将深入探讨如何在Android平台上执行shell命令,以及它在实际开发中的应用。 首先,Android...

    在python 中实现运行多条shell命令

    ### 在Python中实现运行多条Shell命令 在Python编程中,有时我们需要调用系统的Shell命令来完成特定的任务,比如文件操作、系统管理等。本文将详细介绍如何在Python中执行多条Shell命令,并探讨不同的实现方法及其...

    shell命令解释器

    **Shell命令解释器**是Linux操作系统中的核心组件之一,它是一个用户与系统交互的界面,让用户能够通过输入命令来执行各种系统操作。在Linux的世界里,shell不仅是一个命令行接口,还是一个强大的脚本编程语言,允许...

    android执行shell命令

    在Android系统中,有时我们需要执行一些底层操作,这时就可能会用到shell命令。shell命令是Linux或类Unix系统中的命令行工具,通过它们可以进行文件管理、系统控制、进程交互等众多操作。在Android这样的基于Linux...

    shell命令文档 中文版

    在IT领域,Shell命令是Linux和Unix操作系统中的一个强大工具,它允许用户通过文本界面与操作系统进行交互。这本书“shell命令文档 中文版”提供了一个全面的指南,涵盖了所有基本到高级的Shell命令,这对于系统管理...

    java调用shell命令.pdf

    Java 调用 Shell 命令 在 Java 中调用 Shell 命令是非常常见的操作,特别是在需要执行系统命令或脚本时。在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的...

    Linux下Shell命令解释步骤程序实现

    Linux Shell 命令解释步骤程序实现 Linux Shell 命令解释是 Linux 操作系统中最基本也是最重要的一部分,它负责处理用户与操作系统之间的交互动作,并且给出相应的操作系统的输出结果。 Shell 基本上是一个命令...

    ubuntu_shell命令学习

    ubuntu_shell命令学习

    shell命令常用shell命令

    Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是...

    shell命令的用法

    shell 命令的用法 Shell 命令是 Linux 操作系统中最基本也是最重要的工具之一,它提供了强大的命令行接口,能够帮助用户快速高效地完成各种任务。了解 shell 命令的用法是每一个 Linux 用户的必备知识。 1. cp ...

    Android程序中(APK程序)执行Adb shell 命令

    Android Debug Bridge(ADB)就是一个强大的工具,允许开发者从计算机上对连接的Android设备进行各种操作,包括发送shell命令。本篇将深入探讨如何在APK程序中执行Adb shell命令以及它与高级语言之间的调用关系。 ...

    c++builder的Android程序中执行Shell命令

    本单元实现了一个伪的Shell,可以用于在Android程序中执行Shell命令,如果需要Root权限,则在执行前,调用AskForRoot方法来获取用户的Root授权,如果不再需要在Root账号下执行命令,则调用ExitRoot方法来退出Root...

    Shell命令大全 PDF

    Linux Shell命令是Linux操作系统中用于执行各种操作的指令集,从文件管理到系统维护,Shell命令无所不包。学习Shell命令对于Linux系统管理员和程序员来说是基础而重要的技能。本篇内容将详细介绍Shell命令在Linux...

    python调用shell命令

    ### Python调用Shell命令知识点详解 #### 一、引言 在进行系统自动化运维或脚本编程时,经常需要从Python脚本中调用Shell命令来执行特定任务,如文件管理、网络操作等。本文将详细介绍如何使用Python来调用Shell...

    jenkins shell 命令,自动部署命令.txt

    放在Post Steps 的shell命令 ,一键自动部署(2021最新版)

    android 给app授权 执行shell命令

    在Android平台上,有时候开发者需要超越普通应用程序的权限范围,例如执行系统级别的操作,这就涉及到给APP授权和执行Shell命令。Android系统默认是以安全为优先,不允许应用无限制地执行shell命令,但通过获取Root...

    shell命令解析器

    Shell命令解析器是Linux操作系统中的一个核心组件,它充当用户与操作系统内核之间的接口,使得用户可以通过命令行界面执行各种操作。在本文中,我们将深入探讨shell命令解析器的工作原理,以及如何使用C语言编程来...

    ubuntu 学习shell 命令教程

    相信喜欢linux的同志会喜欢的 当然针对的是ubuntu 不过 我以后会提供更多的 呵呵

    Android-ExecuteShell是一个可以方便的执行shell命令的Android开源库

    1. **执行shell命令**: ExecuteShell提供了简洁的API,允许开发者在Android应用中执行各种shell命令,包括但不限于ls, cd, mkdir, rm等,极大地扩展了Android应用的功能。 2. **异步与同步执行**: 库支持同步和异步...

Global site tag (gtag.js) - Google Analytics