0


Linux 导航和文件管理

简介

在文件系统中导航和操作文件和文件夹是使用大多数计算机的关键部分。云服务器大多使用相同的常见 Linux shell 和常见 Linux 命令来处理文件和文件夹。本终端将介绍使用这些命令的一些基本技能。

先决条件和目标

为了跟随本指南,您需要访问 Linux 服务器。如果您需要关于首次连接到服务器的信息,可以参考我们的使用 SSH 连接到 Linux 服务器的指南。

您还需要了解终端的工作原理以及 Linux 命令的外观。本指南涵盖了终端的介绍。

本指南中的所有内容都可以通过常规的非根(非管理员)用户帐户完成。您可以通过按照您的发行版的初始服务器设置指南(例如 Ubuntu 22.04)来学习如何配置此类型的用户帐户。

当您准备好开始时,请使用 SSH 连接到您的 Linux 服务器,并继续以下操作。

导航和探索

您需要掌握的最基本的技能是在文件系统中移动并了解周围的情况。您将在本节中复习允许您执行此操作的工具。

使用 “pwd” 命令找到您所在的位置

当您登录到服务器时,通常会被放置在您的用户帐户的主目录中。主目录是为您的用户设置的一个目录,用于存储文件和创建目录。这是您拥有完全控制权的文件系统中的位置。

要找出您的主目录在文件系统中的位置,您可以使用

pwd

命令。此命令显示您当前所在的目录:

pwd
/home/sammy

主目录以用户帐户的名称命名。此目录位于一个名为

/home

的目录中,该目录本身位于顶级目录中,通常称为 “根” 目录,并由单个斜杠

/

表示。

使用 “ls” 查看目录内容

现在您知道如何显示您所在的目录,您可以查看目录的内容。

当前,您的主目录没有太多内容可供查看,因此您可以转到另一个更繁华的目录进行探索。使用

cd

命令移动到此目录。之后,您将使用

pwd

确认您成功移动了:

cd /usr/share
pwd
/usr/share

现在您在一个新目录中,让我们看看里面有什么。为此,您可以使用

ls

命令:

ls
adduser            groff                          pam-configs
applications       grub                           perl
apport             grub-gfxpayload-lists          perl5
apps               hal                            pixmaps
apt                i18n                           pkgconfig
aptitude           icons                          polkit-1
apt-xapian-index   info                           popularity-contest
. . .

如您所见,此目录中有许多项目。您可以向命令添加一些可选标志以修改默认行为。例如,要以扩展形式列出所有内容,您可以使用

-l

标志(表示 “long” 输出):

ls -l
total 440
drwxr-xr-x   2 root root  4096 Apr 17  2022 adduser
drwxr-xr-x   2 root root  4096 Sep 24 19:11 applications
drwxr-xr-x   6 root root  4096 Oct  9 18:16 apport
drwxr-xr-x   3 root root  4096 Apr 17  2022 apps
drwxr-xr-x   2 root root  4096 Oct  9 18:15 apt
drwxr-xr-x   2 root root  4096 Apr 17  2022 aptitude
drwxr-xr-x   4 root root  4096 Apr 17  2022 apt-xapian-index
drwxr-xr-x   2 root root  4096 Apr 17  2022 awk
. . .

此视图为我们提供了大量信息。第一个块描述了文件类型(如果第一列是 “d”,则该项目是一个目录,如果是 “-”,则是一个普通文件)和权限。随后的每一列依次描述了系统中该文件的硬链接数、所有者、组所有者、项目大小、最后修改时间和项目的名称。

要获取包括隐藏文件和目录在内的所有文件列表,您可以添加

-a

标志。由于

/usr/share

目录中没有真正的隐藏文件,让我们返回到您的主目录并尝试该命令。您可以通过输入不带参数的

cd

返回主目录:

cd
ls -a
. .. .bash_logout  .bashrc  .profile

如您所见,有三个隐藏文件,以及

.

..

,这些是特殊指示符。通常,配置文件存储为隐藏文件,就像在这里一样。

对于点和双点条目,这些不完全是目录,而更像是指示相关目录的内置方法。单个点表示当前目录,双点表示此目录的父目录。这将在下一节中派上用场。

使用 “cd” 在文件系统中移动

在上一节中,您已经进行了两次目录移动,以演示

ls

命令的一些属性。让我们在这里更仔细地看一下这个命令。

首先返回到

/usr/share

目录:

cd /usr/share

这是一个通过提供绝对路径来更改目录的示例。在Linux中,每个文件和目录都位于最顶层的目录下,这个目录被称为"根"目录,但是用一个单独的斜杠"/"来引用。绝对路径指示了目录相对于这个顶级目录的位置。这让我们能够从文件系统的任何地方以一种无歧义的方式引用目录。每个绝对路径都必须以斜杠开头。

另一种方法是使用相对路径。相对路径是指相对于当前目录的目录。对于在当前目录层次结构中接近当前目录的目录,这通常更短,有时不需要假设目录在更广泛的文件系统中的位置是有益的。当前目录内的任何目录都可以通过名称引用,而无需前导斜杠。您可以通过输入以下命令来切换到

