Linux目录结构
man hier
Linux文件层次结构的说明
目录名 | 内容说明 |
---|---|
bin | 存放二进制的可执行程序 |
boot | 存放用于系统引导时使用的各种文件 |
dev | 用于存放设备文件,用户可以通过这些文件访问外部设备 |
etc | 存放系统的配置文件 |
home | 存放所有用户文件的根目录,有一个用户在该目录下就有一个与该用户相对应的子目录. 当用户登陆时就进入其用户名对应的子目录 |
lib/lib64 | 存放根文件系统中的程序运行所需要的共享库及内核模块 |
lost+found | 存放一些系统检查结果,发现不合法的文件或数据都存放在这里,通常此目录是空的. 除非硬盘遭受了不明的损坏 |
mnt | 临时文件系统的挂载点目录 |
media | 即插即用型存储设备的挂载点自动在这个目录下创建,如CD/DVD等 |
opt | 第三方软件的存放目录 |
proc | 是一个虚拟文件系统,存放当前内存的映射,主要用于在不重启机器的情况下管理内核 |
root | 超级用户目录 |
sbin | 类似 /bin 目录,也存放二进制可执行文件,但是只有root才能访问 |
srv | 系统对外提供服务的目录,如 Web 虚拟主机等 |
tmp | 用于放置各种临时文件 |
usr | 用于存放系统应用程序 |
var | 用于存放需要临时改变的文件,如系统日志、脱机工作目录等 |
Shell元字符
元字符 | 含义 |
---|---|
* | 代表任意字符串 |
? | 代表任意字符 |
/ | 代表根目录或作为路径间隔符使用 |
\ | 转义字符. 当命令的参数要用到保留字时,要在保留字前面加上转义字符 |
<Enter> | 续行符. 可以使用续行符将一个命令行分写在多行上 |
$ | 变量值置换,如$PATH 表示环境变量PATH的值 |
’ | 在 ‘…’ 中间的字符均被当作文字处理,指令、文件名、保留字等都不具有原来的意义 |
" | 在"…"中间的字符会被当作文字处理并允许变量值置换 |
` | 命令替换,置换‘…’中命令的执行结果 |
< | 输入重定向字符 |
> | 输出重定向字符 |
| | 管道字符 |
& | 后台执行字符. 在一个命令之后加上字符 “&”,该命令就会以后台方式执行 |
; | 分割顺序执行的多个命令 |
() | 在子Shell中执行一组命令 |
{} | 在当前Shell中执行一组命令 |
! | 执行命令历史记录中的命令 |
~ | 代表登陆用户的宿主目录(自家目录) |
通配符
通配符 | 说明 |
---|---|
* | 匹配任何字符和任何数目的字符 |
? | 匹配任何单字符 |
[…] | 匹配任何包含在括号里的单字符 |
[!..] | 匹配任何不包含在括号里的单字符 |
POSIX 风格的正则表达式
POSIX 风格有两种:
- 基本的正则表达式 (Basic Regular Expression, BRE)
- 扩展的正则表达式 (Extended Regular Expression, ERE)
POSIX RE 用于方括号之外的元字符
特殊字符 | 含义 | 类型 | 举例 | 说明 |
---|---|---|---|---|
^ | 匹配首字符 | BRE | ^x | 以字符x开头的字符串 |
$ | 匹配尾字符 | BRE | x$ | 以x字符结尾的字符串 |
. | 匹配任意一个字符 | BRE | l…e | love, life, live ··· |
? | 匹配任意一个可选字符 | BRE | xy? | x, xy |
* | 匹配零次或多次重复 | BRE | xy* | x, xy, xyy, xyyy ··· |
+ | 匹配一次或多次重复 | BRE | xy+ | xy, xyy, xyyy ··· |
[…] | 匹配任意一个字符 | BRE | [x,y,z] | x, y, z |
() | 对正则表达式分组 | BRE | (xy)+ | xy, xyxy, xyxyxy, ··· |
\ | 转义字符 | BRE | \* | * |
\{n\} | 匹配n次 | BRE | co\{2\}gle | coogle |
\{n,\} | 匹配最少n次 | BRE | co\{2,\}gle | coogle, cooogle,coooogle ··· |
\{n,m\} | 匹配n~m次 | BRE | co\{2,4\}gle | coogle,cooogle,coooogle |
{n} | 匹配n次 | ERE | co{2}gle | coogle |
{n,} | 匹配最少n次 | ERE | co{2,}gle | coogle, cooogle,coooogle ··· |
{2,4} | 匹配n~m次 | ERE | co{2,4}gle | coogle,cooogle,coooogle |
| | 以或逻辑连接多个匹配 | BRE | good|bon | 匹配good或bon |
POSIX RE 用于方括号之内的元字符
特殊字符 | 含义 | 类型 | 举例 | 说明 |
---|---|---|---|---|
^ | 非(仅用于起始字符) | BRE | [^xyz] | 匹配xyz之外的任意一个字符 |
- | 用于指名字符范围(不能是首字符和尾字符) | BRE | [a-zA-Z] | 匹配任意一个字母 |
\ | 转义字符 | BRE | [\.] | . |