Linux命令行简介

2020年12月29日17:24:04 发表评论 43 次浏览

介绍

了解如何使用Linux命令行与你的Cloud Server进行交互。命令行是功能强大且必要的工具, 但对于初学者来说可能会令人生畏。本教程旨在使新用户了解基础知识。

要求

  • 运行Linux(任何版本)的Cloud Server
  • 具有互联网连接的Mac或Windows PC

使用SSH连接到服务器

使用Linux命令行的第一步是使用SSH连接到服务器。为此, 你将需要一个终端仿真器程序:

  • Mac OSX:终端
  • 视窗:油灰

Mac用户将在"应用程序"的"实用工具"文件夹中找到"终端"。 Windows用户可以免费下载程序PuTTY。

这些程序使用SSH连接到你的服务器。 SSH是一种安全协议, 这意味着你的连接已加密, 并且不受黑客和窃听者的攻击。

终端用户

打开终端并输入:

ssh root@example.com

其中example.com是服务器的域名或IP地址。

连接后, 输入密码根在创建服务器时设置的。

PuTTY用户

将服务器的域名或IP地址放在"主机名"字段中, 保留默认设置为港口设置22和SSH协议单选按钮选中, 然后单击打开.

Linux命令行:与PuTTY连接
Linux命令行:与PuTTY连接

连接后, 输入根输入用户名, 然后输入密码根在创建服务器时设置的。

查找和更改位置

在简短的登录消息之后, 你将被带到命令提示符本身, 如下所示:

[root@localhost ~]#

在这里你可以通过键入命令并点击Enter来给出命令。

找到你的位置

首先, 让我们使用以下命令找到我们的位置:

pwd

这将返回:

/root

这意味着我们在/根目录。

对于好奇:密码代表工作目录路径, 因为它显示了你的身份。大多数Linux命令一开始都是完全正常的单词和短语, 但是为了使它们更容易键入, 已经对其进行了大幅度的缩写。

切换到其他目录

现在我们知道我们在哪里, 让我们去其他地方。更改到其他目录的命令是cd(对于更改目录)。该命令的语法为:

cd [path to destination directory]

"语法"是你在Linux命令中经常遇到的术语。这意味着命令的语法。通常, 语法是命令, 加上可选部分, 你可以自行填写。

在这种情况下, 请将方括号中的所有内容以及方括号本身替换为目标目录的路径。

你可以通过两种方式告诉Linux你所指的目录:

绝对路径:目录的完整路径, 从服务器的顶层(主)目录开始。例如:cd / var / www / html.

相对路径:目录的路径, 相对于你的位置。例如, 如果你在/ var / www而你想下到html目录, 你可以简单地说cd html.

这是一个方便的快捷方式:如果你键入cd然后按Enter键, 你将被带回到主目录。 (如果你以根这会是/根)

创建目录

从你的主目录开始。 (如果你在服务器周围移动, 只需输入以下内容即可cd然后按Enter。)

让我们创建一个可用于本教程的目录。创建目录的语法为:

mkdir [path to directory]

就像cd的路径麦克迪尔可以指定为绝对路径或相对路径。

现在, 让我们创建一个名为命令行测试使用以下命令在主目录中:

mkdir command-line-test

列出目录的内容

现在你已经创建了目录命令行测试让我们来看看它。有几个命令可以列出目录的内容。这些中最基本的是ls.

Linux命令行:ls输出
Linux命令行:ls输出

ls代表列表短。默认情况下, 不带任何标志的情况下, 它以紧凑格式列出文件夹的内容。当你列出混乱目录的内容时, 这特别方便。

如果你想要有关目录内容的更多详细信息, 可以将标志添加到ls命令。最常见的标志之一是-l其中列出了很长的内容:

[root@localhost ~]# ls -l
drwxr-xr-x 2 root root 6 Aug 12 20:02 command-line-test

这将返回很多信息。第一个字符块drwxr-xr-x是目录的权限。根和根是目录的所有者和组。接下来是创建日期和时间。最后, 目录本身的名称。

注意:在许多系统上(特别是使用Bash的系统)ll是的别名ls -l, 每次使用时可以节省一些额外的击键。

但是, 这两个命令都没有列出目录的整个内容。实际上, 此目录(与许多其他目录一样)具有很多文件, 这些文件从随意显示中隐藏。

要显示目录中的所有文件, 请使用以下命令:

ls -la

如你所见, 此目录中的文件比我们第一次看到的要多lsorls -l:

[root@localhost ~]# ls -la
total 32
dr-xr-x---.  5 root root 4096 Aug 23 16:56 .
dr-xr-xr-x. 17 root root 4096 Aug 17 10:04 ..
-rw-------   1 root root    0 Aug  6  2015 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwxr-xr-x   3 root root   17 Aug 23 16:56 .cache
drwxr-xr-x   2 root root    6 Aug 23 16:56 command-line-test
drwxr-xr-x   3 root root   17 Aug 23 16:56 .config
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-------   1 root root 1024 Aug 17 10:03 .rnd
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

