linux 03 命令 续
一、vim
两种操作方式:新文件
pyvip@Vip:~/demo/2_3$ vim demo.txt #操作一个新文件
一开始进入的是命令模式,按i进入插入模式,开始编辑内容,按esc进入命令模式,i/I、o/O、a/A都是在命令模式下输入的,最常用的是i
小写i是从光标位置前面开始插入,大写I是从行首开始插入
小写a是从光标位置后面开始插入,大写A是从行末开始插入
小写o向下打开一行,大写O向上打开一行
末行模式也是一种命令模式
以下操作都是基于命令模式:
1、保存操作
:q #退出,如果内容以改变,则不退出 :q! #强制退出,不保存更改 :w #保存更改 :wq #保存并退出 :x #保存退出
2、常用操作
#通常小写字母和大写字母的功能是相反的
<!-- 复制 --> yy #复制一行 (n)yy #复制多行 eg: 6yy 复制6行 y$ #复制光标到行末(包括光标) y^ #复制光标一直到行首(不包括光标) <!--粘贴 --> p #粘贴 <!-- 剪切/删除 --> dd #剪切/删除一行 (n)dd #剪切/删除多行 eg: 6dd 剪切/删除6行 d$ #剪切/删除光标到行末(包括光标) d^ #剪切/删除光标一直到行首(不包括光标和空格) D #剪切/删除光标到行末(包括光标) d0 #剪切/删除光标一直到行首(包括空格但是不包括光标) x #删除光标所在的字符(往后删除) X #删除光标的前一个字符 (往前删除) <!--撤回--> u #撤回 ctrl+r #反撤回 . #重复上一次操作 <!-- 修改 --> r #修改光标所在的字符 R #进入替换状态,修改多个 <!-- 整行后移 --> >> #整行往后移 << #整行往前移 <!-- 选中一块代码 --> v #从光标开始位置选中多行 V #选中多行 <!-- 查找和替换 --> :%s/str1/str2/g #用str2替换全文的str1,j加了g全部替换,不加只替换第一个 :12,20s/str1/str2/g #找出第12行到第20行的str1,并用str2替换
3、光标操作
<!-- 上下左右 --> h #左 j #下 k #上 l #右 <!-- 翻页 --> ctrl+d #向下半页 ctrl+f #向下一页 ctrl+u #向上半页 ctrl+b #向上一页 <!-- 快速定位 --> G #光标快速定位最后一行 gg #光标快速定位第一行 H #光标快速定位可视区域内首行 M #光标快速定位可视区域内中间 L #光标快速定位可视区域内末行 <!-- 移动 --> 0 #光标跳到行首 ^ #光标跳到第一行的第一个非空白符 $ #光标跳到行末 w #光标移动到下一个单词的第一个字母 b #光标移动到上一个单词的第一个字母
二、权限
1.权限
-rw-rw-r-- 1 pyvip pyvip 36 Feb 3 14:48 demo.py #第一列9个字母表示文件或目录的权限;r 表示读,w表示写,x表示执行;第二列表示 文件的硬链接个数;第三列表示文件拥有者;第四列表示文件拥有者所在的组;第五列表示文件大小,如果是目录,表示目录大小,注意是目录本身大小,而不是目录及其下面的文件总大小;第六列表示文件或目录的最近修改时间 -rw-rw-r-- #第一个- 表示的是一个文件类型,主要是在后面的rw-rw-r--,我们要把后面的9个,分成3组。三个一组 ;rw- 第一组表示用户的自己的权限 (user);rw- 第二组表示用户所在组的权限(group);r-- 第三组表示其它用户的权限 (other) r #表示是否可读,如果没有 r 权限,是个目录的话,则不能去 ls 查看,是个文件的话,则不能去 cat 查看 w #表示是否可写,如果没有 w 权限,是个目录的话,则不能去 mkdir 创建目录文件,是个文件的话,则不能去 touch 创建一个文件 x #表示是否可执行,如果没有 x 权限, 要是个目录, 则不能 cd 进去, 要是个文件, 就不能执行
2、修改权限
a、字母法
pyvip@Vip:~/demo/2_3$ chomd u/g/o/a +/-/= rwx fileName/dirName # u/g/o/a 表用户 ,+/-/=表加减或设定,rwx表权限, fileName/dirName 文件名 u ==> user #用户权限 g ==> group #组权限 o ==> other #其它权限 a ==> all #所有 + ==> 添加 # 添加权限 - ==> 移除 #移出权限 = ==> 设定 # 设定权限
b、数字法
pyvip@Vip:~/demo/2_3$ chmod 775 fileName/dirName #7表示4+2+1,拥有所有权限;6表示4+2,只有读和写的权限;5表示4+1,只有读和执行的权限;3表示只有写和执行的权限;0表示没有任何权限;775依次表示自己,组,和其他人的权限 r ==> read ==> 4 w ==> write ==> 2 x ==> 执行 ==> 1 - ==> 无 ==> 0