营销网站结构图,备案期间网站关闭,网站开发需要的语言,建筑网站推荐知乎简介
这个教程是 Linux 基础知识系列中的第一篇#xff0c;涵盖了如何开始使用终端、Linux 命令行以及执行命令。如果你是 Linux 新手#xff0c;你需要熟悉终端#xff0c;因为它是与 Linux 服务器交互的标准方式。
这个教程是针对 Ubuntu 22.04 服务器编写的#xff0c…简介
这个教程是 Linux 基础知识系列中的第一篇涵盖了如何开始使用终端、Linux 命令行以及执行命令。如果你是 Linux 新手你需要熟悉终端因为它是与 Linux 服务器交互的标准方式。
这个教程是针对 Ubuntu 22.04 服务器编写的但一般原则适用于任何其他 Linux 发行版。
让我们开始学习什么是终端仿真器。
终端仿真器
终端仿真器是一个允许在图形环境中使用终端的程序。由于大多数人在日常计算机使用中使用带有图形用户界面GUI的操作系统所以对于大多数 Linux 服务器用户来说使用终端仿真器是必不可少的。
以下是一些免费常用的终端仿真器按操作系统分类
Mac OS X: Terminal默认、iTerm 2Windows: ConEmu、Windows Terminal、PuTTyLinux: Gnome Terminal、Konsole、XTerm
每个终端仿真器都有自己的一套功能。一般来说你应该期望一个现代终端仿真器支持选项卡窗口和文本高亮显示。
Shell
在 Linux 系统中shell 是一个命令行界面用于解释用户的命令和脚本文件并告诉服务器的操作系统如何处理它们。有几种广泛使用的 shell比如 Bourne-Again shellbash和 Z shellzsh。每种 shell 都有自己的功能集和关于如何解释命令的复杂性但它们都支持输入和输出重定向、变量和条件测试等功能。
这个教程是使用 Bourne-Again shell 编写的通常简称为 bash它是大多数 Linux 发行版包括 Ubuntu、Fedora 和 RHEL的默认 shell。
命令提示符
当你第一次登录服务器时通常会看到 Message of the DayMOTD这通常是一个包含杂项信息的信息消息比如服务器运行的 Linux 发行版的版本。在 MOTD 之后你将进入命令提示符或 shell 提示符这是你可以向服务器发出命令的地方。
命令提示符呈现的信息可以被用户自定义但以下是默认 Ubuntu 20.04 命令提示符的示例
sammywebapp:~$以下是命令提示符的组成部分的解释
sammy当前用户的用户名webapp服务器的主机名~当前目录。在 bash 中这是默认 shell~ 是一个特殊字符它会扩展为当前用户的主目录的路径在这种情况下它代表 /home/sammy$提示符符号。这表示命令提示符的结束在这之后用户的键盘输入将会出现
以下是作为 root 用户登录并位于 /var/log 目录时命令提示符的示例
rootwebapp:/var/log#请注意结束命令提示符的符号是 #这是 root 的标准提示符符号。在 Linux 中root 用户是超级用户账户它是一个特殊用户账户可以执行服务器上的任何任务。
执行命令
可以通过在命令提示符处指定可执行文件的名称来发出命令这可以是二进制程序或脚本。有许多标准的 Linux 命令和实用程序安装在操作系统中允许你浏览文件系统、安装软件包和配置系统和应用程序。
正在运行的命令的一个实例被称为进程。当在前台执行命令时这是默认的执行方式用户必须等待进程完成然后才能返回到命令提示符此时可以继续发出更多命令。
需要注意的是在 Linux 中几乎所有东西都是区分大小写的包括文件和目录名称、命令、参数和选项。如果某些东西的工作方式不如预期要仔细检查命令的拼写和大小写
以下是一些示例涵盖了执行命令的基础知识。
没有参数或选项
要运行一个没有任何参数或选项的命令只需输入命令的名称并按 Enter 键。
如果以这种方式运行命令它将表现出其默认行为这取决于命令的不同。例如如果没有任何参数运行 cd 命令您将返回到当前用户的主目录。ls 命令将打印当前目录的文件和目录列表。没有任何参数的 ip 命令将打印一条消息向您展示如何使用 ip 命令。
尝试运行 ls 命令不带任何参数以列出当前目录中的文件和目录可能没有
ls带参数
许多命令接受参数或参数这些参数可以影响命令的行为。例如使用 cd 命令的最常见方式是传递一个参数指定要切换到的目录。例如要切换到 /usr/bin 目录其中安装了许多标准命令您可以发出以下命令
cd /usr/bincd 是命令/usr/bin 是跟随命令的第一个参数。注意您的命令提示符的当前路径已更新。
尝试运行 ls 命令查看新当前目录中的文件。
ls…grub-mkrescue sdiff zgrepgrub-mkstandalone sed zipdetailsgrub-mount see zlessgrub-ntldr-img select-editor zmoregrub-render-label semver znewgrub-script-check sensible-browser带选项
大多数命令接受选项也称为标志或开关可以修改命令的行为。选项跟随命令并由单个 - 字符后跟一个或多个选项这些选项由单个大写或小写字母表示。一些多词选项可以以 -- 开头后跟标志文本。
让我们以 ls 命令为例看看选项是如何工作的。以下是在使用 ls 时非常有用的一些常见选项
-l打印“长列表”其中包括额外的详细信息如权限、所有权、文件大小和时间戳-a列出目录的所有文件包括以 . 开头的隐藏文件
要使用 -l 选项与 ls使用以下命令
ls -l请注意列表包括与之前相同的文件但包括有关每个文件的附加信息。
如前所述选项通常可以分组在一起。如果要同时使用 -l 和 -a 选项可以运行 ls -l -a或者像这个命令一样将它们组合在一起
ls -la请注意列表包括了 -a 选项的原因因为它包括了隐藏的 . 和 .. 目录。
带选项和参数
在运行命令时选项和参数几乎总是可以结合使用。
例如您可以通过运行以下 ls 命令来检查 /home 的内容而不管当前目录是什么
ls -la /homels 是命令-la 是选项/home 是指示要列出的文件或目录的参数。这应该打印出 /home 目录的详细列表其中应该包含服务器上所有普通用户的主目录。
环境变量
环境变量是用于更改命令和进程执行方式的命名值。当您首次登录到服务器时默认情况下将根据一些配置文件设置几个环境变量。
查看所有环境变量
要查看为特定终端会话设置的所有环境变量请运行 env 命令
env可能会有很多输出。查找 PATH 条目
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/gamesPATH 环境变量是一个以冒号分隔的目录列表当发出命令时shell 将在其中查找可执行程序或脚本。例如env 命令位于 /usr/bin您可以在不指定其完整路径的情况下运行它因为其路径在 PATH 环境变量中。
查看变量的值
通过在变量名称前加上 $可以检索环境变量的值。这将展开引用的变量为其值。
例如要打印 PATH 变量的值可以使用 echo 命令
echo $PATH或者您可以使用 HOME 变量默认设置为用户的主目录像这样切换到您的主目录
cd $HOME如果尝试访问尚未设置的环境变量它将被展开为空一个空字符串。
设置环境变量
现在你已经知道如何查看环境变量接下来让我们学习如何设置它们。
要设置一个环境变量你只需要以变量名开头紧接着一个 号然后是其所需的值
VARvalue请注意如果你设置一个已存在的变量原始值将被覆盖。如果变量一开始不存在它将被创建。
Bash 包含一个名为 export 的命令它可以导出一个变量以便被子进程继承。这使你能够在当前会话中使用引用导出的环境变量的脚本。
在设置变量时你也可以引用现有的变量。例如如果你将一个应用程序安装到了 /opt/app/bin你可以使用以下命令将该目录添加到你的 PATH 环境变量的末尾
export PATH$PATH:/opt/app/bin现在使用 echo 来验证 /opt/app/bin 是否已被添加到你的 PATH 变量的末尾
echo $PATH请记住以这种方式设置环境变量只会在当前会话中生效。这意味着如果你注销或切换到另一个会话你对环境所做的更改将不会被保留。有一种方法可以永久更改环境变量但这将在后续教程中介绍。
结论
现在你已经开始学习 Linux 终端以及一些命令你应该已经建立了一个扩展你的 Linux 命令知识的良好基础。阅读本系列的下一个教程学习如何导航、查看和编辑文件及其权限。