前言
linux学习15里面简单提了一下alias指令,就表明它是一个别名的作用,这节就展开来写一下。
同时上一节一笔带过的history指令,这一节也进行例子的演示记录。
最后是环境相关的配置,主要是之前配置树莓派的或者其他linux系统的时候对环境配置进行了修改,用到了一些指令,这里就统一做一个记录。
1. alias
alias指令,别名作用。
如果你要查询隐藏文件,并且需要长的列出与一页一页翻看,那么需要下达“ ls -al | more ”这个指令,通过alias进行简化,这样稍微省事一些。
例如:alias lm='ls -al | more'
root权限下删除文件rm
指令一般拥有非常高的权限,我们可以通过rm -i
来生成一个提醒进行二次确认,但是我们其实并不能做到每一次都用-i
选项提醒自己,有时候就可能误删。
针对这个情况其实我们可以用alias指令把原来的rm -i
指令取别名就叫rm
。
这样我们每次rm
的时候,都会进行二次确认,防止误删。
例如:alias rm='rm -i'
取消别名
unalias+别名的指令
刚才的两个例子,我们分别可以通过unalias lm
,unalias rm
取消别名。
2. history
我们在控制台按上下方向键可以对之前输入过的指令进行选择,这个就是history立大功了。
一般用法:
history n
列出最近的n条指令
history -c
将当前shell的所有history指令删除
history -选项与参数
选项与参数:
n :数字,意思是“要列出最近的 n 笔命令列表”的意思
-c :将目前的 shell 中的所有 history 内容全部消除
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,
则默认写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
-w :将目前的 history 记忆内容写入 histfiles 中
演示截图:
指令:history 2
显示最近两条指令。
指令:history
列出所有输入过的指令,这里截图只截了20条。
history的写入问题。
之前用su切换到管理员的时候,我可能会开好几个控制台窗口,都使用root权限进行指令操作。
比如我A窗口输入的是a指令,B窗口输入b指令,C窗口输入c指令。
那么按理来说,我用root的身份输入了abc三条指令,用history的时候,应该会显示三条指令。其实不然,因为只有当前用户对应的控制台退出时,才会把历史指令写入。也就是说,我三个控制台都开着的时候,A控制台最后输入的是a指令,但A控制台没关,我B控制台按history的时候是无法查看到A刚才输入的a指令的。
例如我开了三个root名字的控制台,第一个控制台先查看历史指令,发现只有五条,当然这里的最后一条包括了刚输入的history。接下来三个控制台分别输入ls -al
,ls -l
,ls -a
,我最后一个关闭ls -a
这里多了一个history是因为我输了两次history指令。
我全部关闭以后,系统会根据控制台关闭的顺序进行保存历史指令。
3. 环境配置相关
我们在配置一些启动参数什么的之后,往往没有立马生效,有些教程说要重启一下虚拟机什么的。
比如下面这个参数,我们修改完之后并不会立马生效,得重启才会自动生效。
重启就有点麻烦了,所以我们可以手动使得它立刻生效。
指令:source
:读入环境配置文件的指令
利用 source 或小数点 (.) 都可以将配置文件的内容读进来目前的 shell 环境中! 举例来说,我修改了 ~/.bashrc ,那么不需要登出,立即以 source ~/.bashrc 就可以将刚刚最新设置的内容读进来目前的环境中。
总结
本篇博客是bash中的一些小细节的记录,在看书之前我也没关注过别名,只知道按上下键进行指令切换,环境配置上大概就是教程怎么写我怎么做。看过书以后,这些都有了更深的理解。