你可以使用 Nautilus 或 Konqueror之类的图形化文件管理器来操作文件。你还可以使用 shell 提示来操作它们,这种方法通常较快。下面的章节解释了在 shell 提示下操作文件的方法。
你可以通过应用程序(如文本编辑器)或使用 touch 命令来创建新文件。这两种方法都会创建一个空白的文件,你可以在其中添加文本或数据。要使用 touch 命令来创建文件,在 shell 提示下键入以下命令:
touch <文件名> |
把 <文件名> 替换成你选定的名称。如果你列举一下目录内容,你会看到该文件的大小为零,这是因为它是一个空文件。譬如,在 shell 提示下键入命令 ls -l newfile 会返回以下输出:
-rw-rw-r-- 1 test test 0 3月 11 17:09 newfile |
和许多 Linux 的功能一样,操作文件和目录的方法也有很多种。你还可以使用通配符(在第 13.11.5 节中有说明)来更快地复制、移动、或删除多个文件。
要复制文件,键入以下命令:
cp <源> <目标> |
把<源>替换成你想复制的文件,把<目标>替换成你想保存复制文件的目录名。
因此,要把文件 sneakers.txt 复制到你的主目录中的 tigger/ 目录下,转换到你的主目录,然后键入:
cp sneakers.txt tigger/ |
cp 命令可以使用绝对或相对路径。我们的主目录是 tigger 的父目录;tigger 是主目录之下的一个目录。
窍门 | |
---|---|
要进一步学习相对路径名和绝对路径名,请参考第 13.4 节。 |
阅读 cp 的说明书页(在 shell 提示下键入man cp)可获得 cp 的完整选项列表。其中包括的选项有:
-i — 互动。如果文件将会覆盖你的目标中的文件,它会提示你确认。这个选项很实用,因为它可以帮助你避免犯错。
-r — 递归。与其一个一个地复制所有指定的文件和目录,这个选项会复制整个目录树、子目录及其它。
-v — 详细。向你显示文件的复制进度。
现在,你在 tigger 目录中已拥有了 sneakers.txt,再使用一次 cp -i 来把文件复制到同一位置。
cp -i sneakers.txt tigger cp: 是否覆盖‘tigger/sneakers.txt’? |
要覆盖原来的文件,按
要移动文件,使用 mv 命令。关于 mv 的详情,请参阅 mv 的说明书页(键入 man mv)。
mv 的常见选项包括:
-i — 互动。如果你选择的文件会覆盖目标中的现存文件,它会提示你。这是一个实用的选项,因为它象 cp 中的 -i 选项一样,会给你一个确认替换已存文件的机会。
-f — 强制。它会超越互动模式,不提示地移动文件。除非你知道自己在干什么,这个选项很危险。在你对系统信心十足之前,请谨慎使用这个选项。
-v — 详细。显示文件的移动进度。
如果你想把文件从你的主目录中移到另一个现存的目录中,键入以下命令(你需要位于你的主目录内):
mv sneakers.txt tigger |
另外的方法是,用同一个命令,但使用绝对路径,如:
mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger |
前面你已经学习了使用 touch 命令来创建文件,以及使用 mkdir 命令来创建目录 tigger。
现在,你需要学习如何删除文件和目录。 使用 rm 命令来删除文件和目录是一个直截了当的过程。详情请参阅 rm 的说明书页。删除文件和目录的选项包括:
-i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。
-f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。
-v — 详细。显示文件的删除进度。
-r — 递归。将会删除某个目录及其中所有的文件和子目录。
要使用 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)来获取关于这个命令的详细信息。