Linux常用命令

文件系统:

du -sh * 列出所有的文件夹大小

du -s | sort -rn 从小到大排序文件夹

df 比较文件

grep 'expr' dir 在dir文件夹里边查找含有expr的文件

lsof 列出打开的文件

tar:
-t 列出归档文件内容
-r 追加到归档文件末尾

 

Terminal:
sodu !! 运行前一条命令

 

网络:

netstat -tulnp 查看进程占用端口

iptables -L 查看防火墙设置

 

ldd 查看依赖文件

pstree 列出进程树

python -m SimpleHTTPServer http方式共享当前文件夹
mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm  挂载shm

 

系统信息:
hostname 获取当前主机名
w 登录时间

 

:f 或ctrl + g 查看当前文件状态 

ctrl + i / o 跳转光标的位置

ctrl + ] 跳转到方法定义处

vim +n file 打开文件并将光标定位到文件第n行
vim + file 打开文件并到将光标定位到文件末尾

echo &fileencoding 查看当前文件编码

 

vim编辑命令:

c 更改 - c$删除此行光标后的部分,然后进入编辑状态

% 跳转到配对的括号

:s/old/new/g 替换整行的全部匹配

:#,#s/old/new/g 替换两行之间的匹配

:%s/old/new/g 替换整个文本全部的匹配

:!命令 执行外部命令

:w 文件名  将当前内容写到一个文件中

:#,# w 文件名 将当前内容的#-#之间的内容保存到文件中

:r 文件名 将文件中的内容插入到当前文件中

R 从光标处开始替换文本

:set hls 单词  在搜索之前使用此设置可以将搜索结果高亮

:e 文件名  打开另外一个文件

 

 

 

vim编辑多个文件
1. 编辑另外一个文件 :e filename

2. 当前编辑的文件  :args
3. 文件列表中切换  :first :last :next :prev
4. 编辑另一个文件列表:args a.c b.c c.c 或者 :args *.txt
5. 两个编辑文件跳转切换 ctrl + ^
6. 跳转到此文件最后改动处 `.
7. 标记: 做标记 mx -> 跳转到标记 `x
8. 记录到寄存器  "fy2y 将当前光标开始行起的两行内容复制到寄存器f中 -> 可以有多个寄存器同时存不同内容,然后拷贝到其他文件去
9. 改文件名  :saveas filename  
vim分割窗口
1. 分割   :split
2. 分割在另外一个窗口打开一个文件  :split two.c
3. 新建分割文件  :new
vim更多用法
1. 录制 qa 开始,表示使用寄存器a录制命令,然后连续输入命令,以q结束,在回放的地方使用@a回放a寄存器录制的命令;可以使用3@a来回放3次

2. !!命令 用命令的输出插入当前行
3. :read !ls 将ls的输出插入光标行后
4. :write !wc 将文件的内容管道给命令wc,并回显结果
5. :3co 1 将第三行拷贝一份插入到第一行后边
6. :2move 1或者 :2m 1 将第二行移动到第一行后边
7.

 

vim奇巧淫技
1. %s/\<a\>/b/gc % 表示文本所有行 s 表示替换 \<表示以a开始 \>表示以a结束 b 替换为b g 表示每行所有的目标 c 表示每次替换都提示操作 2. 交换字串,可以使用匹配反向引用来解决: 源匹配中的匹配占位,在目标中通过反向引用来使用




'0  恢复之前编辑处

:mksession  Name 保存

:source  Name 加载

:edit . 显示当前文件夹内目录结构 

 

gf 查找并编辑文件

:set fileformat? 查看文件格式 

vim -x file 加密文件

:set key= 取消文件加密

 

:setlocal noswapfile  

vim -x -n file.txt   禁用交换文件

vim -b datafile 编辑二进制文件

:%!xxd 转换为十六进制 

:%!xxd -r 逆转换 

:set display=uhex 查看十六进制

CTRL-W 撤消刚输入的单词

:CTRL-N  :CTRL-P  补全

CTRL-X CTRL-F 文件名搜索 

<CTRL-X> <CTRL-O> 源码自动补全

i CTRL-A 录入上次insert模式下的输入内容 

 

:args *.c 

:argdo %s/\<x_cnt\>/x_counter/ge | update  

批量处理文件-替换 

 

CTRL-W ]   分割窗口显示跳转内容

:set tags=~/proj/tags。设置tags的路径

:checkpath 检查包含文件

:set path+=/projects/invent/**/include 添加搜索路径

   

[i 只列出第一个匹配的

]I 只列出当前光标之后的匹配项

]i 只列出当前光标之后的第一个匹配项 

[d 只列出第一个匹配

]D 只列出当前光标之后的匹配

]d 只列出当前光标之后的第一个匹配。

 

gD  查找本文件内容

gd 查找本函数局部内容

 

格式化: 

==  单行

=a{ 括号内

gg=G 整个文件

 

映射键 

:map Normal, Visual and Operator-pending

:vmap Visual

:nmap Normal

:omap Operator-pending

:map! Insert and Command-line

:imap Insert

:cmap Command-line 

 

 

 

 

 

原文地址:https://www.cnblogs.com/lavieenrose/p/2312135.html