设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

在Linux上如何操作目录 ?

发布时间:2018-09-30 13:18 所属栏目:117 来源:Paul Brown
导读:【新品产上线啦】51CTO播客,随时随地,碎片化学习 让我们继续学习一下 Linux 文件系统的树形结构,并展示一下如何在其中创建你的目录。 如果你不熟悉本系列(以及 Linux),请查看我们的第一部分。在那篇文章中,我们贯穿了 Linux 文件系统的树状结构(或
【新品产上线啦】51CTO播客,随时随地,碎片化学习

在Linux上如何操作目录 ?

让我们继续学习一下 Linux 文件系统的树形结构,并展示一下如何在其中创建你的目录。

如果你不熟悉本系列(以及 Linux),请查看我们的第一部分。在那篇文章中,我们贯穿了 Linux 文件系统的树状结构(或者更确切地说是文件层次结构标准File Hierarchy Standard,FHS)。我建议你仔细阅读,确保你理解自己能安全的做哪些操作。因为这一次,我将向你展示目录操作的魅力。

新建目录

在破坏之前,先让我们来创建。首先,打开一个终端窗口并使用命令 mkdir 创建一个新目录,如下所示:

  1. mkdir <directoryname>

如果你只输入了目录名称,该目录将显示在您当前所在目录中。如果你刚刚打开一个终端,你当前位置为你的家目录。在这个例子中,我们展示了将要创建的目录与你当前所处位置的关系:

  1. $ pwd # 告知你当前所在位置(参见第一部分)
  2. /home/<username>
  3. $ mkdir newdirectory # 创建 /home/<username>/newdirectory

(注:你不用输入 后面的文本。# 后面的文本为注释内容,用于解释发生了什么。它会被 shell 忽略,不会被执行)。

你可以在当前位置中已经存在的某个目录下创建新的目录,方法是在命令行中指定它:

  1. mkdir Documents/Letters

这将在 Documents 目录中创建 Letters 目录。

你还可以在路径中使用 .. 在当前目录的上一级目录中创建目录。假设你进入刚刚创建的 Documents/Letters/ 目录,并且想要创建Documents/Memos/ 目录。你可以这样做:

  1. cd Documents/Letters # 进入到你刚刚创建的 Letters/ 目录
  2. mkdir ../Memos

同样,以上所有内容都是相对于你当前的位置做的。这就是使用了相对路径。

你还可以使用目录的绝对路径:这意味着告诉 mkdir 命令将目录放在和根目录(/)有关的位置:

  1. mkdir /home/<username>/Documents/Letters

在上面的命令中将 <username> 更改为你的用户名,这相当于从你的主目录执行 mkdir Documents/Letters,通过使用绝对路径你可以在目录树中的任何位置完成这项工作。

无论你使用相对路径还是绝对路径,只要命令成功执行,mkdir 将静默的创建新目录,而没有任何明显的反馈。只有当遇到某种问题时,mkdir才会在你敲下回车键后打印一些反馈。

与大多数其他命令行工具一样,mkdir 提供了几个有趣的选项。 -p 选项特别有用,因为它允许你嵌套创建目录,即使目录不存在也可以。例如,要在 Documents/ 中创建一个目录存放写给妈妈的信,你可以这样做:

  1. mkdir -p Documents/Letters/Family/Mom

mkdir 会创建 Mom/ 之上的整个目录分支,并且也会创建 Mom/ 目录,无论其上的目录在你敲入该命令时是否已经存在。

你也可以用空格来分隔目录名,来同时创建几个目录:

  1. mkdir Letters Memos Reports

这将在当前目录下创建目录 LettersMemosReports

目录名中可怕的空格

……这带来了目录名称中关于空格的棘手问题。你能在目录名中使用空格吗?是的你可以。那么建议你使用空格吗?不,绝对不建议。空格使一切变得更加复杂,并且可能是危险的操作。

假设您要创建一个名为 letters mom/ 的目录。如果你不知道如何更好处理,你可能会输入:

  1. mkdir letters mom

但这是错误的!错误的!错误的!正如我们在上面介绍的,这将创建两个目录 letters/mom/,而不是一个目录 letters mom/

得承认这是一个小麻烦:你所要做的就是删除这两个目录并重新开始,这没什么大不了。

可是等等!删除目录可是个危险的操作。想象一下,你使用图形工具Dolphin 或 Nautilus 创建了目录 letters mom/。如果你突然决定从终端删除目录 letters mom,并且您在同一目录下有另一个名为 letters 的目录,并且该目录中包含重要的文档,结果你为了删除错误的目录尝试了以下操作:

  1. rmdir letters mom

你将会有删除目录 letters 的风险。这里说“风险”,是因为幸运的是rmdir 这条用于删除目录的指令,有一个内置的安全措施,如果你试图删除一个非空目录时,它会发出警告。

但是,下面这个:

  1. rm -Rf letters mom

(注:这是删除目录及其内容的一种非常标准的方式)将完全删除 letters/ 目录,甚至永远不会告诉你刚刚发生了什么。)

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读