Abhishek Prakash 发布的文章

在 Linux 中无法打开 AVIF 图片?AVIF 是一种新的网络图像文件格式,下面是在 Linux 桌面上查看 AVIF 图像的方法。

就质量而言,PNG 是最好的,但它们体积庞大,因此不适合用于网站。

JPEG 会减小文件大小,但会显着降低图像质量。

WebP 是一种相对较新的格式,可以生成尺寸更小、质量更好的图像。

现在,AVIF 是一种新的文件格式,可以在不牺牲质量的情况下压缩图像。对于相同的图像质量,它们比 WebP 更小。

最近 Linux 已开始提供 WebP 支持。但是,许多发行版默认不支持 AVIF 图像格式。

如果你从网络上下载 AVIF 格式的图像,它不会显示缩略图。

avif image no thumbnail

如果你尝试使用默认图像查看器打开它,它很可能会显示“无法识别的图像文件格式”错误。

avif images dont open linux

那么,解决方案是什么? 在 Linux 上根本看不了 AVIF 图像吗?

不,事实并非如此。对于 Linux,总有一种解决方法。

在 Linux 中查看 AVIF 图像文件

有一个名为 gThumb 的便捷 图像查看器,可用于在 Linux 上打开 AVIF 图像。

如果不是全部的话,它应该在大多数 Linux 发行版的仓库中可用。

在 Ubuntu 和基于 Debian 的发行版上,使用以下命令安装 gThumb。

sudo apt install gthumb

install gthumb ubuntu

安装后,选择一张 AVIF 图像,右键单击它并选择“ 打开方式 Open With ”选项。在这里,选择 gThumb,将其设为 AVIF 图像的默认值并打开它。

make gthumb default for avif

gThumb 在打开的图像下以缩略图格式显示同一文件夹中的所有图像。

avif image opened with gthumb in linux

使用 gThumb 打开 AVIF 图像后,它们也应该以缩略图显示。

avif image thumbnail

就是这样。你现在可以在 Linux 桌面上欣赏 AVIF 图像。

总结

gThumb 是一个用途极为广泛且功能强大的应用。这让我想知道为什么它不被用作 GNOME 或其他桌面环境和发行版中的默认图像查看器。

关于 Linux 中默认的 AVIF 支持,迟早会添加。目前,gThumb 完成了这项工作。

(题图:MJ/a54d1f0d-ea92-42dd-bb31-de8097153cad)


via: https://itsfoss.com/view-avif-images-linux/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你已经学会了创建文件和目录。现在是时候学习如何在命令行中删除文件和文件夹了。

在终端基础系列的前几章中,你学习了 创建新文件目录(文件夹)。

现在让我们看看如何在 Linux 终端中删除文件和文件夹。

删除文件

要删除文件,你可以按以下方式使用 rm 命令:

rm filename_or_path

如果文件已成功删除,你将看不到任何输出。

这是一个示例,其中我删除了一个名为 new_file 的文件。当我列出目录内容时,你可以看到 new_file 不再存在。

Removing files in Linux terminal

你还可以在同一命令中删除多个文件:

rm file1 file2 file3

让我展示一个在单条命令中删除两个文件的示例。

Deleting multiple files in single rm command

?️练习文件删除

让我们练习一下刚刚学到的东西。创建一个名为 practice_delete 的目录并切换到该目录:

mkdir practice_delete && cd practice_delete

现在创建一些空文件:

touch file1 file2 file3

删除 file3:

rm file3

现在,让我们做一些额外的事情。运行此命令并更改 file2 的权限:

chmod u-w file1 file2

现在尝试删除 file2

rm file2

你是否看到消息 “remove write protected file”? 那是因为你从这个文件中删除了写权限(用于修改)。

你可以Y 或回车键确认删除或按 N 拒绝删除。

如果你不想看到这条消息并仍然删除它,你可以使用强制删除选项 -f。通过删除 file1 试试:

rm -f file1

以下是上述所有示例的重放:

Deleting files in Linux terminal

? Linux 命令行中没有垃圾桶。一旦文件被删除,你就无法像在图形文件管理器中那样撤消将其从垃圾箱中取回的操作。因此,删除文件时要格外小心。

小心删除

缺少垃圾桶使删除成为一种永久性的工作。这就是为什么你应该注意要删除的文件的原因。

有一个带 -i 选项的交互模式。有了这个,你会被要求确认删除。

rm -i filename

