随着线上复杂度的不断提高,企业对员工的日常操作效率要求也越来越高,无论是研发还是运维,如果不懂 Linux 常用指令,将大大降低工作效率,为了帮助大家提高工作效率,本文整理了最常用的几个 Linux 命令行操作小 tips,望笑纳!!!
TOP-1:最常用命令之行光标移动快捷键
推荐程度: ☆☆☆☆☆
应用场景:当输入的命令很长时,需要对其中的某些部分进行更改
操作方法:
Ctrl + a
:将光标定位到命令最左侧Ctrl + e
:将光标定位到命令最右侧Ctrl + w
:删除光标之前的一个单词Esc + b
:往左移动一个单词Esc + f
:往右移动一个单词
TOP-2:vim 快速操作
推荐程度: ☆☆☆☆☆
应用场景:修改配置文件内容
操作方法:(以下操作都在 vim 的命令模式下操作,不确定是否在命令模式?请在操作前按一下 Esc 键,即进入了命令模式)
- 输入
:set nu
,显示每一行行号 - 输入
:20
,光标跳转到第20行 - 输入
:%s/aaa/bbb/g
,将文件中所有的 aaa 替换成 bbb(vim 做替换操作十分便捷,有兴趣可以深入了解一下!) - 输入
ddp
,换行(对换光标所在行与光标下一行内容 - 手速要快哈,要不 dd 就删除当前行了,哈哈哈) - 先将光标定位到两个引号中间,然后依次输入
ci"
,快速删除光标所在的引号中间的全部内容(非常适用于配置文件中的参数修改,墙裂推荐,如果是删除单引号中间的内容,将ci"
中的双引号改成单引号即可,即ci'
)
TOP-3:快速进入上一次进入的目录
推荐程度: ☆☆☆☆☆
应用场景: 快速进入上一次进入的目录
操作命令:cd -
使用说明:适用于在两个不同的目录之间频繁切换的场景,比如上一次在 /a/work
目录,当前在 /b/work
目录,执行该命令后会跳转到 /a/work
,再执行一次会跳转到 /b/work
TOP-4:跨服务器文件拷贝
推荐程度: ☆☆☆
应用场景:服务器间文件拷贝,使用 scp 需要输入对端机器密码,在不知道机器密码的情况下无法使用 scp,在确实需要拷贝文件的时候可以使用如下方法(注意:线上配置应当走发布系统发布,不要直接从本地拷贝,因此本条操作推荐程度为 3 星)
操作方法一:使用 nc
命令(假设源文件机器 ip 为 1.1.1.1,使用端口 10017,当然端口你可以自定义)
- 源文件所在机器执行命令:
nc -l 10017 < abc.sh
- 目标机器执行命令:
nc 1.1.1.1 10017 > abc.sh
操作方法二:在命令行使用 python 库
- 源文件所在机器执行命令:
python -m SimpleHTTPServer 10010
- 目标机器执行命令:
wget http://1.1.1.1:10010/abc.sh
- 如果目标机器为办公网本地机器,也可通过浏览器访问上述链接(
http://1.1.1.1:10010/abc.sh
)进行文件下载
TOP-5:命令行简化命令
推荐程度: ☆☆☆☆☆
操作方法:
- 清空文件内容或创建新文件:
> a.log
,用于磁盘满或者文件太大时临时清空日志文件- 当文件
a.log
存在时,表示清空文件内容 - 当文件
a.log
不存在时,表示创建一个空文件,可以用来替换touch
命令 ctrl + c
结束命令,结束命令前输入的内容会存储到a.log
- 当文件
- 快速输入上一行命令的最后一段(空格分隔),按下
Esc .
- 如上一条命令为
mkdir -p /file/abc
- 紧接着你需要进入到这个目录的时候,可以输入 cd,然后按下
Esc
和.
,即可快速输入/file/abc
- 如上一条命令为
TOP-6:查询本机内网 IP
推荐程度: ☆☆☆☆
应用场景: 查询本机内网 IP
操作命令:hostname -i
补充说明:本操作仅适用于有 DNS 解析的机器(服务器 - 办公网下的个人 PC 不适用,另外请注意 );hostname 机器名
命令是修改主机名,而host 机器名
则是查询某个机器名的解析记录,两者截然不同,请慎用!!!
TOP-7:便捷的连接 Redis
推荐程度: ☆☆☆☆
应用场景: 在机器上没有 redis 客户端时,临时使用的便捷通信手段,因此推荐 4 颗星
操作命令:telnet 127.0.0.1 6379
连接本地的 Redis
使用说明:telnet + {redis 实例} + 端口
,在没有 Redis 客户端的情况下,完成便捷的连接,随后可以使用 Redis 指令与 Redis 服务器完成交互,实现日常的查询操作!
补充说明:请注意,使用 telnet 直接与 Redis 通信并不是最佳实践,因为它不支持 Redis 的所有命令和协议。对于生产环境,建议使用支持 Redis 协议的客户端,如 redis-cli
。
TOP-8:将当前任务放到后台
推荐程度: ☆☆☆☆☆
应用场景: 常见于在当前操作中,需要临时跳转到命令行,执行某些命令
操作命令:ctrl z
与 fg
组合使用
使用说明:
- 当前正在
vim /abc/aaa.py
,保存文件后:w
,此时还在 vim 操作空间,却需要查看该脚本执行效果 - 此时按下
ctrl z
,即可跳转到命令行,执行完相应操作后python aaa.py
- 再输入
fg
命令即可回到刚才的vim
操作
TOP-9:定位进程文件所在目录
推荐程度:☆☆☆☆☆
应用场景: 定位进程文件所在目录
操作命令:pwdx pid
补充说明:需要把命令中的 pid 替换成你需要查询的 pid,常用于查询某个进程的可执行文件路径,如通过 top
命令发现系统中有一个 python test.py
的进程在占用 cpu
,但是进程中没有明确显示该文件所在路径,可以使用 top 命令中的 pid 替换上述命令中的 pid,快速定位出 test.py 文件所在目录。非常实用哦!
TOP-10:命令执行结果输出到终端的同时保存到文件
推荐程度:☆☆☆☆☆
应用场景: 常用于执行某个脚本,需要保存执行日志,同时在执行过程中需要在终端查看对应内容
操作命令:命令执行 | tee
使用说明:
- 比如执行以下命令
python test.py
会输出较多内容到终端, - 常见的既保存记录又同步在终端输出的操作办法是先执行
python test.py > a.log
,然后在另外一个终端窗口执行tail -f a.log
- 而使用
python test.py | tee a.log
也可以实现相同效果,而且只需要在一个终端执行即可!
好了,今天就分享到这里,如果各位看官有其它骚操作,欢迎在评论区留言交流,感谢大家关注+点赞,希望大家在 Linux 世界玩的开心,谢谢大家。