/usr/share

目录中的

locale

目录:

cd locale

您还可以使用相对路径移动多个目录级别,只需提供当前目录路径之后的路径部分。从这里,您可以通过输入以下命令进入

en

目录中的

LC_MESSAGES

目录:

cd en/LC_MESSAGES

要返回上一级目录,即移动到当前目录的父目录,您可以使用特殊的双点指示符。例如,您现在位于

/usr/share/locale/en/LC_MESSAGES

目录中。要向上移动一级,可以输入:

cd ..

这将把我们带到

/usr/share/locale/en

目录。

您可以通过运行

cd

而不指定目录来随时返回到您的主目录。您还可以在任何其他命令中使用

~

来代替您的主目录:

cd ~
pwd
/home/sammy

要了解更多关于如何使用这三个命令的信息,您可以查看我们的指南,了解如何探索Linux文件系统。

查看文件

在上一节中,您学会了如何浏览文件系统。在使用

ls

命令查看各个目录时,您可能会看到一些文件。与一些操作系统相反,Linux和其他类Unix操作系统依赖于纯文本文件来构建系统的大部分内容。

在本教程中,您将主要使用

less

命令来查看文件。这被称为"分页器",因为它允许您浏览文件的各个页面。而前面的命令会立即执行并将您返回到命令行,

less

是一个应用程序,它会继续运行并占据屏幕,直到您退出。

您将打开

/etc/services

文件,这是一个包含系统已知服务信息的配置文件:

less /etc/services

文件将在

less

中打开,允许您查看适合终端窗口区域的文档部分:

# 网络服务,互联网风格
#
# 请注意,目前IANA的政策是为TCP和UDP分配一个单一的众所周知端口号;因此,即使协议不支持UDP操作,官方端口也有两个条目。
#
# 从http://www.iana.org/assignments/port-numbers和http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services等来源进行更新。
# 如果有官方分配的端口并在现实世界中使用,或者是Debian软件包需要的端口,将根据请求添加新端口。
# 如果您需要一个巨大的已使用数字列表,请安装nmap软件包。

tcpmux          1/tcp                           # TCP端口服务多路复用器
echo            7/tcp
. . .

要滚动,您可以使用键盘上的上下箭头键。要向下翻页,可以使用空格键、键盘上的"Page Down"按钮或

CTRL-f

快捷键。

要向上滚动,可以使用"Page Up"按钮或

CTRL-b

键盘快捷键。

要在文档中搜索一些文本,可以输入斜杠"/“,然后跟上搜索词。例如,要搜索"mail”,您可以输入:

/mail

这将在文档中向前搜索,并在第一个结果处停止。要到达另一个结果,可以输入小写的

n

键:

n

要向后移动到上一个结果,使用大写的

N

键:

N

要退出

less

程序,可以输入

q

退出:

q

在某些情况下,还有许多其他查看文件的方法。

cat

命令输出文件的内容并立即将您返回到提示符。

head

命令默认显示文件的前10行。同样,

tail

命令显示文件的最后10行。这些命令以对其他程序有用的方式显示文件内容。这个概念将在本教程系列的后面部分介绍。

文件和目录操作

在本节中,您将创建和操作文件和目录。

使用 “touch” 创建文件

许多命令和程序都可以创建文件。最直接的创建文件的方法是使用

touch

命令。这将使用指定的名称和位置创建一个空文件。

首先确保您位于您的主目录中,因为这是您有权限保存文件的位置。然后,您可以通过输入以下命令创建一个名为

file1

的文件:

cd
touch file1

现在,如果查看目录中的文件,您可以看到您新创建的文件:

ls
file1

如果对现有文件使用

touch

命令,则会更新与该文件关联的“最后修改”时间。这一点值得记住。

您还可以同时创建多个文件。您也可以使用绝对路径。例如,您可以输入:

touch /home/sammy/file2 /home/sammy/file3
ls
file1  file2  file3

使用 “mkdir” 创建目录

touch

命令类似,

mkdir

命令允许您创建空目录。

例如,要在您的主目录中创建一个名为

test

的目录,您可以输入:

cd
mkdir test

您可以通过输入以下命令在

test

目录中创建一个名为

example

的目录:

mkdir test/example

为了使上述命令生效,

test

目录必须已经存在。要告诉

mkdir

应该创建任何必要的目录以构造给定的目录路径,您可以使用

-p

选项。这允许您一次性创建嵌套目录。您可以通过输入以下命令创建类似

some/other/directories

的目录结构:

mkdir -p some/other/directories

该命令将首先创建

some

目录,然后在其中创建

other

目录。最后,它将在这两个目录中创建

directories

目录。

使用 “mv” 移动和重命名文件和目录

您可以使用

mv

命令将文件移动到新位置。例如,您可以通过输入以下命令将

file1

移动到

test

目录中:

mv file1 test

您可以使用特殊的点引用来将该文件移回到您的主目录中,以引用当前目录。确保您位于您的主目录中,然后运行

mv

命令:

cd
mv test/file1 .
mv

