作为 Liunx 的使用者和受益者,要能够很好的调遣 Liunx 中的文件和程序,文件少不需要太多的管理,但是往往随着时间的推移文件会变得越来越多,这么多文件就好比你的军队,在应对不同的状况时,我们需要非常容易的调遣到相应的兵种去解决问题。当然文件有不同的类型,我们可以根据大小、类型、是否和系统有关、是否常用等等维度,给文件不同的区域,这种管理是一种策略,对于不同的使用者来说策略是不一样的,例如:一个专门用来做存储的 Liunx 服务器和一个专门用来做计算的 Liunx 服务器的文件管理策略肯定是不同的。那么如何做到游刃有余的管理呢,我们首先需要知道采用什么工具来管理。
本篇文章你会学习到:
- 文件操作工具
- 文件与目录的管理
- 文件内容的查阅
- 文件的 umask
- 磁盘操作工具
- 磁盘信息查看
- 区、格式化、挂载
- 内存交换空间
文件操作工具
先看看文件以及目录操作的相关工具,这样我们在调遣资源的时候就很容易了:
文件与目录的管理
文件与目录的操作无外乎增删改查:
- 目录
- cd:变换目录
- pwd:显示当前目录
- mkdir:创建一个新目录
- rmdir:删除一个新目录
- 文件
- ls:查看目录下文件信息
- cp:复制文件或目录
- rm:删除文件或目录
- mv:移动文件或目录
- basename:查看文件名
- dirname:查看文件所在目录路径
- file:查看文件类型
文件内容的查阅
- cat:由第一行开始显示文件内容
- tac:从最后一行开始显示
- nl:显示的时候
- more:一页一页的显示文件内容
- [Space]:下一页
- [Enter]:下一行
- /string:向下搜寻关键字
- :f:显示文件名以及目前显示的行数
- b:上一页
- q:结束
- less:与 more 类似
- [Space]:下一页
- [Page Down]:下一页
- [Page Up]:上一页
- /string:向下搜索
- ?string:向上搜索
- n:
- N:
- g:到第一行
- G:到最后一行
- q:结束
- head:只看头几行
- tail:只看尾几行
- od:以二进制的方式读取文件内容
- touch:
文件的 umask
文件的 umask 是用户创建文件的权限的默认值,但是它的权限结果是刚好相反,例如umask值为:002
,那么创建出来的文件权限是:775
等价于 rwxrwxrw-
如何解读之前已经介绍过。
- umask
- umask -S
文件的搜寻
如果文件多了怎么办?要利用搜索功能才行:
- which:搜索可执行文件
- whereis:通过关键词在特定目录中搜索
- locate:通过
/var/lib/mlocate/
数据库内容搜索 - updatedb:根据
/etc/updatedb.conf
的设置去搜寻系统硬盘内的文件名,并更新/var/lib/mlocate
内的数据库文件 - find:这种搜索比较慢,是直接在硬盘搜索
磁盘操作工具
磁盘操作工具,就好比在有限的空间里,给不同类型的资源分配各自的空间,将资源的利用做到最大化,有人可能说不分配就是最好的分配,大家共享一个磁盘,但是这种做法个人理解还是存在问题,因为磁盘或者硬盘的空间比较大,在搜索查询出自己想要的内容时用全盘搜索方式肯定效率不高,我们需要分而治之,分配不同的区域类去寻找,这样效率会高出很多。
磁盘信息查看
- df:列出文件系统的整体磁盘使用量;
- -a -k -m -h -H -T -i
- uf:评估文件系统的磁盘使用量(常用在推估目录所占容量)
- -a -h -s -S -k -m
解读 df
运行 df
命令:
Filesystem 1K-blocks Used Available Use% Mounted on
dev 1957884 0 1957884 0% /dev
run 1966384 1172 1965212 1% /run
/dev/sda1 42695728 9030616 31466588 23% /
tmpfs 1966384 0 1966384 0% /dev/shm
tmpfs 1966384 0 1966384 0% /sys/fs/cgroup
tmpfs 1966384 41588 1924796 3% /tmp
tmpfs 393276 16 393260 1% /run/user/1000
tmpfs 393276 4 393272 1% /run/user/620
- Filesystem:文件系统在哪个 Partition
- 1K-blocks:总容量单位 K
- Used:已使用大小
- Available:可用大小
- Use%:使用率
- Mounted on:挂载点
解读 uf
运行 uf
命令:
4 ./liunx-demo/hello-liunx
32 ./liunx-demo
36 .
列出当前目录下所有文件大小,单位 K,./liunx-demo/hello-liunx
文件大小 4K,以此类推。
分区、格式化、挂载
这部分操作危险性比较大,我们会在专门的章节总一一讲解:
- lsblk:列出系统上的所有磁盘列表
- blkid:列出设备的 UUID 等参数
- parted:列出磁盘的分区表类型与分区信息
- gdisk:新增分区
- fdisk:类似于 gdisk
- partprobe:更新 Linux 核心的分区表信息
- mkfs.xfs
- mkfs.ext4
- mount
- umount
- mknod
内存交换空间
说实话,swap 在目前的桌面电脑来讲,存在的意义已经不大了!这是因为目前的 x86 主机所 含的内存实在都太大了 (一般入门级至少也都有 4GB 了),所以,我们的 Linux 系统大概都 用不到 swap 这个玩意儿的。不过,如果是针对服务器或者是工作站这些常年上线的系统来说的话,那么无论如何,swap 还是需要创建的。
因为 swap 主要的功能是当实体内存不够时,则某些在内存当中所占的程序会暂时被移动到 swap 当中,让实体内存可以被需要的程序来使用。另外,如果你的主机支持电源管理模式,也就是说,你的 Linux 主机系统可以进入“休眠”模式的话,那么运行当中的程序状态则会被 纪录到 swap 去,以作为“唤醒”主机的状态依据! 另外,有某些程序在运行时,本来就会利用 swap 的特性来存放一些数据段, 所以swap 来是需要创建的!只是不需要太大!
〖坚持的一俢〗