嵌入式Linux学笔记(3)Linux文件结构和基本操作

Linux文件系统结构

Linux系统下的根目录是“/”,系统会为每一个用户再分配一个用户根目录“/home/username”

用户目录下的所有文件随意读写操作,根目录下的一切文件操作都需要root权限

根目录 “/”中的一些重要的文件夹:
/bin 存储一些二进制可执行命令文件, /usr/bin也存放了一些基于用户的命令文件。
/sbin 存储了很多系统命令,/usr/sbin也存储了许多系统命令。
/root 超级用户 root的根目录文件。
/home 普通用户默认目录,在 该目录下,每个用户都有一个以本用户名命名的文件夹。
/boot 存放 Ubuntu系统内核和系统启动文件。
/mnt 通常包括系统引导后被挂载的文件系统的挂载点。
/dev 存放设备文件。
/etc 保存系统管理所需的配置文件和目录。
/lib 保存系统程序运行所需的库文件, /usr/lib下存放了一些用于普通用户的库文件。
/lost+found 一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件。
/var 存储一些不 断变化的文件,比如日志文件
/usr 包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件。
/media 存放 Ubuntu系统自动挂载的设备文件。
/proc 虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息。
/tmp 存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限。
/opt 可选文件和程序的存放目录。
/sys 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

常用文件操作命令

1、创建新文件命令 touch

touch不仅仅可以用用来创建文本文档,其它类型的文档也可以创建,命令格式如下:
touch [参数 ] [文件名 ]
使用 touch创建文件的时候,如果 [文件名 ]的文件不存在,那就直接创建一个以 [文件名 ]命名的文件,如果 [文件名 ]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:
-a 只更改存取时间。
-c 不建立任何文件。
-d<日期 > 使用指定的日期,而并非现在日期。
-t<时间 > 使用指定的时间,而并非现在时间。
进入到用户根目录下,直接使用命令“ cd ~”即可快速进入用户根目录,进入用户根目录以后使用 touch命令创建一个名为 test的文件

2、文件夹创建命令 mkdir

既然可以创建文件,那么肯定也可以创建文件夹,创建文件夹使用命令“ mkdir”,命令格式如下:
mkdir [参数 ] [文件夹名目录名 ]
主要参数如下:
-p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。

3、文件及目录删除命令 rm

既然有创建文件的命令,那肯定有删除文件的命令,要删除一个文件或者文件夹可以使用命令“ rm”,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是 Windows下的快捷方式文件,此命令格式如下:
rm [参数 ] [目的文件或文件夹目录名 ]
命令主要参数如下:
-d 直接把要删除的目录的硬连接数据删成 0,删除该目录。
-f 强制删除文件和文件夹 (目录 )。
-i 删除文件或者文件夹 (目录 )之前 先询问用户。
-r 递归删除,指定文件夹 (目录 )下的所有文件和子文件夹全部删除掉。
-v 显示删除过程。

特别的,如果要强制删除一个非空的目录,可以直接使用命令rm -rf xxxdir

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

上面说如何使用命令“ rm”删除文件夹,那就是要加上参数 “-rf”,其实 Linux提供了直接删除文件夹 (目录 )的命令 rmdir,它可以不加任何参数的删除掉指定的文件夹 (目录)命令格式如下:
rmdir [参数 ] [文件夹 (目录 )]
命令主要参数如下:
-p 删除指定的文件夹 (目录 )以后,若上层文件夹 (目录 )为空文件夹 (目录 )的话就将其一起删除。

5、文件复制命令 cp

在 Ubuntu下也可以通过 点击文件右键进行文件的复制和粘贴。终端下使用命令来进行文件的复制, Linux下的复制命令为“ cp”,命令描述如下
cp [参数 ] [源地址 ] [目的地址 ]
主要参数描述如下:
-a 此参数和同时指定“ “-dpR”参数相同
-d 在复制有符号连接的文件时,保留原始的连接。
-f 强行复制文件,不管要复制的文件是否已经存在于目标目录。
-I 覆盖现有文件之前询问用户。
-p 保留源文件或者目录的属性。
-r或 -R 递归处理,将指定目录下的文件及子目录一并处理

6、文件移动命令 mv

有时候我们需要将一个文件或者文件夹移动到另外一个地方去,或者给一个文件或者文件夹进行重命名,这个时候我们就可以使用命令“ mv”了,此命令格式如下
mv [参数 ] [源地址 ] [目的地址 ]
主要参数描述如下:
-b 如果要覆盖文件的话覆盖前先进行备份。
-f 若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。
-I 在覆盖之前询问用户。

文件压缩和解压缩

ubuntu下已经可以通过鼠标右键进行简单的文件压缩和解压缩操作,非常方便,这里不提,只说如何用命令行操作

1、命令 zip