当你根据特定模式删除多个文件时,这很有用。

这是一个示例,其中我以交互方式删除名称中匹配 file_ 模式的所有文件。我删除了一些并在交互模式下保留了一些。

Deleting files in interactive mode

? 我建议切换到文件所在的目录,然后删除它们。这有助于减少由文件路径中的拼写错误引起的任何可能性。

删除目录

在 Linux 中有专门的 rmdir 命令来删除目录。

rmdir dir_name

但是,它只能删除空目录。如果目录中有任何文件或子目录,rmdir 命令将抛出错误。

$ rmdir dir2
rmdir: failed to remove 'dir2': Directory not empty

这使得它在大多数情况下用处不大。

那么,如何删除非空文件夹呢? 好吧,使用与之前删除文件相同的 rm 命令。

是的,相同的 rm 命令,但带有递归选项 -r

rm -r dir_name

?️练习文件夹删除

让我们练习你学到的东西。

如果你还没有,请切换到 practice_delete 文件夹。现在,创建两个目录 dir1dir2

mkdir dir1 dir2

dir2 中创建一个文件:

touch dir2/file

现在尝试使用 rmdir 命令删除目录:

rmdir dir1
rmdir dir2

由于 dir2 不为空,rmdir 命令将失败。相反,使用带有递归选项的 rm 命令:

rm -r dir2

以下是上述所有命令示例的重放:

Deleting folders in Linux

? 交互式删除模式在使用 rm 命令的递归选项删除目录时更有帮助:
rm-ri dir_name

因此,你学会了使用 Linux 命令删除文件和文件夹。是时候多练习了。

测试你的知识

准备一个如下所示的目录树:

.
├── dir1
│   ├── file1
│   ├── file2
│   └── file3
├── dir2
├── dir3
└── file

基本上,你在当前目录(practice_delete)中创建一个名为 file 的文件和三个目录 dir1dir2dir3。然后在 dir1 中创建文件 file1file2file3

现在执行以下操作:

  • 删除 file2
  • 切换到 dir3 并强制删除上层目录中名为 file 的文件。
  • 删除 dir1 的所有内容,但不删除目录本身。
  • 列出 dir 的内容。

一切进展顺利。你已经学习了一些基本知识,例如切换目录、检查目录内容、创建和删除文件和目录。在下一章中,你将学习如何在终端中复制文件和文件夹。敬请关注!


via: https://itsfoss.com/delete-files-folders-linux/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

VS Code 无疑是最受欢迎的代码编辑器之一。同样,GitHub 是编码人员中最受欢迎的平台。

两种微软产品可以很好地融合在一起。你可以在 VS Code 中无缝编码并将更改推送到你的 GitHub 仓库。从同一个应用界面完成所有这些工作让生活变得如此轻松。

如何将 GitHub 添加到 VS Code? 其实很容易。

在本教程中,我将展示:

  • 如何将你的 GitHub 帐户集成到 VS Code 中
  • 如何将仓库从 GitHub 克隆到 VS Code 中
  • 如何将你的更改从 VS Code 推送到 GitHub

听起来不错?让我们看看如何去做。

先决条件

请确保你的计算机上安装了 Git。怎么做?

一种方法是转到 VS Code 中的源代码管理视图。如果未安装 Git,它会要求你下载它。

Checking if Git is installed via VS Code

另一件事是你需要配置 Git 用户名和电子邮件

将 GitHub 添加到 VS Code

VS Code 内置了 GitHub 集成。你不需要安装任何扩展来克隆仓库和推送你的更改。

从左侧边栏转到源代码选项卡。你应该看到 “ 克隆仓库 Clone Repository ” 或 “ 发布到 GitHub Publish to GitHub ”(如果你已经打开了一个文件夹)选项。单击 “ 克隆仓库 Clone Repository ” 并为其提供 GitHub 仓库链接或单击 “ 从 GitHub 克隆 Clone from GitHub ”。

Cloning GitHub repo in VS Code

然后它会显示一条消息,要求你登录 GitHub。

VS Code asking to sign in to GitHub

你单击“ 允许 Allow ”按钮,它将打开 GitHub 登录页面。

Connect GitHub to VS Code

如果你尝试克隆一个仓库,你应该会看到这样的消息并单击 “ 打开 Open ”。

Opening GitHub repo in VS Code

这应该需要几秒钟,你就会登录到你的 GitHub 帐户。

你怎么知道你已经使用 VS Code 登录到 GitHub?

