1.整理 全局环境变量 个人环境变量 which的理解
2.整理 别名
3.整理 删除
4.整理 history
全局环境变量
全局环境变量的配置文件是:/etc/profile
全局环境变量中一般配置的是共用的程序环境 比如java
下面以java为例子配置
[root@aliyun ~]# vim /etc/profile
java的安装路径在 /usr/java下,所以文件中如下配置
export JAVA_HOME=/usr/java/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH
需要注意的是 $PATH接在$JAVA_HOME的后面,即把$JAVA_HOME放在$PATH的最前面
/opt/module/jdk1.8.0_144/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/module/jdk1.8.0_144/bin:/root/bin
个人环境变量
个人环境变量配置在 ~/.bashrc 文件中,这里需要注意的是如果配置在 ~/.bash_profile文件中,使用ssh远程连接的时候不会加载 ~/.bash_profile,造成一些无法排查的bug
个人环境配置一些独自使用的程序变量,如果配置在用户的个人环境中,其他用户无法访问,比如在hadoop用户下配置 hadoop的环境变量,只有hadoop一个用户能使用
which的理解
安装完程序或者配置完变量后,最好的习惯是使用which看一下,检查一下环境是否配置正确,否则可能遇到自以为正确的bug
[root@aliyun ~]# which java /opt/module/jdk1.8.0_144/bin/java
别名
别名的使用可以简写冗长且难以记忆或者难以书写的命令
格式:
alias [-p] [name[=value] ... ]
例子:
[root@aliyun ~]# alias a='ll -a' [root@aliyun ~]# a total 80 dr-xr-x---. 6 root root 4096 Nov 15 19:46 . dr-xr-xr-x. 19 root root 4096 Nov 3 17:29 .. -rw------- 1 root root 6453 Nov 14 11:16 .bash_history -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc drwx------ 3 root root 4096 Aug 18 2017 .cache
查询主机中已经存在的别名:
[root@aliyun ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
永久配置别名:
配置在环境变量中 /etc/profile ,~/.bashrc,~/.bash_profile中,即永久配置别名
# User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'
删除
mkdir 删除一个空文件
rm -f 直接删除文件
rm -rf 直接删除文件夹
rm -rf 是一个高危的命令
场景:
shell脚本中,定义变量k = "" 然后rm -rf $k 会默认指定根目录下
K=""rm -rf $K 实际上是rm -rf /
解决办法是先判断k是否为空
history
history命令用来查询历史记录
[root@aliyun ~]# history | head -10 1 passwd 2 ls 3 cat /etc/hosts 4 yum install redis 5 yum install epel-release 6 yum install redis 7 df -hT 8 service redis start 9 service redis stop 10 service redis status
场景:
莫名其妙的发现主机中的数据没了,可以查看一下历史记录用了哪些命令
使用 !n 来快速使用一条历史命令
[root@aliyun ~]# !7 df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 40G 11G 27G 29% / devtmpfs devtmpfs 911M 0 911M 0% /dev tmpfs tmpfs 920M 0 920M 0% /dev/shm tmpfs tmpfs 920M 332K 920M 1% /run tmpfs tmpfs 920M 0 920M 0% /sys/fs/cgroup tmpfs tmpfs 184M 0 184M 0% /run/user/0
history -c 命令可以清空当前窗口的历史输出命令。
[root@aliyun ~]# history -c [root@aliyun ~]# history 1 history
但是历史记录实际上保存在 ~/.bash_history中的
[root@aliyun ~]# cat .bash_history | head -10 passwd ls cat /etc/hosts yum install redis yum install epel-release yum install redis df -hT service redis start service redis stop service redis status
彻底清空该文件夹的方式为:cat /dell/null > .bash_history
[root@aliyun ~]# cat /dev/null > .bash_history [root@aliyun ~]# cat .bash_history [root@aliyun ~]#