嵌入式Linux学习笔记(二)Linux 文件系统与磁盘管理

一、Linux文件系统简介

  • Linux 下常用的磁盘分割工具为:fdisk; Linux 下的文件系统 ext3、ext4 等。
  • 在 Windows 下我们创建一个新的盘符以后都要做格式化处理,格式化其实就是给这个盘符创建文件系统的过程;在 Linux 下使用 fdisk 创建好分区以后也是要先在创建好的分区上面创建文件系统。
  • 在 Linux 下创建一个分区并且格式化好以后我们要将其“挂载”到一个目录下才能访问这个分区,使用 mount 命令来挂载磁盘。

1、文件目录说明

  • Ubuntu 为每个用户创建了一个根目录,举例这里的用户根目录/home/david。
  • 用户可以对自己的用户根目录下的文件进行随意的读写操作,但是如果要修改根目录“/”
    下的文件就会提示没有权限,打开终端以后默认进入的是当前用户根目录
    在这里插入图片描述
    在这里插入图片描述
  • 系统根目录“/”
/bin :存储一些二进制可执行命令文件,/usr/bin 也存放了一些基于用户的命令文件。
/sbin :存储了很多系统命令,/usr/sbin 也存储了许多系统命令。
/root :超级用户 root 的根目录文件。
/home :普通用户默认目录,在该目录下,每个用户都有一个以本用户名命名的文件夹。
/boot :存放 Ubuntu 系统内核和系统启动文件。
/mnt :通常包括系统引导后被挂载的文件系统的挂载点。
/dev :存放设备文件,我们后面学习 Linux 驱动主要是跟这个文件夹打交道的。
/etc :保存系统管理所需的配置文件和目录。
/lib :保存系统程序运行所需的库文件,/usr/lib 下存放了一些用于普通用户的库文件。
/lost+found :一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件。
/var :存储一些不断变化的文件,比如日志文件
/usr :包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件。
/media :存放 Ubuntu 系统自动挂载的设备文件。
/proc :虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息。
/tmp :存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限。
/opt :可选文件和程序的存放目录。
/sys :系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

2、文件操作命令

(1)创建新文件命令—touch

touch [参数] [文件名]

-a :只更改存取时间。
-c :不建立任何文件。
-d<日期> :使用指定的日期,而并非现在日期。
-t<时间> :使用指定的时间,而并非现在时间。

(2)文件夹创建命令—mkdir

mkdir [参数] [文件夹名目录名]

-p :如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。

(3)文件及目录删除命令—rm

  • 直接使用命令“rm”是无法删除文件夹(目录)的,我们需要加上参数“-rf”,也就是强制递归删除文件夹(目录),rm testdir -rf
rm [参数] [目的文件或文件夹目录名]

-d :直接把要删除的目录的硬连接数据删成 0,删除该目录。
-f :强制删除文件和文件夹(目录)-i :删除文件或者文件夹(目录)之前先询问用户。
-r :递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。
-v :显示删除过程。

(4)文件夹(目录)删除命令—rmdir

rmdir [参数] [文件夹(目录)]

-p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一起删除。

(5)文件复制命令—cp

  • 通配符“”,“.c”表示所有以.c结尾文件。
cp [参数] [源地址] [目的地址]

-a :此参数和同时指定“-dpR”参数相同
-d :在复制有符号连接的文件时,保留原始的连接。
-f :强行复制文件,不管要复制的文件是否已经存在于目标目录。
-I :覆盖现有文件之前询问用户。
-p :保留源文件或者目录的属性。
 -r 或-R :递归处理,将指定目录下的文件及子目录一并处理

(5)文件移动命令—mv

mv [参数] [源地址] [目的地址]

-b :如果要覆盖文件的话覆盖前先进行备份。 
-f :若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。
-I :在覆盖之前询问用户。

3、文件压缩与解压缩

  • 可右键菜单,压缩与解压缩;
  • 也可使用指令。

(1)压缩指令

  • 将 test1 文件夹压缩为.bz2 和.gz 这两个格式
tar -vcjf test1.tar.bz2 test1
tar -vczf test1.tar.gz test1

