cat 显示文本、less 分屏显示文本、more 分页显示文件、head 显示文件的前面的内容、cut 切割、paste合并、wc用来对文本进行统计、sort排序、权限、关闭文件、vim的使用
 -E 显示结尾的$符
 -n 对显示的每一行进行编号
 -b 对非空行进行编号
 -s 对连续的空行进行压缩
tac 倒序显示
less 分屏显示文本
向下翻一屏 空格
q 退出
/ 文本 搜索文本
n 向下查找 N向上查找
less 是man命令的默认分页器
more 分页显示文件
默认情况下显示读取的百分比
读取完成自动退出
q 退出
-d 显示翻屏和退出的提示
head 显示文件的前面的内容
默认显示前10行
-# 显示前#行
-n # 显示前#行
-c # 显示前#个字符
tail 显示文件的后面的内容
默认显示后10行
-# 显示后#行
-n # 显示后#行
-c # 显示后#个字符,换行符也是一个字符
cut 切割
 cut OPTION... [FILE]...
 -c 按照字符切割
 tail passwd |cut -c2-5
 -d 指定切割符,默认是tab
 -f # 显示第#个字段
 #,#,# 显示离散的多个
 #-# 表示连续的
 1-5,7 可以结合使用
 tail passwd |cut -d: -f1-5,7
 tail passwd |cut -d: -f1-5
 tail passwd |cut -d: -f1,3,5
paste 合并
默认是相同行合并到一起,默认是tab键
-d 执行间隔符
-s 将所有的行按照列来显示
paste a.txt b.txt
paste -d: a.txt b.txt
paste -s a.txt b.txt
wc 用来对文本进行统计
 [root@localhost test]#wc b.txt 
  4  5 20 b.txt
 行数  单词数 字节数 文件名
 -l 只显示行数
 -w 只显示单词数
 -c 只显示字节数
 -m 只显示字符数
 -L 显示文件中最长行的长度
sort 排序
 Usage: sort [OPTION]... [FILE]...
   or:  sort [OPTION]... --files0-from=F
 默认是按照字母排序
 -r 倒序
 -R 随机排序
 -n 按照数字排序
 -f 忽略大小写
 -t 指定分隔符
 -k # 指定按照第#个字段进行排序
 sort -t: -k3 passwd
 sort -nt: -k3 passwd 
uniq合并相同的行
- 
相邻 
- 
完全一样 
 -c 显示相同的行出现的次数
 -d 只显示重复的行
 -u 显示从没有重复过的行
 cut -d" " -f4 d|sort |uniq -c
pv page
uv user
diff 对比文件
 [root@localhost test]#echo "123" >> f
 [root@localhost test]#diff d f
 11a12
 > 123
 [root@localhost test]#echo "1234" >> d
 [root@localhost test]#diff d f
 12c12
 < 1234
 ---
 > 123
chown 用来修改所有者和组
 Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
   or:  chown [OPTION]... --reference=RFILE FILE...
 chown wu c  修改属主
 chown wu:wu c 修改属主和属组
 chown root.root c
 chown :wu c 直接属组
 chown -R wu test 递归修改
 chown --reference=c d
chgrp 修改文件的属组
 Usage: chgrp [OPTION]... GROUP FILE...
   or:  chgrp [OPTION]... --reference=RFILE FILE...
权限
9位表示权限
3组
3位表示一组
--- --- ---
- 
文件权限可以读以下定义 - 
属主 u 
- 
属组 g 
- 
其他 o 
- 
全部 a 
 
- 
- 
每个文件的权限 - 
r 读 
- 
w 写 
- 
x 执行 
 
- 
- 
对于文件来说 - 
r 可以使用文本查看工具来查看里面的内容 
- 
w 可以修改文本的内容 
- 
x 执行可以直接./file 
 
- 
- 
对于目录来说 - 
r 可以使用ls等文件查看的命令查看 
- 
w 可以创建文件,也可以删除 
- 
x 可以cd进入 
 
- 
- 
数字表示 --x 001 1 -w- 010 2 r-- 100 4 rw- 110 6 rwx 111 7 r-x 101 5 -wx 011 3 
修改权限
- 
可以直接修改某一类用户的权限 
 chmod u+x c 增加
 chmod u-x c 删除
 chmod u=r c 直接赋值
