Centos下磁盘管理的常用命令记录
查看系统磁盘空间占用,使用命令:
df -h
结果:
查看磁盘inode使用情况,如果inode用完了,磁盘就没法写入新的内容了:
df -i
结果:
如何查找磁盘上的大文件:
linux下的find命令用来查找文件,通过man find就知道它是无所不能的。所以按照文件大小来查找文件就不在话下。从man find搜索size,可以看到如下信息:
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
b for 512-byte blocks (this is the default if no suffix is used)
c for bytes
w for two-byte words
k for Kilobytes (units of 1024 bytes)
M for Megabytes (units of 1048576 bytes)
G for Gigabytes (units of 1073741824 bytes)
注意:默认单位是b,而它代表的是512字节,如果不想自己转换,可以使用其他单位,如c、K、M等。
命令:
find {/path/to/directory/} -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ":" $5 }';
或者命令2(可按文件大小排序):
find {/path/to/directory/} -type f -size +100M -print0 | xargs -0 du -h | sort -nr
示例1:查找当前目录下大于100M的文件:
find . -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ":" $5 }';
比如结果:
./usr/lib/libmysqld.a:101M
./usr/local/mysql/lib/libmysqld.a:101M
./usr/local/TsysAgent/bin/monlog.log:2.4G
我们会发现 /usr/local/TsysAgent/bin/monlog.log 这个日志有2.4G大,这是腾讯云服务器上的产生的一个日志文件,我们可以删除掉它。
示例2:查找/usr/local目录下大于50M的文件:
find /usr/local -type f -size +50000k -exec ls -lh {} \; | awk '{ print $9 ":" $5 }';
当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容:
echo > /var/log/big.log 此命令会把/var/log目录中的big.log文件内容清除,而又不删除big.log文件
cat > /var/log/big.log 此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束
clear > /var/log/big.log 此命令会把big.log文件内容清空,而不删除文件
查看磁盘里有哪些大文件夹
du -h --max-depth=1 | sort -nr 或 du -hm --max-depth=1 | sort -nr
du命令的-m参数表示按MB字节单位排列。
sort命令:-n参数表示由小到大排序;-nr表示由大到小排序;
如果文件夹太多了,可以限制显示的数量:
du -hm --max-depth=1 | sort -nr | head -5
有时输错命令,如何撤销?
正常的做法是一直按后退键,也可以直接按下 Ctrl + C 直接放弃该行命令。