(2)解压缩指令

  • .bz2 和.gz 格式文件的解压缩
tar -vxjf test1.tar.bz2
tar -vxzf test2.tar.gz

4、文件类型

- :普通文件,一些应用程序创建的,比如文档、图片、音乐等等。
d :目录文件。
c :字符设备文件,Linux 驱动里面的字符设备驱动,比如串口设备,音频设备等。
b :块设备文件,存储设备驱动,比如硬盘,U 盘等。
l :符号连接文件,相当于 Windwos 下的快捷方式。
s :套接字文件。
p :管道文件,主要指 FIFO 文件。

在这里插入图片描述

4、文件权限

  • 文件通常有三种权限:读®、写(w)和执行(x)。
  • “-rw-rw-r–”表示文件权限与用户和用户组之间的关系,第一位表示文件类型,剩下的 9 位以 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限以及其它用户权限。

(1)权限修改命令 chmod

chmod [参数] [文件名/目录名]

-c :效果类似“-v”参数,但仅回显更改的部分。
-f :不显示错误信息。
-R :递归处理,指定目录下的所有文件及其子文件目录一起处理。
-v :显示指令的执行过程。

在这里插入图片描述

二、Linux 磁盘管理

-Linux 中一般不叫“分区”而叫“挂载点”。
在这里插入图片描述
如/dev/sda1 就表示磁盘 sda 上的第一个分区。图中都是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上 U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc 等等。

1、磁盘管理命令

(1)磁盘分区命令 fdisk

fdisk [参数]

-b<分区大小> :指定每个分区的大小。
-l :列出指定设备的分区表。
-s<分区编号> :将指定的分区大小输出到标准的输出上,单位为块。
-u :搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。
  • 举例插入U盘,后输入分区指令,m可查看子指令
sudo fdisk /dev/sdb
  • 常用命令:
p :显示现有的分区
n :建立新分区
t :更改分区类型
d :删除现有的分区
a :更改分区启动标志
w :对分区的更改写入到硬盘或者存储器中。
q :不保存退出。

(2)格式化命令 mkfs

  • 使用命令 fdisk 创建好一个分区以后,需要对其格式化,也就是在这个分区上创建一个文件系统。
mkfs [参数] [-t 文件系统类型] [分区名称]

fs :指定建立文件系统时的参数
-V :显示版本信息和简要的使用方法。
-v :显示版本信息和详细的使用方法。
  • 举例:要格式化 U 盘的分区/dev/sdb1 为 FAT 格式
mkfs –t vfat /dev/sdb1

(3)挂载分区命令 mount

  • 创建好分区并且格式化以后肯定是要使用硬盘或者 U 盘的,比如 U 盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1 会发现根本就不是想要的结果。这就需要将/dev/sdb1 这个分区挂载到一个文件夹中,然后通过这个文件访问 U 盘。
mount [参数] -t [类型] [设备名称] [目的文件夹]

-V :显示程序版本。
-h :显示辅助信息。
-v :显示执行过程详细信息。
-o ro :只读模式挂载。
-o rw :读写模式挂载。
-s-r :等于-o ro。 -w :等于-o rw。
  • 挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般把挂载点放到“/mnt”目录下,在“/mnt”下创建一个 tmp 文件夹,然后将 U 盘的/dev/sdb1 分区挂载到/mnt/tmp 文件夹里面。然后就可以通过访问/mnt/tmp来访问U盘。
sudo mount -t vfat /dev/sdb1 /mnt/tmp

(4)卸载命令 umount

  • 不在需要访问已经挂载的 U 盘,可以通过 umount 将其从卸载点卸除
umount [参数] -t [文件系统类型] [设备名称]

-a :卸载/etc/mtab 中的所有文件系统。
-h :显示帮助。
-n :卸载时不要将信息存入到/etc/mtab 文件中
-r :如果无法成功卸载,则尝试以只读的方式重新挂载。
-t<文件系统类型> :仅卸载选项中指定的文件系统。
-v :显示执行过程。

-卸载U盘

sudo umount -t vfat /dev/sdb1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值