Linux(ubuntu)磁盘空间 一张图引发的一系列问题

#:df -h


由此图引发的一系列疑问。

每一列代表啥意思?
表示文件系统,文件系统类型, 大小 , 已用, 可用,已用占比, 挂载点 
这里的udev什么意思?
问:udev是什么? 它的目的何在?
答:udev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。

什么是tmpfs?
tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。

/dev/sda1 是什么意思?
首先/dev表示设备的意思,指的是一个物理设备,这里指的是硬盘。
其次/sda1,  前半部分sd一般是指SATA接口的硬盘(其中还有hd一般是指IDE接口的硬盘, 这里引发一个问题:ide接口与sata有啥区别,看下面), a代表第一个SATA接口的硬盘。如果我们的电脑上有多个硬盘还会有/sdb /sdc sdd 等等,1代表对a这个硬盘进行分区了,而且是第一个分区,分区又是什么?

分区又是什么?
分区简单说就是将一个整体按一定要求划分成几个小的东西。 这里的要求是一个硬盘怎么划分,让每一部分合理使用。
分区分为主分区, 扩展分区. 扩展分区必须经过再次的划分才能似乎用,就是逻辑分区了。

在Linux系统下(其他操作系统也有类似的规定),磁盘的分区大致可以分为三类,分别为主分区、扩展分区和逻辑分区等等。Linux系统管理员在部署系统时,必须要对这三个分区进行一个合理的规划,否则的话会浪费宝贵的硬盘空间。

通常情况下,一个硬盘中最多能够分割四个主分区。因为硬盘中分区表的大小只有64Bytes,而分割一个分区就需要利用16Bytes空间来存储这个分区的相关信息。由于这个分区表大小的限制,硬盘之能够分给为四个主分区。如果此时一块硬盘有120个G,而管理员划分了4个主分区,每个主分区的空间为20个G。那么总共才用去了80G的空间。这块硬盘剩余的40G空间就将无法使用。这显然浪费了硬盘的空间。

为了突破这最多四个主分区的限制,Linux系统引入了扩展分区的概念。即管理员可以把其中一个主分区设置为扩展分区(注意只能够使用一个扩展分区)来进行扩充。而在扩充分区下,又可以建立多个逻辑分区。也就是说,扩展分区是无法直接使用的,必须在细分成逻辑分区才可以用来存储数据。通常情况下,逻辑分区的起始位置及结束位置记录在每个逻辑分区的第一个扇区,这也叫做扩展分区表。在扩展分区下,系统管理员可以根据实际情况建立多个逻辑分区,将一个扩展分区划割成多个区域来使用。


挂载与挂载点是什么意思?
挂载概念简述
根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载
1.挂载:根文件系统外通过关联至根文件系统上的某个目录来实现访问
2.挂载点:mount_point,用于作为另一个文件系统的访问入口;

ide接口与sata有啥区别?

直观的区别:

SATA接口是串行数据接口,俗称串口
IDE接口是并行数据接口,俗称并口
外观基本相同,但连接线不同,传输速度sata优于ide的。ide是早期接口,现在都是sata形式接口。
IDE接口
Linux对连接到IDE接口的硬盘使用/dev/hdx的方式命名,x的值对应于硬盘安装位置,其值可以是a, b, c, d
SCSI(SATA)接口
对于连接到SCSI接口的设备通常使用ID号进行区别,SCSI设备ID号范围是0-15,SCSI主控制器通常占用ID号7,所以SCSI最多可以连接15个设备。Linux对连接到SCSI接口卡的硬盘使用//dev/sdx的方式命名,x的值为a, b等,即ID号为0的SCSI硬盘名为//dev/sda, ID号为1的SCSI硬盘名为//dev/sdb,以此类推。

现在的内核都会把硬盘,移动硬盘,U盘之类的识别为sdX的形式
Linux上面设备皆文件,目前需要知道的,比如U盘和SARA硬盘的在Linux上面的文件名,/dev/sd[a-p]。与IDE接口不同的是,SATA/USB接口的磁盘没有一定的顺序,这里就根据Linux内核检测到磁盘的顺序。
比如PC上面有两个SATA磁盘和一个USB磁盘,而主板上面有六个SATA的插槽。这两个插槽安插在主板上的SATA1,SATA5上面,这三个磁盘在Linux中的设备文件名是什么?由于是使用检测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备的文件名如下。SATA1插槽上的文件名是/dev/sda ,SATA5插槽上的文件名是/dev/sdb ,USB磁盘(开机完成后才被系统识别)的文件名是/dev/sdc。


如何查看我有几个硬盘, 每个分区的大小:

sudo fdisk -l

从图上可以看到只有一个硬盘,有一个主分区sda1,一个扩展分区sda2,有一个逻辑分区sda5

或者:

从图上看到有一个硬盘sda1,以及磁盘使用情况。

如何找出哪个文件夹占用较多空间,哪个文件太大?

查看磁盘剩余多少空间:
df -hT
查看当前文件占用大小,查看指定文件占用大小:
sudo du --max-depth=0 -h
T450:~$ sudo du --max-depth=0 -h
4.4G .

T450:~$ sudo du --max-depth=1 -h


查看指定文件的大小另一种方式:
T450:~$ sudo du -sh /var/log/
35M /var/log/

有个分区被占满,想知道是那个文件占用较多?
sudo du -sh /* | sort -nr    可以得到 /目录所有目录大小的排序结果

找出占用最大的目录,然后继续,深入下一个目录
sudo du -sh /log | sort -nr
sudo du -sh /var/log/httpd/* | sort -nr

1:删除临时文件

BleachBit几乎是一个Linux上的CCleaner。它能扫描出你电脑上没用的临时文件,并自动删除它们来清理空间。它能找出电脑上的缓存、浏览历史和临时文件

下载地址:选择适合自己操作系统的安装包  https://www.bleachbit.org/download

安装后: sudo bleachbit


2:分析硬盘使用情况,利用ubuntu系统自带工具

Ubuntu自带了一个能够扫描你的系统并显示出占用空间最大的目录和文件的图像概览。当你在清理空间时,这将非常有帮助——你是否把一个虚拟机或者其他的大文件忘在你的home目录了?这个工具能把它们找出来并直观的显示出它所占的空间。

在软件中心中查找Disk Usage Analyzer, 如果没有也可以通过命令行安装:sudo apt-get install baobab


3:

推荐阅读更多精彩内容

  • Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本...
    偷风筝的人_阅读 1,967评论 1 17
  • Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。 内核、shell和文件系统一起形成了基本...
    请爱护小动物阅读 1,471评论 0 22
  • 纸人的复仇 本故事由真事改编,由真人讲述。 作者:SN 讲述:袁姗 (也许你也曾经历过一些无法想象的事?那...
    SN绿萝阅读 346评论 21 6
  • 我是在求学时参加学校长跑训练队时学会长跑的。那时每天下午准时在体育老师带领下,全校长跑训练队集合起跑,一跑就是五公...
    昆山惠黎劳务阅读 39评论 0 1
  • 一周灸六天 艾灸注意事项PS: 1月经期不能灸肚子的穴位。其他部位可以,一般不建议。 2每次灸完以后抹一下座底,还...
    小艾xie阅读 59评论 0 0