FHS
FHS(Filesystem Hierarchy Standard),文件系统层次化标准,FHS主要目的是希望让用户了解安装文件通常放置的目录。
FHS-compliant system:
分类 | 可分享的(shareable) | 不可分享的(unshareable) |
---|---|---|
不变的(static) | /usr /opt | /etc /boot |
可变的(variable) | /var/mail /var/spool/news | /var/run /var/locak |
解释:
shareable: 可分享给其他系统(主机)挂载使用;
unshareable: 不适合分享给其他主机;
static: 有些数据基本是不会变化的;
variable: 进程变更的数据。
FHS目录及其描述
目录 | 描述 |
---|---|
/bin | binary,即用来存放二进制可执行文件,并且比较特殊的是/bin里存放的是所有一般用户都能使用的可执行文件,如:cat, chmod, chown, mv, mkdir, cd 等常用指令 |
/boot | 存放开机时用到的引导文件 |
/dev | device(并不是develop哦)设备目录,任何设备都以文件的形式存放在这个目录中 |
/etc | Editable Text Configuration(早期含义为etcetera,但是有争议),存放系统配置文件,如各种服务的启动配置,账号密码等 |
/home | 用户的主目录,每当新建一个用户系统都会在这个目录下创建以该用户名为名称的目录作为该用户的主目录。并且在命令行中代表当前用户的主目录,yousiku表示yousiku这个用户的主目录 |
/lib | library,存放着系统开机时所需的函数库以及/bin和/sbin目录下的命令会调用的函数库(可执行程序 它的执行由可执行程序调用 可以理解为软件的模块) |
/lib64 | 存放相对于/lib中支持64位格式的函数库 |
/media | 可移除的媒体设备,如光盘,DVD等(一般没人用 是空的) |
/mnt | mount,临时挂载的设备文件 |
/opt | optional,可选的软件包,即第三方软件。我们可以将除了系统自带软件之外的其他软件安装到这个目录下(但是不曾有人安装过软件) |
/proc | process 当前操作系统所有应用程序所对应的目录,该目录是一个虚拟文件系统,即该目录的内容存放于内存中而不是硬盘中,存放着系统内核以及进程的运行状态信息 |
/root | 超级管理员root的主目录 |
/run | 最近一次开机后所产生的各项信息,如当前的用户和正在运行中的守护进程等(存放pid文件,进程的号码 表示我这个进程还在) |
/sbin | 存放一些只有root账户才有权限执行的可执行文件,如init, ip, mount等命令 |
/srv | service,存放一些服务启动后所需的数据 |
/sys | system,与/proc类似也是一个虚拟文件系统,存放系统核心与硬件相关的信息,系统开机内核要启动的东西目录(关机就没东西了) |
/tmp | emporary,存放临时文件,可以被所有用户访问,系统重启时会清空该目录所有一些重要的文件不要放在里面,容易丢失 |
/usr | Unix Software Resource(并不是指user哦),存放着所有用户的绝大多数工具和应用程序 |
/var | variable,存放动态文件,如系统日志,程序缓存等(可变的,没事就改的文件) |
find和grep的使用
1、find命令
在Linux中可以使用find命令在指定的目录下查找文件。
【1】find命令的语法
find path -option [-print] [-exec -ok command] {} \;
find根据下面规则判断path和exprssion,在命令列上的第一个-(),之前的部分为path,之后的是expression,如果path为空字符串,则使用当前路径,如果expression是空字符串,则使用-print为预设的expression。
【2】常用选项说明
-mount,-xdev:只检查和指定目录在同一文件系统下的文件,避免列出其它文件系统的文件
-amin n:在过去n分钟内被读取过的文件
-anewer file:比文件file更晚被读取过的文件
-atime n:在过去n天内被读取过的文件
-cmin n:在过去n分钟内被修改过的文件
-empty:空的文件
-gid n or -group name:gid是n或group是name的文件
-ipath p,-path p:路径名称符合p的文件,ipath会忽略大小写
-name name,-iname name:文件名称符合name的文件,iname会忽略大小写
-size n:文件大小是n单位的文件
-type c:文件类型是c的文件
-pid n:process id是n的文件
2、grep命令的使用
【1】grep命令语法
Linux中grep命令用于查找文件中符合条件的字符串,grep指令用于查找内容包含指定的范本样式的文件
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
【2】常用说明
文本过滤显示:grep
查找文件里有字符h的字符串 : grep h文件名
匹配整个单词: grep -w单词文件名
匹配以q开始的行: grep ^[q]文件名
匹配以q结束的行: grep q$文件名
匹配以数字开头的行: grep ^[0-9]文件名
匹配以q或者f开头的行: grep ^[qf]文件名
不匹配以q或者开头的行: grep ^[^qf] 文件名
匹配oo前面不是f或者g的字符串: grep [^gf]oo文件名
匹配以#号开头的行: grep ^#
过滤空白行: grep ^$
如果要明确搜索子目录: grep-rh./*
忽略子目录: grep -d skip h ./*
查询多文件时只输出包含匹配字符的文件名
搜索时忽略大小写: grep -i
搜索时显示没有匹配到的行: grep -v
搜索时显示匹配到的那一行以及下2行: grep -A 2
搜索时显示匹配到的那一行以及上2行: grep -B 2
搜索时显示匹配到的那一行以及上下2行:grep -C 2
压缩命令
tar命令
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的打包文件。
x 从打包文件中释放文件。
t 列出打包文件的内容,查看已经打包了哪些文件。
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-J : 是xz格式的选项
-v :归档或者解包的过程中显示文件!这个常用
-f :使用文件名,请留意,在 f 之后要立即接文件名!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
--exclude FILE:在打包的过程中,不要将 FILE 打包!
gzip和gunzip命令
gzip: .gz
-d: 等同于gunzip
-#:1-9,默认为6,压缩比
zcat: 查看.gz压缩的文件内容
gunzip: 解压缩.gz
bzip命令
bzip2: .bz2
-d: 解压缩
-#:1-9,压缩比,默认为6
bcat: 查看.bz2压缩的文本文件内容
xz和xzdec命令
xz: .xz
-d:解压缩
-#:1-9,压缩比,默认为6
-k:压缩时保留原文件
xzcat: 不解压直接查看压缩格式的文本文件
xzdec: 解压缩.xz文件
zip和unzip命令
zip: 默认不删除原文件
zip FILENAME.zip FILE1,FILE2,...
unzip: