unix操作系统的特点(unix操作系统基础知识)

时间:2023-05-20 12:20:46

作者:admin

来源:系统助手

全文共4108字,预计学习时长8分钟或更长

unix操作系统的特点(unix操作系统基础知识)

你是否注意到,电影中超级讨厌的黑客仅仅只需键入几行指令,盯着黑底绿字的屏幕就能轻易渗透最安全的银行系统,将银行账户洗劫一空。这个人是如何只需敲击几下键盘便能畅通无阻访问所有密码并控制所有的隐藏摄像的呢?电影制作方如何达成这一效果并不好说,这有悖原理!但也许这就是他们的目的:通过镜头告诉观众 “commandline”是多么强大的工具!

unix操作系统的特点(unix操作系统基础知识)

很多时候,由于初学者太习惯于使用图形用户界面(Graphical User Interface)界面,而容易忽略命令行界面(Command-lineinterface)的功能。当用户需要将大约十万个文件复制到一个文件夹中时,使用鼠标就可以实现,但是如果需要对这些文件进行重命名或者根据其扩展名将这些文件进行分类又该如何?由于 GUI 不可编程,使用“command line”操作是不可行的。然而通过键入几行代码,就能快速完成这一操作。

对不同的开发人员而言,Unix shell 都是非常强大的工具。本文旨在介绍 UNIX 操作系统基础知识。

unix操作系统的特点(unix操作系统基础知识)

UNIX

除了 WINDOWS 之外,如今大多数的操作系统都是在 UNIX 基础上构建。其中包括 Linux 发行版,macOS,iOS,Android 等。看一眼 UNIX 操作系统的族谱就足以突出 UNIX 的重要性,这也是它在业界采用如此广泛的原因。事实上,许多数据和计算系统的后端,包括像 Facebook 和谷歌这样的行业巨头,都大量使用 UNIX。

unix操作系统的特点(unix操作系统基础知识)

UNIX 族谱 图片来源:WIkipedia

Shell

Shell 是用于在计算机上运行程序的命令行界面。用户在提示符下键入一串命令,shell 为用户运行程序,然后显示输出。用户可以直接输入命令,也可以从称为名为 shell 脚本或 shell 程序的文件中读取。

Shell types

UNIX 系统通常提供多种 shell 类型。以下是常见的 Shell 类型:

unix操作系统的特点(unix操作系统基础知识)

本文只针对 Bash Shell,对其他类型不做详细介绍。但是,也鼓励你阅读并尝试其他 shell 类型,特别是 zsh shell,因为在苹果最新一代名为 Catalina 的 Mac 操作系统中,zsh 将代替 bash shell。所以现在了解它再好不过。

unix操作系统的特点(unix操作系统基础知识)

终端

终端是用于与 shell 交互的程序,是 Shell 和其中运行的其他命令行程序的交互界面。类似于 Web 浏览器是网站的界面。以下是 Mac 上典型终端的外观:

unix操作系统的特点(unix操作系统基础知识)

典型 MAC 终端示例图

Mac 和 Linux 有各自版本的终端。Windows 还有一个内置命令 shell,但它基于 MS-DOS 命令行而不是 UNIX。所以接下来请看如何在 Windows 上安装 shell 和终端程序,使其运行与在 Mac 和 Linux 上的相同。

Windows 系统中安装

· Windows 系统 Linux 子程序

WSL 是 Windows 10 发布的新版 Linux 兼容系统,允许开发人员直接在 Windows 上运行 GNU / Linux 环境 – 包括大多数命令行工具,实用程序和应用程序-不用修改,无需虚拟机开销。

· Git Bash 命令

本文中将使用 Git Bash 命令。下载安装后将得到一个终端窗口,如下图所示。

unix操作系统的特点(unix操作系统基础知识)

WindowsGit Bash 示例图

终端探索

每当打开终端窗口时,都会看到上次登录凭据和 Shell 提示。只要 shell 准备好接受输入,就会出现 Shell 提示符。根据发行版本的不同,显示可能会稍有不同,但大多数情况下显示为 username @machinename 后跟$符号。

unix操作系统的特点(unix操作系统基础知识)

如果你不想显示以上信息,可以使用 PS1 自定义 shell 提示符。

