购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 文件与目录修改

在找到文件和目录之后,你可能需要能够对其实施操作。在本节中,我们会学习如何创建文件和目录、复制文件、重命名文件以及删除文件和目录。

1.5.1 创建文件

在Linux系统中有很多创建文件的方法,但就目前来说,我们只学习两种简单的方法。第一种是cat命令,即concatenate(连接)的简写,作用是将文本片段组合在一起(并不是你最爱的温顺的猫)。cat命令通常被用来显示一个文件的内容,但它也可以用来创建小型文件。要创建更大的文件,最好在一个文本编辑器(比如vim、emacs、leafpad、gedit或kate等)中输入代码,然后将其保存为一个文件。

1. 利用cat命令进行连接操作

cat命令后跟一个文件名称将显示该文件的内容,但要创建一个文件的话,我们应该在cat命令后跟一个重定向符(用>符号来表示),以及待创建文件的名称。示例如下:

当按下回车(ENTER)键时,Linux系统将进入交互模式,并等待你开始输入文件内容。这可能让人十分困惑,因为提示符消失了,但如果直接开始打字,那么你所输入的内容都将传输到文件(在本例中,即hackingskills)中。在这里,我输入了Hacking is the most valuable skill set of the 21st century!。要退出并返回到提示符中,我按下了CTRL+D组合键。然后,当想要查看文件hackingskills的内容时,我输入了如下内容:

如果不使用重定向符,那么Linux系统将回显文件内容。

要添加或附加更多内容到一个文件中,你可以使用带有一个双重定向符(>>)的cat命令后跟你想添加到文件末尾的任何内容。示例如下:

Linux系统再一次进入交互模式,等待要附加到文件中的内容输入。当输入Everyone should learn hacking并且按下CTRL+D组合键时,我们就返回到了提示符中。现在,当利用cat命令显示该文件内容时,我们可以看到Everyone should learn hacking已经附加到了文件中,如下所示:

如果想要以新的信息覆盖文件,那么我们可以直接再次使用带有一个单独重定向符的cat命令,如下所示:

如上所见,Linux系统进入交互模式,而我输入新的文本,然后退出返回到提示符中。当再次使用cat命令来查看文件内容时,我们可以看到之前的文字已经由最新的文本所覆盖。

2. 利用touch命令创建文件

第二条文件创建命令是touch。这条命令的设计初衷是一个用户能够直接接触一个文件,从而修改它的某些详细信息,比如创建或修改日期。然而,如果文件并不存在,那么这条命令默认将创建该文件。

让我们利用touch命令创建newfile文件:

现在,当使用ls -l来查看目录的文件列表时,我们可以看到一个名为newfile的新文件已经创建成功。要注意的是,因为newfile中没有任何内容,所以其大小为0。

1.5.2 创建目录

Linux系统中创建目录的命令是mkdir,即make directory(创建目录)的缩写。要创建一个名为newdirectory的目录,请输入如下命令:

要进入这个新创建的目录中,请直接输入如下内容:

1.5.3 复制文件

要复制文件,我们可以使用cp命令。这条命令能够在新位置创建一个文件副本,并将旧文件保留在原地。

这里,我们将利用touch命令在根目录创建一个文件oldfile,然后将其复制到/root/newdirectory目录中。在这个过程中对其进行重命名,并将原始文件oldfile保留在原地:

文件重命名是可选的,并且可以直接通过在目录路径结尾添加想要赋予的名称来实现。如果不想在复制时进行文件重命名,那么文件将默认保留原始名称。

当之后进入newdirectory时,我们可以看到其中有一个名为newfile的oldfile文件完整副本:

1.5.4 重命名文件

不幸的是,与Windows和其他一些操作系统不同,Linux系统并没有针对文件重命名操作专门设计一条命令,但是它拥有一条mv(move)命令。

mv命令可以用来将一个文件或目录移动到一个新位置,或者直接给一个已存在的文件赋予一个新名称。要将newfile重命名为newfile2,你可以进行如下输入:

现在当列举(ls)该目录时,你可以看到newfile2而不是newfile,因为它已经被重命名了。你可以对目录进行同样的操作。

1.5.5 删除文件

要删除一个文件,你可以直接使用rm命令,如下所示:

现在,如果对目录进行列举的话,你可以确认该文件已被删除。

1.5.6 删除目录

用来删除目录的命令与用来删除文件的rm命令类似,只是后边附加上了dir(针对目录),如下所示:

值得特别注意的是,正如你在本例中所见,rmdir命令无法删除一个非空目录,而会给出一条警告消息“目录非空”。在删除它之前,你必须先删除该目录中的所有内容。这是为了阻止你对并不想删除的对象进行误删除操作。

如果确实想要一次性删除一个目录及其中的内容,那么可以在rm命令后面使用-r选项,如下所示:

在此提醒一句:至少在最开始的时候,一定要谨慎使用rm命令的-r选项,因为很容易误把有用的文件和目录删除。例如,如果在自己的主目录中使用rm -r命令,那么这里的每一个文件和目录都将被删除——或许其中就包括了不想删除的内容。 B1RJFX/SD8Wybs/pd2QP6AtdvYWHYKeDXKxanQ1kuGbwRVf5dCBgKRBbMm47XkXB

点击中间区域
呼出菜单
上一章
目录
下一章
×