shabang ---》 解释器
- 
可以直接使用数字表示 
- 
可以基于某个文件来修改 
设定特殊权限
chattr +i 不能删除、不能修改、不能变更
lsattr 查看属性
chattr +a 只能追加数据
vi/vim
打开文件
vim [option] .... file....
 +# 直接定位到第#行
 +/pattern 打开文件后,直接定位到第一个匹配到patter的地方
 -b 以二进制方式打开文件
 -d file1 file2 对比打开多个文件
 -m file 只读方式打开文件
 -e 直接以末行模式打开
模式
- 
命令模式:可以光标,可以粘贴、复制文本,默认 
- 
插入模式或者编辑模式:可以修改文本 
- 
末行模式(扩展命令模式):保存、退出等等 
- 
esc 退出当前的模式 
模式之间切换
- 
命令模式- 插入模式 - 
i 光标所在处插入 
- 
I 在当前光标所在的行的行首插入 
- 
a 光标所在位置的后面插入 
- 
A 在当前光标所在的行尾插入 
- 
o 在当前光标所在的行的下一行(新开)插入 
- 
O 在当前光标所在的行的上一行(新开一行)插入 
 
- 
- 
插入模式- 命令模式 - 
esc 
 
- 
- 
命令模式 -- 末行模式 - 
: 
 
- 
- 
末行模式 -- 命令模式 - 
esc esc 
- 
esc enter 
 
- 
关闭文件
- 
末行模式 - 
:w 保存 
- 
:q 退出 
- 
:wq 保存并退出 
- 
:q! 强制退出 
- 
:wq!强制保存退出 
- 
:x 保存并退出 
 
- 
- 
命令模式 - 
ZZ 保存退出 
- 
ZQ 不保存退出 
 
- 
扩展命令行模式
- 
按":" 来进入 
- 
w 写入 
- 
q 退出 
- 
wq 保存并退出 
- 
q! 强制退出 
- 
x 保存并退出 
- 
r file 读入文件 
- 
w file 另存为 
- 
!command 直接执行命令 
- 
r!command 直接把命令的结果写到文件中 
命令模式跳转
- 
字符之间跳转 - 
l 向右 
- 
h 向左 
- 
j 向下 
- 
k 向上 
 
- 
- 
单词间跳转 - 
w 下一次的单词的词首 
- 
e 当前词的词尾或者下一个单词的词尾 
- 
b 当前词的词首或者上一词的词首 
- 
# command 直接跳转#个单词 
 
- 
- 
页面间跳转 - 
H 页首 
- 
L 页尾 
- 
M 页中 
- 
zt 将光标所在行移动到屏幕的顶端 
- 
zb 将光标所在行移动到屏幕的底部 
- 
zz 将光标所在行移动到屏幕的中间 
 
- 
- 
行首行尾之间跳转 - 
^ 跳转到当前光标所在行的第一个非空字符 
- 
0(数字) 跳转到行首 
- 
$ 跳转到行尾 
 
- 
- 
行间移动 - 
#G 跳转到第#行 
- 
在命令扩展模式下,直接:# 跳转到对应的行 
- 
G 直接到最后一行 
- 
gg 跳转到第一行 
- 
1G 跳转到第一行 
 
- 
- 
段落之间跳转(空行) - 
{ 上一段 
- 
} 下一段 
 
- 
- 
翻屏 - 
ctrl+f 向文件尾部翻一屏 
- 
ctrl+b 向文件首部翻一屏 
- 
ctrl+d 向文件尾部翻半屏 
- 
ctrl+u 向文件首部翻半屏 
 
- 
命令模式编辑
- 
字符编辑 - 
x 删除光标所在处的字符 
- 
#x 删除#个字符 
- 
xp 将光标所在处的字符和后面的字符互换位置 
- 
~ 将光标所在的位置大小写互换 
- 
J 删除当前行的换行符 
 
- 
- 
替换 - 
r 替换当前光标所在处的字符 
- 
R 进入替换模式 
 
- 
- 
删除 - 
d 删除,需要跟字符跳转结合 
- 
d$ 删除到行尾,删除当前位置 
- 
d0 删除到行首,当前位置不删除 
- 
d^ 删除到非空字符 
- 
dw 删除一个单词 
- 
de 向后删除一个单词 
- 
db 向前删除一个单词 
- 
dd 删除正行 
- 
# dd 删除#行 
- 
dG 删除到结尾 
- 
dgg 删除到开头 
- 
D 相当于d$ 
 
