Linux | alias 命令别名

alias

alias 命令作用为命令起别名,意思是把一段长的命令,通过起别名,可以用非常短的命令就可以调用。

查看系统中预定义的别名

使用 alias 命令可以查看系统中预定义的别名:

image-20210721100108245

我们可以看到, 系统预定义的别名,基本上都是我们常用的命令,比如:

	ll 命令,就是 ls -l 命令的别名
	rm 命令,就是 rm -i 命令的别名,作用是需要用户手动确认。
	
	有的命令后面有 --color=auto 作用是:查找出来的内容,以不同颜色显示。

添加别名

	alias 别名='完整命令'

比如说,如果我要在 Linux 系统中添加一条 win系统中才有用的命令:

	# dir 在 win 系统中是查看目录的命令
	alias dir='ls -l'

image-20210721101015590

可以看到我们使用 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 $@'

image-20210721103415383

这样做的话,我们可以防止误删文件,但是,还有一个问题,如果我真的想删除一个文件,该怎么做?

我们可以使用 \ 符号加在 rm命令前面,就可以使别名失效了。

	\rm test.txt	# 此时 rm 命令可以正常使用,达到删除文件的效果


关注公众号,随时获取最新资讯

细节决定成败!
个人愚见,如有不对,恳请斧正!

posted @ 2021-07-21 10:39  一点浩然气~  阅读(289)  评论(0编辑  收藏  举报