100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > linux命令-查看当前目录下及子目录文件大小和个数(pg清理大数据量表)

linux命令-查看当前目录下及子目录文件大小和个数(pg清理大数据量表)

时间:2019-11-07 10:44:09

相关推荐

linux命令-查看当前目录下及子目录文件大小和个数(pg清理大数据量表)

文章目录

一、查看当前目录下及子目录文件大小1. 只查看当前目录下文件大小2. 查看当前目录下及子目录文件大小 二、查看当前目录下及子目录文件个数1. 只查看文件夹下的文件个数(当前目录的文件数)2. 查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数) 三、 linux查看磁盘空间linux看目录容量定位,linux查看目录的大小(占用量) 四、linux ps命令查询进程启动和存活时间五、工作常见的一些占用空间大排查pg数据库数据量很小但是data目录很大的排查pg清理大数据量表

一、查看当前目录下及子目录文件大小

1. 只查看当前目录下文件大小

可以将当前目录下所有文件的大小给列出来。按照从大到小的方式排序:

du -sh * | sort -nr

注意,该命令只是当前目录下文件大小排序,并不会显示子目录下具体文件的排序

结果示例如下,并没有显示出 目录 Python27 下具体文件排名

# du -sh * | sort -nr19MPython274.0K test0 aaa

du -sh

du -sh * 查询当前目录下所有子目录总大小 , * 指所有目录,如果只要查询某个目录 替换掉*即可

du -s * | sort -nr | head 选出排在前面的10个。

du -s * | sort -nr | tail 选出排在后面的10个。

查看当前目录下一级子文件和子目录占用的磁盘容量:

du -lh --max-depth=1

改变“–max-depth=1”中的数值大小就可以指定查看该目录下多少级子目录

du参数解释

-h或–human-readable 以K,M,G为单位,提高信息的可读性

-s或–summarize 仅显示总计,即当前目录的大小。

常用:

查询当前目录下所有子目录总大小 并按大小排序

du -sh * | sort -nr

2. 查看当前目录下及子目录文件大小

按照文件从大到小排序查看当前目录下(包括子目录文件大小)前5个文件

du -ah | sort -rn | head -5

按照文件从大到小排序查看当前目录下(包括子目录文件大小)倒数5个文件

du -ah | sort -rn | tail -5

二、查看当前目录下及子目录文件个数

1. 只查看文件夹下的文件个数(当前目录的文件数)

ls -l |grep "^-" | wc -l

注意:该命令只查看到当前目录下文件的个数,不包含子目录、以及子目录下的文件。

说明:

ls -l长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep ^-这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

2. 查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数)

find ./ -type f | wc -l

三、 linux查看磁盘空间

df -h命令来查看磁盘信息, -h 选项为根据大小适当显示

df -h

linux看目录容量定位,linux查看目录的大小(占用量)

du -lh --max-depth=1 /path先在/path目录下找出最大的目录path1,然后再在path1下找出最大的目录,这样一级一级就可以找出占用空间最大的目录了du -lh --max-depth=1 /path/path1

四、linux ps命令查询进程启动和存活时间

linux ps命令查询进程启动和存活时间

ps -eo pid,lstart,etime,cmd | grep xxx

inux查看某个进程的启动时间

ps -p PID -o lstart

五、工作常见的一些占用空间大排查

pg数据库数据量很小但是data目录很大的排查

PostgreSQL的数据目录,其中保存着配置文件、数据文件、事务日志和WAL日志等重要文件,所有客户创建的数据文件和初始配置文件都可以在数据目录中找到,因此数据目录是重要的客户价值所在。

进入到pg的data目录下执行

du -sh * | sort -nr

排查data目录下的base文件占用大小

base目录存储用户创建的数据库文件,及隶属于用户数据库的所有关系,比如表、索引等。

base目录下存放的是数据文件,不能删~ 这个如果大,就只能扩容了。

排查data目录下的pg_wal目录占用大小。

du -sh {pg_wal,pg_xlog}

该目录下存放数据库的在线重做日志,可以通过max_wal_size和wal_keep_segments参数对wal日志保留上限进行限制。

排查data目录下的审计日志目录占用大小。

du -sh *audit*

排查data目录下的运行日志目录占用大小。

此类目录下存放数据库的审计日志,可以通过审计参数进行限制。

$ du -sh {pglog,log,postgresql_log}

排查data目录下的core文件占用大小。

du -sh core*

当data目录下存在core文件,说明数据库进程存在过崩溃,可通过core文件进行分析。

pg清理大数据量表

查看所有数据库的大小

select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;

查看表的总大小,包括索引大小

select pg_size_pretty(pg_total_relation_size('test'));

查看所有表所占磁盘空间大小

SELECT table_schema || '.' || table_name AS table_full_name, pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')AS sizeFROM information_schema.tablesORDER BYpg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;

清空某个表数据:

一般情况下,我们使用delete删除表中数据,但是delete是一条数据一条数据来删除表中的数据,直至表清空(保留表结构),但是当数据量很大时,它耗时较久。

其实,删除表数据但保留表结构使用truncate更快速安全!

TRUNCATE TABLE xxx;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。