linux目录结构
树形目录结构
根目录
所有分区、目录、文件等的位置起点
整个树形目录结构中,使用独立的一个“”表示
常见的子目录
/root /bin /boot /dev /etc
/home /var /usr /sbin
Linux目录结构 | |
---|---|
/root | 管理员的宿主(家)目录 |
/home/xxx | 除 root 用户之外的普通用户的家目录 |
/bin | 存放二进制文件,所有用户可执行的命令。实际是个软链接,链接到/usr/bin |
/sbin | 存放二进制文件,只有管理员可执行的管理命今。软链接到/usr/sbin |
/boot | 系统内核、启动文件目录 |
/dev | 存放设备文件(光驱、便盘等) |
/etc | 存放系统程序和大部分应用程序 (rpm、yum安装)的配置文件 |
/var | 存放可以变化的文件,包括各种日志文件 |
/lib | 存放系统程序的动态连接共享库文件 (类似于windows里的DLL文件)。软链接到/usr/lib |
/usr | 存放系统用户工具和程序 |
/media | 可拆卸的媒介挂载点,例如U盘、光驱等 |
/mnt | 用于临时挂载储存设备的目录 |
/opt | 第三方应用程序安装所存放的目录 |
/tmp | 存放系统的临时文件,/tmp 目录下的临时文件会被系统定期删除或者关机时自动删除 |
/proc | 包含虚幻的文件,他们实际上并不存在于磁盘上,也不占用任何空间(虽然用 ls -l 可以显示它们的大小)当查看这些文件时/实际上是在访问存在内存中的信息,这些信息用于访问系统。 |
cat查看文件内容
直接显示出整个文件的内容
应用示例
1
2
3
-n,对所有内容行进行标号,包括空行
-b:不给空行编号
-s,压缩多个空行到一个空行
拓展-sb
more
全屏方式分页显示文件内容
交互操作方法
按Enter键向下逐行滚动
按空格键向下翻一屏
按b键向上翻一屏
按q键退出
下翻到最后一页后会自动退出
结合管道操作使用时(例如: Is -R /etc | more) 无法向上翻页
less
与more 命令相同,但扩展功能更多
ress[选项]文件名…
口交互操作方法·Page Up 向上翻页,Page Down 向下翻页
按“/”键查找内容,“n”下一个内容“N”上一个内容
通过上下方向键可以实现上下逐行滚动
其他功能与more命令基本类似
下翻到最后一页后不会自动退出
结合管道操作使用时可以向上翻页
head和tail
head命含
用途:查看文件开头的一部分内容(默认为10行)
head -n 文件名…-------------//n为行数
tail命令
用途:查看文件结尾的少部分内容(默认为10行)
tail -n 文件名 …
tail -f 文件名------------------//跟踪文件尾部内容的动态更新
示例:
tail -5f /var/log/messages--------跟踪messages里面的最后5行内容
拓展
head -n k-------查看开头k行内的内容,包含k行
head -n +k----查看开头k行内的内容,包含k行
head -n -k-----查看除了倒数k行之前的内容,不包括k行
tail -n k-------查看尾部k行之后的内容,包括k行
tail -n -k----查看尾部k行之后的内容,包括k行
tail -n +k-----查看除了开头k行往下的内容,包括k行
绿色部分为显示部分。
head
tail
拓展显示5到15行内容 --------tail -n +5 999999 | head -n -5
tail -f n实时跟踪文件的变化--------同 tailf n效果一样n代表数字
拓展(echo 123 > 123.txt-----写入123到123.txt并覆盖源文件
echo 123 >> 123.txt-----写入123到123.txt,在源文件的基础上添加)
==vi编辑文件是新建一个.swp的隐藏文件,编辑完成退出后再替换源文件
主要应用在tail -f /var/log/messages,查看系统日志文件
wc统计文件内容
统计文件中的单词数量(Word count)等信息
常用命令选项
-l: 统计行数
-w:统计单词个数
-c:统计字节数
注:不带任何选项的wc命令,默认同时使用-Iwc三个选项
注意,统计字节数时,每行都有一个换行符和单词之间的空格均算一个字节,不是仅统计单词所占的字节
grep检索和过滤文件内容
在文件中查找并显示包含指定字符串的行
grep的常用选项
-i:查找时不区分大小写
-v:显示不包含匹配文本的所有行(反向查询,反向匹配):
-c:只输出匹配到的总行数(不是匹配到的次数)
-n:显示匹配行及行号
-e:实现可多个查找条件的匹配,逻辑or关系
-E:支持使用扩展正则表达式,相当于使egrep命令
-o:精确匹配,即“仅匹配”之意。
-A n: 显示匹配行和它后面的n行。
-B n:显示匹配行和它前面的n行。
-C n: 匹配行和它前后各n行。
-l:列出文件内容符合指定的样式的文件名称
-w:只显示全字符合的列。只匹配所要求的字母,例如,过滤system,加了-w那么像systemctl这些个单词里面有system但不全是的单词就不会被匹配出来,只会匹配system这一个单词。经常-w和-l -R一起使用表示递归查询目录中的包含具体内容的文件
-R: 递归查询目录
-i --------过滤时不区分大小写
^…
…$
-v ------反向匹配
-c输出匹配到的行数(有多少行里面有匹配项,为数字,不是具体行内容)
-o --------精确匹配所输入的匹配项,然后挨个列出,经常搭配wc -l使用,显示文章中一共匹配到了多少次
-n --------显示匹配项具体在哪一行
-e ----------多条件查询(相当于或者)
并且的查询使用管道符 | ------
grep “^#” anaconda-ks.cfg | grep “information$”
拓展练习包含不区分大小写的system行和以数字结尾的行
-A n --------显示匹配行和它后面的n行
-B n ------------显示匹配行和它前面的n行
-C n ----------匹配行和它前后各n行
-w -l ------------查找包含匹配项的,注意,此处匹配项是精准的,例如,匹配项为system,意思是找system这个单词,不是找单词中有system这几个字母的单词
在目录中查找加个-R递归查找目录
“^$”-------------空行
gzip和bzip2
1 压缩时跟的数字时压缩比,数字1-9,越大代表压缩比越大,同时速度也慢。不加默认为6
2 解压缩 -d 拓展gunzip相当于gzip -d ,bunzip2相当于bzip2 -d
gunzip和bunzip2
tar归档命令
tar常用选项 | |
---|---|
-c | 创建.tar格式的包文件 |
-x | 解开.tar格式的包文件 |
-C | 解压时指定释放的目标文件夹 |
-f | 表示使用归档文件 |
-p | 打包时保留文件及目录的权限 |
-P | 打包时保留文件及目录的绝对路径 |
-t | 列表查看包内的文件 |
-v | 输出详细信息 |
-j | 调用bzip2程序进行压缩或解压 |
-z | 调用gzip程序进行压缩或解压 |
-J | 调用xz程序进行压缩或解压 |
实例压缩
解压缩
查看 -tf
指定目录解压
zip压缩文件和解压缩
压缩
解压缩
指定目录-d