如果执行命令ll提示:
sh: ll: command not found
要么执行ls -l,或新建一个命令
// vi编辑文件
vi /etc/bashrc
// source使配置生效。
source /etc/bashrc
以上文件,vi编辑内容是:
alias ll='ls -l'
alias la='ls -a'
alias l='ls -la'
设置前,要先确保你所有用户的shell版本一样,怎么设置成一样,看我之前的Linux实用(2)
这里需要思考几个问题:
1)、我的shell版本是什么?
2)、新建的命令要在所有用户下都永久有效
3)、不同用户怎么设置不同配置
4)、临时有效的命令怎么设置
1)、我的shell版本
#查看当前的shell版本
echo $SHELL
我的mac的shell版本是bash
2)、所有用户都有效的配置(Linux或mac的终端重启后生效或失效)
linux 系统默认的shell是bash。
a、/etc/bashrc: 为每一个运行相同 shell版本的用户执行此文件,当用户登录时或su - 用户名,该文件被读取。
- su - root,产生一个登录shell去执行后面的指令。
- su root,产生一个非登录交互shell。非登录交互shell,只执行 用户家目录下 .profile等配置文件。
b、/etc/profile:(此文件尽量不要去改,改错了会导致终端崩溃,root登陆不了等)此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置(如果有这个文件)。
配置jdk:
JAVA_HOME=/usr/local/java/jdk1.8.0_221
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
配置颜色:
#export LS_OPTIONS='--color=auto' # 如果没有指定,则自动选择颜色
export CLICOLOR='Yes' # 是否输出颜色
export LSCOLORS='ExGxFxdaCxDaDahbadacec' # 指定颜色
这里完全沿用了Linux的配色方案,即蓝色表示文件夹,白色表示普通文件,绿色表示可执行文件,青色表示链接文件等
2)、不同用户怎么设置不同配置
a、~/.bash_profile(bash shell有这个文件):用户级别的配置文件(带.的都是隐藏文件),是交互式登录 方式进入 bash 运行的。
如果既配置了系统环境变量,又配置了用户环境变量,最终会以用户环境变量的配置为准。
注:~在LINUX下面是代表HOME这个变量的。
mac终端里没找到下面2个文件,可能Linux有,待验证。---------------------
b、~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件
c、~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。~/.bashrc等中设定的变量(局部)只能继承/etc/profile。是交互式非登录方式进入 bash 运行的。
当你登录并且登录shell是bash时,bash首先执行/etc/profile文件中的命令(如果该文件存在),然后它顺序寻找~ /.bash_profile,~/.bash_login或~/.profile文件,并执行找到的第一个可读文件中的命令.当登录bash退出时,它 将执行~/.bash_logout文件中的命令。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。
/etc/profile 是所有用户的环境变量
/etc/enviroment是系统的环境变量
登陆系统时shell读取的顺序应该是:/etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env
d、$HOME/.zshrc 或者 ~/.zshrc:zsh的shell才需要配置这个,针对当前用户
e、$HOME/.profile 或者 ~/.profile:Linux针对当前用户(mac终端没找到)
-----------待验证------------------------------
3)、临时有效的命令怎么设置
将配置写入临时文件temp,将文件路径/usr/local/temp加入到PATH中。
执行命令:
PATH=$PATH:/usr/local/temp
执行命令:
source /usr/local/temp
执行ll命令,已经生效
退出即失效--------------------------------------------------------------------------------------------------------