Linux常用操作
1.查看磁盘使用情况
[root@izuf ~]# lsblk //查看磁盘大小
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 200G 0 disk
[root@izuf ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008d73a
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@izuf ~]#
上边可以看出一个磁盘40g,另一个215g,上边的/dev/vda1是系统引导盘,这个一般在linux中装好系统后都会有,下边的/dev/vdb是另一部分空间.
2.查看磁盘挂载情况
[root@izuf ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 16G 22G 42% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 620K 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 379M 0 379M 0% /run/user/0
[root@izuf ~]#
可以看出和上边的对比,只有/dev/vda1的磁盘空间.发现没有200多g的那个磁盘目录,也就是说有200多g空间没有分区和挂载,所以也就没有/dev/vdb挂载的目录.
Mounted on'表示挂载的目录, /dev/vda1 挂载在根目录/下
3.查看文件大小,并查找大小不一致原因
[root@izuf vdb1]# ll -h
total 20K
drwxr-xr-x 3 4.0K Feb 25 15:24 ftp
drwx------ 2 16K Feb 25 13:51 found
[root@izuf vdb1]# du -sh //查看当前目录大小
104K .
[root@izuf vdb1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 8.8G 29G 24% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 468K 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 379M 0 379M 0% /run/user/0
/dev/vdb1 197G 61M 187G 1% /vdb1
[root@izuf vdb1]#
从上可以看出,磁盘/dev/vdb1挂载在/vdb1下边,已经使用了61M的空间,但是这个磁盘下只有两个文件夹,ftp和found两个件夹,总共也就104K,剩余那么多的空间去哪了呢?
[root@izuf vdb1]# lsof -n | grep deleted
tuned 920 root txt REG 253,1 7136 1051894 /usr/bin/python2.7;5e09a935 (deleted)
...
...
tuned 920 1413 root txt REG 253,1 7136 1051894 /usr/bin/python2.7;5e09a935 (deleted)
mysqld 1381 2181 mysql 11u REG 253,1 0 393791 /tmp/ibxiZJIz (deleted)
....
....
mysqld 1381 2493 mysql 7u REG 253,1 0 393790 /tmp/ibaaNMeH (deleted)
mysqld 1381 2493 mysql 11u REG 253,1 0 393791 /tmp/ibxiZJIz (deleted)
[root@izuf vdb1]#
发现里边的mysql和python两个程序删除的文件还在占用空间.把这两个程序重启下就可以了
4.tomcat临时目录文件删除前后df -h命令
[root@izuf tomcat]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 16G 22G 43% /
[root@izuf tomcat]# ./tomcat.sh
---------- Shutdown begin
...
...
Tomcat started.
PID 25739
---------- Startup Complete
[root@izuf tomcta]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 8.1G 30G 22% /
[root@izuf tomcta]#
tomcat临时文件大概有8g,删除前df -h查询出used是16个g,在tomcat运行的情况之下手动把临时文件删除,再次df -h发现还是16个g,重启tomcat后发现剩余8个g,说明已经删除的文件如果还有句柄引用在,df -h就不会统计
5.磁盘空间根目录占满
du -h -x --max-depth=1
通过此命令可以一级一级往下查大文件
[root@/]# du -h -x --max-depth=1
4.0K ./backup
30M ./tmp
1.4G ./root
1.6G ./opt
4.0K ./media
787M ./var
4.0K ./srv
37M ./etc
660M ./home
4.0K ./mnt
186M ./boot
3.6G ./vdb
2.9G ./usr
16K ./lost+found
11G .
6.查找文件
在linux系统中字母d表示目录,文件夹(directory).f表示文件(file)
(1)根据文件名称查找文件
find 查找目录 -name 查找文件的名称
#示例:从根目录下查找文件名称为nginx.conf的文件
[root@izz /]# find / -name 'nginx.conf'
/usr/nginx/nginx-1.16.1/conf/nginx.conf
/usr/local/nginx/conf/nginx.conf
[root@izz /]#
(2)根据条件查找文件
find 查找目录 -type f 查找的条件
#示例:查找文件名为nginx.conf的文件
[root@izz /]# find / -type f -name 'nginx.conf'
#示例:查找文件名包含nginx的文件
[root@izz /]# find / -type f -name '*nginx*'
#示例:查找大于10M的文件
[root@izz /]# find / -type f -size +10M
7.查找文件夹
(1)根据名称查找文件夹
find 查找目录 -type d 查找的条件
#示例:查找名称为nginx的文件夹
[root@izz /]# find / -type d -name 'nginx'
#示例:查找名称包含nginx的文件夹
[root@izz /]# find / -type d -name '*nginx*'
#示例:查找名称包含nginx的文件夹
[root@izz /]# find / -type d -name '*nginx*'
du -hm --max-depth=1
(2)查找大文件夹
#查看当期目录下的文件夹的大小,-hm表示按照M单位展示,--max-depth=1表示只查看当前目录下一级目录
[root@izz /]# du -hm --max-depth=1
#查看当前目录下的文件夹大小,sort -n表示排序
[root@izz /]# du -hm --max-depth=1 |sort -n
#单独查看某一个目录的大小
[root@izz /]# du -sh /home/nginx
#单独查看某一个目录的大小,以M的单位展示
[root@izz /]# du -sh /home/nginx