Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】

    Linux操作系统(DeepinUbuntu)操作系统中,硬盘分区的管理与Windows操作系统不同;

    在Linux系统中维护着一个统一的文件目录体系,而硬盘和分区是以资源的形式由操作系统挂接和调度;此外Linux系统中连接(硬连接/软连接/别名)到处都是,需要对其有一定的理解;

    以下对Linux系统的硬盘/分区和文件目录体系以及连接分别进行说明。


  • 硬盘/分区和文件目录体系

    ​ Linux中的磁盘和Window系统一样,都属于物理存储设备,都需要进行分区之后再使用。但是硬盘【或移动硬盘、U盘等】插入并识别成功后,是不可能点开移动硬盘的盘符来进行访问的。如下图所示,Deepin的“计算机”能看到硬盘但不能到分区盘符;
Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】_第1张图片

    ​ Linux的文件目录体系就像是一个完整的世界;需要在Linux系统的文件目录体系中开辟挂载点,将硬盘的分区挂接到这个世界的入口【挂载点】,才能通过这个挂载点来访问硬盘分区。所以Linux系统的一个文件夹下面,可以挂接多个硬盘分区,剩余的空间为这几个硬盘分区剩余空间之和。如下图所示:
Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】_第2张图片

​     所有在Linux系统挂接的存储设备,都是在/dev/这个位置下面【这个位置不能像文件夹一样访问】,比如第一块硬盘一般是/dev/sda,第二块硬盘一般是/dev/sdb;【相关文章:Deepin/Ubuntu第二块硬盘配置管理】

  1. 查看磁盘和分区
lsblk	# 列出块设备的信息,如硬盘、分区等
# 执行结果 sda1即为第一块硬盘的第一个分区
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  1.5G  0 part /boot
├─sda2   8:2    0    1K  0 part
......

sudo fdisk -l # 查看磁盘分区表, 也可以用fdisk来对硬盘进行分区操作
# 执行结果
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
......
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048   3147775   3145728  1.5G 83 Linux
/dev/sda2         3147776 174063615 170915840 81.5G  5 Extended
......
  1. 查看Linux文件目录体系
df # 显示已挂载的磁盘的文件系统使用情况
# 执行结果 挂载点即为文件目录体系,其中/dev是不可使用的
文件系统          1K-块     已用     可用 已用% 挂载点
udev            1947292        0  1947292    0% /dev
tmpfs            399020     3216   395804    1% /run
/dev/sda5      30786468  9049016 20148256   31% /
......


df -h # 以人类易读的格式显示已挂载的磁盘的文件系统使用情况
# 执行结果 挂载点即为文件目录体系,其中/dev是不可使用的
文件系统        容量  已用  可用 已用% 挂载点
udev            1.9G     0  1.9G    0% /dev
tmpfs           390M  3.2M  387M    1% /run
/dev/sda5        30G  8.7G   20G   31% /
......
  1. 将硬盘分区挂接到Linux文件目录体系
# 创建挂载点
sudo mkdir /mnt/sdb              # 创建挂载点/mnt/sdb
sudo mount /dev/sdb /mnt/sdb     # 将/dev/sdb挂接到挂载点,接下来可以在目录/mnt/sdb中访问了【第二块硬盘只有一个分区】
sudo unmount /mnt/sdb            # 将挂载点离线,硬盘分区就不可访问了
# 冷知识:如果在/mnt/sdb/下有文件的情况下,将硬盘分区挂接到/mnt/sdb,则这个目录原始的文件将会“隐身”
# 只有将挂载点/mnt/sdb/离线,才能从文件系统再访问到喔
  1. Linux文件目录体系基本操作
# 创建和删除文件夹
mkdir test	# 创建文件夹
rmdir test	# 删除空文件夹
rm -r test  # 删除文件夹【无论是否空】

# 文件复制和移动、改名、删除
cp test.dat testbak.dat  # 复制文件test.dat为testbak.dat
mv test.dat test_bak.dat # 将test.dat改名/移动为test_bak.dat
rm test_bak.dat          # 删除文件test_bak.dat
  1. 查看文件/目录占用磁盘空间
sudo du /var --max-depth=1 
# 查看目录/var下文件或文件夹占用磁盘空间,展开层级为1
# 执行结果
4       /var/public
539244  /var/log
4       /var/local
......

sudo du -h /var --max-depth=1 
# 执行结果
4.0K    /var/public
527M    /var/log
4.0K    /var/local
......

  • 连接(硬连接/软连接)

     ​ 在Linux系统中,硬连接和软连接是两种不同的文件连接方式,它们在实现方式和用途上有所区别。

     ​ 硬连接是指通过索引节点进行的连接,类似于复制多份文件;只有文件才能建立硬连接,而目录则不能。硬连接可以用于防止“误删”的功能,只有当最后一个硬连接被删除后,才能真正删除硬连接相关的文件。

    ​ 软连接则是一种特殊类型的文件,文件或目录都可以建立软连接文件。软连接文件中包含的是另一文件或目录的位置信息。软连接可以跨越文件系统,即使目标文件或目录已经被删除,软连接仍然存在,但指向的是一个不存在的文件或目录,所以软连接可能是失效的。

     ​ 下面是硬连接和软连接相关的shell示例【硬连接和软连接都是使用ln命令创建】

  1. 创建硬连接
ln /path/to/original_file hardlink_name
# 使用ln命令创建一个指向original_file的硬连接,命名为hardlink_name
  1. 创建软连接
ln -s /path/to/original_file symlink_name
# 使用ln命令创建一个指向original_file的软连接,命名为symlink_name
  1. 删除硬连接、软连接
rm hardlink_name	# 删除硬连接
rm symlink_name		# 删除软连接
# 可以看到,删除硬连接、软连接的shell命令和删除文件是一样的
  1. 查看软连接信息
cat symlink_name	# 查看软连接的内容,将显示原始文件或目录的路径
test -e symlink_name && echo "Valid symlink" || echo "Broken symlink"
# 如果软连接有效,显示"Valid symlink",否则显示"Broken symlink"

上一篇:Deepin基本环境查看(三)【网络信息】

may the odds be ever in your favor ~

你可能感兴趣的:(#,Deepin使用经验,deepin,linux,ubuntu,运维)