好吧,它将开始在顶部视图中显示你的 GitHub 仓库(如果有的话)(如果你之前按下了“克隆存储库”)。

GitHub repos accessible from VS Code

或者,你可以单击左下角的配置文件图标,查看它是否显示你已登录到你的 GitHub 帐户。

Checking if VS Code logged into GitHub account

在 GitHub 中克隆一个 GitHub 仓库

如果你已经在 GitHub 中打开了一个项目,想要克隆另一个 GitHub 仓库,有几种方法可以做到。

你可以使用 Git 命令将仓库克隆到磁盘上,然后在 VS Code 中打开此仓库文件夹。

或者,如果你不想使用命令行,则可以坚持使用 VS Code。

这很简单。在 VS Code 中打开一个新窗口。

Open a new window in VS Code

这将为你提供一个全新、干净的编辑器。如果看到欢迎屏幕,你可以从那里单击 “克隆存储库” 的快速链接。

否则,从左侧边栏转到“ 源码管理 Source Control ”选项卡,然后单击“ 克隆仓库 Clone Repository ”按钮。

它将在顶部打开一个视图。你可以直接复制 GitHub 仓库的 URL。它可以自动从中获取克隆链接。

Clone a new GitHub repo in VS Code

它会问你把克隆的仓库放在哪里。

Select a location for the cloned GitHub repo in VS Code

它会询问你是否要将克隆的仓库在 VS Code 中打开。如果你想立即处理它,那就去做吧。

Open the just cloned GitHub repo in VS Code

不仅仅是克隆的存储库,VS Code 会询问你是否信任你添加到其中的任何文件夹的作者。

Trust author promot in VS Code

好了,你已经在 VS Code 中克隆了一个 GitHub 仓库。让我们看看如何修改并将更改推送到 GitHub。

从 VS Code 推送更改到 GitHub

现在假设你对代码进行了一些更改并希望将提交推送到你的仓库。

当你将更改保存到文件中,VS Code 就会开始用 “M” 指示修改后的文件。对于新文件,符号为 “U”(未跟踪)。

从左侧进入“源码控制”,输入提交消息,然后单击提交旁边的按钮并选择 “ 提交并推送 Commit & Push ”。

Push your changes to GitHub from VS Code

如果你没有配置 Git 用户名和电子邮件,你将看到如下错误。

Error in VS Code if Git username and email is not set

你可以 在全局或仓库级别设置用户名和电子邮件。完全根据你自己的选择。

? 对于成功的提交和推送,你不会看到任何错误。已修改文件或新文件旁边的 “M” 或 “U” 符号将消失。

你可以通过进入 GitHub 上的仓库来验证你的推送是否成功。

你可以选择在本地提交更改而不推送它们。你也可以在这里使用 git 命令执行所有你以前使用过的操作。有用于创建拉取请求、刷新等等的选项。

VS Code gives all kind of Git actions to perform

通过 GitHub 官方扩展将其提升到一个新的水平

有一个专用的官方扩展,让你还可以管理其他人对你的仓库的拉取请求并合并它们。你还可以在此处查看在你的仓库中打开中的问题。这是将 GitHub 与 VS Code 集成的更好方法。

打开 VS Code,然后转到左侧栏中的扩展选项卡。在这里搜索 “GitHub Pull Requests and Issues”。它是 GitHub 本身的官方插件。你可以看到已验证的勾选。

单击安装按钮并在你的编辑器上安装 扩展

Installing GitHub extension in VS Code

使用此扩展,如果其他人正在协作,你可以管理你的存储库。

在 VS Code 中完全集成 Git 和 GitHub 是件好事。不喜欢命令行的人肯定会喜欢这种集成。

我希望本教程能帮助你将 GitHub 无缝添加到 VS Code。如果你仍然遇到任何问题,请告诉我。

(题图:MJ/GitHub VS Code develop illustration in high resolution, very detailed, 8k)


via: https://itsfoss.com/vs-code-github/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Gedit 是一个好的文本编辑器。用这些技巧、窍门和调整把它变成一个好的代码编辑器。

GNOME 可能已经抛弃了 Gedit 作为默认的文本编辑器,但它仍然是 Linux 老用户的最爱。

它主要是一个文本编辑器,但通过一些调整,它可以作为一个轻量级的代码编辑器使用。

是啊!为什么要用 VS Code 或其他专门的代码编辑器来编写 Bash 脚本或其他语言的简单程序?用 Gedit 也可以过一天。