unix操作系统的特点(unix操作系统基础知识)

终端现在只在提示符下显示$。但这只是暂时的,一旦终端关闭,将重置为其原始设置。

入门

为掌握 Bash 入门知识,请尝试下列简单命令:

· echo:返回在 shell 提示符下键入的内容,类似于在 Python 中打印。

unix操作系统的特点(unix操作系统基础知识)

· date:显示当前时间和日期。

unix操作系统的特点(unix操作系统基础知识)

· cal:显示当月的日历。

unix操作系统的特点(unix操作系统基础知识)

· 清除终端:按住 Ctrl-L 或删除清除终端。

unix操作系统的特点(unix操作系统基础知识)

Bash 命令基本知识

Bash 命令是 Bash 可以独立执行的最小代码单元。这些命令告诉 Bash 需要做什么。Bash 通常从用户方接收单个命令,并在命令执行后返回给用户。

工作目录

Pwd 命令(Print Working Directory)

PWD 是 Print Working Directory 的缩写,其功能是显示当前工作目录,即 shell 当前正在查看的目录,也是 shell 命令查找数据文件的默认位置。

目录类似于文件夹,但在 Shell 中,称为目录。UNIX 文件层次结构呈树状。要访问特定的文件夹或文件,需要穿过树结构中的某些特定路径。路径需借助斜杠(/)字符分隔上述结构的每个节点。

unix操作系统的特点(unix操作系统基础知识)

unix操作系统的特点(unix操作系统基础知识)

文件定位/文件导航

如 Ls 和 cd 这样的命令用于定位和管理文件。

Ls

Ls 是 list(列表)的缩写,其功能为列出目录的内容。通常会从主目录开始查看。这意味着如果自行运行 Ls,将始终显示当前目录的内容,依据我的经验是/ Users / parul。

unix操作系统的特点(unix操作系统基础知识)

unix操作系统的特点(unix操作系统基础知识)

shell 和 GUI 界面中主目录显示图示例。

Parameters

与 Ls 命令一起使用时,参数和选项会开启部分特殊功能。

· ls<folder>:查看特定文件夹的内容。

· ls-a:用于列出文件夹中的所有隐藏文件。

· ls-l:显示更长,更详细的文件列表。ls -l 还可以与 Directory 的名称一起使用,以列出指定目录文件。

· ls~:tilde(〜)是表示主目录的快捷方法。因此,无论进入哪个目录,ls~将始终列出主目录。

unix操作系统的特点(unix操作系统基础知识)

通配符

shell 还支持文件名与模式匹配,用星号(*)表示。通过通配符来替换给定模式中的其他字符。例如,如果列出*.txt,wildcard,所有.txtextension 的文件都会被列出。接下来请尝试列出 Demo 文件夹中的所有.py 文件:

Cd 命令

Cd 是更改目录(Change Directory)的缩写,其功能为将活动目录更改为指定的路径。在进入目录后,可以使用 ls 命令查看该目录的内容。下列是使用此命令的一些方法:

· cd<Directory>:将当前目录更改为所需的目录。定位到 Demo 目录中的测试目录,并使用 Ls 命令查看内容。请注意,也可以使用分号(;)在同一行上键入两个命令。

unix操作系统的特点(unix操作系统基础知识)

· cd..:返回父目录。

· cd:返回主目录。

unix操作系统的特点(unix操作系统基础知识)

管理文件

一些命令可以从 shell 中移动,删除,创建和复制文件。

Mkdir 命令

Mkdir 是 make directory 的缩写,用于创建新目录或文件夹。

Mv 命令

Mv 是移动(Move)的缩写,其功能为将一个或多个文件或目录从一个地方移动到另一个地方。用户需要指定想要移动的内容,即源和想要移动的位置,即目的地。

演示文件夹中创建一个名为 PythonFiles 的新目录,并使用上述两个命令将 Demo 文件夹中的所有.py 文件移入其中。

unix操作系统的特点(unix操作系统基础知识)

Touch 命令

Touch 命令用于创建新空白文件,还用于更改现有文件和目录的时间戳。以下是如何在 Demo 文件夹中创建名为 foo.txt 的文件的图示。

