补充0717:
权限说明
权限的类型 | 权限的数值 | 普通文件 | 目录(文件夹) |
r:可读 | 4 | Cat,less,more等 | Ls |
W:可写 | 2 | >(覆盖插入),>>(追加插入),touch,rm | mkdir,rmdir,rm |
X:可知行 | 1 | ./文件名(执行文件) | cd(不改变文件目录) |
-:无权限 | 0 | 无操作 | 无操作 |
压缩与解压缩
压缩命令gzip
说明:Linux压缩文件为.gz(gzip)格式
语法:gzip[选项]文件名/目录
选项:
-r:可以将目录下的文件递归压缩
-l:显示已经压缩文件的压缩信息
-d:解压缩
Eg:
gzip aa.c 压缩aa.c文件
gzip -d aa.c.gz 解压缩aa.c.gz
gzip -r a 递归压缩a文件夹,将a文件夹中所有的文件进行压缩,文件没有变化
gzip -dr aa.c.gz 递归解压a文件夹中所有的文件
注意:gunzip aa.c.gz 也可以解压扩展名是.dz的文件
注意:gzip只针对文件,文件无变化
更高的压缩效率指令:bzip2
说明:压缩文件为bz2的格式
语法:bzip2[选项]文件名/目录
选项:
-K:保留源文件
-d:解压缩
-f:覆盖解压(文件夹中有同名文件,用解压出来的同名文件覆盖同名文件)
注意:bunzip2 -f a.txt.bz2 也可以解压缩扩展名是bz2的文件
总结:
- gzip和bzip2的区别:
①gzip可以压缩文件夹中的所有文件,bzip2不可以
②与gzip相比,bzip2有更高的压缩效率
③gziphebzip2不能混用,主要通过压缩文件的扩展名区分
Zip:压缩文件或文件夹,压缩后的扩展名为zip
语法:zip[选项]压缩后的文件名 文件名/目录
选项:
-r:递归压缩,用于对文件夹的操作
注意:不带选项会保留源文件
Eg:
Zip love.zip love2.txt 压缩love2.txt
Unzip love.zip 解压缩love.zip
Zip a.zip a 压缩目录a
Unzip a.zip 解压缩a.zip
Zip -r a2.zip a 递归压缩目录a
Unzip -r a2.Zip 递归压缩a2.zip
注意:
当解压缩时,如果有同名文件或同名文件夹,会有提示让用户选择覆盖方式:
y:覆盖文件
n:不覆盖文件
A:覆盖文件夹
N:不覆盖文件夹
r:重命名
打包并压缩指令:tar
语法:tar[选项]产生的文件名称 被压缩的文件或文件夹列表(用空格隔开)
选项:
-c:打包
-v:显示命令执行的过程
-f:用于指定打包文件的名称
-z:打包时压缩/解包时解压缩,所以操作的文件扩展名为gz(gz说明用的是gzip)
-x:解包
-j:与-z类似,不过使用的是bzip2指令,扩展名为.bz2
Eg:
Tar -cvf love.tar love2.txt love.txt打包love2.txt. Love.txt 文件并压缩到love.tar中
tar -xvf love.tar解包love.tar中的love2.txt和love.txt
总结:
- *.tar用tar-xvf解包
- *gz用gzip-d解压缩
- *.tar.gz和*.tgz用tar-xvzf解压
- *.bz2用bzip2-d解压
- *.tar.bz2用tar-xvjf解包
- *.zip用unzip解压
VIM文本编辑
vim定义
Vim是Linux系统中一个使用非常普遍,而且功能强大的文本编辑器。(vi的升级版本)
Vim安装与使用
本地安装
前提:系统要存在下载好的安装包,并且可能还需要安装包的依赖包。
在线安装
语法:
- sudo adp-get update //更新软件源
- sudo adp-get install vim //安装vim
卸载程序
语法:
sudo adp-get remove vim //这个命令是在写程序,vim也可以替换成其他程序名
Vim的使用
启动
语法:vim
启动vim后,则vim处于命令模式:
1.系统命令行输入vim,就可以启动vim;
在vim中导入待编辑的文件:
:r 待操作文件
2.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件开头(第一行第一列)
Yueqian@yueqian-vim:~/mywork/triangle.c
3.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件末尾(最后一行第一列)
Yueqian@yueqian-vim:~/mywork/triangle.c +
4.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于指定行n(指定行n第一列)
Yueqian@yueqian-vim:~/mywork/triangle.c +4
退出
- 在命令模式下:ZZ(大小写)
- :q 文件不做任何修改直接退出
- :wq 保存退出
- :q! 强制退出不保存
注意:英文输入法下使用shift+:
vim的工作模式
- 命令模式:用户输入vim时当作指令处理的
- 编辑(插入)模式:用户输入vim时字符要写入文件中
- 末行模式:文件保存和退出vim
命令模式下输入的快捷键解释:
I——在当前光标前插入所要输入之文字。
a——在当前光标后开始输入文字。
o——在当前光标所在行下新增一空行,并从行首开始输入文字。
I——插于行首。
A——插于行尾。
O——在当前光标所在行上新增一空行,并从行首开始输入文字。
Vim的常用命令
光标移动
行间移动
gg:移动光标到第一行
G:移动光标到最后一行
:n:移动光标到第n行
列间移动
$:移动光标到当前行的行尾。
0:移动光标到当前行的行首。
删除
列(字符)删除
X:删除当前光标所在处一个字符
nx:删除当前光标所在处以及后面共n个字符。写法:6x删除从当前光标开始6个字符
x :删除当前光标的左边一个字符
D:删除当前光标至行尾
行删除
dd:删除当前光标所在行
ndd:删除当前光标所在后面n行
dG:删除当前光标所在行至文件末尾
:n1,n2d:删除n1到n2行,写法:1,12d 表示删除自行1至12行。
拷贝
列(字符)拷贝
多按几次ESC,然后按v,进入可视方式,移动方向键选中文本,然后按y,就拷贝完成
行拷贝
yy:复制当前行
nyy:复制当前行以下n行
:n1,n2 copy dn:复制n1~n2行数据后粘贴到dn行,写法:3,14 copy 2从第3行拷贝到第14行,将拷贝的内容粘贴在第2行
粘贴
p:如果拷贝的就是整行粘贴在当前行下,如果拷贝的是列(字符)粘贴在当前光标之后。
P:如果拷贝的就是整行粘贴在当前行上,如果拷贝的是列(字符)粘贴在当前光标之前。
撤销
u:撤销上一步操作。相当于ctrl+z
u:撤销当前行的所有操作
Ctrl-r:重做撤销的操作
字符查找
/string:从光标所在处向后寻找“string”字符串,按n可往下继续找,按N可往上继续查找。
?string:从光标所在处向前寻找“string”字符串,按N可往下继续找,按n可往上继续查找。
:set ic:查找时忽略大小写 例:查找f,匹配f+F
:set noic:查找时对大小写敏感 例:查找f,匹配f
注意:set ic和set noic 必须要在文本查找之前进行。
字符替换
:%s /old/new 将全文每一行第一个匹配old替换成new
:%s /old/new/g 全文替换old为new
:n1,n2s /old/new/g :在n1~n2行间替换old为new
其他常用指令·
:set nu: 设置行号
:set nonu:设置取消行号
Ctrl+g:显示文件名,当前的行号,文件的总行数和文件位置的百分比。