今天是我嵌入式学习的第4天,主要学习了Linux文件的压缩和解压,还有vim编辑器的使用,以下是今天学习的学习笔记:
权限说明
权限类型 | 权限数值 | 普通文件 | 目录(文件夹) |
可读 | 4 | cat,less,more等 | ls |
可写 | 2 | >(覆盖插入),>>(追加插入) | mkdir,rmdir,rm |
可执行 | 1 | ./文件名(执行文件) | cd |
无权限 | 0 | 无操作 | 无操作 |
首先简单了解下压缩格式:
zip:Linux、Windows、MacOS系统
7zip:Windows系统常用
rar:Windows系统常用
tar:Linux、MacOS常用
gzip:Linux、MacOS常用常用
linux涉及常用的zip、tar、gzip、bzip2
压缩与解压缩
压缩命令gzip
说明:linux压缩文件为.gz(gzip)格式
语法:gzip [选项] 文件名/目录
选项:
-r:可以将目录下的文件递归压缩
-l:显示已经压缩文件的压缩信息
-b:解压缩
举例:
gzip aa.c 压缩aa.c文件
gzip -d aa.c.gz 解压aa.c.gz
gizp -c a 递归压缩a文件夹,将a文件夹中的所有文件进行压缩,文件夹没有变化
gizp -dr aa.c.gz 递归解压a文件夹中所有文件
注意:gunzip aa.c.gz 也可以解压扩展名是.gz的文件
注意:gizp只针对文件,文件夹无变化
更高的压缩效率指令:bzip2
说明:压缩文件为.bz2的格式
语法:bzip2 [选项] 文件名/目录
选项:
-k:保留原文件
-d:解压缩
-f:覆盖解压(文件夹中存在同名文件,用解压出来的文件覆盖同名文件)
注意:bunzip2 -f a.txt.bz2 也可以解压缩扩展名是.bz2的文件
总结
gzip和bzip2的区别:
1.gzip可以压缩文件夹中的所有文件,bzip2不可以
2.与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 az.zip a 递归压缩目录a
unzip -r az.zip 递归解压缩az.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 ,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安装
本地安装(dpkg -i)
前提:系统中要存在下载好的安装包,并且可能还需要安装包的依赖包。
在线安装
语法:
sudo apt-get update //更新软件源
sudo apt-get install vim //安装Vim
卸载程序
语法:
sudo apt-get remove vim //这个命令时卸载程序,vim也可以替换成其他程序名
Vim的使用
启动
语法:vim
启动Vim后,则Vim处于命令模式:
1.系统命令行输入vim,就可以启动vim;
在vim中导入待编排的文件:
:r 待操作文件
2.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件开头(第一行第一列)
3.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件末尾(最后行第一列)
4.系统命令行输入vim待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于指定行n(指定行n第一列)
退出
- 在命令模式下:ZZ(大小写)
- :q 文件不做任何修改直接退出
- :q! 强制退出,不保存
- :wq 保存退出
注意:英文输入法,shift + :
Vim的工作模式
- 命令模式:用户输入Vim时当做指令处理的
- 编辑(插入)模式:用户输入Vim时字符要写入文件中
- 末行模式:文件保存和退出Vim
命令模式下输入的快捷键解释:
i--在目前光标前插入所要输入之文字。
a--在目前光标后开始输入文字。
o--在当前光标所在行下新增一空行,并从行首开始输入文字。
I--插于行首。
A--插于行尾。
0--在当前光标所在行上新增一空行,并从行首开始输入文字。
Vim的常用命令
光标移动
行间移动
gg:移动光标到第一行
G:移动光标到最后一行
:n:移动到第n行,写法::6 移动光标到第6行
列间移动
$:移动光标到当前行行尾。
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:撤销当前行中的所有操作。
crtl -r:重做撤销的操作。
字符查找
/string:从光标所在处向后寻找"sting"字符串,按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:显示文件名,当前的行号,文件的总行数和文件位置的百分比。
以上是我今天学习的学习笔记,有什么问题还请指正,谢谢!