命令是查看磁盘使用空间的命旁做辩令。命令可以显示每个文件和目录的磁盘使用情况。英文原意为disk used。
1、命令默认只显胡伍示文件夹大小运缺。
2、指定文件或目录
3、显示所有目录和文件
4、显示指定文件夹下文件或目录大小(不看目录下一级)
5、显示指定文件夹下文件或目录大小(不看目录下一级) 从小到大排列
2. 谁能给我一个Linux系统中命令的详细分析(包括源代码的分析)
Linux 命令也是查看使用空间的,但是与df命令不同的是Linux 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux 命令。
:查询档案或目录的磁盘使用空间
a:显示全部目录和其次目录下的每个档案所占的磁盘空间
b:大小用bytes来表示 (默认值为k bytes)
c:最后再加上总计 (默认值)
s:只显示各档案大小的总合
x:只计算同属同一个档案系统的档案
L:计算所有的档案大小
常用命令: –a
操作详解
引用
指令 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小。例如:
# -h /etc
104K /etc/defaults
6.0K /etc/X11
8.0K /etc/bluetooth
4.0K /etc/gnats
52K /etc/isdn
388K /etc/mail
68K /etc/mtree
2.0K /etc/ntp
38K /etc/pam.d
44K /etc/periodic/daily
6.0K /etc/periodic/monthly
42K /etc/periodic/security
16K /etc/periodic/weekly
110K /etc/periodic
6.0K /etc/ppp
318K /etc/rc.d
2.0K /etc/skel
130K /etc/ssh
10K /etc/ssl
1.7M /etc
我们目样使用 -h 参数来显示 human-readable 的格式。在应用时,我们可以使用 这个指令来查看哪个目录占用最多的空间。不过, 的输出结果通常很长,我们可以加上 -s 参数来省略指定目录下的子目录,而只显示该目录的总合即可:
# -sh /etc
1.7M /etc
在查看目录的使用情形时,我们可以将输出结果导到 sort 指令进行排序,以了解哪个档案用了最多的空间:
# /etc | sort -nr | more
1746 /etc
388 /etc/mail
318 /etc/rc.d
130 /etc/ssh
110 /etc/periodic
104 /etc/defaults
68 /etc/mtree
52 /etc/isdn
44 /etc/periodic/daily
42 /etc/periodic/security
38 /etc/pam.d
16 /etc/periodic/weekly
10 /etc/ssl
8 /etc/bluetooth
6 /etc/ppp
6 /etc/periodic/monthly
6 /etc/X11
4 /etc/gnats
2 /etc/skel
2 /etc/ntp
sort 的参数 -nr 表示要以数字排序法进行反向排序,因为我们要对目录大小做排序,所以不可以使用 human-readable 的大小输出,不然目录大小中会有 K、M 等字样,会造成排序不正确。
现在明了了Linux 命令和Linux df命令的不同之处了吗
3. linux命令:、sort、more、cat、less
一个比较经典的问题:
如果线上机器的磁盘占用率超级高,怎么办?
这时候优先想到的肯定是,定位到占用磁盘空间最大的那些文件,然后把可以删的给删掉。
那么,问题来了,如何定位到占用磁盘空间最大的文件?
一个办法是执行如下命令:
里面涉及三个指令:、sort、more
既然用到了,就顺便多了解一下这三个指令的用法,算是做下个人笔记。
首先是
作用:用来查看文件所占用的磁盘情况。
格式: [选项] [文件]
可用选项(如下为 --help展示的内容):
操作示例:
对几个比较常用的选项单独拿出来,在机器上实际操作,效果如下:
首先,当前目录如下:
:
其实吧,从图里面可以看到,使用“”的时候,最后一行就当前目录的磁盘使用总量,所以,感觉一般情况下-c这个选项并没有什么用。
-s:只计算总量
不过,注意:-s与-a不能同时存在,会报错的。
sort
作用:对输出的结果进行排序
可用选项:
-r:代表逆序排序
-n:按照字符串数值排序
-g:按照常规数值排序
-f:忽略字母大小写
实测效果:
首先是测试文件的原始状态:
测试一:sort
可以发现:
空行排在了第一位;
不管数字有多大,字符串都会排在数字的后面;
数字之间排序的时候,优先考虑首位数字(感觉是把数字也当成了一个字符串进行排序);
more
作用:用于一页一页地展示文件内容。
几个常用操作:
空格:翻到下一页
b:翻到上一页
/:启动字符串搜索(类似于vim)
此外:
more +n XXX:从XXX文件的第n行开始展示
more -n XXX:展示XXX文件,并且将n行视为一页,也就是按空格时,只会显示后续的N行
cat
作用:一次性的展示所有文件内容
cat有两个比较有用的选项:
-n:输出所有行号
-b:只对非空行输出行号
此外,
cat支持同时输出多个文件的内容:cat XXX YYYY ZZZZ
并且,cat可以与more结合使用:cat XXX | more 或者 cat XXX YYYY ZZZZ | more 或者 cat -n XXX | more
less:
作用:对文件或者输出内容进行分页展示,并且less可以用于打开多个文件
常用操作:
j:向上滚动一行
k:向下滚动一行(类似于vim)
g:跳到第一行
G:跳到最后一行
b:向上翻一页
空格:翻页
n%:跳转到整个文件的n%处
:e :在使用less打开多个文件时,使用“:e”选择跳转到其他文件去
/:进行字符串搜索
v:启动编辑
常用选项:
-N:在每一行前面都显示行号
-m:显示读取文件的百分比
-M:显示读取文件的百分比、行号和总行数
注意:
其他两个比较简单的指令:
head:显示一个文件的前N行
用法:head -n 行数 文件名
tail:显示一个文件的最后N行
用法:tail -n 行数 文件名
不过,使用tai的时候,因为-f选项可以自动显示新增加的内容,所以经常会使用如下方式:
tail -f 文件名
4. 的linux命令
-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。
-sh *显示当前目录内文件夹及文件的大小。 1> 要显示一个目录树及其每个子树的磁盘使用情况 /home/linux这在/home/linux目录及其每个子目录中显示了磁盘块数。
2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 -k/home/linux这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。
3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况 -m/home/linux这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。
4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况 -g/home/linux这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。
5>查看当前目录下所有目录以及子目录的大小: -h.“.”代表当前目录下。也可以换成一个明确的路径
-h表示用K、M、G的人性化形式显示
6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录: -shuser-s表示总结的意思,即只列出一个总结的值 -h--max-depth=0user--max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。
7>列出user目录及其子目录下所有目录和文件的大小: -ahuser-a表示包括目录和文件
8>列出当前目录中的目录名不包括xyz字符串的目录的大小: -h--exclude='*xyz*'9>想在一个屏幕下列出更多的关于user目录及子目录大小的信息: -0huser-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。
10>只显示一个目录树的全部磁盘使用情况 -s/home/linux
5. LINUX 查看目录和文件大小
-ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。
命令用来查看目录或文件所占用磁盘空间的大小。常用选项组合为: -sh
一、的功能: `` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). with no arguments,`` reports the disk space for the current directory。
很明显,与df不同,它用来查看文件或目录所占用的磁盘空间的大小。
二、常用的选项:
-h:以人类可读的方式显示
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
-l :统计硬链接占用磁盘空间的大小
-L:统计符号链接所指向的文件占用的磁盘空间大小
一、 -h:这个就不多说了。
二、 -a:使用此选项时,显示目录和目录下子目录和文件占用磁盘空间的大小。
可以看出,默认情况下只显示download目录占用磁盘空间的大小,而使用-a选项后,它不仅显示了目录(最后一行),而且显示了目录下各个文件占用磁盘空间的大小。
三、 -s:使用此选项时,只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息。
默认情况下,不显示目录下文件占用磁盘空间的信息,但它会显示其下子目录占用磁盘空间的信息;而使用-s选项以后,只显示xx目录占用磁盘空间的大小。
四、 --apparent-size: 显示文件或目录自身大小,而不是它们占用的磁盘空间大小。文件或目录占用磁盘空间的大小与它们自身大小有时候并非完全一致;这种现象非linux所独有,windows里也是如此。我们看这个选项的帮助文档的解释:The apparent size of a file is the number of bytes reported by `wc –c` regular files ,or more generally, `ls –l –block-size=1` or `stat –format=%s`.For example, a file containing the word `zoo` with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 kib or more of disk space, depending on the type and configuration of the file system on which the file resides.
这段话给出了文件或目录自身大小与占用磁盘空间大小的区别。他下面举出了一个更加夸张的例子,这里就不把它写出来了。我们知道了:wc或ls --block-size显示的是其自身大小,而给出的则是占用的磁盘空间的大小。
五、 -c:使用此选项时,不仅显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和。
如图所示,加上-c选项后,不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。
六、 -l:这个选项主要是针对硬链接。 在统计目录占用磁盘空间大小时,-l选项会把硬链接也统计进来。帮助文档是这样解释的:Count the size of all files,even if they have appeared already(as a hard link)。
我们在download目录下建立一个硬链接,指向本目录下的一个文件。不使用-l选项时,发现硬链接指向本目录下的文件,于是自动忽略该链接文件,以免造成重复统计;使用-l选项,才会把硬链接文件也统计进来。
七、 -L:这个选项主要是针对符号链接。 它会把符号链接所指向的文件占用磁盘空间的大小也统计进来。帮助文档是这样解释的:Dereference symbolic links(show the disk space used by the file or directory that the link points to instead of the space used by the link)。
我们在download目录下创建一个符号链接,指向本目录下的一个文件。我们看到上面图片中显示的操作结果,当使用-L选项时,会把符号链接所指向的文件的大小也统计到目录里来。
另外我们看 -lh的结果,与 -h相同,好像没有统计出符号链接的大小;其实并非如此。从实际操作来看,符号链接本身似乎并不占用磁盘空间,所以才出现上述情况。
最后,命令在统计目录占用磁盘空间时,默认不统计链接文件(无论是硬链接或是符号链接),所以要用-l和-L选项特地指出来;此外,命令默认不显示目录下文件占用磁盘空间的信息,但是却默认显示其下子目录所占用磁盘空间的信息。怪哉。
-sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量
-lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
以上这篇linux下使用 查看某个文件或目录占用磁盘空间的大小方法就是我分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
6. 命令怎么显示每个目录的大小
-sh * 查看当前目录下的文件夹大小
命令
用途
概述磁盘使用。
语法
[ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ]
描述
命令显示用于文件的块的数量。如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供 File参数,命令使用当前目录内的文件。
如果File参数是一个目录,那么报告的块的数量就是分配到目录中文件以及分配到目录自身的块之和。
指定-a标志,报告个体文件中块数量。不管是否使用了-a标志,由File参数指定的个体文件总是要列出。
指定-s标志,报告用于所有指定文件和目录中所有文件的全部块。
块计数包括每个文件的间接块。块计数是通过 512 字节单位计算的,它与系统使用的群集大小无关。指定-k标志,通过 1024 字节单位计算块数。
注:
具有多个链接的文件只为一个条目计数和书写。
由于块计数只基于文件大小,所以在报告的块数中,未分配的块是没有包含进去的。
如果得不到文件属性,或者无法读取目录,它就报告一个错误,并且会影响命令的退出状态。
7. df、、磁盘分区
命令 df (disk filesystem)用于查看已挂载磁盘的总容量、使用容量、剩余容量等。默认单位为KB。
各列表示含义:
df命令常用的选项有-i、-h、-k和-m,用法如下:
命令 (disk useage)用来查看某个目录或文件所占空间的大小。其格式为 [选项] [文件或者目录名] 。
常用选项:
-c: 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-s: 仅显示总计,只列出最后加总的值。
上例可以看到刚刚新增的磁盘/dev/sdb的信息。
fdisk 不加-l选项,则会进入磁盘分区操作模式。示例命令如下:
输入m,会显示常用的命令,如下所示:
介绍几个常用的命令:
下面对/dev/sdb进行分区操作。首先建立第一个分区:
提示我们选p(主分区)还是e(扩展分区)。选择p建立主分区:
确认分区创建成功:
继续创建3个主分区:
查看分区情况:
此时再想创建新分区时会出现问题:
这是因为在Linux系统中最多只能创建4个主分区。
删除第四个分区:
新建一个扩展分区:
此时选择n创建分区就只能创建逻辑分区:
查看分区情况:
删除sdb1主分区:
删除sdb5逻辑分区:
删除sdb4扩展分区会删除整个扩展分区sdb4,也包含sdb4里面的逻辑分区sdb5。如下所示:
输入q退出,前面的分区操作会全部取消,然后我们重新再来分区:
不划分主分区,直接划分扩展分区:
此时输入n建立主分区会报错:
接下来建立两个逻辑分区:
建立完成后发现逻辑分区好是从sdb5开始的,这是因为前四个分区号是留给主分区和扩展分区的。所以逻辑分区号是从5开始并且连续的。
分区完成后需输入w命令保存,如下所示:
使用 fdisk -l /dev/sdb 查看分区情况,如下所示:
parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html
Linux主分区,扩展分区,逻辑分区的联系和区别 https://www.cnblogs.com/sddai/p/7853324.html