文章目录
一、查看当前目录当前目录剩余空间以及目录文件大小和个数(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 -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
脚本判断某个目录剩余空间是否满足要求
#!/bin/bash # 设定所需的最小可用空间(以 GB 为单位) REQUIRED_SPACE_GB=100 # 获取指定目录的可用空间 AVAILABLE_SPACE_GB=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//') # 比较可用空间与所需空间 if [ "$AVAILABLE_SPACE_GB" -lt "$REQUIRED_SPACE_GB" ]; then #输出红色文本 echo -e "\033[31m警告: 磁盘空间不足!当前可用空间: ${AVAILABLE_SPACE_GB}G, 需要: ${REQUIRED_SPACE_GB}G\033[0m" exit 1 else echo "磁盘空间充足: ${AVAILABLE_SPACE_GB}G" fi
REQUIRED_SPACE_GB=100
: 设置一个变量 REQUIRED_SPACE_GB,表示需要的最小可用磁盘空间为 100 GB。df -BG /
: df 命令显示文件系统的磁盘空间使用情况。-BG 选项使输出单位为 GB(即以 GB 为单位显示)。| awk 'NR==2 {print \$4}'
: 通过管道将 df 的输出传递给 awk,NR==2 {print $4} 表示取第二行的第四列(通常是可用空间列)。df 的输出格式在不同系统上可能有所不同,因此这是一个通用的方法来提取第二行的第四列。| sed 's/G//'
: 通过管道将 awk 的输出传递给 sed,sed ‘s/G//’ 用于去掉单位后缀 G,只保留数字部分(即可用空间的实际数字)。
四、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 size FROM information_schema.tables ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;
清空某个表数据:
一般情况下,我们使用delete删除表中数据,但是delete是一条数据一条数据来删除表中的数据,直至表清空(保留表结构),但是当数据量很大时,它耗时较久。
其实,删除表数据但保留表结构使用truncate更快速安全!
TRUNCATE TABLE xxx;
今天的文章
linux命令-查看当前目录当前目录剩余空间以及目录文件大小和个数(pg清理大数据量表)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/103510.html