Linux 用户应该知道的 10 个命令

通过这 10 个基本命令开始掌握 Linux 命令行界面 (CLI)。
401 位读者喜欢这篇文章。
Terminal view

Jamie Cox。由 Opensource.com 修改。CC BY 2.0。

您可能认为您是 Linux 新手,但事实并非如此。全球有 37.4 亿互联网用户,他们都在以某种方式使用 Linux,因为 Linux 服务器为 90% 的互联网提供支持。大多数现代路由器运行 Linux 或 Unix,并且 TOP500 超级计算机也依赖于 Linux。如果您拥有 Android 智能手机,您的操作系统就是由 Linux 内核构建的。

换句话说,Linux 无处不在。

但是,使用基于 Linux 的技术与使用 Linux 本身是不同的。如果您对 Linux 感兴趣,但一直在使用 PC 或 Mac 桌面,您可能想知道需要了解哪些内容才能使用 Linux 命令行界面 (CLI)。您来对地方了。

以下是您需要了解的基本 Linux 命令。每个命令都很简单,容易记住。换句话说,您不必成为比尔·盖茨也能理解它们。

1. ls

您可能在想,“是什么?”不,这不是一个排版错误——我确实想输入一个小写的 L。ls,或“list”,是您需要知道的第一个使用 Linux CLI 的命令。此列表命令在 Linux 终端中运行,以显示在相应文件系统下归档的所有主要目录。例如,此命令

ls /applications

显示存储在 applications 文件夹中的每个文件夹。您将使用它来查看文件、文件夹和目录。

所有隐藏文件都可以使用命令 ls -a 查看。

2. cd

此命令用于进入(或“更改”)目录。这是您从一个文件夹导航到另一个文件夹的方式。假设您在 Downloads 文件夹中,但您想进入一个名为 Gym Playlist 的文件夹。简单地输入 cd Gym Playlist 不起作用,因为 shell 无法识别它,并且会报告您要查找的文件夹不存在。要调出该文件夹,您需要包含一个反斜杠。该命令应如下所示

cd Gym\ Playlist

要从当前文件夹返回到上一个文件夹,您可以键入文件夹名称,后跟 cd ..。将这两个点想象成一个后退按钮。

3. mv

此命令将文件从一个文件夹传输到另一个文件夹;mv 代表“移动 (move)”。您可以像在 PC 上将文件拖到文件夹一样使用此短命令。

例如,如果我创建一个名为 testfile 的文件来演示所有基本的 Linux 命令,并且我想将其移动到我的 Documents 文件夹,我将发出以下命令

mv /home/sam/testfile /home/sam/Documents/

命令的第一部分 (mv) 说明我要移动一个文件,第二部分 (home/sam/testfile) 命名我要移动的文件,第三部分 (/home/sam/Documents/) 指示我要将文件传输到的位置。

4. 键盘快捷键

好的,这不仅仅是一个命令,但我忍不住将它们全部包含在此处。为什么?因为它们可以节省时间,并消除您的使用过程中的麻烦。

CTRL+K 从光标处剪切文本到行尾

CTRL+Y 粘贴文本

CTRL+E 将光标移动到行尾

CTRL+A 将光标移动到行首

ALT+F 向前跳转到下一个空格

ALT+B 向后跳到上一个空格

ALT+Backspace 删除上一个单词

CTRL+W 剪切光标后面的单词

Shift+Insert 将文本粘贴到终端中

Ctrl+D 注销

这些命令在许多方面都很有用。例如,想象一下您在命令文本中拼错了一个单词

sudo apt-get intall programname

您可能注意到 "install" 拼写错误,因此该命令将不起作用。但是键盘快捷键可以轻松地返回并修复它。如果我的光标位于行尾,我可以单击 ALT+B 两次将光标移动到下面用 ^ 符号标记的位置

sudo apt-get^intall programname

现在,我们可以快速添加字母 s 来修复 install。非常简单!

5. mkdir

这是您在 Linux 环境中创建目录或文件夹时使用的命令。例如,如果您像我一样热衷于 DIY 技巧,您可以输入 mkdir DIY 来为您的 DIY 项目创建一个目录。

6. at

如果您想在特定时间运行 Linux 命令,您可以将 at 添加到等式中。语法是 at,后跟您希望命令运行的日期和时间。然后,命令提示符更改为 at>,以便您可以输入要在上面指定的时间运行的命令。

例如

at 4:08 PM Sat
at> cowsay 'hello'
at> CTRL+D

这将在星期六晚上 4:08 运行程序 cowsay。

7. rmdir

此命令允许您通过 Linux CLI 删除目录。例如

rmdir testdirectory

请记住,此命令不会删除包含文件的目录。这仅适用于删除空目录。

8. rm

如果您要删除文件,则需要 rm 命令。它可以删除文件和目录。要删除单个文件,请键入 rm testfile,或者要删除目录及其中的文件,请键入 rm -r

9. touch

touch 命令,也称为“创建文件命令”,允许您使用 Linux CLI 创建新的空文件。就像 mkdir 创建目录一样,touch 创建文件。例如,touch testfile 将创建一个名为 testfile 的空文件。

