chown 用来修改所有者和组
Usage: chown [OPTION]… [OWNER][:[GROUP]] FILE…
or: chown [OPTION]… --reference=RFILE FILE…
chown crazydemo c 修改属主
chown crazydemo:crazydemo c 修改属主和属组
chown root.root c
chown :crazydemo c 直接修改属组
chown -R crazydemo test 递归修改
chown --reference=c d
chgrp 修改文件的属组
Usage: chgrp [OPTION]… GROUP FILE…
or: chgrp [OPTION]… --reference=RFILE FILE…
权限
9位表示权限
3组
3位表示一组
- 文件权限定义
- 属主 u
- 属组 g
- 其他 o
- 每个文件的权限
- r 读
- w 写
- x 执行
- 对于文件来说
- r 可以使用文本查看工具来查看里面的内容
- w 可以修改文本的内容
- x 执行可以直接./file
- 对于目录来说
- r 可以使用文本查看工具来查看里面的内容
- 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 增加
chomd u-x c 删除
chmod u=r c 直接赋值
设定特殊权限
chattr +i 不能修改,删除,变更
lsattr 查看属性
chattr +a 只能追加数据
v1/vim
打开文件
vim [option]…file…
+# 直接定位到第#行
+/pattern 打开文件直接定位到以一个出现pattern的地方
-b 以二进制进形式打开
-d file1 file2 对比打开文件
-m 只读方式打开文件
-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 在不退出情况下执行其他命令 !pwd
- r!command 直接把命令结果写到文件中
命令模式 - 字符之间调整
- l 向右
- h 向左
- j 向下
- k 向上
- 单词间跳转
- 页面间跳转
- 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 也可以和字符跳转结合
- #yy 复制#行
- Y 复制整行
- 粘贴
- p 如果是整行的话,则粘贴到当前光标所在行的下一行,否则粘贴到光标后面
- P 如果是整行的话,则粘贴到当前光标所在行的上一行,否则粘贴到光标前面
- 改变,删除以后并将模式切换到插入模式
- c 可以跟光标的跳转做结合
- C 相当于c$
vim搜素
- 搜索
- /pantter 从当前光标往下搜索
- ?pantter 从当前光标往上搜素
- n 同命令相同的方向
- N 同命令相反的方向
- 撤销
- u 撤销最近的修改
- #u 撤销最近的#次修改
- ctrl+r 撤销之前的撤销动作
- . 重复最后一次操作
- #. 最后一次操作重复执行#次
命令拓展模式
地址定界
: start, end
# 具体到第#行
#, # 第#行到第#行
#,+n 从第#行开始,到第#+n行结束
. 表示当前光标所在的行
$ 表示最后一行
% 表示全文
/part1/,/part2/ 从第一个part1匹配到的地方,到part2第一次匹配到的地方
#,/part/ 从第#行开始,到第一次part匹配的地方
/part/,$ 从第一次被part匹配到的到结尾
可以使用的命令
- d
- y
- w file
- r file
查找并替换
- 要使用地址定界来进行查找
- s 在拓展命令模式下使用为替换
- 格式: s/要查找的内容/要替换的内容/装饰器
- 要查找的内容可以使用正则()
- 替换的内容不能为正则
- 可以为分组:%s/(nfs.*)/#\1/
- \1表示第一个分组内的内容
- 装饰器
- 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