linux磁盘管理说明(4)文件及目录大小(下)

 查看文件及目录占用容量大小,ncdu的使用更直观一些,至少看起来是这样。但是ncdu命令后面的目标参数,一般不能是文件,下面就简单介绍ncdu的使用。

ncdu

三种输出模式:

-o 文件   将信息输出到这个指定的文件,以代替打开浏览界面。如果文件用-代替,那么将信息输出到标准输出
-f 文件  从-o参数生成的那个文件中导入目录信息,以代替实际指定目录中取得信息。如果文件用-代替,那么将从标准输入读入文件。因为不是读取的实际指定目录信息,所以这个模式中刷新和删除操作都无效
目录     一般常用方式,分析该指定的目录

调用浏览界面时可使用的参数:

-0 除非有重大错误,否则不会有额外信息,调用浏览界面时的默认选项

-1 输出到文件时的默认选项,会有单独一行的反馈出现在标准输出

-2 如果不是输出到文件,可以选择这个选项更好

-q 安静模式,这个模式下,浏览界面默认每秒十次更新数据下降为每两秒一次,以避免占用过多带宽

-r 只读模式,在浏览界面中,禁止删除操作

–si 显示时使用KB,MB等单位代替KiB,MiB等

–confirm-quit 用着退出时,按下q后会出现额外的对话框,再输入y才能退出,防止误操作
在这里插入图片描述
在这里插入图片描述再次确认的对话框

只影响从指定目录读入信息时的参数:

这些选项会影响从目录读入的信息,从文件导入目录信息时无效

-x 只计算与被扫描目录位于相同的文件系统上的文件和目录

-exclude PATTERN  排除与PATTERN匹配的文件,默认情况下仍会显示这些文件,但不计入磁盘使用情况统计信息。这个参数可以多次使用,以排除复数中文件

-X 文件  排除与文件中PATTERN匹配的文件,每个PATTERN单独一行

–exclude-caches  排除包含CACHEDIR.TAG的目录,目录仍将显示,但不会显示其内容,并且不计入磁盘使用情况统计信息

进入浏览界面后,使用“shift+?”可以调用帮助窗口,帮助窗口有三个,可以使用左右箭头切换
在这里插入图片描述快捷键   用于浏览界面中快速操作

up,k   用于向上移动光标

down,j  用于向下移动光标

right,enter,l   打开所选目录

left,<,h   退回上一级目录

n   按名称排序(再次按降序排列)

s   按文件大小排序(再次按降序排列)

c   切换子条目计数是否显示

d   删除所选文件或目录

t   切换,排序时目录是否一定在文件前面

g   显示百分比或用“#”字符表示容量大小,或都不显示

a   切换,显示文件自身大小或占用磁盘容量

e   切换,是否显示隐藏文件

i   以一个额外的对话框显示所选条目的更多信息

b   在当前目录重新打开一个shell

r   刷新/重新计算当前目录

q   退出浏览界面

浏览界面的第一列   用于显示文件或目录的状态信息
在这里插入图片描述
!   读取该目录错误时出现

.   读取子目录错误时出现

<   此目录或文件被排除统计

>   此目录或文件在另一个文件系统

@   这既不是一个文件也不是一个目录

H   同样的文件已经被统计过(表明该目录或文件存在或是一个硬链接)

e   此目录是一个空目录

其余信息   包括作者、网址等

一般用法

读取指定目录
在这里插入图片描述切换到该目录,然后输入命令

或者
在这里插入图片描述直接输入命令加目录
在这里插入图片描述浏览界面,红线处是自身总大小和所占磁盘容量总大小

图中从左到右,每一列依次是文件或目录的状态信息,容量大小及单位,所占百分比,文件目录名。

删除文件或目录
在这里插入图片描述移动光标到想要删除的文件或目录,按下d,出现该对话框,从左到右依次是,是,否,不在询问

只查看根目录所挂载的文件系统的内容
在这里插入图片描述我的根目录
在这里插入图片描述-x 参数排除在其它文件系统上的文件和目录

读入一个很大的目录时
在这里插入图片描述我们可以先将信息输出到指定的文件并且压缩

图中,-1参数多用于输出到文件时,-o参数指定输出文件,-字符代表输出到标准输出,|是管道命令,gzip将信息流压缩,>表示输出重定向,目标文件则是export.gz。

等一会儿输出完毕后,再查看输出文件
在这里插入图片描述图中zcat读取压缩文件内容,|管道命令,-f参数表明从文件中读入文件信息,其后的-表明从标准输入中导入


 其实,要达成一个目地,并不只有一种办法,我们常常觉得,有些命令太死板了,并不能舒服的完成我们想要的目标。这时候让计算机随着我们的想法自由运行是一件十分畅快的事情,只是这种自由要以学习为前提。
例如,我想要了解 /root 目录下有多少shell脚本,那么可以这么做

find /root -name "*.sh"|wc -l

它可以统计出.sh结尾的文件的数目,要是更无聊一点,我们还可以写一个脚本
calculate.sh

#!/bin/bash
CONFIG_FILE=./calculate.cf
total=0
#The follow function need two parameter,one for directory,another for the type of file.
function statistics
{
        if [ $# -eq 2 ]
        then
                if [[ $1 == *$2 ]]
                then
                        total=$[ $total + 1 ]
                fi
        else
                echo "The function need two parameter like : function directory file_type."
        fi
}
#The follow function need two parameter,one for destination file,another for type of file.
function type_destin
{
        if [ -f $1 ]
        then
                statistics $1 $2
        elif [ -d $1 ]
        then
                cd $1
                local List=$(ls $1|sed "s:^:`pwd`/:")
                for dist in $List
                do
                        type_destin $dist $2
                done
                cd - &>/dev/null
        fi
}
DESTINATION=$(head -n 1 $CONFIG_FILE|gawk '/DESTINATION/{print $3}')
FILE_TYPE=$(tail -n 1 $CONFIG_FILE|gawk '/FILE_TYPE/{print $3}')
type_destin $DESTINATION $FILE_TYPE
echo "total=$total"

calculate.cf

DESTINATION = /root
FILE_TYPE = sh


要是有空的话,再回来用c语言实现 😄。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值