CLI:Command Line Interface命令行界面
重要的技巧
工具
tmux:功能强大,支持多窗口,具有会话保持功能,==即使连接断开,也不会导致服务器对话终止从而导致正在执行的命令被中断
技巧::对历史命令的快速重用
!n重复第n个命令!-n重复倒数第n个命令!!重复上一条命令,等于!-1,等于方向键向上一次!str重复上面的最近的一条以str为开头的命令!?str重复上一条命令,该命令内包含字符串str(上一条是该str必须处在开头)!#:n引用当前输入命令的部分字符:使用例子说明更加容易理解:
cp fileName fileName.bak
# 该命令可以被改写为:
cp fileName !#:1.bak
使用该命令,类似于各大编程语言的字符串格式化函数,通过!#:n来确定调用参数。
技巧:重用已执行命令的参数
==注意:重用的是命令的参数,命令的参数是指命令名称以外的参数:即,cd foo中foo是参数,而cd不是参数。第一个参数是指foo而不是指cd命令本身:注意:若使用C语言的思想来说,命令本身是第0个参数而命令以外才是第一个参数==
!%或Alt + .重用上一条命令的最后一个参数:mkdir src && cd !$等同mkdir src && cd src!^重用上一条命令的第一个参数!*重用上一条命令的所有参数!!:n重用上一条命令的第n个参数!str:x-y重用上一条以str为开头的命令的第x到第y个参数(包括第x和第y个本身)!?str:x-y包含str的命令!str:x*使用数字加*可以表示从第x到最后一个参数
技巧:提取已运行命令的参数中的子字符串
==与提取参数的不同:==使用!开头的截取,是针对参数进行的截取,每次截取得到的最小单位是每一个参数,该技巧是对这些参数进行更为精细的截取。
!$:h:截取上一命令中的路径(将上一命令中的路径的最后一个斜杠后面的内容抛弃,只返回路径部分)!$:t:截取上一路径中的路径结尾(与上一命令相反):wget foo.org/bar/download/abc.tartar zxf !$:t等同于路径的最后一个部分,即文件名abc.tar!$:r截取文件名,(丢弃文件后缀)!$:e截取文件后缀,与上一命令构成完整文件名称
技巧:命令参数替换
^strold^strreplace^:最近一次包含strold的命令中strold替换为strreplace,并执行命令(只替换一次,使用’/’可以进行全部替换)!n:^str1^str2^第n条命令替换!nL/str1/str2/全部替换,使用’^’只进行一次替换
技巧:光标移动
- Ctrl + A移动到行首
- Ctrl + E移动到行尾
- Ctrl +F/B单词间移动
命令工具:多目录维护:pushd和popd
使用–help参数查看使用说明
sudo !!
当上一条命令输入后,发现该命令需要使用su权限的时候,可以使用`sudo !!快速重复上一命令

本文介绍命令行界面(CLI)中的高效操作技巧,如利用tmux保持会话、历史命令的快速重用方法、命令参数的灵活提取与替换,以及一些光标移动快捷键等。这些技巧适用于希望提高命令行工作效率的用户。
2648

被折叠的 条评论
为什么被折叠?