我将在本文中分享一些我最喜欢的 Gedit 技巧和窍门。虽然大多数的调整对写代码是有益的,但有些对一般的文本写作也是有帮助的。

1、安装插件

可能个别人甚至不知道 Gedit 有强大的插件功能。你可以安装插件来获得额外的功能。

有两种类型的插件:

  • 可以从编辑器菜单中访问的官方 Gedit 插件
  • 第三方插件,可以从项目网站上下载,并放入插件目录中(下面讨论)。

Gedit 插件可以放在 /usr/share/gedit/plugins~/.local/share/gedit/plugins 目录下。

你可以通过点击 “汉堡包” 菜单,然后打开 “ 首选项 Preferences ” 窗口来访问可用和已安装的插件。

首选项窗口有 “ 插件 Plugins ” 标签,你可以看到所有可用的插件。你可以使用复选框来启用和禁用这些插件。

2、在侧边栏中显示文件浏览器

如果你正在处理一个有多个文件和文件夹的项目,在侧边栏中用文件浏览器看到所有可用的文件是相当有用的。

进入 “首选项” -> “插件”,启用 “ 文件浏览器面板 File Browser Panel ”。

之后,点击右上角的汉堡包菜单,从菜单 “ 查看 View ” -> “ 侧面板 Side Panel ” 启用侧面板视图。

现在把侧面板视图改为文件浏览器,如果还没有的话。

3、嵌入一个终端

是的!你可以在 Gedit 文本编辑器中直接嵌入一个终端。

这有什么意义呢?嗯,如果你正在写程序或脚本,嵌入终端可以帮助你运行脚本,并在编辑器中检查代码的变化。

要得到这个,首先要安装这个插件(针对 Ubuntu):

sudo apt install gedit-plugin-terminal

一旦插件安装完毕,从 “首选项” -> “插件” 中启用它。

嗯,从汉堡包菜单-> “查看”-> “ 底部面板 Bottom Panel ” 中启用底部面板。

4、Markdown 预览

喜欢 Markdown 吗?我也是!

有几个适用于 Linux 的 Markdown 编辑器,但你不必为了使用 Markdown 而去安装另一个应用程序。

在一个名为 “Gedit Markdown Preview” 的插件的帮助下,Gedit 完全有能力呈现 Markdown 代码。

Arch 用户可以在 AUR 中找到它,软件包为 gedit-plugin-markdown_preview

其他 Linux 用户可以找到 项目网页上的安装说明

一旦安装,在插件中启用它。你必须从汉堡包菜单 -> “查看”-> “侧面板” 中启用侧面板视图。

有了这个,它就开始在侧面板或底部窗格中显示 Markdown 文本的渲染文本。

5、创建代码片段

好的码农编码,优秀码农复用。

如果你发现自己重复使用同一段代码或文本,你可以将其保存为片段,并在需要时插入。这将为你节省一些时间(和挫折)。

先启用片段插件:

现在你可以从汉堡包菜单-> “ 管理片段 Manage Snippets ” 来访问片段。

你会发现它已经有几个为各种编程语言添加的片段。

你也可以通过点击左下角的 “+” 号将你的片段添加到所需的文件夹中。你也可以为片段指定一个快捷键,以便更快速地插入它们。

例如,我为 添加一个 Markdown 表格 添加了一个新的片段,并为其分配了一个键盘快捷键和 TAB 触发器(如上图所示)。现在,如果我在 Markdown 文档中按 CTRL + Alt + S,就会添加一个表格。或者,输入 table 并按下 TAB 键也会添加 Markdown 表格。

? 通常,片段被保存在 /usr/share/gedit/plugins/snippet 文件夹中作为 XML 文档,但我找不到新添加的片段被保存在哪里。

6、修复深色模式的问题

编码员喜欢深色模式。Gedit 遵守系统主题,如果你在操作系统层面切换到深色模式,它也会切换到深色模式。

一个主要的问题是,你无法阅读当前选定行的任何内容,因为文本和行的高亮部分都是白色的。

这个问题没有解决办法。然而,一个变通的办法是,要么禁用当前行的高亮显示,要么使用不同的颜色方案。

进入 “首选项” -> “ 字体和颜色 Font & Colors ”,然后选择像 Oblivion 这样的深色方案。这将稍微改变颜色方案,但至少你能看到高亮行的文字。

7、快速高亮选中的文本

