Linux/Unix/Windows

[Linux]vi – 复制与剪切

复制: case 1: 在某处用yw复制一个词,在另一处用p粘贴回来 case 2: 在某处用yy复制一行,在另一处用p粘贴回来 剪切: case 1: 在某处用x删除一个字符,在另一处用P粘贴回来 case 2: 在某处用dw删除一个词,在另一处用p粘贴回来 P:在当前光标处插入上次删除的内容 p: 在当前光标右边插入上次删除的内容

[Linux]vi中使用shell

:!ls  – 执行一下ls :r ! ls – 执行一下ls,并把ls的输出插入到当前位置 :r 3.txt – 把3.txt文件的内容插入到当前位置 :sh 暂停vi,创建一个新的shell并进入(完成后输入exit回到vi)

[Linux]定义缩写

:ab ssh Struts+Spring+Hibernate — 定义ssh为Struts+Spring+Hibernate 的缩写。在输入状态下键入ssh后,vi会自动将其变成Struts+Spring+Hibernate :ab 查看已有的缩写 :una ssh 不再使用ssh作为任何内容的缩写

[Linux]vi – 查找与替换

查找 /hey:  向下查找"hey" /[a-z]: 向下查找小写字母 查找后输入n: 下一个匹配处 查找后输入N: 上一个匹配处 ?hey:  向上查找"hey" 替换 :s/vim/vi: 把下一个vim替换成vi :%s/vim/vi/g: 把所有行中的vim都替换成vi (如果不加g则只替换每行第一个)

[Linux]硬连接与软连接

建立一个硬连接 (ln命令),实质上为已经存在的索引号做了另一个entry,源文件是一个entry,新文件是一个新entry; 删除源entry,文件仍然会存在; 删除了所有entry,文件本身才会被删除 而一个软连接(ln -s命令)里记录的是源文件的路径名; 如果源文件被删除,软连接也会失效。

[Linux]文件及目录搜索

find . -name "*temp*": 搜索当前目录及子目录下所有包含"temp"的文件和目录 find . -name "*.txt" -exec grep -l "a"  {} \;  : 搜索当前目录及子目录下所有包含"a"的txt文件 (注意{} 和 \之间要有空格)

[Linux]进程控制

find / > results.txt: 执行一次find find / > results.txt &: 在后台执行find (加&意为在后台执行) vi状态下输入^z,则会挂起当前这个vi进程,并回到shell 这时输入fg,就会回到vi 如果不输入fg,而输入bg,则会把vi放到后台执行 jobs -l: 查看所有挂起的任务  fg %vi: 将挂起的vi任务移到前台 bg %vi: 将挂起的vi任务移到后台 ps: 查看所有活动的进程 tops: 动态显示所有进程 kill 3662: 向进程3662发出信号,要求其终止 kill -KILL 3662: 发出终止信号,并且该信号不准被忽略

[Linux] vi命令 — 保存、退出、切换文件

保存: :w 保存 :w hi.bak 保存到hi.bak中(但VI当前正在编辑的文件仍是原来那个文件) :w >> another.txt 把当前内容追加到another.txt中 停止vi   ZZ : 保存并退出   :q! : 退出,不保存 切换文件:   :e 2.txt   — 切换到2.txt(前提是当前文件已保存)   :e !2.txt  — 切换到2.txt,如果当前文件未保存,丢弃修改