概述
shell提供了很多在Linux文件系统上操作文件的命令。本节将带你逐步了解文件处理所需要的一些基本的shell命令。
创建文件
你总会时不时遇到要创建空文件的情况。例如,有时应用程序希望在它们写入数据之前,某个日志文件已经存在。这时,可用touch命令轻松创建空文件。
$ touch hello
$ ls -l hello
-rw-r--r-- 1 root root 0 May 8 10:48 hello
touch命令创建了你指定的新文件,并将你的用户名作为文件的属性。注意,文件的大小是零,因为touch命令只创建一个空文件。
复制文件
对于系统管理员来说,在文件系统中将文件和目录从一个位置复制到另一个位置可所谓家常便饭。cp命令可以完成这个任务。
在最基本的用法里,cp命令需要两个参数— 源对象和目标对象。
cp source destination
$ cp hello hello1
-rw-r--r-- 1 root root 0 May 8 10:48 hello
-rw-r--r-- 1 root root 0 May 8 11:01 hello1
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。
cp命令的-R参数威力强大,可以用它在一条命令中递归地复制整个目录的内容。
$ cp -R test/ mtest
链接文件
链接文件是Linux文件系统的一个优势。如需要再系统上维护同一个文件的两份或多份副本,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理文件副本或多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占位符。在Linux中有两种不同类型的文件链接:
- 符号链接
- 硬链接
符号链接就是一个实实在在的文件,它指向存放在虚拟目录中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
要为一个文件创建符号链接,原始文件必须事先存在。然后可以使用ln命令以及-s选项来创建符号链接。
$ ln -s hello hello2
$ ls -l
-rw-r--r-- 1 root root 0 May 8 10:48 hello
lrwxrwxrwx 1 root root 5 May 8 11:30 hello2 -> hello
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。要创建硬链接,原文件也必须事先存在,只不过这次使用ln命令时不需要加入额外的参数了。
$ ln hello hello3
$ ls -il
7078589 -rw-r--r-- 2 root root 0 May 8 10:48 hello
7078900 lrwxrwxrwx 1 root root 5 May 8 11:30 hello2 -> hello
7078589 -rw-r--r-- 2 root root 0 May 8 10:48 hello3
文件重命名
在Linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或重新命名。
$ mv hello hello4
也可以使用mv来移动文件的位置
$ mv hello test/
删除文件
在Linux中,删除叫作移除(removing)。bash shell中删除文件的命令时rm。
$ rm -f hello //-f 强制删除
总结
本节我们学习了shell文件处理命令,下一节我们将学习目录的处理命令。
本文介绍了Linux系统中使用shell命令进行文件操作的基本方法,包括使用touch创建文件、cp命令复制文件、ln创建链接(符号链接和硬链接)、mv命令重命名或移动文件,以及rm命令删除文件。这些是系统管理员日常工作中常用的文件管理技能。
5467

被折叠的 条评论
为什么被折叠?



