alias
alias
命令作用为命令起别名,意思是把一段长的命令,通过起别名,可以用非常短的命令就可以调用。
查看系统中预定义的别名
使用 alias
命令可以查看系统中预定义的别名:
我们可以看到, 系统预定义的别名,基本上都是我们常用的命令,比如:
ll 命令,就是 ls -l 命令的别名
rm 命令,就是 rm -i 命令的别名,作用是需要用户手动确认。
有的命令后面有 --color=auto 作用是:查找出来的内容,以不同颜色显示。
添加别名
alias 别名=‘完整命令‘
比如说,如果我要在 Linux
系统中添加一条 win
系统中才有用的命令:
# dir 在 win 系统中是查看目录的命令
alias dir=‘ls -l‘
可以看到我们使用 dir
命令查看到了目录的结构。
如果你重启过虚拟机之后,就会发现,之前定义过的别名全都失效了。这是怎么回事,怎么定义不会过期的别名?
定义不过期的别名
先说怎么定义不过期的别名:
# 如果只是本用户使用
echo "alias dir=‘ls -l‘" >> ~/.bashrc
source ~/.bashrc
# 如果是全都用户都使用
echo "alias dir=‘ls -l‘" >> /etc/profile
source /etc/profile
按需使用上面两种情况。
再说一下,为什么是修改这两个文件,是因为这两个文件,一个是全局的配置文件,一个是用户自己的配置文件,在这两个文件内添加内容之后,系统加截的时候就会自动加载里面的内容。
实际应用
我们在实际的用中,一般用户的高危命令也就那几种,最常用的不用说,也就是 rm
命令了,我们要防止小白用户上来就执行rm -rf /
这种命令,或者是防止我们平时删除文件的时候,删除错了,想找回来。
那么我们就可以给系统加上一个回收站,比如这里我就是 /tmp
目录做为垃圾回收站,所以被删除的文件都在出现在这里。
alias rm=‘move1(){ /bin/mv -f $@ /tmp; };move1 $@‘
这样做的话,我们可以防止误删文件,但是,还有一个问题,如果我真的想删除一个文件,该怎么做?
我们可以使用 \
符号加在 rm
命令前面,就可以使别名失效了。
\rm test.txt # 此时 rm 命令可以正常使用,达到删除文件的效果
细节决定成败!
个人愚见,如有不对,恳请扶正!