嵌入式Linux开发学习之Linux文件操作常用命令详解

2019-10-22 08:39发布

1、创建新文件命令—touch

在前面学习 VIM 的时候我们知道可以用 vi 指令来创建一个文本文档,本文我们就学习一个功能更全面的文件创建命令—touch。touch

不仅仅可以用用来创建文本文档,其它类型的文档也可以创建,命令格式如下:

 touch [参数] [文件名] 

使用 touch 创建文件的时候,如果[文件名]的文件不存在,那就直接创建一个以[文件名]命名的文件,如果[文件名]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:

-a 只更改存取时间。

-c 不建立任何文件。

-d<日期> 使用指定的日期,而并非现在日期。

-t<时间> 使用指定的时间,而并非现在时间。

进入到用户根目录下,直接使用命令“cd ~”即可快速进入用户根目录,进入用户根目录以后使用 touch 命令创建一个名为 test 的文件,创建过程如图所示:

touch命令操作

2、文件夹创建命令—mkdir

既然可以创建文件,那么肯定也可以创建文件夹,创建文件夹使用命令“mkdir”,命令格式如下:

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

主要参数如下:

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

我们在用户根目录下创建两个分别名为“testdir1”和“testdir2”的文件夹,操作如图所示:

创建文件夹

在图中,我们使用命令“mkdir”创建了“testdir1”和“testdir2”这两个文件夹。

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

既然有创建文件的命令,那肯定有删除文件的命令,要删除一个文件或者文件夹可以使用命令“rm”,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是Windows 下的快捷方式文件,此命令格式如下:

 rm [参数] [目的文件或文件夹目录名] 

命令主要参数如下:

-d 直接把要删除的目录的硬连接数据删成 0,删除该目录。

-f 强制删除文件和文件夹(目录)。

-i 删除文件或者文件夹(目录)之前先询问用户。

-r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。

-v 显示删除过程。

我们使用 rm 命令来删除前面使用命令“touch”创建的 test 文件,操作过程如图所示:

删除文件

命令“rm”也可以直接删除文件夹,我们可以试一下删除前面创建的 testdir1 文件夹,先直接使用命令“rm testdir1”测试一下是否可以删除,结果如图所示:

删除文件夹

在图中可以看出,直接使用命令“rm”是无法删除文件夹(目录)的,我们需要加上参数“-rf”,也就是强制递归删除文件夹(目录),操作结果如图所示:

带参数删除文件夹

从图可以看出,当在命令“rm”中加入参数“-rf”以后就可以删除掉文件夹“testdir1”

了。

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

上面我们讲解了如何使用命令“rm”删除文件夹,那就是要加上参数“-rf”,其实 Linux 提供了直接删除文件夹(目录)的命令—rmdir,它可以不加任何参数的删除掉指定的文件夹(目录),命令格式如下:

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

命令主要参数如下:

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

我们使用命令“rmdir”删除掉前面创建的“testdir2”文件夹,操作过程如图所示:

5、文件复制命令—cp

在 Windows 下我们可以通过在文件上点击鼠标右键来进行文件的复制和粘贴,在

Ubuntu下我们也可以通过点击文件右键进行文件的复制和粘贴。但是本节我们来讲解如何在终端下使用命令来进行文件的复制,Linux 下的复制命令为“cp”,命令描述如下:

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

主要参数描述如下:

-a 此参数和同时指定“-dpR”参数相同

-d 在复制有符号连接的文件时,保留原始的连接。

-f 强行复制文件,不管要复制的文件是否已经存在于目标目录。

-I 覆盖现有文件之前询问用户。

-p 保留源文件或者目录的属性。

-r 或-R 递归处理,将指定目录下的文件及子目录一并处理

我们在用户根目录下,使用前面讲解的命令“mkdir”创建两个文件夹:test1 和 test2,过程如图所示。

创建test1和test2两个文件夹

进入上面创建的 test1 文件夹,然后在 test1 文件夹里面创建一个 a.c 文件,操作过程如图所示:

创建a.c文件

我们先将图中的 a.c 这个文件做个备份,也就是复制到同文件夹 test1 里面,新的文件命名为 b.c。然后在将 test1 文件夹中的 a.c 和 b.c 这两个文件都复制到文件夹 test2 中,操作如图 所示:

拷贝文件

在图中,我们添加了一些高级使用技巧,首先是拷贝 a.c 和 b.c 文件到 test2 文件夹中,我们使用了通配符“*”,“*.c”就表示 test1 下的所有以“.c”结尾的文件,也就是 a.c 和b.c。

“../test2”中的“../”表示上级目录,因此“../test2”就是上级目录下的 test2 文件夹。

上面都是文件复制,我们接下来学习一下文件夹复制,我们将 test2 文件夹复制到同目录下,新拷贝的文件夹命名为 test3,操作如图所示:

拷贝文件夹

6、文件移动命令—mv

有时候我们需要将一个文件或者文件夹移动到另外一个地方去,或者给一个文件或者文件夹进行重命名,这个时候我们就可以使用命令“mv”了,此命令格式如下:

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

主要参数描述如下:

-b 如果要覆盖文件的话覆盖前先进行备份。

-f 若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。

-I 在覆盖之前询问用户。

使用上面讲解“cp”命令的时候创建了三个文件夹,在上面创建的 test1 文件夹里面创建一个 c.c 文件,然后将 c.c 这个文件重命名为 d.c。最后将 d.c 这个文件移动到 test2 文件夹里面,操作如图所示:

移动文件操作

我们再将 test1 中的 d.c 文件移动到 test2 文件夹里面,操作如图所示:

移动文件操作