1、shell展开
echo ~ 到当前用户路径下 /home/liming
echo $(()) 展开算数表达式
echo branch_{1..10} 展开branch_1 branch_2 ...branch_10
ls -l $(which cp) 不需要知道cp的具体位置 [$(which cp)]为参数
' '禁用所有展开 " "除了 \ $ `外,其他字符失去意义 [如果不加"",如果文本中含空格很多,linux 会自动过滤空格]
转义字符 \来转译 固定的转译字符 \a 导致计算机嘟嘟响 \t 制表符 \b退格符 \n 新的一行 \r 换行
2、键盘操作
ctrol + e 光标移动到行尾
ctrol + a 光标移动到行首
ctrol + u 剪切从当前位置行首
ctrol + k 剪切从当前位置到行尾
ctrol + y 粘贴剪贴板的内容
ctrol + r 搜索命令行历史列表
ctrol + l 清空屏幕
history |less 显示最近的历史列表
!number(历史行号) 执行某行命令
!string 执行最近包含string的命令
top 按cpu使用率查看进程 cpu us 外核进程 us 外核进程 id cpu空闲率 ni多少进程是nice优先级
ps 查看当前的进程
jobs 查看当前的工作 工作序号spec 进程号
bg/fg %工作序号 进程到后台/前台运行
kill -1 挂起 -2 中断(=control + c) -9 (终止 ,没有时间清理) -15(终止程序)-18 继续 -19 停止程序,没有终止
pstree 树形结构显示进程
vi命令
jk hl 光标上下左右移动
0 $ 光标行首行尾移动
10G光标移动到10行
w W / b B 光标跳到下一个/上一个单词开头
a /A 光标跳到某一行行尾并编辑
u 撤销上次输入
o /O 在当前行的上一行下一行插入空行
x / 3x 删除当前字符 / 及其后的2个字符
yy / 5yy | dd / 5dd 复制 | 删除当前行 / 及其后的4行
y0 / y$ | d0 / d$ 复制 | 删除从光标到行首 / 行尾
yG / y20G | dG / d 20G 复制 | 删除从光标到文件末尾 / 到第20行
p / P 复制的内容粘贴到当前行下面 / 上面
J 可以连接行
:/str 查找str (整个文件) n重复查找
:%s/str1/str2/gc % 替换范围 可以是1,10 s 替换操作 str1 原字符串 str2 目标字符串 g 整行替换 c确认提示
vi file1 file2 :n 到下一个文件 :N 到上一个文件 :r file1 在当前光标处复制file1 :w file_copy 保存当前文件副本file_copy :q 退出