Linux 目录结构
是树形结构,默认是以 根目录 / 为所有文件、目录的起点
目录 | 介绍 |
/root | 超级用户(系统管理员)的主目录(特权阶级) |
/home | 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示; |
/bin | 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示; |
/sbin | 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等; |
/boot | 存放用于系统引导时使用的各种文件: |
/dev | 用于存放设备文件; |
/etc | 存放系统管理和配置文件; |
/var | 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等: |
/usr | 用于存放系统应用程序: |
/opt | 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里: |
/proc | 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息; |
查看文件内容cat -n -b -cat
cat [选项] 文件名 //直接显示出整个文件的内容——适用于小文件
选项 | 效果 |
-n | 显示行号包括空行 |
-b | 跳过空白行编号 |
-s | 讲所有的连续的多个空行替换为一个空行(压缩成一个空行) |
-A | 显示隐藏字符 |
文件内容进行合并
例如a、b文件内容合并成c文件
cat [a][b]>[c]
查看文件内容more
通式:more [选项] 文件名 //全屏方式分页显示文件内容
Enter键 | 向下逐行滚动 |
空格键 | 向下翻一页 |
b键 | 向上翻一页 |
q键 | 退出 |
注:下翻到最后一页后会自动退出
查看文件内容 less
less [选项] 文件名..
注:
/关键字 进行搜索,大小写敏感
命令 | less 进行分页查看
Page Up键 | 向上翻页 |
Page Down键 | 向下翻页 |
/键 | 查找XX内容(/XX:查找XX内容 |
n | 下一个内容 |
N | 上一个内容 |
上下键 | 上下逐行滚动 |
q键或 Ctrl+C组合键 | 退出 |
注:其他功能与more命令基本类似;下翻到最后一页后不会自动退出;结合管道操作使用时可以向上翻页。
查找文件内容-head、tail
head
可以显示文件或标准输入的前面行
通式:head [选项] 文件名
head命令:查看文件开头的一部分内容(默认为10行)
head -n 文件名... #n为行数
head -n 具体数字 文件名 (不加具体的数字,默认开头十行)
#号代表数字
tail
tail 和 head 相反,查看文件或标准输入的倒数行
通式:tail [选项] 文件名
tail命令:查看结尾的少部分内容(默认为10行)
tail -n 文件名...
tail -f 文件名... #跟踪文件尾部内容的动态更新
补充:
tail -n 数字
tail -f 文件名
tailf 文件名
tailf = tail -f
head -n 5 | 1-5行 |
head -n +5 | 1-5行 |
head -n -2 | 1-8行 |
tail -3 | 8-9行 |
tail -n 3 | 8-9行 |
tail -n -3 | 8-9行 |
tail -n +3 | 3-10行 |
head -10 文件名 | tail -6 #第5行到第10行
统计文件内容 wc
通式:wc 【选项】 目标文件 //统计文件中的单词数量
选项:
-l | 统计行数 |
-w | 统计单词个数 //英文1字节,汉字两字节 |
-c | 统计字节数+1换行符 //取消换行符:echo -n [统计内容])> [文件名] |
注:不带任何选项的wc命令,默认同时使用-lwc三个选项
检索和过滤文件内容 grep
grep [选项]...查找条件 目的文件 // 在文件中查找并显示包含指定字符串的行
选项 :
选项 | 效果 |
-i | 不区分大小写查找 |
-v | 显示不包含匹配文本的所有行(反向查询,反向匹配) |
-n | 显示匹配行及行号 |
-c | 只输出匹配到的总行数(不是匹配到的次数 |
-e | 实现可多个查找条件的匹配,逻辑or关系 |
-E | 支持使用扩展正则表达式,相当于使用egrep命令 |
-o | 精确匹配,即“仅匹配”之意 |
-A n | 显示匹配行和它后面的n行 |
-B n | 显示匹配行和它前面的n行 |
-C n | 匹配行和它前后各n行 |
-l | 列出文件内容符合指定的样式的文件名称(列出包含字符串文件) |
-w | 只显示全字符合的列(完整单词) |
基本格式:
● 要查找的字符串以双引号括起来单引号也可以
● “^……”表示以……开头,“……$”表示以……结尾
● “^$”表示空行
例如:grep [查找对象] [文件名] //把含有[查找对象]内容筛选出来
grep -l -R [查找对象] ./ //众多文件查找包含[查找对象]的文件
案例:超出两个文件中相同的部分
grep -f a文件 b文件
分析:将a文件作为条件去匹配b文件,得出a文件和b文件相同的部分
以root开头
grep “^root” passwd
空行
grep “^$” passwd
非空行
grep -v “^$” passwd
正则表达式
● ^ 一行的开头
● $ 一行的结尾
● . 任意字符
拓展:
正则表达式:匹配文件中的字符串(grep awk sed)
通配符:匹配文件的名字(ls find)
压缩及解压缩文件
压缩命令-gzip、bzip2
制作压缩文件、解开压缩文件
gzip [-9] 文件名... //压缩 gzip -d .gz #解压缩(.gz格式的压缩文件)
gunzip .gz #解压缩(.gz格式的压缩文件)
bzip2 [-9] 文件名... //压缩 bzip2 -d .bz2 //解压缩(.bz2格式的压缩文件)
bunzip2 .bz2 //解压缩(.bz2格式的压缩文件)
压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到
-9(压缩速度最慢,性能消耗最大,压缩比最高)
归档命令 tar
tar [选项]...归档文件名 源文件或目录 制作归档文件
tar [选项]...归档文件名 [-c 目标目录] 释放归档文件
选项 | |
---|---|
-c | 创建.tar 格式的包文件 |
-x | 解开.tar 格式的包文件 |
-C | 解压时指定释放的目标文件夹 |
-f | 表示使用归档文件 |
-P | 打包时保留文件及目录的权限 大P |
-p | 打包时保留文件及目录的绝对路径 小p |
-t | 列表查看包内的文件 |
-v | 输出详细信息(Verbose) |
-j | 调用 bzip2 程序进行压缩或解压 [注:J(xz)] |
-z | 调用 gzip 程序进行压缩或解压 |
通过tar命令制作压缩包,采用gzip程序进行压缩,显示详细信息
split
作用:分割文件
通式:split [-b ] [-C ] [-] [-l ] [要切割的文件] [输出文件名前缀] [-a ]
选项 | 效果 |
-b <字节> | 指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。 |
- <行数> 或 -l <行数> | 指定每多少行要拆分成一个文件。 |
-a <后缀长度> | 默认的后缀长度是 2 |
压缩,解压缩
压缩:
gzip [-9] 文件....#压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到 -9(压缩速度最慢,性能消耗最大,压缩比最高)
bzip2 [-9] 文件....
zip XXX.zip 被压缩的文件/目录....
tar -zcvf XXX.tar.gz 被压缩的文件/目录.... #z(gzip) j(bzip2) J(xz)
解压缩:
gzip -d XXX.gz gunzip XXX.gz
bzip2 -d XXX.bz2 bunzip2 XXX.bz2
unzip XXX.zip [-d 目录]
tar xf XXX.tar.gz [-C 目录] #-C指定目录解压缩tar tf XXX.tar.gz #查看压缩包文件内容
tar-归档命令
tar [选项] ... 归档文件名 源文件或目录 //制作归档文件
tar [选项]...归档文件名 [-c 目标目录] //释放归档文件
选项 | 效果 |
-c | 创建.tar 格式的包文件 |
-x | 解开.tar 格式的包文件 |
-C | 解压时指定释放的目标文件夹 |
-f | 表示使用归档文件 |
-P | 打包时保留文件及目录的权限 大P |
-p | 打包时保留文件及目录的绝对路径 小p |
-t | 列表查看包内的文件 |
-v | 输出详细信息(Verbose) |
-j | 调用 bzip2 程序进行压缩或解压 [注:J(xz)] |
-z | 调用 gzip 程序进行压缩或解压 |
vim编译器
vi/vim 文件名 !vim
命令模式
<-- i a o I A O -- -- : -->
输入模式 -- ESC --> <-- ESC -- 末行模式
文本编辑器的作用
- 创建或修改文本文件;
- 维护Linux系统中的各种配置文件。
Linux中最常用的文本编辑器
- vi:类UNIX操作系统的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称vi编辑器)的增强版本式
-
三种模式
Vim 编译器有三种模式,分别是命令模式、插入模式和末行模式命令模式:正常模式是 Vim 编译器的默认模式,也是最常用的模式。在正常模式下,用户可以使用各种命令进行文本编辑、移动光标和执行操作等。
插入模式:插入模式用于输入文本。可以通过按下 i 键进入插入模式,此时光标会变成竖线状,可以直接输入文本内容。按下 Esc 键可以从插入模式返回到命令模式。
末行模式:命令行模式用于执行 Vim 编辑器的各种命令。可以通过按下 : 键进入末行模式,在此模式下可以输入各种 Vim 命令,例如保存文件、退出编辑器等。
命令模式:才进去的那个模式
行间跳转:
数字G 跳到数字行
gg 首行
G 末行
行内跳转:
行首:0 ^
行尾:end $
一个单词一个单词跳:w
- G 切换到最后一行
- 1G gg 切换到第一行
- #G 切换到第 # 行
撤销修改:
u 撤销一次操作
U 撤销光标处所在行的所有操作
ctrl + r键 恢复上一步撤销的操作
复制 y:
- yy 复制光标处所在的行
- #yy 复制光标处开始的 # 行
- #yy + p/P 复制 + 粘贴
yy 复制一行
10 yy 复制10行
粘贴命令:
p 贴在光标下面
P 贴在光标上面
删除命令:
- dd 删除光标处所在的行
- #dd 删除光标处开始的 # 行
- #dd + p/P 剪切 + 粘贴,p在光标行下面粘贴,P在光标行上面粘贴
- x del键 删除光标处所在的字符
d 删除
dd 删除一行
10 dd 删除10行
字符编辑:
x 删除一个字符
dw 删除一个单词
/字符串 ?字符串 查找字符串,
n(/字符串 是从上往下找,?字符串 反之),
N(/字符串是从下往上找,?字符串 反之)
输入模式
按 i 或 o 进入:
i 当前光标处插入
o 下一行插入
末行模式
命令模式下输入“ : ”(英文冒号)
:wq :wq! :x ZZ 保存并退出
:q! 不保存退出:set nu 显示行号
:set nonu 不显示行号:s/OLD/NEW/g 将光标处所在行的所有OLD字符串替换成NEW字符串
:% s/OLD/NEW/g 将所有行的所有OLD字符串替换成NEW字符串
:N,M s/OLD/NEW/g 将第 N 行到第 M 行的所有OLD字符串替换成NEW字符串:r 文件路径 在光标处所在行下面插入指定的文件内容
:N,M co # 将第 N 行到第 M 行的内容复制到第 # 行下面
:N,M m # 将第 N 行到第 M 行的内容剪切到第 # 行下面
快捷键 | 功能效果 |
:q | 退出不报错 |
:q! | 强制退出不保存 |
:wq 、 :wq! 、 :x 、 ZZ | 保存并退出 |
:set nu | 显示行号 |
:set list | 显示文本文件中的不可见字符 |
nohl | 取消高亮 |
:set ai | 对齐 |