14.4. 在 shell 提示下操作文件

你可以使用 NautilusKonqueror之类的图形化文件管理器来操作文件。你还可以使用 shell 提示来操作它们,这种方法通常较快。下面的章节解释了在 shell 提示下操作文件的方法。

14.4.1. 创建文件

你可以通过应用程序(如文本编辑器)或使用 touch 命令来创建新文件。这两种方法都会创建一个空白的文件,你可以在其中添加文本或数据。要使用 touch 命令来创建文件,在 shell 提示下键入以下命令:

touch <文件名>

<文件名> 替换成你选定的名称。如果你列举一下目录内容,你会看到该文件的大小为零,这是因为它是一个空文件。譬如,在 shell 提示下键入命令 ls -l newfile 会返回以下输出:

-rw-rw-r--    1 test      test             0  3月 11 17:09 newfile

14.4.2. 复制文件

和许多 Linux 的功能一样,操作文件和目录的方法也有很多种。你还可以使用通配符(在第 13.11.5 节中有说明)来更快地复制、移动、或删除多个文件。

要复制文件,键入以下命令:

cp <源> <目标>

<源>替换成你想复制的文件,把<目标>替换成你想保存复制文件的目录名。

因此,要把文件 sneakers.txt 复制到你的主目录中的 tigger/ 目录下,转换到你的主目录,然后键入:

cp sneakers.txt tigger/

cp 命令可以使用绝对或相对路径。我们的主目录是 tigger 的父目录;tigger 是主目录之下的一个目录。

窍门窍门
 

要进一步学习相对路径名和绝对路径名,请参考第 13.4 节

阅读 cp 的说明书页(在 shell 提示下键入man cp)可获得 cp 的完整选项列表。其中包括的选项有:

现在,你在 tigger 目录中已拥有了 sneakers.txt,再使用一次 cp -i 来把文件复制到同一位置。

cp -i sneakers.txt tigger
cp: 是否覆盖‘tigger/sneakers.txt’?

要覆盖原来的文件,按 [Y],然后按 [Enter] 键。如果你不想覆盖原来文件, 按 [N],然后按 [Enter] 键。

14.4.3. 移动文件

要移动文件,使用 mv 命令。关于 mv 的详情,请参阅 mv 的说明书页(键入 man mv)。

mv 的常见选项包括:

如果你想把文件从你的主目录中移到另一个现存的目录中,键入以下命令(你需要位于你的主目录内):

mv sneakers.txt tigger

另外的方法是,用同一个命令,但使用绝对路径,如:

mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger

14.4.4. 删除文件和目录

前面你已经学习了使用 touch 命令来创建文件,以及使用 mkdir 命令来创建目录 tigger

现在,你需要学习如何删除文件和目录。 使用 rm 命令来删除文件和目录是一个直截了当的过程。详情请参阅 rm 的说明书页。删除文件和目录的选项包括:

要使用 rm 命令来删除文件 piglet.txt,键入:

rm piglet.txt

警告警告
 

一旦文件或目录使用 rm 命令删除后,它就一去不复返了。

使用 -i(互动)选项会再给你一次机会来决定你是否真的想删除该文件。

rm -i piglet.txt
rm: 是否删除一般文件‘piglet.txt’?

你还可以使用通配符“*”来删除文件,不过,你必须谨慎而为,因为它很容易删除你并不想删除的文件。

要使用通配符来删除文件,可以键入:

rm pig*

上面的命令会删除目录中所有起首为 pig 字母的文件。

你还可以使用 rm 命令来删除多个文件。 例如:

rm piglet.txt sneakers.txt

你可以使用 rmdir 来删除目录( 如:rmdir foo),但是目录必须是空目录。要使用 rm 来删除目录,你必须指定 -r 选项。

譬如,如果你想递归地删除目录 tigger,你可以键入:

rm -r tigger

如果你想组合选项,例如强制一种递归的删除,你可以键入:

rm -rf tigger

另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。

警告警告
 

rm 命令可以删除你的整个文件系统!如果你登录为根用户,然后键入这个简单命令: rm -rf /,你的麻烦就大了;这个命令会递归地删除你的系统上的一切。

阅读 rmdir 的说明书页( man rmdir)来获取关于这个命令的详细信息。