- 
- 
复制 - 
y,也可以跟字符跳转结合 
- 
y$ 
- 
y0 
- 
y^ 
- 
yw 
- 
ye 
- 
yb 
- 
yy 一正行 
- 
#yy 复制#行 
- 
yG 复制到结尾 
- 
ygg 复制到开头 
- 
Y 复制整行 
 
- 
- 
粘贴 - 
p 如果是整行的话,则粘贴到当前光标所在行的下一行,否则粘贴到光标的后面 
- 
P 如果是整行的话,则粘贴到当前光标所在行的上一行,否则粘贴到光标的前面 
 
- 
- 
改变,删除以后并将模式切换成插入模式 - 
c 可以跟光标的跳转做结合 
- 
c$ 
- 
c0 
- 
c^ 
- 
cw 
- 
ce 
- 
cb 
- 
#command 
- 
cc 删除正行并插入 
- 
C 相当于c$ 
 
- 
- 
#[i|I|a|A|o|O]string esc 将string粘贴#次 
- 
搜索 - 
/pattern 从当前光标往下搜索 
- 
?pattern 从当前光标往上搜索 
- 
n 同命令相同的方向 
- 
N 同命令相反的方向 
 
- 
- 
撤销 - 
u 撤销最近的修改 
- 
# u 撤销最近的#次修改 
- 
ctrl +r 撤销之前的撤销动作 
- 
. 重复最后一次操作 
- 
#. 最后一次操作重复执行#次 
 
- 
命令扩展模式
地址定界
:start,end
# 具体到第#行
#,# 第#行到第#行
#,+n 从第#开始,到第#+n行结束 1,+2 ==>1,3
. 表示当前光标所在的行
$ 表示最后一行
$-1 表示倒数第二行
% 表示全文
/pat1/,/pat2/ 从第一个pat1匹配到的地方,到pat2第一次匹配到的地方
#,/pat/ 从第#行开始,到第一次被pat匹配到的地方
/pat/,$ 从第一次被pat匹配到的到结尾
可以使用的命令
- 
d 
- 
y 
- 
w file 重新另存为文件 
- 
r file 将文件的内容写到匹配到的下一行 
查找并替换
- 
要使用地址定界来进行查找 
- 
s 在扩展命令模式下使用为替换 
- 
格式: s/要查找的内容/要替换的内容/装饰器 
- 
要查找的内容可以使用正则 
- 
替换的内容不能为正则 - 
可以为分组:%s/(nfs.*)/#\1/ 
- 
\1表示第一个分组内的内容 
- 
\2 
- 
\3 
- 
& 可以代表前面匹配到的内容 
 
- 
- 
装饰器 - 
i 忽略大小写 
- 
g 表示全部替换 
- 
gc 每一次替换之前都要询问是否替换 
 
- 
- 
分隔符还可以使用 - 
@ 
- 
# 
 
- 
可视化
- 
v 面向字符 
- 
V 面向行的 
- 
ctrl +v 面向块 
- 
可以结合所有的跳转键进行结合 
- 
对突出显示部分可以使用删除、复制、变更、过滤、替换、另存为等等 
打开多个文件
vim file1 file2 file3
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:qall 退出全部
:wall 保存全部
:wqall 保存并退出全部
:xall 保存并退出全部
使用多个窗口
vim -o 水平分隔
vim -O 垂直分隔
切换ctrl+w 加上上下左右箭头
单文件切割
ctrl+w,s 水平切割
ctrl+w,v 垂直切割
ctrl+w,q 取消相邻的窗口
ctrl+w,o 取消全部窗口
vim工作特性
配置文件
- 
全局有效:/etc/vimrc 
- 
对当前用户有效: ~/.vimrc 
- 
行号:set nu 取消 set nonu 
- 
忽略大小写(搜索) set ic 取消set noic 
- 
自动缩进(同上一行) set ai 取消set noai 
- 
设置高亮显示(搜索到的内容) set hls 取消set nohls 
- 
语法高亮 syntax on 取消 syntax off 
- 
文件格式 - 
windows格式 set fileformat=dos 
- 
unix set fileformat=unix 
 
- 
- 
添加标识线: set cul 取消标识线 set nocul 
- 
获取帮助: set all 
- 
获取帮助信息: - 
:help 
- 
:help topic 
- 
vimtutor 
 
- 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号