目录

终端

​文件系统层次结构标准​

导航

文件操作​

学习扩展

结论​

计算机基础--Linux详解-LMLPHP

Linux是一个基于 Linux 内核的免费开源操作系统系列。基于 Linux 的操作系统称为Linux 发行版发行版。示例包括 Debian、Ubuntu、Fedora、CentOS、Gentoo、Arch Linux 等。

Linux 内核自 1991 年以来一直在积极开发,并已被证明具有极强的通用性和适应性。您可以在世界各地的各种环境中找到运行 Linux 的计算机,从 Web 服务器到手机。如今,全球 90% 的云基础设施和 74% 的智能手机均由 Linux 提供支持。

然而,Linux 的新手可能会发现它有点难以接近,因为 Linux 文件系统的结构与 Windows 或 MacOS 上的文件系统不同。此外,基于 Linux 的操作系统严重依赖于命令行界面,而大多数个人计算机则依赖图形界面。

本指南介绍了重要的命令行概念和技能,帮助新手了解更多有关 Linux 的知识

要遵循本指南,您需要访问运行基于 Linux 的操作系统的计算机。这可以是您通过 SSH 连接的虚拟专用服务器,也可以是您的本地计算机。请注意,本教程是使用运行 Ubuntu 20.04 的 Linux 服务器进行验证的,但给出的示例应该适用于运行任何 Linux 发行版的任何版本的计算机。

终端

术语“终端”、“shell”和“命令行界面”经常互换使用,但它们之间存在细微的区别:

  • 终端是一个输入和输出环境它呈现一个运行 shell 的纯文本窗口。
  • shell是一种向用户或程序公开计算机操作系统的程序在 Linux 系统中,终端中显示的 shell 是命令行解释器。
  • 命令行界面是一个用户界面(由命令行解释程序管理),它处理计算机程序的命令并输出结果。

当有人在 Linux 上下文中引用这三个术语之一时,它们通常指的是一个终端环境,您可以在其中运行命令并查看打印到终端的结果,如下所示:

计算机基础--Linux详解-LMLPHP

成为 Linux 专家需要您熟悉终端的使用。任何管理任务,包括文件操作、软件包安装和用户管理,都可以通过终端完成。终端是交互式的:您指定要运行的命令,终端输出这些命令的结果。要执行任何命令,请在提示符中键入该命令并按ENTER。访问云服务器时,您通常会通过终端 shell 来执行此操作。尽管运行 Linux 的个人计算机通常配备大多数计算机用户熟悉的图形桌面环境,但通过在终端中输入命令来执行某些任务通常更高效或更实用

​文件系统层次结构标准​

几乎所有 Linux 发行版都符合文件系统目录结构的通用标准,​ 称为文件系统层次结构标准 (FHS) ​,文件系统层次结构标准 (FHS)。FHS 定义了一组目录,每个目录都有自己的特殊功能。

正斜杠 ( /) 用于指示 FHS 定义的文件系统层次结构中的根目录。

当用户登录到 shell 时,他们将被带到自己的用户目录,存储在/home/. 这称为用户的主目录。FHS 定义/home/为包含普通用户的主目录。

root用户有自己的由 FHS 指定的主目录/root/。请注意,/被称为“根目录”,它与root/存储在 中的不同/

由于 FHS 是 Linux 计算机上的默认文件系统布局,并且其中的每个目录都有特定用途,因此它简化了按功能组织文件的过程。

导航

Linux 文件系统基于目录树。这意味着您可以在其他目录中创建目录(其功能与其他操作系统中的文件夹相同),并且文件可以存在于任何目录中。

要查看当前活动的目录,可以运行以下pwd命令,该命令代表“打印工作目录”:

sammy@linux-machine:~$ pwd
打印当前目录的路径。输出将与此类似:
Output
/home/sammy

此示例输出表明当前活动目录是sammy,它home/位于根目录 中的目录内/。如前所述,由于sammy/目录存储在home/目录中,sammy/因此表示sammy用户的主目录。

要查看当前工作目录中存在的文件和目录的列表,请运行以下ls命令:

ls

这将返回当前工作目录中保存的任何文件或目录的名称列表。但是,如果您在新计算机上遵循本指南,则此命令可能不会返回任何输出。

您可以使用该命令在当前工作目录中创建一个或多个新目录mkdir,该命令代表“make directory”。例如,要创建两个名为testdir1和的新目录testdir2,您可以运行以下命令:

mkdir testdir1 testdir2

现在,当您运行ls命令时,这些目录将出现在输出中:

ls

要导航到这些新目录之一,请运行命令cd(代表“更改目录”)并指定目录名称:

cd testdir1

这会将您新的当前工作目录更改为您指定的目录。您可以使用以下命令查看pwd

pwd

但是,由于testdir1testdir2都保存在sammy用户的主目录中,因此它们驻留在目录树的不同分支中。该cd命令在当前工作目录中查找目录,因此这意味着您无法cd直接进入testdir2之前创建的目录,而该testdir1目录是您的工作目录:

