du

disk usage

# 先查看挂载情况
df -h 
# 再通过 du 来统计目录使用情况
du -h -d 1 \
    --exclude=/dev \
    --exclude=/run \
    --exclude=/sys/fs/cgroup \
    --exclude=/proc \
    --exclude=/data0 \
    --exclude=/var/lib/docker/devicemapper \
    --exclude=/var/lib/docker/containers \
    /

df

disk free

df -lhT              # 查看分区的文件系统类型、大小、挂载点
sudo lsblk -o name,mountpoint,label,size,uuid

df -i -h             # 查看 inode 使用状况

# 查找那个目录文件最多


/var
proc

#FILES=/usr/*
#FILES=/var/*
FILES="
/boot
/dev
/etc
/home
/lost+found
/media
/mnt
/opt
/proc
/root
/run
/srv
/sys
/tmp
/usr
"


for f in $FILES ; do
    echo $f `find $f -xdev -type f|wc -l`
done | sort -g -k2 | column -t


# 通过类似命令,一点点排除,最终发现 /var/lib/docker/devicemapper/mnt 目录下面有 602897 个文件

/dev         0
/lost+found  0
/media       0
/mnt         0
/opt         0
/srv         0
/tmp         3
/home        6
/root        23
/run         299
/boot        326
/etc         1851
/sys         11440
/usr         81147
/proc        148542

ls /var/lib/docker/devicemapper | wc -l

find /var/lib/docker/devicemapper -xdev -type f|wc -l

/var/lib/docker

find /var/lib/docker/devicemapper -xdev -type f|wc -l

fdisk

fdisk -l                    # 列出所有硬盘
fdisk /dev/sdb              # 管理指定设备的分区表
p                           # 打印分区表
d 1                         # 删除指定的分区,如果不带参数,则会提示删除一个默认的并让确认
o                           # 创建一个dos格式的分区表
n                           # 创建一个分区
   p                        #   主分区
   1                        #   编号
   +500G                    #   分区大小
w                           # 写入磁盘

mkfs 创建文件系统

# XFS
mkfs.xfs -f /dev/sdb1

# Fat32
mkfs.msdos -F 32 /dev/sdb1
fatlabel /dev/sdb1 YOUR_LABEL

# exFat
mkfs.exfat /dev/sdX1

# NTFS
mkfs.ntfs /dev/sdb1

blkid

blkid

mkdir /data0 /data1                # 创建挂载点

vi /etc/fstab                            # 开机自动挂载
UUID=cd69195a-7846-4412-97c6-fe554fecbed6  /data0  xfs  defaults  0 0
UUID=c0271228-51f7-4139-a3db-120faf8bda7d  /data1  xfs  defaults  0 0

LVM

参考 这里

创建


# 创建分区的时候,可以修改一个分区的类型
fdisk /dev/sdb
t                           # 标记分区
1                           # 第一个分区
8e                          # 标记该分区为 LVM 分区  83-linux 分区

# 将两个分区转为物理卷 (添加 LVM 属性信息,并划分PE存储单元)
pvcreate /dev/sda1 /dev/sda2
pvs
pvdisplay

# 创建卷组,并加入指定的两个物理卷,默认 PE 大小为 4MB
# PE 是卷组的最小存储单元,可以通过 -s 参数修改
vgcreate vgdata /dev/sda1 /dev/sda2

# 在卷组 vgdata 切割出 500M 的 逻辑卷 lvdata1
lvcreate -L 500M -n lvdata1 vgdata
# 在逻辑卷 lvdata1 上创建 ext4 文件系统
mkfs.ext4 /dev/vgdata/lvdata1

# 挂载
mount /dev/vgdata/lvdata1 /data1 

# 查询 UUID
blkid 
# 并修改 fstab 以便开机自动挂载
vi fstab

缩小逻辑卷

# 取消挂载
umount /data1

# 检查还有多少剩余磁盘空间
e2fsck -f /dev/mapper/vgdata-lvdata1

# 设置减少后的尺寸为 700M
resize2fs /dev/mapper/vgdata-lvdata1 700M

# 禁烧逻辑卷的尺寸,也同样为 700M
lvreduce -L 700M /dev/vgdata/lvdata1

扩展逻辑卷

# 增加 500M 空间
lvextend –L +500M /dev/vgdata/lvdata1
lvs

# 同步文件系统
resize2fs /dev/vgdata/lvdata1

扩展卷组

# 扩展
vgextend vgdata /dev/sdb3
# 确认
pvs

数据转移

pvs
pvmove /dev/sda1 /dev/sda2
vgreduce vgdata dev/sda1
pvs

删除逻辑卷

# 
umount /data1
vi /etc/fstab    # 去掉相应的自动挂载项
vgremove vgdata             # 删除卷组
pvremove /dev/hd2 /dev/hd3  # 删除逻辑卷
pvs
vgs
lvs

参考

Win7 ISO -> U盘

数据回复

photorec

exfat

# ubuntu
sudo apt-get install exfat-utils exfat-fuse

# centos
yum install exfat-utils fuse-exfat

YUMI

YUMI