主要目录
/usr/share/ 帮助文档、说明文档
/var/log/ 日志
/var/run/ 运行中程序
/var/tmp 临时文件
- 根(/)相当于一个入口,文件的总入口,也是唯一入口
- bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 ----------------命令
- sbin 管理员可使用的二进制文件---------------------------------命令ls cd useradd
- boot 系统内核、启动文件
- dev 硬件文件(黄色)
- etc 配置文件等同于windows 注册表,一般都是文本文件
- usr应用程序和操作系统相关的文件 bin sbin
- var/log日志文件,数据变化的
- proc 主要保存系统的内核、进程、外部设备状态和网络状态等
- mnt 默认挂载点
- opt 第三方应用程序安装所在目录程
cat 查看文件内容
格式: cat 选项 文件名
选项
-n 显示行号
-A 显示隐藏字符
-b 和-n相似,对空白行不显示行号
-s 压缩空行,将多行空行压缩成一个空行
(cat只能显示一个屏幕的内容)
more (和cat相似,内容以一页一页的形式显示)
格式:more 文件名
空格 向下 一页
回车 向下一行
b 向上 q 退出
less
空格 向下 一页
回车 向下一行
b 向上 q 退出
/ 查找内容 n 向下 大N 向上查找
head tail
格式:head 文件名 (默认文件前10行)
tail
格式:tail 文件名 (默认显示文件末尾10行)
wc 统计文件中的信息
行数 单词数 字节数
-l 显示行
-w 单词数 (不是真正的单词)
-c 字节数
空格 tab 回车 都占字节数
grep 过滤文本中的内容 (配合正则表达式使用)
- 通配符:匹配文件名字
- 正则表达式: 匹配文本中的内容
基本格式:grep 想找的内容 执行的文件
grep 选项 想找的内容 执行的文件
选项
- i查找时 忽略条件的大小写
-v反向查找
-n显示行号
-r 递归过滤文件夹中的所有文件
-o 只匹配你要的东西
面试题:
如何在一个拥有大量文件的文件夹中 过滤出你想要的文本的信息?
[root@localhost data]#grep -r root /data/
/data/fstab:/dev/mapper/centos-root / xfs defaults 0 0
/data/passwd:root:x:0:0:root:/root:/bin/bash
/data/passwd:operator:x:11:0:operator:/root:/sbin/nologin
标准输入 标准输出
标准输入 :你用键盘输入的 字符
标准输出: 屏幕上返回显示的结果
管道符后面的命令 必须支持标准输出
正则表达式
^ 以什么开头 放最前
$ 以什么什么结尾 放最后
空白行怎么表示? ^$
例
以bash结尾的行
grep -n '^$' fstab 找出空白行
grep -nv '^$' fstab 找出非空白行
压缩打包
压缩
zip
格式:zip [选项] 压缩包名 源文件或源目录列表
unzip 解压
格式:unzip [选项] 压缩包名
gzip:压缩速度快,适用压缩大文件(只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件)
格式:gzip [选项] 源文件
gzip解压
gunzip # gunzip [选项] 文件
bzip2:压缩形成的文件小
只能对文件进行压缩(或解压缩)
格式:bzip2 【选项】 文件
bzip2解压
格式:bunzip2 [选项] 源文件
tar 归档(打包)
#tar [选项] 打包文件名字 源文件或目录
选项: 选项有顺序要求: 如果你加了- f 一定要在最后
-f 代表使用归档(大宝天天见)
-c 建立归档文件
-x 解开归档文件
-p 保留源文件权限
-v 显示归档过程 , 解归档过程
-C 指定解压目录
-z 代表使用 gzip 压缩
-j 代表使用 bzip2 压缩
-t 不解开归档文件 只查看归档文件中的内容
tar可以同时打包压缩
#tar [选项] 压缩包的名字 压缩的文件
命令 选项 压缩包名字 压缩的文件
tar 解压
#tar 选项 压缩包名字 -c 指定的解压到的目录
vim文本编辑器
类似于windows中的Word
Vim 基本用法:
Vim 文件 #打开文件
!vim 打开上一次的文件
Vim +# 文件名 #代表行号
命令模式:
1.移动光标 上下左右
- 一行间跳转: 开头直接到末尾 end $ 末尾直接到开头 ^ 0
- 多行间跳转: 最后一行 GG 第一行 gg 10 10G #G
2.复制整行 yy 复制多少行#(数字) #yy yw一个单词
3.粘贴 p 粘贴到光标所在位置的下一行 大P光标所在位置的的上一行
4.剪切整行 dd 剪切#行 #dd
5.删除
- 删除单个字母 x del
- 删除光标处 到 开头 d^
- 删除光标处 到末尾 d$
- 删除一个单词 dw
6.撤销 一次 u 撤销全部 大U
7.替换模式 r 可以替换一个字符 不能加字符 只能替换 先按
8.大R 第四种 模式 替换 模式 你打什么一直替换你打的 字符(了解)
9退出: ZZ 保存退出
10 查找 内容 /你要的字符 n 向下 N 向上 (?你要的内容了解)
11显示行号:set un
12 w保存 q退出 !强制执行
输入模式:
对文本进行编辑
命令
i:当前光标插入
o:下一行插入
末行模式:
显示行号:set nu
显示所有命令:set all
关闭行号:set nonu
显示下划线:set cul
关闭:set nocul
显示隐藏字符:set list
自动缩进:set ai
指定空格代替tab set ts=n 一个tab=n个空格 ts=tabstop
另存为: w 加上路径
把另一个文件加入到当前文件编辑: r或e 文件路径
读取命令结果,写入当前文件中: .!命令
取消高亮 nohl
末行模式下查找替换
格式:范围 s/旧的字符/新的字符/修饰符
范围
- 不写 默认光标当前行
- #,# 某一行到某一行 #代表数字 2,20 2到20行
- % 代表全文
s:命令查找
分隔符:/ # @(通用)
旧的字符
你要找的或者你要替换的内容 (可以使用 * ^)
新的字符
你要替换旧字符的字符 (不可以 使用 *)
修饰符
i 不区分大小写
g 整行中所有命中的关键字都替换(如果不g 只替换整行中命中的第一个)
(在配置文件当中 #号开头的行为注释不生效)
给所有行的开头加上 #
% s/^/#/g