linux查看空间大小

linux查看空间大小,第1张

     linux如何查看空间大小?我们一起来了解一下吧。

      1、打开linux系统,在linux的桌面的空白处右击。

      2、在d出的下拉选项里,点击打开终端。

      3、查看磁盘空间大小,使用命令:fdisk-l。

      4、查看分区空间大小,使用命令:df-h。

      本文章基于ThinkpadE15品牌、centos7系统撰写的。

linux中查看磁盘空间的方法举例查看当前目录大小:Java代码

[root@typengine.com]#

du

-sh

/var/www

查看指定目录大小:Java代码

[root@typengine.com]#

du

-sh

/www/typengine.com

查看当前目录文件总数:Java代码

[root@typengine.com]#

find

.

-type

f

|wc

-l

查看指定目录文件总数:Java代码

[root@typengine.com]#

find

/var/www

-type

f

|wc

-l

查看当前目录的目录总数:Java代码

[root@typengine.com]#

find

.

-type

d

|wc

-l

查看指定目录的目录总数:Java代码

[root@typengine.com]#

find

/www/typengine

-type

d

|wc

-l

以下内容供参考:Java代码

#

du

-ks

---in

all

#

du

-k

---every

last

du和df命令都被用于获得linux系统大小的信息:df用于报告文件系统的总块数及剩余块数,du

-s

/用于报告文件系统使用的块数。但是,我们可以发现从df命令算出的文件系统使用块数的值与通过du命令得出的值是不一致的。如下例:#

du

-s

/tmp

返回如下值:---12920

/tmp而

df

/tmp返回如下值:Java代码

Filesystem

--512-blocks--

Free

--%Used

--Iused--

%Iused

--Mounted

on

/dev/hd3

--------57344

--42208---

26%

----391

------4%

--/tmp

从上面的值我们可以算出

-

=

:

57344

-

42208

=

15136.而15136大于12920。该值差异的存在是由于du与df命令实施上的不同:

du

-s命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数;而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta

Data。du命令是用户级的程序,它不考虑Meta

Data,而df命令则查看文件系统的磁盘分配图并考虑Meta

Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。例如,一个frag=4096

并且

nbpi=4096的空的大小为4MB的日志文件系统中Meta

Data的分配情况如下:Java代码

1

4k

block

for

the

LVM

2

4k

super

blocks

2

4k

blocks

for

disk

maps

2

4k

blocks

for

inode

maps

2

4k

blocks

for

.indirect

32

4k

blocks

for

inodes

-------------------------

41

4k

blocks

for

meta

data

on

an

empty

4MB

file

system

对于AIX

4.X版本:执行

du

/foo返回的结果如下:Java代码

----8

-------/foo/lost+found

----16

------/foo

要使du命令输出的结果与df命令输出的结果匹配,我们必须要加上Meta

Data。首先,将41个4k的块转换为以512字节为单位的值:Java代码

41

*

8

=

328

328(meta

data)

+

16(from

du)

=

344

所以有344个以512字节为单位的块分配给了这个空的文件系统。而使用

df

/foo命令我们可以得到下面的结果:Java代码

Filesystem

--512-blocks

--Free

--%Used

--Iused---%Iused

--Mounted

on

/dev/lv01

------8192

-----7848

-----5%

-----16

-----2%

----/foo

从中我们可以得到该文件系统使用的块数:Java代码

8192(total

blocks)

-

7848(free

blocks)

=

344。

该值与上面得出的值一致。上面的换算方法对于空的文件系统很容易实现,但是对于非空的文件系统,由于Meta

Data中文件间接块的大小不定,因此较难实现。不需要查看du

df返回的值的匹配关系,而只需要了解du

-s命令返回的值反映了分配给文件及目录的磁盘块数,而df命令则反映了文件系统的实际分配情况。df命令反映的实际情况包含了用户数据(文件及目录)和Meta

Data。另一个表现出du与df命令不同之处的例子如下:如果用户删除了一个正在运行的应用所打开的某个目录下的文件,则du命令返回的值显示出减去了该文件后的目录的大小。但df命令并不显示减去该文件后的大小。直到该运行的应用关闭了这个打开的文件,df返回的值才显示出减去了该文件后的文件系统的使用情况。列出一个目录占用的空间1. du或du

-s或du

-kdu

-S

|

sort

-n

可以迅速发现那个目录是最大的。2. 用df可以看到已安装的文件系统的空间大小及剩余空间大小。3. quota

-v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。Java代码

boot

5746310

/boot

[blinux@localhost

test]$

du

-ks

/boot

5772

/boot

[blinux@localhost

test]$

du

-ms

/boot

6

/boot

3.显示目录的总大小及目录树中各文件夹的大小,并以较好的单位表示Java代码

[blinux@localhost

test]$

du

-h

/boot

308K

/boot/grub

5.7M

/boot

linux版本:root@HWPKI-TEST-97:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty挂载硬盘:root@HWPKI-TEST-96:~# fdisk -l Disk /dev/sda: 3000.6 GB, 3000592982016 bytes 90 heads, 3 sectors/track, 21705678 cylinders, total 5860533168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x54a892f2 Device Boot Start End Blocks Id System /dev/sda1 2048 4294967294 2147482623+ 83 Linux该硬盘共有5860533168 sectors,但是使用fdisk分区时,只识别到4294967294 sectors 这个时候如果仍使用fdisk进行分区,会有如下提示:root@HWPKI-TEST-96:~# fdisk /dev/sda WARNING: The size of this disk is 3.0 TB (3000592982016 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT). The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted.意思大概是说DOS格式分区表不能用于容量大于2 199 023 255 040 bytes(2T,粗略计算),对于扇区为512-byte。 此外,它还推荐使用parted(1)来进行GPT格式分区,关于 GUID Partition Table ,翻墙可查看。最后一段说逻辑扇区小于物理扇区,你需要将其与物理扇区对齐,否则表现就会不完美(美式汉语),了解一下,一会使用parted有个步骤需要对齐,原理并不懂。 这里我先忽略警告,将已经错误分区损失1T(均价400RMB)的分区删除,方法参考fdisk里的d命令,删除之后需要w保存,下面是结果:Command (m for help): d Selected partition 1 Command (m for help): d No partition is defined yet! Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.附上fdisk命令:Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)写入分区需要通知,删除同理: partprobe需要让内核知道,结果并不如我意root@HWPKI-TEST-96:~# partprobe Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.linux告诉我它并不能通知内核这样做,在/dev/sda上的第一分区已经使用过,这种情况在现实中我也是能理解的,原理不懂。 不想重启,所以就直接将分区卸载:oot@HWPKI-TEST-96:~# umount /mnt接下来的步骤按照网上的流程走,参考 DOS Partitions (fdisk) and the 2TB Limit 和parted手册 GNU Parted User Manual,这里我们按照自己的环境 *** 作一遍:root@HWPKI-TEST-96:~# parted GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands.出现欢迎布拉布拉,输入help(救命啊!!)(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system resizepart NUMBER END resize partition NUMBER move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted以上是parted的用法,敬请参考。 在分区以前,介绍一下步骤:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8222937.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存