运维笔记(五)文件管理基础

1. Linux系统目录结构

1.1 系统目录结构

linux不像Windows那样有多个盘符或者说多个根,Linux只有一个根。

1.1.1 Windows的目录结构

在这里插入图片描述

1.1.2 Linux的目录结构

在这里插入图片描述
当然,也可以通过 tree 命令来查看
在这里插入图片描述

1.2 linux目录作用说明

目录 解释 说明
/ 根目录 处于linux系统树形结构的最顶端,每一个文件和目录都从这里开始。只有root用户具有该目录下的写权限。
/bin 可执行文件目录 bin是Binary的缩写,系统的所有用户使用的命令都设在这里,例如:ps,ls,ping,grep,cp等。
/sbin 系统可执行文件目录 大多数涉及系统管理的命令都存放在该目录中,这里的命令需要root权限才能执行
/dev 设备文件目录 dev是Device的缩写,linux中一切皆文件,所以设备(磁盘,声卡,USB设备…等等)都被看作文件放在这里
/home 家目录 普通用户用home目录来存储他们的个人文件
/root 管理员目录 可以理解为root用户的家目录
/lib 库文件目录 这个目录里存放着系统最基本的动态连接共享库,比如/bin与/sbin下面的命令要调用的函数
/lib64 库文件目录 这个目录里存放着系统最基本的动态连接共享库,比如/bin与/sbin下面的命令要调用的函数
/mnt 挂载目录 一般用来临时挂载存储设备的挂载目录,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/proc 虚拟文件系统 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。
/run 运行目录 存放的是系统运行时的数据,比如进程的PID文件
/sys 系统目录 存放硬件信息的相关文件
/srv 服务目录 一些网络服务的数据文件目录
/tmp 临时文件目录 用户运行程序的时候,会产生一些临时文件,这里就是用来存放临时文件的。
/var 变化文件目录 主要用来存放系统运行和软件运行时产生的日志信息等文件
/boot 引导文件目录 主要存放启动Linux系统所必需的文件,包括内核文件、启动菜单配置文件等,当计算机启动时,这些文件会首先被加载。
/etc 配置文件目录 主要存放常用系统及二进制安装包配置文件默认路径和服务器启动命令
/media 可插拔挂载目录 挂载那些usb接口的移动硬盘(包括U盘)等
/opt 可选安装目录 安装可选程序的地方
/usr 应用文件目录 主要存放安装的软件、系统共用的文件、内核源码等

1.3 /lib

在 / 下 ,/usr/下, /usr/local/下 都有 lib和lib64,有啥区别呢
在这里插入图片描述
简单地说 /lib64是内核级的,/usr/lib64是系统级的,/usr/local/lib64是用户级的

1.4 绝对路径和相对路径

上一篇博客解释了绝对路径和相对路径的区别,现在用通俗易懂的话来解释一下。比如说,你要去北京天安门,用绝对路径形容是这样的:坐飞机到达北京首都国际机场—》步行330m到达3号航站楼—》乘坐首都机场线,3站,到达直东门—》乘坐地铁2号线,3站,到达建国门—》换乘1号线,3站,到达天安门东—》步行840m,到达天安门。如果你在天安门东地铁站,可以用相对路径来说:指着前面说,往前840m,就到了!

1.5 挂载

2. 查看文件

2.1 cd命令 切换目录

上一篇说了,命令用来切换目录,后面可以跟想多路径和觉多路径,下面说几个使用技巧

参数 作用
无参数 进入用户主目录
~ 进入用户主目录
.. 返回上级目录,若在 “ / ”目录,执行后还是 “ / ”目录
- 返回进入此目录之前所在的目录
../.. 返回上两级目录

2.2 ls 命令

上一篇博客说过,ls命令用于显示指定工作目录下之内容,这次详细解释。另外
在这里插入图片描述

2.2.1 参数 -a 显示所有文件及目录

ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出.加-a这个参数就是把他们也列出来,上次说Linux中使用命令格式为 命令名称 【命令参数】【命令对象】,若命令对象为空,则默认当前路径
在这里插入图片描述

2.2.2 参数 -l 显示文件详细信息

除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
在这里插入图片描述

2.2.3 参数 -r 将文件以相反次序显示

在这里插入图片描述

2.2.4 参数 -t 将文件依建立时间之先后次序列出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A8YO((https:https:在这里插入图片描述

2.2.5 参数 -A

同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
在这里插入图片描述

PS:参数可以组合使用

使用 -Al 列出所有文件的详细信息
在这里插入图片描述

2.3 cat 命令

查看文件内容,一次显示整个文件的内容,比如,查看/etc/passwd
在这里插入图片描述

cat命令的一些参数

不必去背,用到去查就好

参数 作用
-n 由 1 开始对所有输出的行数编号
-b 和 -n 相似,只不过对于空白行不编号
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行。

2.4 more 命令

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
在这里插入图片描述

可以跟数字参数来确定显示的行数

在这里插入图片描述

2.5 less 命令

less 与 more 类似,但使用 less 可以随意浏览文件,使用方向键随意浏览, less 在查看之前不会加载整个文件。

参数 作用
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-i 忽略搜索时的大小写
-N 显示每行的行号

更多操作请查询文档

2.6 head 命令

head命令也是浏览文件,就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块

2.6.1 无参数

无参数时默认浏览前10行
在这里插入图片描述

2.6.2 浏览前6行

使用参数 -n [行数]
在这里插入图片描述

2.6.3 其他参数
参数 作用
-c 按照文件大小来打印
-q 打印不显示文件名称
-v 打印显示文件名称

2.7 tail 命令

tail命令和head 命令非常相似,只不过它是打印文件的尾部内容的,这里不做示范

2.8 vim 命令

Vim是一个著名的功能强大、高度可定制的文本编辑器,他的前身时Vi,在Vi的基础上改进和增加了很多特性,下一篇会做详细介绍
在这里插入图片描述

3.创建/复制/删除文件

3.1 创建目录(文件夹)

创建目录使用 mkdir 命令
在这里插入图片描述

3.1.1 加参数 -p

在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数-p
在这里插入图片描述

3.1.2 批量创建文件

mkdir 【文件名{?…?}】可以是数字,字母
在这里插入图片描述

3.2 创建文件

touch 命令用来创建文件,如果文件存在,则修改这个文件的时间
在这里插入图片描述

3.2.1 stat 命令 查看文件属性

在这里插入图片描述

3.2.2 如果文件存在,则修改这个文件的时间

在这里插入图片描述
最近更改:是指最近修改文件内容的时间
最近改动:是指最近修改INode时间,例如文件类型(常规、目录、符号链接等),权限,文件大小,创建/修改/访问时间等都是保存INode中。

3.2.3 使用vim创建文件

在这里插入图片描述

3.2.4 使用重定向创建文件

在这里插入图片描述

3.3 复制文件

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录
用法 cp [参数] 【源文件路径】【目标目录】
在这里插入图片描述

3.3.1 复制目录

复制目录加 -r 参数
在这里插入图片描述

3.3.2 其他参数
参数 作用
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-f 强行复制文件或目录,不论目标文件或目录是否已存在
-i 覆盖既有文件之前先询问用户
-s 对源文件建立符号连接,而非复制文件
-l 对源文件建立硬连接,而非复制文件
-p 保留源文件或目录的属性
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示命令执行的操作

3.4 移动文件

mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。
在这里插入图片描述
mv 命令也可以修改文件名
在这里插入图片描述

3.5 删除文件

rm命令用于删除一个文件或者目录。

3.5.1 删除文件

在这里插入图片描述

3.5.2 删除目录

添加参数 -r 递归删除目录 ,加参数 -f 不询问,无需询问确认
在这里插入图片描述

3.6 rm -rf /* 灾难

这个命令是删除根目录,也就是网上的删库跑路的段子,做实验前,需要确定你做好了快照
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前方高能
在这里插入图片描述
虽然看到很多无法删除的文件,但是!!,你的系统无法启动了!!
在这里插入图片描述
使用快照恢复把,哈哈

4.xfs文件系统的备份和恢复

4.1 xfs文件系统

xfs一种高性能的日志文件系统 在CentOS7开始默认使用的文件系统是xfs。xfs 专为大数据产生,每个单个文件系统量最大支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性搞。还可以通过xfsdump,xfsrestore来备份和恢复。

4.2 准备环境

4.2.1 添加一块磁盘

编辑虚拟机设置
在这里插入图片描述
添加
在这里插入图片描述
硬盘
在这里插入图片描述
scsi
在这里插入图片描述
然后是傻瓜式下一步

4.2.2 格式化新硬盘

这就是你的新硬盘
在这里插入图片描述
在这里插入图片描述
如果你是英文的,我把中文版分放在这里

帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表

在这里插入图片描述
在这里插入图片描述

4.2.3 挂载新的分区

格式化分区
在这里插入图片描述
创建一个目录,并挂载
在这里插入图片描述

4.3 准备测试文件

随机在挂载的目录下创建一些文件
在这里插入图片描述

4.4 备份

4.4.1 备份整个分区

命令 :xfsdump -f 【备份存放位置】【要备份路径或设备文件】
并指定会话标签和这杯标签
在这里插入图片描述
在这里插入图片描述

4.4.2 查看备份

在这里插入图片描述

4.5 恢复

4.5.1 删掉文件

在这里插入图片描述

4.5.2 恢复文件

在这里插入图片描述

4.6 注意事项

使用 xfsdump 时,请注意下面下面的几个限制:
1、xfsdump 不支持没有挂载的文件系统备份!所以只能备份已挂载的!
2、xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
3、xfsdump 只能备份 XFS 文件系统
4、xfsdump 备份下来的数据 (档案或储存媒体) 只能让 xfsrestore 解析
5、xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统

总结

/lib 和 /lib64的区别,在下不是很明白,猜想是32位和64位的区别,但又觉得不太对,网上有人说/lib是/lib64的软链接,也觉得不是很对。容在下继续查阅资料,最后给各位一个满意的答复,如有了解的大佬,请评论或者私我。

发布了35 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34181343/article/details/105237789