的标志ls命令会变得非常复杂。如果使用以下命令, 则可以看到它们的完整列表人ls。每个人都有自己喜欢的收藏ls标志, 例如:

[root@localhost ~]# ls -rtaFl
total 32
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-------   1 root root    0 Aug  6  2015 .bash_history
-rw-------   1 root root 1024 Aug 17 10:03 .rnd
dr-xr-xr-x. 17 root root 4096 Aug 17 10:04 ../
drwxr-xr-x   3 root root   17 Aug 23 16:56 .cache/
drwxr-xr-x   3 root root   17 Aug 23 16:56 .config/
drwxr-xr-x   2 root root    6 Aug 23 16:56 command-line-test/
dr-xr-x---.  5 root root 4096 Aug 23 16:56 ./
[root@localhost ~]#

除其他事项外, 这将按相反的日期顺序对目录内容进行排序, 最新文件位于列表底部。

错字复活节彩蛋

顺便说一句, 某些系统会为输入错误的用户提供复活节彩蛋sl代替。告诉你什么我不会破坏惊喜sl代表。

你可能需要安装sl在此命令起作用之前:

  • CentOS和Red Hat:百胜安装sl
  • Ubuntu和Debian:apt-get install sl

这是无用的乐趣, 但有时每个人都需要一个愚蠢的休息时间。

创建和编辑文件

在你的根目录中, 使用cd命令行测试移到上面创建的目录中。

你可以从命令行使用许多文本编辑器。大多数新用户发现Nano是最容易使用的。除了其他优点外, 基本的Nano命令在屏幕底部可见。

让我们使用Nano创建一个名为我的测试文件使用命令:

nano my-test-file

输入几句话, 然后保存并退出文件。为此, 请单击Ctrl+X退出。 Nano会询问你是否要保存更改。请点击ÿ保存更改, 你将回到命令行。

你可以使用Nano打开该文件来编辑它:

nano my-test-file

Nano将使你可以使用键盘上的箭头键四处移动。

移动或重命名文件

相同的命令mv将允许你移动或重命名文件。 (将其视为将文件移动到新文件名。)

让我们从重命名文件开始我的测试文件to我的新测试使用命令:

mv my-test-file my-new-test

要再次检查它是否起作用, 请使用列出此目录的内容ll, ls, 要么ls -la(无论你喜欢哪个)。

接下来, 让我们在命令行测试使用以下命令的目录:

mkdir /root/command-line-test/nested

我们可以移动我的新测试内嵌套的与mv命令。有两种方法可以执行此操作:使用绝对路径或相对路径。

绝对路径是文件新位置的完整路径:

mv my-new-test /root/command-line-test/nested

(不确定你现在在哪里?使用密码以获取到你当前位置的完整路径。)

相对路径是相对于你当前位置的路径:

mv my-new-test command-line-test/nested

移动文件后, 你可以通过列出文件内容来检查文件是否在正确的位置嵌套的目录:

ll command-line-test/nested

删除文件或目录

警告:尝试删除文件或目录时请务必小心!容易错误地删除重要的内容。在服务器上错误位置发出的错误命令实际上可以在几分之一秒内删除服务器的全部内容。

删除档案

删除文件最安全的方法是使用rm没有任何标志。服务器将要求你确认删除。

让我们通过删除文件进行测试/ root /命令行测试/嵌套/ my-new-test:

[root@localhost ~]# rm /root/command-line-test/nested/my-new-test
rm: remove regular empty file ‘/root/command-line-test/nested/my-new-test’? y
[root@localhost ~]#

删除目录

删除目录的最安全方法是使用rmdir。让我们通过删除/ root / command-line-test / nested使用以下命令的目录:

rmdir /root/command-line-test/nested

有一个陷阱:rmdir只会删除一个空目录。让我们通过在命令行测试目录:

touch /root/command-line-test/empty-file

然后尝试删除此目录:

[root@localhost ~]# rmdir /root/command-line-test
rmdir: failed to remove ‘/root/command-line-test’: Directory not empty

删除目录的内容

当你需要删除不为空的目录时, 可以有几种选择。

最安全的方法是使用通配符*标记为rm。这说明rm删除指定位置的所有内容。它将提示你确认每个删除。

要对此进行测试, 请使用以下命令在此目录中创建另一个文件:

touch /root/command-line-test/another-empty-file

然后使用R M *命令:

[root@localhost ~]# rm /root/command-line-test/*
rm: remove regular empty file ‘/root/command-line-test/another-empty-file’? y
rm: remove regular empty file ‘/root/command-line-test/empty-file’? y

现在, 命令行测试目录为空, 可以使用以下命令将其删除:

rmdir /root/command-line-test
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: