02 September 2013
ls -hl  以k,m,g等方式有好显示文件大小
head -n 10 xx 显示文件前10行
tail -fn 20 xx 显示文件后20行并持续显示文件之后的写入
more xx 分屏显示文件

vim 编辑文件
vim -o xx1 xx2 横向分屏显示这两个文件
vim -O xx1 xx2 竖分屏
:set nu 显示行号
:set filetype=sh
:e 打开一个文件
:bn 显示前一个文件
:bp 显示后一个文件
:split 横行分屏显示
:vsplit 竖分屏显示
:set filetype=java 用Java语法高亮 :set ft=java
:3 跳到第3行
0(零)到行头
$ 到行尾
:gg 跳到文件头
:G 跳到文件尾
o 添加一行在光标行的下一行(不是零)
O 添加一行在光标行的上一行
p 粘贴
dd 删除一行
u 撤销
list 以特殊符方式显示
ctrl+r 恢复撤销的内容
v 从光标所在位置开始选中文本 然后按 y 复制选中内容 d 删除内容 r是替换内容
yy 复制一行
输入字母开头 按ctrl+p 或 ctrl+n 提示完整的单词(前提是你文本中已有此词)
ctrl+v+i 插入特殊符 tab ctrl+v+a 插入\001

1.插入注释:
按ctrl+v进入列模式
用上下键选中需要注释的行数
按大些“I”进入插入模式,输入注释符“#”,然后立刻按下ESC(两下)

2.删除注释
先按Ctrl+v进入列模式
按光标键选中需要删除的注释符
按x键删除

nohup ./xx.sh & 后台运行程序
nohup ./xx.sh >log.txt 2>&1 & 将标准输出写到log.txt中

cat test1 |tr -s "[\001]" "[\t]" > test2 将test1中的\001字符替换成\t
cat test1|tr -d "\r" > test2 将test1中\r删除
cat xx* > new_file 将以xx开始的文件合并到new_file中

wc -l xx.txt 查看文件的行数

split -l 100 xx.txt new_xx 按行分割文件
split -b 10m xx.txt new_xx 按大小分割文件
sed -s/xx_.\+/xx2 将xx_*替换成xx2 在sed中使用正则表达式.*不需要转义其它都需要

locate 搜索文件 updatedb 更新系统文件记录
chmod 777 xx 为文件添加权限 r=4 w=2 x=1
chown -R root:root /xxx 将xxx目录及其子目录的所属用户和所属组修改为root
chgrp 修改所属组
rm 删除
mv 移动(重命名)
df -h 查看系统空间
fdisk -l 磁盘分区
mount /dev/sdb1 /home/xx u盘挂载
touch 创建文件
scp /home/xx root@10.12.11.12:/home/xx2 将本机文件xx拷贝的xx2
scp root@10.12.11.12:/homexx2 /home/xx 将远程xx2拷贝到本地xx
groups user 查看用户所属组 或 id user
gpasswd -a user root 给用户user添加到root组
netstat -tunl 查看所有监听端口
netstat -anp|grep 80 查看80端口是否被监听
lsof -i|grep pid 查看一个进程中所使用的端口
kill -19 pid 暂停进程

wall 向所有人发送消息 ctrl+d结束
write 发送消息到其他登陆终端的用户
cat /home/xx|sed '/^[[:blank:]]*$/!s/$/\t0/g' >fil.txt 向文件xx的每一行后添加\t0
ctrl+z 中断前台运行的进程让其等待
jobs 查看当前正在运行的进程
fg %n 将第n个进程放到前台运行
bg %n 将第n个进程放到后台运行
    disown -h %n 来使某个作业忽略HUP信号。
for i in {1..10};do echo $i;done简单的for循环
查找僵死进程,然后将父进程杀死~
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
which command	显示命令的完整路径名

top 命令
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
1 显示cup使用频率

常用的快捷键:

Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无任何字符,则相当于exit;处理多行标准输入时也表示eof)
Ctrl + h        退格删除一个字符,相当于通常的Backspace键
Ctrl + u        删除光标之前到行首的字符
Ctrl + k        删除光标之前到行尾的字符
Ctrl + c        取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a        光标移动到行首(Ahead of line),相当于通常的Home键
Ctrl + e        光标移动到行尾(End of line)
Ctrl + f        光标向前(Forward)移动一个字符位置
Ctrl + b        光标往回(Backward)移动一个字符位置
Ctrl + l        清屏,相当于执行clear命令
Ctrl + p        调出命令历史中的前一条(Previous)命令,相当于通常的上箭头
Ctrl + n        调出命令历史中的下一条(Next)命令,相当于通常的上箭头
Ctrl + r        显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Alt  + ->       切换终端,alt加左右方向键

vim python 插件

pydiction 1.2

适用VIM7之后的版本。

1.python_pydiction.vim

将文件 python_pydiction.vim 放到 ~/.vim/after/ftplugin/ 路径下,如果这个路径不存在,你可以自己创建这个文件夹结构。(Windows下面的话放在目录类似的结构中)

2.complete-dict

将complete-dict文件放到你自己的某个路径下,后面的配置会用到这个文件,这个文件就是记录所有的python关键词。

我将这个文件放到 ~/.vim/dict/complete-dict

3.配置 .vimrc 文件

在 ~/.vimrc 文件中添加如下配置

filetype plugin on
let g:pydiction_location = '~/.vim/dict/complete-dict'

4.自定义类提示 ctrl+x 结合 ctrl+o

SnipMate:代码补全

将snipMate.zip解压到~/.vim目录下。其中snippets目录存放的是代码模板

~/.vim/snippets/python.snippets 补全模板

按tab键进行提示

4.python 自动缩进

set nu
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
filetype plugin on
let g:pydiction_location = '~/.vim/dict/complete-dict'
set autoindent
set cindent
set smartindent
filetype indent on
autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=79
filetype plugin indent on
set completeopt=longest,menu


blog comments powered by Disqus