目录
一、目录层次
根(/) | 相当于一个入口,文件的总入口,也是唯一入口(重要) |
bin | 二进制文件,可执行文件,也可能存在别处,默认存放使用较多的命令(常用) |
sbin | 管理员可使用的二进制文件 |
boot | 系统内核、启动文件(重要) |
dev | 把硬件以文件的形式存储(重要) |
etc | 配置文件等同于windows 注册表,一般都是文本文件(常用) |
run | 运行的内存中文件 |
tmp | 所有用户的临时文件 |
usr | 应用程序和操作系统相关的文件,一般通过编译源码方式安装 |
var | 存放日志文件(常用) |
home | 普通用户的家目录,一般用用户的账号命名(常用) |
root | 系统管理员,又称超级权限者的用户主目录(常用) |
lib | 动态库文件 类似于windows 的dll文件 |
proc | 主要保存系统的内核、进程、外部设备状态和网络状态等信息(不可随意删除) |
media | 可移动设备 |
mnt | 默认挂载点 |
opt | 第三方应用程序安装所在目录程序 |
TIPS:
以.开头的文件均为隐藏文件
路径用/分开,不在第一位就是分隔符
文件名最长255个字符
要区分大小写
不要复杂化,简单明了即可
二、查案文件内容
2.1、七类常见的Linux文件
字符 | 文件类型 | |
- | 普通文件 | 包括纯文本文件、二进制文件、各种压缩文件等 |
d——directory | 目录文件 | 类似 Windows 系统中的文件夹 |
b——block | 块设备文件 | 就是保存大块数据的设备,比如最常见的硬盘 |
c——character | 字符设备文件 | 例如键盘、鼠标等 |
s——socket | 套接字文件 | 通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
p——pipe | 管道文件 | 其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
l——link | 链接文件 | 类似 Windows 系统中的快捷方式。 |
2.2、显示命令
2.2.1、cat命令
1、作用:捕获
2、格式:Cat [选项] 要查看的内容
3、案例:
选项 | 效果 |
-n | 显示行号包括空行 查看etc文件夹下profile文件内的内容并进行编号,共76行 |
![]() | |
-b | 跳过空白行编号 查看etc文件夹下profile文件内的内容并跳过空白行进行编号,共65行 |
![]() | |
-s | 将所有的连续的多个空行替换为一个空行(压缩成一个空行) 查看etc文件夹下profile文件内的内容将所有连续的多个空行替换为一个空行并进行编号,共75行 |
![]() | |
-A | 显示隐藏字符 查看etc文件夹下profile文件内的内容显示出隐藏字符并进行编号,共76行 |
|
TIPS:cat只能浏览,而不能修改,且只能显示一个屏幕的内容
2.2.2、more命令
1、作用:more命令功能类似cat,但more一次显示满一屏
2、格式:more [选项] 文件名
3、基本操作:
基本操作 | 作用 |
空格键 | 查看下一屏 |
回车键 | 往下滚动一行 |
b 键 | 往前查看一屏 |
q 键 | 退出 |
4、案例:
命令 | 效果 |
| more | 当命令过多想要使用more时可以用管道符链接 |
![]() ![]() | |
more | 查看/var/log/dmesg的文件 |
| |
more +n | 从笫n行开始显示 从第五十行查看/var/log/dmesg的文件 |
| |
more -n | 一次只显示n行 一次只显示5行 |
![]() |
TIPS:之所以会两种命令有进度的区别,是因为命令处理的过程不同导致的
2.2.3、less命令
1、作用:less命令功能类似more,但less功能更强大,类似于vim命令,可以单独弹出一个窗口
2、格式:less [选项] 文件名
3、基本操作:
基本操作 | 作用 |
空格键=pagedown | 查看下一屏 |
回车键 | 往下滚动一行 |
b 键=pageup | 往前查看一屏 |
q 键 | 退出 |
/字符串 | 向下搜索“字符串”的功能;n:向下;N:向上 |
?字符串 | 向上搜索“字符串”的功能;n:向上;N:向下 |
4、案例:
| less | 当命令过多想要使用less时可以用管道符链接 |
| |
less | 查看/var/log/dmesg的文件 |
| |
less +n | 从笫n行开始显示 从第4行查看/var/log/dmesg的文件 |
![]() | |
less -N | 显示行号 查看/var/log/dmesg的文件并标注行号 |
|
2.2.4、head命令
1、作用:用于显示文件的开头部分的内容,默认情况下head指令显示文件的前10行内容
2、格式:head [选项] 文件名
3、案例:
命令 | 效果 |
head 文件名 | 没加具体数字,默认查看/mnt/2*.txt文件中前10行 |
![]() | |
head -n 具体数字 文件名 | 查看/mnt/2*.txt文件中前8行 |
![]() | |
head -n +具体数字 文件名 | 只显示/mnt/2*.txt文件中前8行 |
![]() | |
head -n -具体数字 文件名 | 不显示/mnt/2*.txt文件中最后8行 |
![]() |
2.2.5、tail命令
1、作用:用于输出文件中尾部的内容,默认情况下tail指令显示文件的尾10行内容
2、格式: tail [选项] 文件名
3、案例:
命令 | 效果 | |
tail 文件名 | 没加具体数字,默认查看/mnt/2*.txt文件中尾10行 | |
![]() | ||
tail -f 具体数字 文件名 | 实时跟踪/mnt/2*.txt文件最后8行 | |
![]() | ||
tail -n 具体数字 文件名 | 查看/mnt/2*.txt文件中最后8行 | |
![]() | ||
tail -n -具体数字 文件名 | 只显示/mnt/2*.txt文件中最后8行 | |
![]() | ||
tail -n +具体数字 文件名 | 显示/mnt/2*.txt文件中第8行及之后一直到文件尾部 | |
![]() |
TIPS:tail -f使用ctrl +c 退出,因为作为实时跟踪,数据会不停刷新
2.2.6、tr命令
1、作用:基本功能转换
2、格式:tr [选项]... SET1 [SET2]
3、案例:
命令 | 效果 |
tr 123 abc | 将{1..9}*.txt文件中的123转换成abc |
![]() | |
tr -d 157acf | 将0123456abcdef字符中的157acf删除 |
![]() | |
tr -c -d "0 1 \n" | 补集中包含了数字01、空格和换行符\n,所以0 11没有被删除,其他字符全部被删除了。 |
![]() | |
tr -s “1 2 3 a c” | 将0 1111111 22222 33333 aaaaa cccccc f字符中重复的字母ac和数字123压缩 |
![]() |
2.2.7、cut命令
1、作用:提取文本文件数据的指定列
2、格式:cut [选项] [文件]
3、案例:
选项 | 效果 |
-d -f | 指明分隔符,一般不单独用 以冒号作为分隔的条件,取文件的第三列 |
| |
-b | 想要获取的字段 |
| |
-c | 取字符 取2*.txt 的第2-5个字符 |
|
TIPS:cut -c和cut -b看似提取结果差不多,但一旦涉及了中文
2.2.8、wc命令
1、作用:统计文件中的单词数量等信息
2、格式:wc [选项] [文件]
3、案例:
选项 | 效果 |
-l | 统计行数 统计当前目录下以姓名形式结尾为“.txt”的文件有多少行 |
![]() | |
-w | 统计单词个数 统计当前目录下以姓名形式结尾为“.txt”的文件有多少单词个数 |
![]() | |
-c | 统计字节数 统计当前目录下以姓名形式结尾为“.txt”的文件有多少字节数 |
![]() |
2.2.9、grep命令
1、作用:在文件中查找并显示包含指定字符串的行
2、格式:grep [选项] 查找条件 目标文件
3、案例:
选项 | 效果 |
-i | 查找时忽略大小写 查找“sh”行,忽略大小写 |
| |
-v | 反向查找,输出与查找条件不相符的行 不查找带有“sh”的行,并且忽略大小写 |
| |
-o | 只显示匹配项 只显示nan的匹配项 |
| |
-f | 对比两个文件的相同行 对比1*.txt和2*txt文件的相同行 |
|
基本格式 | |
要查找的字符串以双引号括起来单引号也可以 | |
“^……”表示以……开头 | |
“……$”表示以……结尾 | |
“^$”表示空行 |
2.2.10、 paste命令
1、作用:从一个或多个文件中连接行
2、格式:paste [选项] [文件] [文件]
3、案例:
命令 | 作用 |
-d | 指定分隔符 把1*.txt文件和2*.txt文件内的行合并在一起并用/分隔开 |
|
2.2.11、sort命令
1、作用:把整理过的文本排序显示在屏幕上,不改变原始文件
2、格式:sort [选项] [文件]
3、案例:
命令 | 效果 |
-r | 执行反方向整理 反方向排序1*.txt文件 |
![]() ![]() | |
-R | 随机排序 随机排序1*.txt文件 |
![]() ![]() | |
-k-t | -指定列-指定分隔符一起使用 以第二列为基准并指定分隔符为:的顺序排序1*.txt文件 |
![]() ![]() | |
-n | 按数字大小整理 按数字大小排序1*.txt文件 |
![]() ![]() |
TIPS:-r的倒序不是字面意义倒序,而是双重规则,从左到右,从大到小
2.2.12、 uniq命令
1、作用:用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
2、格式:sort [选项] [文件]
3、案例:
命令 | 效果 |
uniq | 只会将连续的行去重 将3*.txt文件中的内容首先以倒序排序,并将连续的行去重 |
![]() ![]() | |
-c | 显示每行重复出现的次数 将3*.txt文件中的内容首先以倒序排序,其次显示每行重复的次数 |
![]() ![]() | |
-d | 仅显示重复过的行 将3*.txt文件中的内容首先按数字从小到大排序排序,其次显示每行重复的次数并仅显示重复过的行 |
![]() ![]() | |
u | 仅显示不曾重复的行 将3*.txt文件中的内容首先按数字从小到大排序排序,其次显示不曾重复的行 |
![]() ![]() |
三、压缩、解压缩
3.1、gzip命令
1、作用:压缩,最后打包后的文件是.gz的文件
2、格式:gzip [-9] 文件名
3、案例:
命令 | 效果 |
gzip [-9] 文件名 | 以最大压缩比例压缩文件 压缩1*.txt文件 |
| |
gzip -d .gz格式的压缩文件 | 解压压缩文件 解压1.txt.gz压缩包 |
![]() |
3.2、bzip2命令
1、作用:压缩,最后压缩的文件是.bz2的文件
2、格式:bzip [-9] 文件名
3、案例:
命令 | 效果 |
bzip [-9] 文件名 | 以最大压缩比例压缩文件 压缩1*.txt文件 |
![]() | |
bzip2 -d .gz格式的压缩文件 | 解压压缩文件 解压1.txt.bz2压缩包 |
![]() |
TIPS:bzip2压缩比gzip 强一些,但tar更好用
3.3、tar命令
1、作用:归档打包,最后打包后的文件是.tar.gz的文件
2、格式:
tar [选项] ... 归档文件名xxx.tar.gz 源文件或目录
tar [选项] ... 归档文件名xxx.tar.gz [-C 目标目录]
3、选项:
选项 | 效果 |
-c | 建立归档.tar模式文件 |
-f | 使用归档文件(一班都会写上) |
-x | 解开归档文件 |
-p | 打包时保留源文件权限 |
-v | 显示归档过程 , 解归档过程 |
-C | 解压指定目录 |
-z | 使用 gzip 压缩或解压 |
-j | 使用 bzip2 压缩或解压 |
-t | 不解开归档文件 只查看归档文件中的内容(要和f一起使用) |
常用指令 | ZCVF——归档并压缩,使用gzip |
JCVF——归档并压缩,使用bzip2 | |
ZXVF——解压,使用gzip | |
JXVF——解压,使用bzip2 |
4、案例:
四、总结
查看大文件时使用less优于使用more
查看小文件一般使用cat
查看文件首尾可用head与tail
转换文件内容可以用tr
直接统计文件字节数一般采用wc
精确查找可采用grep,比起find更全面
把整理过的文本排序显示在屏幕上,却不改变原始文件可以用sort
删除重复行,减少重复阅读的行数可采用uniq
把多个文件内容整合到一篇文章,并想用分隔符隔开时可采用paste
压缩文件或者解压一般采用tar,选项一般是:-zcvf 压缩/-zxvf -C 解压缩