zip命令看名字就知道是针对 .zip文件的,用于将一个或者多个文件压缩成一个 .zip结尾的文件,命 令格式如下:
zip [参数 ] [压缩文件名 .zip] [被压缩的文件 ]
主要参数函数如下:
-b<工作目录 > 指定暂时存放文件的目录。
-d 从 zip 文件中删除一个文件。
-F 尝试修复已经损毁的压缩文件。
-g 将文件压缩入现有的压缩文件中,不需要新建压缩文件。
-h 帮助。
-j 只保存文件的名,不保存目录。
-m 压缩完成以后删除源文件。
-n<字尾符号 > 不压缩特定扩展名的文件。
-q 不显示压缩命令执行过程。
-r 递归压缩,将指定目录下的所有文件和子目录一起压缩。
-v 显示指令执行过程。
-num 压缩率,为 1~9的数值。

如: zip -rv test2.zip test2,讲test2及其下所有文件压缩为test2.zip

2、 命令 unzip

unzip命令用于对 .zip格式的压缩包进行解压,命令格式如下:
unzip [参数 ] [压缩文件名 .zip]
主要参数如下:
-l 显示压缩文件内所包含的文件。
-t 检查压缩文件是否损坏,但不解压。
-v 显示命令显示的执行过程。
-Z 只显示压缩文件的注解。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中的原有目录路径。
-L 将压缩文件中的全部文件名改为小写。
-n 解压缩时不要覆盖原有文件。
-P<密码 > 解压密码。
-q 静默执行,不显示任何信息。
-x<文件列表 > 指定不要处理 .zip中的哪些文件。
-d<目录 > 把压缩文件解到指定目录下。

对上面压缩的 test2.zip文件使用 unzip命令进行解压缩,操作如: unzip test2.zip

3、命令 tar

前面讲的 zip和 unzip这两个是命令只适用于 .zip格式的压缩和解压,其它压缩格式就用不了了,比如 Linux下最常用的 .bz2和 .gz这两种压缩格式。其它格式的压缩和解压使用命令tar, tar将压缩和解压缩集合在一起,使用不同的参数即可,命令格式如下:
tar [参数 ] [压缩文件名 ] [被压缩文件名 ]
常用参数如下:
-c 创建新的压缩文件。
-C<目的目录 > 切换到指定的目录。
-f<备份文件 > 指定压缩文件。
-j 用 tar生成压缩文件,然后用 bzip2进行压缩。
-k 解开备份文件时,不覆盖已有的文件。
-m 还原文件时,不变更文件的更改时间。
-r 新增文件到已存在的备份文件的结尾部分。
-t 列出备份文件内容。
-v 显示指令执行过程。
-w 遭遇问题时先询问用户。
-x 从备份文件中释放文件,也就是解压缩文件。
-z 用 tar生成压缩文件,用 gzip压缩。
-Z 用 tar生成压缩文件,用 compress压缩。

使用 tar命令来进行 .bz2和 .gz格式的文件压缩,常用操作如下:
tar -vcjf test1.tar.bz2 test1
tar -vczf test1.tar.gz test1

解压操作如下:
tar -vxjf test1.tar.bz2
tar -vxzf test2.tar.gz

磁盘管理命令

1、磁盘分区命令 fdisk

如果要对某个磁盘进行分区,可以使用命令 fdisk,命令格如下
fdisk [参数 ]
主要参数如下:
-b<分区大小 > 指定每个分区的大小。
-l 列出指定设备的分区表。
-s<分区编号 > 将指定的分区大小输出到标准的输出上,单位为块。
-u 搭配“ “-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。
比如我要对 U盘进行分区, 千万不要对自己装 Ubuntu系统进行分区!!! 可以使用如下命令:
sudo fdisk /dev/sdb

2、格式化命令 mkfs

使用命令 fdisk命令创建好一个分 区以后,我们需要对其格式化,也就是在这个分区上创建一个文件系统, Linux下的格式化命令为 mkfs,命令格式如下
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,命令格式如下
mount [参数 ] -t [类型 ] [设备名称 ] [目的文件夹 ]
命令主要参数有:
-V 显示程序版本。
-h 显示辅助信息。
-v 显示执行过程详细信息。
-o ro 只读模式挂载。
-o rw 读写模式挂载。
-s-r 等于 -o ro。
-w 等于 -o rw。
挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到“ /mnt目录下,在“ /mnt”下创建一个 tmp文件夹,然后将 U盘的 /dev/sdb1分区挂载到 /mnt/tmp文件夹里面,操作:mount -t vfat /dev/sdb1 /mnt/temp,将U盘的低分区sdb1以fat文件格式挂载到/mnt/tmp文件夹下,此时我们在 ls /mnt/tmp就能看到U盘下的文件

4、 卸载命令 umount

当我们不在需要访问已经挂载的 U盘,可以通过 umount将其从卸载点卸除,命令格式如下:
umount [参数 ] -t [文件系统类型 ] [设备名称 ]
-a 卸载 /etc/mtab中的所有文件系统。
-h 显示帮助。
-n 卸载时不要将信息存入到 /etc/mtab文件中
-r 如果无法成功卸载,则尝试以只读的方式重新挂载。
-t<文件系统类型 > 仅卸载选项中指定的文件系统。
-v 显示执行过程。
上面我们将 U盘挂载到了文件夹 /mnt/tmp里面,这里我们使用命令 umount将其卸载掉,操作:umount -t vfat /dev/sdb1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值