目录和文件管理
如何对文件内容进行处理
看,改
linux目录结构:
-
树形结构
-
根目录:
所有的分区,目录,文件的起点。用独立的一个“/”表示
-
常见的子目录:
/etc /boot /dev /var
查看文件的命令
-
cat
cat:查看文件,有局限性,只能看一个屏幕的内容
语法:cat [选项]...[文件]...
选项:
-A:显示隐藏字符
-n:显示行号,包括空行
-b:跳过空白行编号
-s:将所有的线序的多个空行替换为一个空行(压缩成一个空行)
-
head
默认查看前十行
选项:-n [数字]:指定查看行数
-c[数字]:取字节(中文字默认三个字节) 前多少字符,-c 12 前12个字符
-n -#:不看后#行
-
tail
默认查看后十行
选项:-n[数字]:指定查看行数
-f:实时跟踪,动态查看
-n +#:从第#行开始看
-
grep
过滤查找文件内容
语法:
grep[选项] 正则表达式 文件 (单独输入grep,显示命令用法)
正则表达式:只能匹配文件内容 (字符),不可以是文件名
文件:如不输入文件,则使用标准输入、标准输出
选项:
-i:查找时,忽略大小写
-v:反向查找,输出与查找条件不相符的行,取反
-o:只显示匹配项
-f:对比两个文件的相同行
-c:匹配的行数
-r:递归查找 目录 ,不处理软连接
-R:也是递归,但处理软连接
用于在大量文件中找到某些含有特定字符串的文件:grep -r (R)文件夹
tac
逆向显示本文内容
rev
将同一行的内容逆向显示
hexdump
查看非文本文档的
选项:-C:输出规范的十六进制和ASCII码
-n length:格式化输出文件的前length个字节
more
分页查看
语法:more[选项] 文件名
分页查看,按q退出
less
分页查看
按 / 进入搜索模式,按n向下查看,按N向上匹配
paste
合并文件
split
分割文件
选项:
-b:指定分割大小
cat a test > c
查看test文件并覆盖到c里
统计文件内容命令
wc
语法:wc[选项]....目标文件.....
选项:
-l: 只统计行数
-w:只统计单词个数
-c: 只统计字节数
tap 空格:算单词的分隔符
压缩命令
-
制作压缩文件、解开压缩文件
gzip:压的快,压缩的效率低
bzip2:压得慢,压缩出来的文件小,压缩文件的效率高
-
制作归档文件、释放归档文件
tar
tar[选项] 你自定义的名字.tar 要打包的文件
选项:
-f:代表使用tar,只要出现tar必带(无论什么情况),使用tar归档,并且只写在选项的最后一位
-c:建立归档
-x:解开归档
-v:显示过程(cv是建立过程,xv是解开过程)
-z:使用gzip压缩
-j:使用bzip2压缩
-C:-C 文件夹 指定解压的目录
-t:不解开归档文件,查看归档文件中的内容
文本编辑器
vim
命令 选项 文本
选项:
vim+数字:光标默认落在第几行
! vim:打开上一次的文件
vim +/^b:让光标落在b开头行
vim三种模式:
命令模式,输入模式,末行模式
命令行模式
作用:是默认的模式。 可以移动光标,复制粘贴
-
复制一行:yy
-
复制10行:10 yy
-
粘贴:p
-
删除:dd(删除光标位置所在的行)
-
删除10行:10 dd
-
删单个字符:x
-
删除引号中的内容:di”, 同理删除{}里的就是di{}
-
替换单个字符:r +要输入的字符
-
跳到最后一行:G
-
跳到第#行:# G
-
跳到第一行:gg 1G
-
保存退出:ZZ
-
行首跳转:0,^
-
行尾跳转:$
-
~:转换大小写
-
撤销:u
-
取消撤回:ctrl+r
k:上 j:下 l:右 h:左
编辑模式
作用:书写编辑内容
默认模式进入编辑模式:i或者o
i | 当前光标位置输入 |
---|---|
o | 到下一行进行编辑 |
esc | 退回到默认模式 |
末行模式
所有的操作都是在最后一行
作用:保存,查找替换,格式设置等等
从默认模式进入到末行模式:英文的冒号
末行模式命令 | |
---|---|
: | 显示行号 |
esc | 退回默认模式 |
q | 退出 |
q! | 强制退出 |
w | 保存 |
wq! | 强制保存退出 |
set nu | 显示行号 |
set nonu | 关闭行号 |
w 路径 | 另存为 |
e 路径 | 打开新文件 |
r 新文件路径 | 将新的文件内容写入当前文件 |
! 命令 | 在文件中使用命令行 |
r! 命令 | 将命令的执行结果写入文件 |
set key=密码 | 设置密码,也可以设置没有密码,密码换成空格 |
set ai | 设置自动缩进,即每行的缩进同上一节相同 |
~/.bashrc 只对当前用户生效
/etc/profile 全局生效
查找替换
查找文本中的文件并替换
在末行模式里操作
标准姿势:s/ / /
语法:范围 s/查找的原文/替换的内容/修饰符
正则表达式替代
范围:如果不写范围,就只处理光标处
s:默认一行
% :全文
n,# :n行到#行 1,3:1到3
$:最后一行
修饰符:
g:所有都改
举例:
所有的root都改成admin
s/root/admin/g
% s/^/#/ 全文的^全替换成#
% s/#/ / 全文的#全替换成空格
正则表达式:
元字符:.代表任意一个字符
表示次数: 前面的字符出现多少次
表示位置:
基本格式
1、要查找的字符串以双引号括起来单引号也可以
2、“^....."表示以.....开头, “......$"表示以......结尾
3、“^$”表示空行
PATTERN: 正则表达式,只能匹配文件内容 (字符) ,不可以是文件名