二、文件寻址
Linux系统结构
FHS: Filesystem Hierarchy[‘haɪərɑːkɪ] Standard(文件系统层级标准3)
LINUX中一切都是文件,所有的文件与目录都由根目录 / 开始。那是所有目录与文件的源头。然后再一个一个分支下来,有点像树状。因此,我们也称这种目录配置方式为:“目录树(directory tree)”。
/, root 起始点为根目录,Linux顶级目录 rm -fr /* 此命令卡万不要在服务器上运行
系统二级目录
目录 | 类型 |
---|---|
/bin | 系统常规命令 |
/sbin | 系统管理命令 |
/dev | 设备文件 |
/home | 普通用户家目录集合,此目录中的子目录为普通用户家目录 |
/root | 超级用户家目录 |
/lib64 | 64位函数库 |
/lib | 系统函数库 |
/proc | 进程信息,系统识别的硬件信息 |
/run | 当前运行的硬件和系统模块 |
/srv | 系统数据(常量) |
/tmp | 系统临时文件存放目录 |
/mnt | 临时设备挂载点 |
/var | 系统数据(变化) |
/media | cdrom临时挂载点 |
/etc | 系统大多数程序的配置目录 |
/opt | 第三方软件安装位置 |
/boot | 系统启动分区,系统启动时读取的文件都在此目录中 |
/sys | 关于内核设定目录 |
/usr | unix system resource 仅次于/ 重要 多数系统资源都在此目录 中 |
相对路径:
绝对路径名称的简写,圣略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用。系统中不以/开有的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用,通常以“/”开头,不会考虑当前系统位置
三、关于文件寻址的命令
pwd
显示当前的工作目录
cd
切换当前的工作目录
示例:“cd ~-” = “cd -”(切换至上一次的工作目录)
ls
显示文件信息
ls | 显示当前目录中文件的名称 |
---|---|
ls file | 显示指定文件名称 |
ls dir | 显示指定目录中内容的名称 |
ls -d dir | 显示目录本身的名称 |
ls -l file | 显示文件属性 |
ls -l dir | 显示目录中内容的属性 |
ls -ld dir | 显示目录本身属性 |
ls -a dir | 显示目录中所有文件名称包括隐藏文件案 |
ls -s | 显示文件大小 |
ls -R dir | 递归显示目录中的内容 |
示例:
四、文件批量处理
*
匹配0~任意字符
示例:
?
匹配单个字符
示例:表示显示所有形如file?的文件
[[:
:]]
[[:alpha:]] | 匹配单个字母 |
---|---|
[[:lower:]] | 匹配单个小写字母 |
[[:upper:]] | 匹配单个大写字母 |
[[:digit:]] | 匹配单个数字 |
[[:alnum:]] | 匹配单个数字或字母 |
[[:punct:]] | 匹配单个符号 |
[[:space:]] | 匹配单个空格 |
示例:
字符集合表示方法
[ ]
条件是或者关系是模糊匹配,对象和几个对比匹配就操作[1-10] 1到10,[!d-f]|[^d-f] 除了d-f以外
示例:
cp file[a-c] /mnt
复制filea,fileb,filec到文件夹mnt,但删除fileb依然不报错,因为是模糊匹配
{ }
点名机制,精确指定集合中的每一个元素{1…10}表示1-10,{a…c}表示a-c
示例
cp file{a-c} /mnt
删除fileb后,再复制会报错
目录调用
~
默认代表当前用户家目录
示例:以root身份登录时,家目录就是root
~username
指定的用户家目录
示例:
~+
或 .
当前目录
示例:实现将/etc/passwd 复制到当前目录
~-
当前目录之前所在目录
示例:进入目录/mnt,使用cd ~-实现返回之前目录
(cd -也可以实现,但仅cd可用)
..
当前目录的上级目录
示例: