磁盘与目录的容量
df : 列出文件系统的整体磁盘使用量
- -a ,列出所有的文件系统,包括系统特有的 /proc 等文件系统
- -h ,以较易读的 GBytes 、Mbytes 、KBytes 等格式自行显示
- -H ,以 M=1000k 替换 M=1024k 的进位方式
- -i ,不用磁盘容量,而以 indoe 的数量来显示
df 命令输出信息:
- Filesystem:代表该文件系统是在哪个硬盘分区,所以列出设备名称;
- 1k-blocks:说明下面的数字单位是1KB ,可利用 -h / -m 来改变容量;
- Used:使用掉的磁盘空间;
- Available:剩余磁盘空间大小;
- Used%:磁盘使用率;
- Mounted on:磁盘的挂载目录(挂载点);
文件查找
find 命令 :直接从硬盘查找
1 )与使用者或用户组名称有关参数
- -uid n:n 为数字,即使用者UID ,UID记录在 /etc/passwd
- -gid n:n 为数字,即用户组名称GID ,GID记录在 /etc/group
- -user name:使用者账号名称
- -group name:用户组名称
- -nouser:查找文件的拥有者不在 /etc/passwd
- -ngroup:查找文件的拥有组不在 /etc/group
2 )与文件权限及名称有关的参数
- -name filename:查找文件名称为 filename 的文件
- -type TYPE:查找文件类型为 TYPE 的,如 一般正规文件(f)、设备文件 (b、c)、目录(d)、链接文件(l)等
- -perm mode:查找文件权限刚好为 mode 的文件
- -perm -mode:查找文件权限【必须全部囊括 mode 的权限】
- -perm /mode:查找文件权限【包含任意 mode 的权限】
3 )额外可执行操作
- -exec command:command 为其他命令,用来处理查找的结果
- {}:代表find找到的内容(find 的输出)
- -exec (额外操作的开始) \;(额外操作的结束)
1 )观察磁盘分区的状态
lsblk (list block device):列出系统上的所有磁盘列表(存储设备)
- -i,使用ASSCII 的字符输出,不使用复杂编码;
- -p,列出该设备的完整文件名;
lsblk 的默认输出信息:
- NAME:设备文件名 (显示省略 /dev 等前导目录);
- MAJ:MIN:内核识别的设备所需的代码,主要和次要设备代码;
- RM:是否为可卸载设备(removable device),如光盘、USB磁盘等;
- SIZE:容量;
- RO:是否为只读设备;
- TYPE:输出类型,如磁盘(disk)、分区(parttion)、只读存储器(rom)等;
- MOUNTPOINT:挂载点;
blkid :列出设备的 UUID 等参数
UUID:是全局唯一标识符(universally unique identifier),Linux 会将系统内所有设备都给予一个独一无二的标识符(UUID),作为挂载或是使用这个设备或文件系统;
cat /proc/partitions # 查看内核的分区记录
2 )磁盘分区:fdisk
通过 lsblk 先找到磁盘,在用 parted/dev/xxx print 来找出内部的分区表类型,之后通过 fdisk 来操作系统。
fdisk 设备名称
Command
- n ,add a new partition # 增加一个分区
p primary # 新建主分区
e extended # 新建扩展分区
- d ,delete a partition # 删除一个分区
- q ,quit without saving changes # 不保存分区就直接离开 fdisk
- wq ,write table to disk and exit # 保存分区后 离开 fdisk
- l ,list known parttition types # 列出已知的分区文件系统类型
常用linux 文件系统类型 :82 Linux swap / So ;83 Linux ;8e Linux LVM ;
- t ,change a parttition's type code # 改变分区的文件系统类型
- o ,create a new empty DOS partition table # 更改磁盘分区类型为 DOS
p ,列出目前这块磁盘的分区表信息
- Number:分区编号
- Start (sector):每个分区的开始扇区号码位置
- End (sector):每个分区的结束扇区号码位置
- Size:分区的容量
- Code:分区内可能的文件系统类型
- Name:分区系统的名称
例 磁盘分区的类型修改 (gpt ---> dos)
partprobe -s 更新 Linux 内核的分区表信息 !!!
3 )磁盘格式化 —— mkfs,make filesystem(创建文件系统)
XFS 文件系统 mkfs.xfs
ext4 文件系统 mkfs.ext4
4 )文件系统 挂载与卸载
- 单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
- 单一目录不应该重复挂载多个文件系统;
- 要作为挂载点的目录,理论上应该是空目录(目录不是空的,被挂载后,原内容会暂时隐藏!);
mount -a :依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来
mount [ -l ]:显示目前挂载信息,包括 可增列 Label 名称
mount [ -t 文件系统 ] UUID=' ' 挂载点 ,指定欲挂载类型
mount -o :后接一些挂载时额外加上的参数,如 账号、密码、读取权限(ro只读,rw可读写)等
[ -o remount,xx ] :重新挂载,重新更新参数时
umount 将设备文件卸载
umount [-fn] 设备文件名/挂载点
- -f :强制卸载
- -l :立刻卸载文件系统,(比-f强)
- -n :不更新 /etc/mtab 情况下卸载
注意:卸载前,必须先将工作目录移到挂载点(及其子目录)之外!!
例:文件系统正在被使用,无法卸载的解决方法
设置启动挂载 /etc/fstab
- df 查看 (/dev/sr0 挂载点)
- vim /etc/fstab (编辑 添加 )
/dev/sr0 /mnt iso9660 defaults 0 0
- reboot
/etc/fstab 配置文件 设备名称编辑错误 (/dev/sro),重启挽救方法
- reboot ,重启后注释错误,再启动开机
- vim /etc/fstab 编辑 修改错误
- reboot
内存交换分区 (swap)的创建
使用物理分区创建内存交换分区
- 分区:先使用 fdisk 在磁盘划分出一个分区作为内存交换分区,fdisk 默认会将分区 ID 设置为 Linux 的文件系统,需要设置 system ID。
- 格式化:【mkswap 设备文件名】。
- 使用:将 swap 设备启动,【swapon 设备文件名】。
- 观察:通过 free 与 swapon -s 观察内存使用量
使用文件创建内存交换文件