linux命令-查看当前目录当前目录剩余空间以及目录文件大小和个数(pg清理大数据量表)

一、查看当前目录当前目录剩余空间以及目录文件大小和个数(pg清理大数据量表)

1. linux当前目录剩余空间怎么查看

要查看当前目录剩余空间,您可以使用以下命令:

df -h .

该命令会显示当前目录所在的文件系统的磁盘空间信息,包括已使用空间、可用空间和文件系统挂载点。选项"-h"可以以人类可读的方式显示磁盘空间大小。点号"."表示当前目录。

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

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

du -sh * | sort -nr 

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

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

# du -sh * | sort -nr
19M     Python27
4.0K    test
0       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 

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

按照文件从大到小排序查看当前目录下(包括子目录文件大小)前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 
  1. 排查data目录下的base文件占用大小
    base目录存储用户创建的数据库文件,及隶属于用户数据库的所有关系,比如表、索引等。

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

  1. 排查data目录下的pg_wal目录占用大小。
du -sh {pg_wal,pg_xlog}

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

  1. 排查data目录下的审计日志目录占用大小。
du -sh *audit*
  1. 排查data目录下的运行日志目录占用大小。
    此类目录下存放数据库的审计日志,可以通过审计参数进行限制。
$ du -sh  {pglog,log,postgresql_log}     
  1. 排查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 size
FROM information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;

清空某个表数据:
一般情况下,我们使用delete删除表中数据,但是delete是一条数据一条数据来删除表中的数据,直至表清空(保留表结构),但是当数据量很大时,它耗时较久。
  其实,删除表数据但保留表结构使用truncate更快速安全!

TRUNCATE TABLE xxx;
  • 29
    点赞
  • 198
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值