一、权限说明
权限类型 | 权限数值 | 普通文件 | 目录(文件夹) |
---|---|---|---|
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 :解压缩;
举例 :(不保留源文件)
gzip aa.c 压缩aa.c文件
gzip -d aa.c.gz 解压aa.c.gz
gzip -c a 递归压缩a文件夹,将a文件夹中的所有文件进行压缩,文件夹无变化
gzip -dr aa.c.gz 递归解压a文件夹中所有的文件
注意 :
- gunzip aa.c.gz 也可以解压扩展名是.gz的文件;
- gzip只针对文件,文件夹无变化。
-
更高的压缩效率指令 :bzip2
说明 :压缩文件为.bz2的格式
语法 :
bzip2 [选项] 文件名/目录
选项 :
-k :保留源文件;
-d :解压缩;
-f :覆盖解压(文件夹中有同名文件,用解压出的文件覆盖同名文件);
注意 :bunzip2 -f a.txt.bz2 也可以解压缩扩展名是.bz2的文件
总结 :
gzip和bzip2的区别 :
- gzip可以压缩文件夹中的所有文件,bzip2不可以;
- 与gzip相比,bzip2有更高的压缩效率
二者不可混用,主要通过压缩文件的扩展名区分。
-
压缩文件或文件夹 : zip
说明 :文件的后缀名是 .zip
语法 :
zip [选项] 压缩后的文件名 文件名/目录
选项 :
-r :递归压缩,用于对文件夹的操作
注意 :不带选项会保留源文件
举例 :
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
zip ./my/love.zip love2.txt 压缩文件到./my目录下
注意 :当解压缩时,如果有同名文件或同名文件夹,会有提示让用户选择覆盖方式 :
y :覆盖文件;
n :不覆盖文件;
A :覆盖文件夹;
N :不覆盖文件夹;
r :重命名。
-
打包并压缩指令 :tar
语法 :
tar [选项] 产生的文件名称 被压缩的文件或文件夹列表(用空格隔开)
选项 :
-c :打包;
-v :显示命令执行的过程;
-f :用于指定打包文件的名称;
-z :打包时压缩/解包同时解压缩,所以操作的文件扩展名为.gz(gz说明用的是gzip);
-x :解包;
-j :与-z类似,不过使用的是bzip2指令,最终扩展名为.bz2;
举例 :
tar -cvf love.tar love2.txt love.txt 打包love2.txt和love2.txt文件一起压缩到love.tar中(保留源文件)
tar -xvf love.tar 解包love.tar中的love2.txt和love2.txt文件(直接覆盖原文件)
总结 :
- *.tar : 用 tar -xvf 解包;
- *.gz : 用 gzip -d 解压缩;
- *.tar.gz : 和 *.tgz 用 tar -xvzf 解压;
- *.bz2 : 用 bzip2 -d 解压;
- *.tar.bz2 : 用 tar -xvjf 解包;
- *.zip : 用 unzip 解压;
三、Vim文本编辑
1、Vim定义
Vim是linux系统中一个使用非常普遍,而且功能强大的文本编辑器。(vi的升级版本)
2、Vim安装
本地安装(dpkg-i)
前提 :系统要存在下载好的安装包,并且还需要安装包的依赖包;
在线安装
语法 :
sudo apt-get update 更新软件源
sudo apt-get install vim 安装Vim
卸载程序
-
语法 :
sudo apt-get remove vim 这个命令是卸载程序,vim也可以替换成其他的程序名
3、Vim的使用
启动
语法 :vim
启动Vim后,则Vim处于命令模式:
1.系统命令行输入Vim,就可以启动Vim;
shenyuanli@shenyuanli-vm:~$ vim
在Vim中导入待编辑的文件:
:r 待操作文件
2.系统命令行输入Vim待编译文件,启动Vim同时打开待编译文件
说明 :
默认打开文件后,光标处于文件开头(第一行第一列)
shenyuanli@shenyuanli-vm:~$ vim ~/Mywork/triangle.c
3.系统命令行输入Vim待编译文件,启动Vim同时打开待编译文件
说明 :默认打开文件后,光标处于文件末尾(最后一行第一列)
shenyuanli@shenyuanli:~$ vim ~/Mywork/triangle.c +
4.系统命令行输入Vim待编译文件,启动Vim同时打开待编译文件
说明 :默认打开文件后,光标处于指定行n(指定行n第一列)
shenyuanli@shenyuanli:~$ vim ~/Mywork/triangle.c +4
退出
1.在Vim的命令模式(即输入vim后进入的界面的输入模式)下 :ZZ(区分大小写)
2. :q 文件不做任何修改直接退出;
3. :wq 保存退出(会保存修改);
4. :q! 强制退出(不保存修改);
5. :wq! 强制保存退出
注意 :英文输入法下使用 shift+;
4、Vim的工作模式
1.命令模式 :用户输入Vim时当作指令处理的;
2.编辑(插入)模式 :用户输入Vim时字符要写入文件中;
3.末行模式 :文件保存和退出Vim;
-
命令模式下输入的快捷键解释 :
i 在目前光标前插入所要输入之文字;
a 在目前光标后开始输入文字;
o 在当前光标所在行下新增一空行,并从行首开始输入文字;
I 插于行首;
A 插于行尾;
O 在当前光标所在行上新增一空行,并从行首开始输入文字。
5、Vim的常用命令
光标移动
- 行间移动
gg :移动光标到第一行
G :移动光标到最后一行
:n :移动到第n行,写法: :6 移动光标到第6行
- 列间移动
$ :移动光标到当前行的行尾;
O :移动光标到当前行的行尾。
删除
- 列(字符)删除
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 n :复制n1~n2行数据后粘贴到第n行。写法: 3,14 copy 2 即将第3行至第14行的内容拷贝到第2行
粘贴
p :如果拷贝的是整行粘贴在当前行下,如果拷贝的是列(字符)粘贴在当前光标之后;
P :如果拷贝的是整行粘贴到当前行上,如果拷贝的是列(字符)粘贴在当前光标之前。
撤销
u :撤销上一步操作。相当于crtl+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 :显示文件名,当前的行号,文件的总行数和文件位置的百分比;