unix操作系统的特点(unix操作系统基础知识)

Rm 命令

Rm 是删除(remove)的缩写,其功能为删除文件或目录。默认情况下,它不会删除目录,但如果在目录中用作 rm-r *,则该目录下所有目录文件都会被删除。接下来请删除之前创建的 foo.txt 文件。

unix操作系统的特点(unix操作系统基础知识)

Rmdir 命令

Rmdir 是删除目录(remove directory)的缩写,用于从文件系统中删除空目录。让我们删除前一段时间创建的 PythonFiles 文件夹。

unix操作系统的特点(unix操作系统基础知识)

注意:/标示父目录

unix操作系统的特点(unix操作系统基础知识)

查看文件

查看文件是 Shell 的另一实用功能。一些命令可以帮助用户查看文件的内容,以便操作。

Cat 命令

Cat 是 concatenate 的缩写,用作读取文件并输出其内容。Cat 命令可以读取任意数量的文件,因此命名为 concatenate。Demo 文件夹中有一些文本文件,现在使用 cat 命令查看其内容。

unix操作系统的特点(unix操作系统基础知识)

查看多个文件,需在 cat 命令后键入文件名:

$ cat Names.txt fruits.txt

Less 命令

Cat 命令在屏幕上显示文件内容。文件较少时,使用 cat 命令并无大碍,但是当文件过大时就会造成问题。从下图示例中可以看出,该命令快速弹出终端所有内容,但却无法理解文件所有内容。幸运的是,名为 less 的命令,允许一次查看一个屏幕的内容。

$ less babynames.txt

unix操作系统的特点(unix操作系统基础知识)

以下是使用 less 命令的示例

Spacebar :To go to the next screen

b:to go to the previous screen

/:to search for a specific word

q:quit

unix操作系统的特点(unix操作系统基础知识)

Pipelinesand Filters 管道和过滤器

管道运算符“|”(垂直条)是一种将一个命令的输出作为输入发送到另一个命令的方法。

command1 | command2

当命令将其输出发送到管道时,该输出的接收端是另一个命令,而不是文件。下图显示了 wc 命令如何计算 cat 命令显示的文件内容。

unix操作系统的特点(unix操作系统基础知识)

在某种程度上,wc 是一个接收输入并以某种方式转换这些输入的命令。这些命令称为过滤器,放于 Unix 管道之后。

Filters 过滤器

接下来请看一些常用的过滤器命令。我们将使用一个名为 babynames.txt 的文件,其中包含大约 1000 个婴儿的姓名和一个包含少量水果名的 fruits.txt 文件。

· Grep(全称:global regular expression print)搜索具有给定字符串的行或查找指定输入流中的模式。以下命令将读取所有文件并输出包含单词“Tom”的所有行。

unix操作系统的特点(unix操作系统基础知识)

但这是一个庞大的列表,我们无法理解所有数据只是在终端爆炸。接下来请看如何使用管道操作符来理解。

Wc 是字数统计(word count)的缩写。它读取文件列表并生成以下一个或多个统计信息:换行计数,字数和字节数。将上述 grep 命令的输出输入到 wc,以计算包含单词“Tom”的行数。

unix操作系统的特点(unix操作系统基础知识)

排序过滤器按首字母顺序或数字顺序对行进行排序

unix操作系统的特点(unix操作系统基础知识)

cat 命令首先读取文件 fruits.txt 的内容,然后对其进行排序。

uniq 代表 unique,它提供输入流中特殊行的数量。

unix操作系统的特点(unix操作系统基础知识)

值得注意的是,除非它们相邻,否则 uniq 无法检测重复的条目。因此在使用 sort 命令之前需要对文件进行排序。或者,你也可以使用 sort -u 来替换 uniq。

unix操作系统的特点(unix操作系统基础知识)

由于多个命令可以放在一个 Pipeline 中,因此 Pipeline 在执行某些复杂任务时非常方便。

unix操作系统的特点(unix操作系统基础知识)

留言 点赞 关注

我们一起分享 AI 学习与发展的干货

欢迎关注全平台 AI 垂类自媒体 “读芯术”

系统下载排行榜71011xp

提取码
XGZS
关闭 前往下载