双击一个词,Gedit 就会高亮显示整个文档中出现的所有相同的词。

虽然有一个官方插件,但这个功能默认是不启用的。

进入 “首选项” -> “插件”,启用 “ 快速高亮 Quick Highlight ” 选项。

8、显示行号

许多代码编辑器默认都会显示行号。当你看到 “第 X 行的语法错误 ” 时,它可以帮助你快速找到该行。

你可以通过进入 “首选项” -> “查看” -> “ 显示行号来启用行号 Display Line Numbers ”:

你也可以从底部启用或停用它。

9、保存一个版本

如果你正在修改一个文件,也许建立一个备份副本会更好?Gedit 可以自动做到这一点。

在 “首选项” -> “ 编辑器 Editor ” -> “ 创建一个备份副本 Create a Backup copy ” 中启用这个功能。

一个在原文件名称后面加上 ~ 符号的文件将作为备份文件出现。

10、自动保存文件

既然我们在谈论版本和备份,那么 在 Gedit 中启用自动保存 怎么样?这样,如果你在处理一个文件时,忘记用 Ctrl+S 手动保存,修改的内容会自动保存。

? 这个功能对一个从未在磁盘上保存过的全新文档不起作用。

从 “偏好” -> “编辑器”,你可以启用 “ 自动保存 Autosave ” 功能。默认情况下,它每 10 分钟自动保存一次,但你可以根据自己的喜好改变时间。

还有一个第三方的 smart-auto-save 扩展,可以在你停止输入时自动保存文档。

知道更多的 Gedit 技巧吗?

使用任何软件的乐趣之一是发现它不那么明显的功能。

在这里,你最喜欢哪个 Gedit 的调整?你知道一个没有多少人知道的 Gedit 的秘籍吗?在评论中与我们分享吧?


via: https://itsfoss.com/gedit-tweaks/

作者:Abhishek Prakash 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

到目前为止,在这个终端基础系列中,你已经学会了:

现在让我们学习如何在 Linux 命令行中创建文件。我将简要讨论向文件添加内容。但是,稍后将介绍有关编辑文本文件的详细信息。

使用 touch 命令创建一个新的空文件

使用 touch 命令非常简单。

touch filename

切换到你的主目录并创建一个名为 practice_files 的新目录,然后切换到该目录:

mkdir practice_files && cd practice_files
? && 是一种组合两个命令的方法。只有当第一个命令执行成功时,第二个命令才会运行。

现在,创建一个名为 new_file 的新文件:

touch new_file

就是这样。你刚刚创建了一个新的空文件。

列出目录内容并使用 ls -l 命令检查文件的属性。

Using touch command to create new files

? touch 命令的最初目的是“触摸”文件并更改其时间戳。如果提供的文件不存在,它会创建一个具有该名称的新文件。

使用 echo 命令创建一个新文件

很久以前我就应该向你介绍 echo 命令。迟到总比不到好。echo 命令显示你提供给它的任何内容。因此得名“回声”。

echo Hello World

你可以使用重定向并将输出路由到文件。因此在此过程中创建一个新文件:

echo "Hello World" >> other_new_file

这样,你将创建一个名为 other_new_file 的新文件,其中包含文本 Hello World

Using echo command to create new file

请记住,如果提供的文件已经存在,使用 >> 重定向,你将向文件添加一个新行。你也可以使用 > 重定向,但它会替换文件的现有内容。

更多关于重定向的信息可以在下面的教程中找到。

解释:Linux 中的输入、输出和错误重定向

使用 cat 命令创建新文件

cat 命令的最初目的是连接文件。但是,它主要用于显示文件的内容。

它还可以使用选项创建新文件并添加内容。为此,你可以使用相同的 >>> 重定向。

cat >> another_file

但是这个将创建一个新文件并允许你向其中添加一些文本。添加文本是可选的。你可以使用 Ctrl+d 键退出 cat 输入模式。

Using cat command to create new file

同样,附加模式 >> 在文件内容的末尾添加新文本,而覆盖模式 > 用新内容替换现有内容。

?️ 使用 ls -l 长列表显示并注意时间戳。现在 touch 文件:
touch other_new_file

你看到时间戳的区别了吗?

测试你的知识

