这里,文件处理表示复制,移动以及删除文件。稍后,我们将讨论更改文件属性(所有者、权限)的方法。
1.1. mkdir、touch:创建空的目录和文件
mkdir (创建目录(MaKe DIRectory))的作用是创建目录。其语法十分简单:
mkdir [选项] <目录> [目录 ...]
要注意其中的 -p
选项。它完成两件事:
它会创建原本不存在的上级目录。如果没有使用这个选项,mkdir 将会出错,并提示上级目录不存在。
如果您想要创建的目录已经存在,它将安静地返回。同样,如果没有使用 -p
选项,mkdir 会给出目录已经存在的错误提示。
例如:
起先,touch 不是用来创建文件而是用来更新文件的访问和修改时间的[3]。不过,如果文件不存在,touch 会创建相应的空文件。其语法为:
touch [选项] 文件 [文件...]
因此,下述命令:
touch file1 images/file2
将视这些文件是否事先存在,而在当前目录创建一个叫做 file1
的空文件,并在 images
目录创建空文件 file2
。
rm 命令(删除(ReMove))是 DOS 下del 和 deltree 命令的替代品,并增添了许多选项。其语法如下:
rm [选项] <文件|目录> [文件|目录...]
选项包括:
-r
或 -R
:递归删除。要删除目录,该选项是必需的,而不论其是否为空。不过您也可以用 rmdir 来删除空目录。
-i
:要求在每个删除之前确认。请注意,为了安全 Mandrakelinux 在默认情况下,rm 是 rm -i 的别名(同样的别名也用于 cp 和 mv)。不过您可能有不同的喜好。要禁用它们,您可以通过创建空文件 ~/.alias
来禁用系统级别名。另外,您也可以编辑您的 ~/.bashrc
文件来禁用某些系统级别名。只要加上下述行: unalias rm cp mv
-f
(与 -i
正相反):强制删除文件或目录,即使该用户没有对这些文件的写权限[4]。
例如:
![[警告]](images/warning.png) | 警告 |
---|
使用 rm 删除的文件无法恢复!(不过,确实有一些方法可以恢复文件,不过那可很不简单,而且需要提前对系统做准备。) 请使用 -i 选项,以免您不小心删除了不该删除的文件。 |
mv (移动(MoVe))命令语法如下:
mv [选项] <文件|目录> [文件|目录 ...] <目的地>
请注意,当您移动多个文件时,目的地必须是目录。要重命名某个文件只需要将其移动到新的名字。
一些选项:
-f
:强制执行 ––覆盖已有文件前不警告。
-i
:相反。在覆盖已有文件之前请求用户确认。
-v
:详细模式--报告所有更改和行动。
例如:
mv -i /tmp/pics/*.png .:将 /tmp/pics/
目录中所有以 .png
结尾的文件移动到当前目录(.
),如果当前目录存在同名文件则要求确认。
mv foo bar:将文件 foo
重命名为 bar
。如果存在 bar
目录,则将 foo
文件或者整个 foo
目录(该目录本身及其所有子目录和所有其中的文件)移入 bar
目录。
mv -vf file* images/ trash/:不提示而将当前目录中的所有以 file
开头的文件和整个 images/
目录移动到 trash/
目录,并显示每一步操作。
cp (复制(CoPy)) 同 DOS 下的 copy 和 xcopy 相同,并增加了一些选项。其语法如下:
cp [选项] <文件|目录> [文件|目录 ...] <目的地>
cp 有许多选项。在此仅列举最常用的几个:
例如:
cp -i /timages/* images/:将 /timages/
目录中的所有文件复制到当前目录中的 images/
目录里。覆盖之前要求确认。
cp -vR docs/ /shared/mp3s/* mystuff/:将整个 docs
目录以及 /shared/mp3s
目录里所有文件复制到 mystuff
目录。
cp foo bar:在当前目录创建 foo
文件的副本 bar
。