基本 Unix 命令

2024 年 8 月 29 日 | 阅读 6 分钟

什么是 Unix 命令?

下面的文章概述了 Unix 命令。一个由 Dennis Ritchie、Douglas Mcllroy、Joe Ossanna Brian Kernighan 和 Ken Thompson 于 1970 年在贝尔实验室开发的操作系统,它同时提供命令行界面 (CLI) 和图形用户界面 (GUI) 交互,称为多任务操作系统,允许两个或多个用户同时操作该操作系统,并为用户提供用于与命令行界面中的应用程序交互的命令,例如 sudo 命令、chmod 命令、su 命令、mv 命令、rm 命令、vi 命令、cat 命令、rmdir 命令、mkdir 命令、clear 命令和 ls 命令,可用于实现复杂任务。

Unix 简介

Unix 是一种提供 CLI 和 GUI 交互的操作系统。它由 Dennis Ritchie 以 C 语言开发。Unix 操作系统是多任务的,也为两个或多个用户提供了使用其优势的机会。换句话说,它是一个多用户操作系统。Ubuntu OS 是一个 Unix 版本,它使我们能够完成 Unix 应该完成的所有工作。

因此,它受到处理服务器的专业人士的推荐;也推荐学习基于命令行的操作系统是如何工作的。许多利用 Unix 执行的庞大而复杂的应用程序,都得益于其易于处理进程的特性。与 Windows 操作系统相比,它速度更快,用户体验更好。

许多测试活动,例如性能和安装测试,都依赖于操作系统知识。如今,几乎所有的 Web 服务器都是基于 Unix 的。因此,了解 Unix 对测试人员至关重要。如果我们不熟悉 Unix,那么学习 Unix 命令将是一个很好的开始。理解这些命令的最佳方法之一是在 Unix 操作系统上同时练习和阅读它们。

Unix 中的基本命令

  • cal:此命令用于显示日历。

语法

示例:如果我们想显示 2018 年 3 月的日历,我们可以使用以下 Unix 命令

  • date:它用于显示系统时间和日期。

语法

示例:如果我们想以 dd/mm/yy 格式显示日期,我们可以使用以下 Unix 命令

  • banner:它用于在标准输出上显示一个大横幅。

语法

示例:我们可以使用以下命令将“Example”打印为横幅

  • who:此命令用于显示当前登录用户的列表。

语法

示例:我们可以使用以下命令列出当前所有登录的用户

  • whoami:此命令用于显示当前登录的用户 ID。

语法

示例:我们可以使用以下命令列出当前登录的用户

  • touch:它创建一个新文件或更新其时间戳。

语法

示例:我们可以使用以下命令创建空文件

  • cat:此命令用于连接文件并将它们显示在 stdout 上。

语法

示例:我们可以使用以下命令创建一个包含输入内容的文件

  • copy:此命令用于复制文件。

语法

示例:我们可以使用以下命令复制 text1 和 text2 的内容,并且 text1 的内容将被保留

  • mv:此命令用于重命名文件或移动文件。

语法

示例:我们可以使用以下命令创建名为 text1 和 text2 的空文件

  • rm:此命令用于删除目录和文件。

语法

示例:我们可以使用以下命令删除 text1

  • mkdir:它创建一个目录。

语法

示例:我们可以使用以下命令创建一个目录

  • mkdir:它删除一个目录。

语法

示例:我们可以使用以下命令创建空文件

  • cd:它更改目录。

语法

示例:我们可以使用以下命令更改我们的工作目录

  • pwd:它打印当前工作目录。

语法

示例:如果我们的当前工作目录是“direct1”,我们可以使用以下命令打印“direct1”

什么是 Unix 进程?

一个程序在一个进程中运行。每次运行一个程序或命令时,都会建立一个新的进程。进程会一直运行,直到命令处于活动状态。例如,如果我们运行 cat 命令,就会生成 cat 进程。

内核为每次建立的新进程分配一个特殊的标识号,称为 PID 或进程标识号,范围从 0 到 32,767。其他进程属性包括其 GID(与进程相关的组)、UIS(拥有进程的用户 ID)、TTY(启动它们的控制终端)和 PPID(父进程 PID)。

Unix 中的进程具有层次关系,父进程生成子进程。init 进程是所有其他进程的祖先进程。在某些情况下,子进程被称为孤儿进程。

Unix 中的进程类型

  • 前台进程:前台进程通过终端启动,并在其结束前阻止进一步的命令。默认情况下,stdout 和 stdin 与此类进程中的终端相关联。
  • 后台进程:此进程通过终端启动,但在后台执行。因此,在执行时允许进一步的命令。stdout 和 stdin 通常应该被重定向,以免干扰其他前台进程。
  • 守护进程:它是一个与终端会话无关的进程。通常,此类进程用于系统服务,如打印和网络。

控制命令

控制命令是两个键的组合,其中一个字母与“Ctrl”键同时按下。

  • Ctrl+Z:它将当前活动的前台进程挂起到后台。
  • Ctrl+D:它删除当前活动的终端或登录会话。
  • Ctrl+C:它删除当前活动的前台进程。

其他命令

  • ps:它显示所有当前进程的快照。

语法

例如,

上述命令将以表格形式显示所有正在运行的进程。

  • top:它显示实时的当前进程状态。

语法

例如,

上述命令将显示所有当前进程的实时视图。

  • bg:它恢复一个后台挂起的作业。

语法

例如,

上述命令将继续执行之前在后台挂起的作业。

  • fg:它将一个作业从后台移到前台。

语法

例如,

上述命令将从后台将之前的作业移到前台。

  • clear:它清除终端屏幕。

语法

例如,

上述命令将清除终端窗口中所有之前的文本。

  • history:它打印当前活动会话中的命令历史。

语法

例如,

上述命令将显示已录入的旧命令列表。

  • ls:它列出目录的内容。

语法

例如,

上述命令将以长格式列出目录的所有内容,并按时间排序。

  • which:它定位命令。

语法

例如,

上述命令将列出 'cat' 可以执行的所有路径。

  • man:它是用于处理在线参考手册的接口。

语法

例如,

上述命令将显示 'cat' 的手册页。

  • su:它修改用户 ID 并成为超级用户或 root 用户。

语法

例如,

上述命令将修改指定的用户 ID。

  • sudo:它以其他超级用户或用户的身份运行命令。

语法

例如,

上述命令将获取未列出目录的文件列表。

  • find:此命令用于查找目录和文件。

语法

例如,

上述命令将在 '/usr' 文件夹中搜索名为 'text' 的字符设备文件。

  • du:它估算磁盘使用的块。

语法

例如,

上述命令将显示当前目录中文件使用的总块数。

  • df:此命令显示已挂载文件系统的总可用块。

语法

例如,

上述命令将显示本地文件系统中的总可用块。