cd testdir2

但是,如果指定要导航到的目录的完整路径,则无论当前工作目录如何,都可以导航到任何现有目录:

cd /home/sammy/testdir2

注意:在 Linux 中,波形符 ( ~) 是您登录用户的主目录的简写。知道了这一点,您也可以像这样编写前面的命令,它将获得相同的结果:

cd ~/testdir2

此外,您可以指定..更改到路径中上一级的目录。要返回到原始目录:

cd ..

如果您对导航树中的位置感到困惑,请记住您始终可以运行命令pwd来查找当前目录。许多现代 shell(包括 Bash,许多 Linux 发行版的默认设置)也会指示您的当前目录,如本节中的示例命令所示

您不能使用cd来与文件交互;cd代表“更改目录”,仅允许您导航目录。但是,您可以创建、编辑和查看文件的内容。

创建文件的一种方法是使用命令touch。要创建一个名为的新文件file.txt

文件操作​

touch file.txt

这将创建一个空文件,其名称file.txt位于当前工作目录中。该文件的内容为空。

file.txt如果您决定稍后重命名,可以使用以下mv命令进行操作:

mv file.txt newfile.txt

mv代表“移动”,它可以将文件或目录从一个地方移动到另一个地方。通过指定原始文件 ,file.txt您可以将其“移动”到当前工作目录中的新位置,从而对其进行重命名。

还可以使用该cp命令将文件复制到新位置。如果我们想带回来file.txt但保留,你可以像这样newfile.txt复制一个newfile.txtnamed :file.txt

cp newfile.txt file.txt

正如您可能已经猜到的,cp是“copy”的缩写。通过复制newfile.txt到名为 的新文件file.txt,您已将原始文件复制到具有不同名称的新文件中。

但是,如果文件不包含任何内容,则没有多大用处。要编辑文件,需要文件编辑器。

文件编辑器有很多选项,全部由专业人士创建供日常使用。此类编辑器包括vimemacsnanopico

nano对于初学者来说是一个合适的选项:它相对用户友好,并且不会因为神秘的选项或命令而让您负担过重。

要将文本添加到file.txtwith nano,请运行以下命令:

nano file.txt

这将打开一个空间,您可以在其中立即开始输入进行编辑file.txt。添加您喜欢的任何文本,或者您可以复制本示例中的文本:

文件.txt
Say it's only a paper moon
Sailing over a cardboard sea,
But it wouldn't be make believe
If you believed in me.

Yes it's only a canvas sky
Hanging over a muslin tree,
But it wouldn't be make believe
If you believed in me.

Without your love,
It's a honky-tonk parade.
Without your love,
It's a melody played in a penny arcade.

It's a Barnum and Bailey world,
Just as phony as it can be,
But it wouldn't be make believe
If you believed in me.
复制

要保存您的书面文本,请按CTRL + XY,然后按ENTER。这将返回到带有新保存的文件的 shell file.txt

现在file.txt其中包含一些文本,您可以使用cat或查看它less

cat命令将指定文件的内容打印到系统的输出中。尝试运行并将刚刚编辑的文件作为参数cat传递:file.txt

cat file.txt

这会将全部内容打印file.txt到终端。如果您使用上一个示例中的文本,则此命令将返回类似于以下内容的输出:

cat如果文件特别长,则使用查看文件内容可能会很不方便且难以读取。作为替代方案,您可以使用less允许您对输出进行分页的命令。

用于less查看文件的内容file.txt,如下所示:

less file.txt

这也将打印 的内容file.txt,但从文件开头开始一次打印一个终端页。您可以使用空格键前进一页,或使用箭头键一次上下一行。

q退出less

最后,要删除file.txt文件,请将文件名作为参数传递给rm

rm file.txt

注意:如果没有其他选项,该rm命令(代表“remove”)不能用于删除目录。但是,它确实包含-d允许您删除空目录的标志:

rm -d directory

您还可以使用以下命令删除空目录rmdir

rmdir directory

如果要删除不为空的目录,可以rm使用该-r标志运行。这将删除指定的目录及其内容,包括所有文件和子目录:

rm -r directory

但是,由于删除内容是永久性操作,因此只有在确定要删除指定目录时才应使用rm-r选项运行

学习扩展

如果您的问题与特定的 Linux 命令有关,则手册页为几乎每个命令提供了详细且富有洞察力的文档。要查看任何命令的手册页,请将命令的名称作为参数传递给命令man

man command

例如,man rm显示 的用途rm、如何使用它、可用的选项、使用示例以及更多有用的信息

结论​

本指南介绍如何使用 Linux 环境。然而,完全理解 Linux 及其所有组件远远超出了单个教程的范围。例如,本教程没有提​及权限,​这是 Linux 系统管理的基本概念。

01-01 09:52