Linux学习笔记
Linux文件与目录管理
Linux 压缩与解压缩
1.打包和压缩的区别
打包:就是将多个文件、文件夹放在一起,方便管理,它的文件大小为包中文件的总和(打包又被称为归档)
压缩:通过某种算法减小文件所占的存储空间,从而可以在文件传输的过程中减少网络流量
2.常见的压缩格式
HTTP:gzip / deflate / br / identity
Windows:zip rar 7z
Linux:gzip(tar.gz=.tgz) 、bzip2(.bz2)、 zip
压缩后的体积:tar.bz2< tgz<tar
压缩解压时间:tar.bz2<tar<tgz
综合考虑优先选用tgz
3.tar命令
选项 | 作用 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或解包的详细信息 |
-f | 指定文件名称 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
操作 | 示例 |
---|---|
打包(不压缩) | tar -cvf test.tar test/ |
解包 | tar -xvf test.tar |
打包并gz压缩 | tar -zcvf test.tar.gz test/ |
解压 | tar -zxvf test.tar.gz |
解压到指定目录 | tar -zxvf test.tar.gz -C aaa/ |
打包并bz2压缩 | tar -jcvf tes.tar.bz2 test/ |
解压 | tar -jxvf test.tar.bz2 test/ |
解压到指定目录 | tar -jxvf test.tar.bz2 -C aaa/ |
仅查看不解压 | tar -tf test.tar |
追加文件 | tar -rf test.tar *.doc |
替换文件 | tar -uf test.tar sss.doc |
加密tar -zcf - *.txt |openssl des3 -salt -k 123456| dd of=test.des3
解密 dd if=test.des3 |openssl des3 -d -k 123456|tar zxf -
4.zip命令
操作 | 示例 |
---|---|
压缩 | zip test.zip *.txt |
解压缩 | unzip text.zip |
解压到指定目录 | unzip test.zip -d aaa/ |
添加密码 | zip -rP 123456 test.zip *.txt |
使用密码解压 | unzip -P 123456 test.zip |
Linux查看文件和处理文件内容
什么是文本文件和二进制文件
文本文件:ASCII 、UTF-8、Unicode、ANSI、txt、xml等配置文件、日志文件、源代码
二进制文件:可执行程序、图片、音频、视频
命令
1.cat
cat全称 concatente 链接;格式:cat 文件名
2.more/less
less包含more的所有操作,还比more命令多,所以选用less,以下都用less操作
操作 | 按键 |
---|---|
分页查看 | less test.txt |
第三行开始显示 | less +3 test.txt |
从出现test开始显示 | less +/test test.txt |
分屏操作 | 按键 |
---|---|
上一页 | y、箭头上 |
下一页 | Enter、箭头下 |
上一屏 | b |
下一屏 | Space空格、Ctrl+F |
退出 | q、ctrl+c、ZZ |
搜索 | 操作 |
---|---|
/[查找字符] | 配合n键,从上往下查所有 |
?[查找字符] | 配合n键,从下往上查所有 |
按Enter后 | n查找下一个符合的内容&N查找上一个符合的内容 |
3.head/tail
head -n 10 文件名 (查看前十行内容)
tail -n 10 文件名 (最底下10行内容)
tail -f 文件名 (实时更新文件内容)
4.grep、管道符号pipe
全拼:Globally search a Regular Expression and Print(全局搜索正则表达式并打印)
格式:grep 选项 模式 文件名
grep和find的区别grep是搜索文件内容的关键字、find是搜索某个指定名称的文件
管道符号pipe:把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入
command1|command2|command3|
常用操作
每次显示5行 cat test.txt | more -5
显示行号 ps -ef |less -N
查看端口连接情况 netstat -an|grep 3306
查看test文件里的有xxx的行 cat - n test.txt |grep “xxx” | more
5.wc
全拼:word count
操作 | 示例 |
---|---|
显示行数 | -l 或 --lines |
只显示字数 | -w 或 --words |
巧妙用法 :统计某一目录下有多少文件 ls -l |wc -l
查看文件有多少行 :wc -l test.txt
查看文件有多少字数 wc -w test.txt
5.diff
全拼different
操作 | 示例 |
---|---|
对比文件 | diff diff_A diff_B |
对比目录 | -r选项 : diff -r aaa bbb |
Linux 文本编辑器
Windows 中常用的文本编辑器:Notepad、Sublime、UltraEdit等
Linux:VI/VIM、nano、Emacs、Sed等VI:Visual Interface 是1976 Bill Joy
VIM: VI IMproved 是1991 Bram Moolenaar
VIM配置文件 | 全局配置 | /etc/vimrc |
---|---|---|
用户配置 | ~/.vimrc | |
详细配置参考 | https://blog.csdn.net/xiao_yi_xiao/article/details/118491698 |
vim 三种模式
模式 | 操作 |
---|---|
命令模式 | 通过命令操作文本文件 |
编辑模式 | 对文本的内容进行编辑 |
底行模式 | 结束操作的时候使用 |
操作
| 按键 |操作|
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
: $:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?字符串:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;