命令还用于重命名文件和目录。实质上,移动和重命名都只是调整现有项目的位置和名称。

因此,要将

test

目录重命名为

testing

,您可以输入:

mv test testing

使用 “cp” 复制文件和目录

使用

mv

命令,您可以移动或重命名文件或目录,但无法复制它。

cp

命令可以创建现有项目的新副本。

例如,您可以将

file3

复制到名为

file4

的新文件:

cp file3 file4

mv

操作不同,

file3

将不再存在,现在您有

file3

file4

两个文件。

为了复制整个目录,您必须在命令中包含

-r

选项。这代表"递归",因为它会复制目录以及目录的所有内容。

例如,要将

some

目录结构复制到名为

again

的新结构中,您可以输入:

cp -r some again

与文件不同,如果目标是一个已存在的目录,文件或目录将被复制到目标中:

cp file1 again

这将创建

file1

的新副本并将其放置在

again

目录中。

使用 “rm” 和 “rmdir” 删除文件和目录

要删除文件,您可以使用

rm

命令。

注意:在使用任何破坏性命令如

rm

时要非常小心。Shell 中没有“撤消”命令,因此有可能意外永久删除重要文件。

要删除常规文件,只需将其传递给

rm

命令:

cd
rm file4

同样,要删除空目录,您可以使用

rmdir

命令。只有在所讨论的目录中没有任何内容时,此操作才会成功。例如,要删除

testing

目录中的

example

目录:

rmdir testing/example

要删除非空目录,您将使用带有

-r

选项的

rm

命令,该选项递归地删除所有目录内容,以及目录本身。

例如,要删除

again

目录及其中的所有内容,您可以输入:

rm -r again

编辑文件

目前,你已经知道如何将文件作为对象进行操作,但还没有学会如何实际编辑它们并向其中添加内容。

nano

是一种常见的命令行 Linux 文本编辑器之一,对于初学者来说是一个很好的起点。它的操作方式与上面讨论的

less

程序有些相似,因为在使用期间它会占用整个终端。

nano

编辑器可以打开现有文件,也可以创建新文件。如果你决定创建一个新文件,可以在调用

nano

编辑器时给它命名,或者在保存内容时稍后再命名。

你可以通过输入以下命令打开

file1

文件进行编辑:

cd
nano file1
nano

应用程序将打开该文件(目前为空白)。界面看起来像这样:

  GNU nano 4.8                 file1                                         

                                  [ New File ]
^G Get Help   ^O WriteOut   ^R Read File  ^Y Prev Page  ^K Cut Text   ^C Cur Pos
^X Exit       ^J Justify    ^W Where Is   ^V Next Page  ^U UnCut Text ^T To Spell

顶部显示了应用程序的名称和你正在编辑的文件的名称。中间显示了文件的内容,目前为空白。底部显示了一些按键组合,指示编辑器的一些控制功能。对于这些按键组合,

^

字符表示

CTRL

键。

要在编辑器内获取帮助,请按

Ctrl+G

当你完成浏览帮助时,输入

Ctrl+X

返回到你的文档。

在这个例子中,你可以输入以下两句话:

Hello there.

Here is some text.

要保存你的工作,请按

Ctrl+O

File Name to Write: file1                                                            
^G Get Help          M-D DOS Format       M-A Append           M-B Backup File
^C Cancel            M-M Mac Format       M-P Prepend

如你所见,底部的选项也已经改变。这些是上下文相关的,这意味着它们会根据你要做的事情而改变。要确认写入

file1

,请按

Enter

保存后,如果你进行了额外的更改并尝试退出程序,你将看到类似的提示。添加一行新内容,然后尝试按

Ctrl+X

退出

nano

如果你没有保存,将会询问你是否保存修改:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?                         
 Y Yes
 N No           ^C Cancel

你可以按

Y

保存你的更改,按

N

放弃更改并退出,或者按

Ctrl+C

取消退出。如果选择保存,将会得到与之前相同的文件提示,确认你要保存更改到同一文件。按

Enter

保存文件并退出编辑器。

你可以使用

cat

程序显示文件的内容,或者使用

less

程序打开文件进行查看。在使用

less

查看后,记得按

q

返回到终端。

less file1
Hello there.

Here is some text.

Another line.

在某些指南中可能会提到的另一个编辑器是

vim

vi

。这是一个更高级的编辑器,非常强大,但学习曲线陡峭。如果你被告知使用

vim

vi

,可以随意使用

nano

。要学习如何使用

vim

,请阅读我们的入门指南。

结论

到目前为止,你应该已经了解如何在 Linux 服务器上进行操作,以及如何查看可用的文件和目录。你还应该知道文件操作命令,可以让你查看、复制、移动或删除文件。最后,你应该对使用

nano

文本编辑器进行一些编辑操作感到舒适。

有了这些技能,你应该能够继续阅读其他指南,并学会如何充分利用你的服务器。在我们的下一个指南中,你将了解如何查看和理解 Linux 权限。

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/rubys007/article/details/136355067
版权归原作者 白如意i 所有, 如有侵权,请联系我们删除。

“Linux 导航和文件管理”的评论:

还没有评论