首页 > 代码库 > 一些命令的补充

一些命令的补充

SORT命令
sort排序是在内存中进行排序的,且排序算法非常的快,默认的排序规则是将文件的内容基于行的首字符进行排序,如果第一个字符相同,那么就比较第二个字符,以此类推,实现快速排序

sort命令的格式
   格式:sort 【选项】 文件名
   sort  /etc/passwd     会将所有用户从a到z进行排序
sort一些常用的选项
   -t:指定字段分隔符,便于指定排序的字段
   -k:用于排序比较的字段
例如:sort -t: -k3 -n /etc/passwd      基于用户的uid的大小进行排序
   -n:基于数值大小排序
例如:cut -d: -f3 /etc/passwd | sort  按字符进行排序
     cut -d: -f3 /etc/passwd | sort -n  按数值大小进行排序
   -r:逆序进行排序
例如:sort -t: -k3 -n -r /etc/passwd
   -f:忽略字符大小写
这里是由于ASCII码的原因,因为A的ASCII码为:65,a的ASCII码为97
   -u:重复的行只保留一份
例如:sort -t: -k7 -u /etc/passwd

==============================================================================================================================

diff和patch命令
diff:逐行比较文件的不同,并且显示出来
patch: 打补丁工具,将补丁打到老文件里面,也就是diff左边的那个文件,使得老文件和新文件一样
    格式:diff      【选项】 老文件 新文件
    格式:patch  【选项】 老文件
例如:
### 比较两个文件的不同
    [root@bxb 2]# diff fstab.old fstab.new
### 将不同的文件作为补丁输出到fstab.patch
    [root@bxb 2]# patch -i fstab.patch fstab.old
    patching file fstab.old
### 再次比较两个文件时,已经没有不同的了
    [root@bxb 2]# diff fstab.old fstab.new
### 为了安全起见,还原补丁文件
    patch -R -i fstab.patch fstab.old
### 再次比较,发现fstab.old又还原了
    [root@bxb 2]# diff fstab.old fstab.new

==============================================================================================================================
vim文本编辑器
1.vim的模式
    编辑模式
    输入模式
    末行模式 : 具有命令的接口,在末行模式中可以直接的通过命令修改vim编辑器打开的文本文件
2.vim的小技巧
移动相关(一般普通模式):
    向上,向下,向左,向右箭头
    --ctrl+b 向上翻页  = page up
    --ctrl+f 向下翻页 = page down
    ctrl+d 向下移动半页
    ctrl+u 向上移动半页
    --G    移动到页末 =shift +g
    --gg    移动到页头
    --0    移动到行头 = home
    --$    移动到行末 = end
    n(代表数字)+回车   向下移动N行   



删除,复制,粘贴(一般普通模式)
    x    向后删除一个字符 = delete
    X    往前删除一个字符 = backspace
    --dd    直接删除光标所在行    ndd  (n代表数字,删除n行)
    --yy    复制光标所在行    nyy    (n代表数字,复制n行)
    --p    粘贴
    --u    回退上一次操作     按一次u只能回退一次
    --ctrl+r    重做上一次操作



进入编辑模式:
    --i    当前insert
    I    行头insert
    a    向后一个字符insert
    A    行末insert
    --o    下一行insert
    O    上一行insert
    r    替换光标所在的字符
    R    从光标处向后一直替换
    --ESC    从编辑模式回退到一般模式

========================================================================================================

补充一:
有些时候复制其它地方的内容到你的编辑文本中,记录一定要在编辑模式下用鼠标粘贴;如果在一般普通模式下粘贴,可能会少几个开头的字符

补充二:
有些时候,把网络上的一些配置段,复制粘贴到我们vim编辑的文本中,可能会造成格式不紧凑;
解决方法:
先在编辑器里
:set paste
再进入编辑模式,粘贴上去


查找与替换:
    -- /word    查找单词      n  向下查找   N 向上查找
    -- :1,$s/old/new/g    从第一行到最后一行都用new替换old
      :%s/old/new/g    从第一行到最后一行都用new替换old
    --  :n1,n2s/old/new/g   从n1行到n2行用new替换old
       :1,$s/old/new/gc    从第一行到最后一行都用new替换old,多加了一个c就可以要求用户确认哪些换哪些不换
    



--:set number    或者 : set nu           把每一行都加上行号
--:set nonumber  或者 : set nonu     去掉每一行前的行号
:n(代表数字)+回车                        直接把光标定位到n行

--:w    保存 (write)
--:q    退出    (quit)
--:wq    保存并退出    =    shift+zz   
--    +!    表示强制保存或者退出



如果你希望vim打开时默认就有行号,可以这样做
# vim /etc/vimrc

set number        --在这个配置文件空的地方加上这一句就可以了

=================================================================================================================================
1 . 行号
    显示行号:set nu
    取消行号:set nonu

2 .括号匹配高亮
    启动括号匹配高亮:set sm
    关闭括号匹配高亮:set nosm

3 .自动缩进功能
    启动自动缩进:set ai
    关闭自动缩进:set noai

4 .搜索高亮显示
    开启搜索高亮显示:set hlsearch
    关闭搜索高亮显示:set nohlsearch

5 .语法高亮显示
    开启语法高亮:syntax on
    关闭语法高亮:syntax off

6 .忽略字符大小写
    启用:set ic
    禁用:set noic



    
     
    

一些命令的补充