前言
作为一个后端开发,平时总少不了和linux打交道,但是由于没有系统学习过,对有些东西总是似是而非,趁着有时间,一起学一波?
学习linux
先来几个相关的基础常识:
tab
键的使用
tab
键是玩linux
必知必会的一个能 ---- 强大的自动补全
。
可以说那里不会那里按tab
!日常工作中经常会遇到某个命令只记得前两个字母,或者是某个文件问价夹的名字记不清了,这时候你只需要输入前几个字母然后按下tab
键,神奇的事情发生了,它会自动补全你想要输入的命令或者文件名(根据你输入的信息只能匹配到一个结果的时候)!如果你输入的信息不够(可以匹配到多个结果),它则会给出所有与之相关的命令、文件的提示信息,就是这么神奇!tab
键应该是玩linux
使用最频繁的一个键了,快去试试吧!什么?没有linux
系统,简单!转个虚拟机或者买个基础的云主机,想装哪个版本系统就装哪个。
关于history
命令
history
命令简单来说就是查看你输入的命令的历史。
上个图!
history
可以展示最近输入的 1000 条命令。
平时我们要使用上一条或者上几条命令的时候,经常使用↑
键向上翻页,当然也可以使用↓
键向下翻页来获取我们之前输入的命令。但是如果我们要找及时甚至上百条以前的命令呢?这时候就到history
命令出场了!
前面我们提到了,history
命令可以显示我们之前输入的命令历史,例如
748 2021-02-23 14:20:41 tail -fn 200 colour.log | grep -P '\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}'
749 2021-02-24 10:28:13 cd /usr/local/code/
750 2021-02-24 10:28:14 ls
751 2021-02-24 10:29:34 tail -f colour.log | grep -P ''\d{
4}-\d{
2}-d{
2}\s+\d{
2}:\d{
2}:\d{
2}\.\d{
3}
752 2021-02-24 10:30:00 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'
753 2021-02-24 10:30:30 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}'
754 2021-02-24 10:30:58 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s?\d{2}:\d{2}:\d{2}'
755 2021-02-24 10:31:52 tail -f colour.log | grep -P '\w+\d{4}-\d{2}-d{2}\s?\d{2}:\d{2}:\d{2}\w+'
这个时候我们想要再次执行id
是752的命令怎么办呢?
简单,这时候只需要输入!+你想要执行的命令的id
即可,例如
!752
这样,编号第 752 的命令就会再次执行了。
但是,这样的话我每次要执行之前执行的一个命令还需要通过history
命令去查看它的编号,可能还需要翻页,有没有更简单的办法呢?有!!!
只需要输入!+要执行的命令的前几个字符
即可。例如执行history
命令是这样的情况
795 2021-03-04 16:29:58 cat result.txt
796 2021-03-04 16:30:07 ls
797 2021-03-04 21:15:09 !
798 2021-03-04 21:53:18 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'
799 2021-03-04 22:27:52 history
800 2021-03-04 22:39:25 ls
801 2021-03-04 22:39:37 cat log.txt
802 2021-03-04 22:40:07 ls
803 2021-03-04 22:40:13 history
这个时候如果我输入!t
,那么它执行的是哪个命令呢?答案是会执行第 798 条命令。那么如果我输入!cat
呢?它虎执行第 801 条命令。看出规律了吗?它会根据我们输入的字符从后向前去匹配,即从离我们当前最近的命令开始去匹配。有了它,要找之前输入过的命令是不是变得简单多了!
关于清屏
当我们屏幕上输入了很多命令或者输出了很多东西的时候,可能想要把屏幕不需要的东西清理掉,这时就可以使用clear
命令,按下回车,还你一个干净的屏幕。当然,也可以使用ctrl + l
这个快捷键,一般人我不告诉他!
关于命令别名
在linux
里我们可以给命令定义别名,语法是alias 别名='具体命令'
。
例如,我要给tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'
这条命令定义一个别名 ttt,则可以按如下的方式来定义
alias ttt='tail -f colour.log | grep -P '\d{
4}-\d{
2}-d{
2}\s+\d{
2}:\d{
2}:\d{
2}\.\d{
3}''
这个时候如果我们需要执行这条命令,只需要输入ttt
回车就ok啦。
学会了给命令自定义别名,取消定义的别名也很简单,取消自定义别名语法:
unalias 别名
例如,我要取消我刚才定义的别名是ttt
的命令,只需要输入
unalias ttt
即可。再次执ttt
命令会发现系统提示-bash: ttt: 未找到命令
。
通过执行alias
命令可以查看所有系统默认的和自定义的命令别名。
例如
注意,自定义命令别名会在服务器重启以后消失!
如果,你还想要使用这个命令可以把它添加到~/.bashrc
中,~
表示的是当前用户的家目录。linux的每个用户在创建的时候都会在/home/
下创建一个和自己用户名同名的目录,即用户的家目录。例如,这是我打开的改文件的样子
今天的内容就分享到这里了,你学废了吗?