你已经了解了如何创建新文件。这里有一些简单的练习来练习你刚刚学到的东西。它也包括前几章的一些内容。

  • 使用 touch 命令创建三个新文件,分别命名为 file1file2file3。提示:你不需要运行 touch 三次。
  • 创建一个名为 files 的目录,并在其中创建一个名为 my_file 的文件。
  • 使用 cat 命令创建一个名为 your_file 的文件,并在其中添加以下文本 “This is your file”。
  • 使用 echo 命令将新行 “This is our file” 添加到 your_file
  • 以相反的时间顺序显示所有文件(请参阅第 3 篇)。现在使用 touch 命令修改 file2file3 的时间戳。现在再次按时间倒序显示内容。

这很有趣。你正在取得很好的进步。你已在本章中学会了创建新文件。接下来,你将学习如何查看文件的内容。


via: https://itsfoss.com/create-files/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在终端基础系列的 上一章 中,你学到了在 Linux 命令行中改变文件夹的知识。

我在最后给出了一个练习,简单地提到了创建目录。

在本系列的这一部分,我将讨论如何使用 mkdir 命令在 Linux 命令行中建立新的文件夹。

mkdir dir_name

mkdir 是 “ 创建目录 make directories ” 的简称。让我们来看看这个命令的使用情况。

? 如果你不知道,文件夹在 Linux 中被称为目录。

在 Linux 中创建一个新目录

你现在应该已经熟悉了 Linux 中绝对路径和相对路径的概念。如果没有,请参考 本教程

如果你的系统还没有打开终端,请打开它。通常情况下,你从主目录(/home/username)开始。但为了本教程和回忆一些事情,我假定你不在你的主目录中。

所以,先换到你的主目录:

cd

是的,如果你简单地输入 cd,没有任何选项和参数,它就会把你带到你的主目录。你也可以使用 cd ~ 等方法。

在这里,建立一个新的目录,叫做 practice

mkdir practice

你能切换到这个新建立的 practice 目录吗?

cd practice

很好!现在你有了一个专门的文件夹,你将在这里练习本系列中的 Linux 命令行教程。

Example of making new directory in Linux

创建多个新目录

你刚刚创建了一个新的目录。如果你要创建不止一个呢?比方说,有三个。

你可以对每个目录连续使用三次 mkdir 命令。这将会起作用。然而,这并不是真的需要。你可以像这样同时创建多个目录来节省时间和精力:

mkdir dir1 dir2 dir3

请继续这样做吧。你可以列出 practice 目录的内容,查看所有新创建的目录。以后会有更多关于 ls 命令的内容。

Create multiple new directories in Linux with mkdir command

? 你不能在同一地方有两个同名的文件夹或文件。

创建多个嵌套的子目录

你现在知道了一次创建多个目录的方法。

但是,如果你要创建一个嵌套的目录结构呢?比方说,你需要在 dir1 里面的 subdir1 里面创建一个目录 subdir2

dir1/subdir1/subdir2

这里的问题是 subdir1 并不存在。所以如果你尝试 mkdir dir1/subdir1/subdir32,你会得到一个错误:

abhishek@itsfoss:~/practice$ mkdir dir1/subdir1/subdir2
mkdir: cannot create directory ‘dir1/subdir1/subdir2’: No such file or directory

如果你不知道的话,你会选择 mkdir dir1/subdir1,然后运行 mkdir dir1/subdir2。这将会起作用。然而,有一个更好的方法。

你使用 -p 选项,它会在需要时创建父目录。如果你运行下面的命令:

mkdir -p dir1/subdir1/subdir2

它将创建 subdir1,然后在 subdir1 里面创建 subdir2

? 不是命名惯例,但最好在文件和目录名中避免空格。使用下划线或破折号代替,因为处理文件/目录名中的空格需要额外精力。

测试你的知识

这是一个相当简短的教程,因为 mkdir 命令只有几个选项。

现在,让我给你一些实践练习,以利用你先前创建的 practice 目录。

  • 不进入 dir2 目录,在其中创建两个新的子目录。
  • 不进入 dir3 目录,创建两级嵌套子目录(subdir1/subdir2
  • 进入 dir2 目录。在这里,在你的主目录下创建一个名为 temp_stuff 的目录。不要担心,我们将在本系列教程的后面删除它。
  • 回到父目录 practice,尝试创建一个名为 dir3 的目录。你看到一个错误。你能用 -p 选项使它消失吗?

你可以 在社区论坛讨论这个练习

在终端基础系列的下一章中,你将学习如何用 ls 命令列出一个目录的内容。

如果你有问题或建议,请告诉我。


via: https://itsfoss.com/make-directories/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出