10. locate

此命令用于在 Linux 系统中查找文件。可以将其视为 Windows 中的搜索。如果您忘记了文件的存储位置或文件名,这将非常有用。

例如,如果您有一个关于区块链用例的文档,但您想不起标题,您可以输入 locate -blockchain,或者您可以通过用星号或星号 (*) 分隔单词来查找“blockchain use cases”。例如:

locate -i*blockchain*use*cases*.


还有很多其他有用的 Linux CLI 命令,例如 pkill 命令,如果您启动了关闭并意识到您并不想这样做,这将非常有用。但是,此处描述的 10 个简单而有用的命令是您开始使用 Linux 命令行所需的基本命令。

标签
User profile image.
Sam Bocetta 是美国海军的退役国防承包商、国防分析师和自由记者。他专门为“不可能”的弹道学问题寻找根本的解决方案。他涵盖物联网安全、加密、密码学、网络战和网络防御方面的趋势。

14 条评论

非常有用! :)

你怎么能从键盘快捷键列表中错过 Ctrl+u?那是我最常用的一个。它就像 Ctrl+k,但方向相反(从光标剪切到行首)。

Touch 实际上不是用于创建文件的;创建文件是它真正是什么以及做什么的副作用。`touch file` 更新 `file` 的访问时间 - 这会产生创建 `file` 作为具有零块的空文件的副作用,如果 `file` 尚不存在。

me@banshee:/tmp$ touch file ; stat file
文件: 'file'
大小:0 块:0 IO 块:4096 常规空文件
设备:841h/2113d 索引节点:692239 链接:1
访问:(0664/-rw-rw-r--)Uid:(1000/ me) Gid:(1000/ me)
访问:2018-04-03 14:34:01.440460376 -0400
修改:2018-04-03 14:34:01.440460376 -0400
更改:2018-04-03 14:34:01.440460376 -0400
出生:-

me@banshee:/tmp$ touch file ; stat file
文件: 'file'
大小:0 块:0 IO 块:4096 常规空文件
设备:841h/2113d 索引节点:692239 链接:1
访问:(0664/-rw-rw-r--)Uid:(1000/ me) Gid:(1000/ me)
访问:2018-04-03 14:34:43.336937192 -0400
修改:2018-04-03 14:34:43.336937192 -0400
更改:2018-04-03 14:34:43.336937192 -0400
出生:-

* 更改访问和修改时间,抱歉。

我认为您命名了大多数 Linux 用户会同意是基本命令的终端命令,例如:ls、cd、mv、mkdir 和 rm。如果您的工作目录未在提示符中列出,则命令“pwd”也是基本的。

“rmdir”对于任何可以使用带有“rm”的递归选项来删除目录及其内容的人来说都不是基本的,并且“touch”不是基本的,因为可以使用编辑器或输出重定向来创建文件。此外,键盘快捷键根本不是必需的,并且许多人永远不需要“at”命令。

关于“locate”命令,如果它被认为是基本的,那么基本命令列表会变得更长,并且“updatedb”会成为一个重要的命令。

根据我的记忆,以下是一些其他有用的命令,适用于想要学习使用 Linux 终端的人:man、apropos、sudo、su、chown、chmod、find、xargs、grep、sed、mount、less、stat

每个人都会添加自己的,但我最喜欢的键盘快捷键之一是在许多 Linux 版本中都可以使用的“alt-period”,它会粘贴上一个命令的最后一个单词。重复按它会在历史上向后移动。自从我最近了解到它以来,我经常使用它,这真是太棒了。谁知道重复上一个命令的第一个元素的快捷方式?

mv 本质上是一个重命名命令。是的,有一个重命名命令,但是如果您查阅它的手册页,它是一种专门的重命名用法。
当然,mv 实际上并没有移动任何东西,它只是更改了文件的逻辑位置,要么只是它的名称,要么是整个路径名。

如果源和目标位于同一文件系统内,那么您是正确的,没有任何东西被移动,只是指向该文件的指针。但是,如果要求这样做,它肯定会将文件从一个分区/文件系统移动到另一个分区/文件系统。

回复 作者:Greg P

你不能再错了!

当然,`mv` 实际上确实是将文件的目录条目从一个地方移动到另一个地方,如果需要,它还会复制文件,以保留移动目录条目的语义。

回复 作者:Greg P

这不是一个更正,但我认为如果您提供一个带有 `rm -r` 的完整示例(例如 `rm testDir -r`),将会改进文档。 目前的写法暗示它可以神奇地找出目录名称。

`man`
必须将 `man` 命令添加到基本命令列表中!否则没人知道 RTFM 是什么意思! https://xkcd.com/293/

非常好。 谢谢!

我不知道所有这些键盘快捷键。 非常有帮助,我喜欢它。 谢谢!

对于那些不太熟悉 Linux 命令行的人来说,这是一篇非常有帮助且相关的文章,对于其他人来说也是一个很好的复习。
谢谢。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.