目标
在linux上,应用程序应该放在哪个位置?
过程
想要弄清楚这个问题,应该是要知道服务器上的磁盘是怎么划分的吧,因为就像在 Windows 系统中把所有的程序都安装在C盘,会造成其他盘资源浪费的情况。
查看磁盘的命令如下:
-
df [选项] [目录或设备] :用于显示磁盘分区的使用情况,包括文件系统和块大小(blocksize)的信息。
## 常用命令 df -Th
- -a 或 -A:列出所有文件系统,包括隐藏的。
- -h 或 -H:以人类可读的格式(如K、M、G等)显示容量。
- -B 或 -b:显示每个文件的块大小。
- -T 或 -t:按类型(如普通文件、目录等)排序输出。
- -Th 或 -tb:在显示块大小时也包含类型和权限等信息。
- -Total 或 -tf:显示所有文件系统的总大小。
-
lsblk [选项] [目录或设备]
- -a, --all:显示所有的设备,包括空设备。
-
-b, --bytes:以字节为单位显示设备大小。
-
-d, --nodeps:不显示设备的依赖关系。
-
-e, --exclude <设备>:排除指定的设备。
-
-f, --fs:显示文件系统信息。
-
-i, --input <文件>:从文件中读取设备列表。
-
-l, --list:以列表形式显示设备信息。
-
-n, --noheadings:不显示标题行。
-
-o, --output <列>:指定要显示的列。
-
-p, --paths:显示设备的完整路径。
-
-r, --raw:以原始格式显示设备信息。
-
-s, --scsi:显示SCSI设备。
-
-t, --topology:显示设备的拓扑结构。
-
-u, --uuid:显示设备的UUID。
操作一把:
woc,这是什么东西,看不懂,和 Window 的磁盘完全不同。于是开启网络探险模式,寻找那份隐藏在虚拟世界深处的宝藏资料!功夫不负有心人,相关资料在网上比比皆是。
摘抄其中自己觉得有用的东西:
-
在Windows操作系统中,磁盘分区是将物理地址分开,再在分区上建立目录。Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始的。
-
Linux无论有几个分区,分给哪一个目录使用,它归根到底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成文件系统的一部分。
-
Linux的整个文件系统中包含了一整套的文件和目录,并且将一个分区和一个目录联系起来。
-
主分区最多只能有四个;扩展分区每块硬盘最多只能有一个,主分区加扩展分区最多有四个,不能写入数据,不能格式化,只能包含逻辑分区;
因为我在查资料的时候看到主分区、扩展分区、逻辑分区相关信息比较懵,所以注重的查询了相关知识。
回到上一个疑问,怎么看懂df -Th
命令下展示的内容。其实在图中看不懂的是文件系统、类型和挂载点,容量使用量这些都好理解的。
先说挂载点,linux系统只有一个根目录,有默认的目录树(如图),磁盘可以挂载到目录的某个位置,这个位置就是挂载点。
而 tmpfs 是内存中创建文件系统的一个技术,是内存相关,不是永久存储数据的,对于 tmpfs 这里不做研究了。
因此上图的这个机子只剩下一个磁盘了,也就是根目录,根目录下没有挂载点的目录都是同一个分区的。机子是一个vm的虚拟机磁盘就一个,放哪里都是一样的。
找了一张上次放错位置的图。
图中根目录下 70G 使用达到了 39%,而 /home 目录下 843G 使用了 1%,原本应该是放在 /home 目录下的数据配置到其他目录下导致的。
结果
程序应该放在哪个位置,放在空间大的地方吗??大部分是这样,不过理解了磁盘分区后,规划好想放哪里就可以放哪里的。
,原本应该是放在 /home 目录下的数据配置到其他目录下导致的。
结果
程序应该放在哪个位置,放在空间大的地方吗??大部分是这样,不过理解了磁盘分区后,规划好想放哪里就可以放哪里的。
本是纠结 vm虚拟机上程序安装在哪里合适,发现根本看不懂 linux 的文件系统,大致了解后才知道虚拟机中只有一个可用的根磁盘,顺便记录一次磁盘存错的案例。学习到磁盘分区相关概念,更进一步了解 linux 文件系统的运作方式,以及两个命令:df 和 lsblk。