开始使用 Linux 和 Bash

本教程将帮助 Linux 新手使用通过 WSL 默认安装的 Linux Ubuntu 发行版来安装和更新包,以及通过 Bash 命令行使用一些基本命令。

安装和更新软件

可以使用你正在运行的发行版的首选包管理器直接从命令行安装和更新软件程序。

例如,在 Ubuntu 中,首先通过运行“sudo apt update”来更新可用软件的列表。 然后,可以使用“sudo apt-get install”命令并后跟要安装的程序的名称来直接获取软件:

sudo apt-get install <app_name> 

若要更新已安装的程序,你可以运行:

sudo apt update && sudo apt upgrade

upgrade_and_update

提示

Linux 的不同发行版通常具有不同的包管理器,需要使用特定于关联的包管理器的安装命令。 例如,Arch Linux 的主要包管理器称为 pacman,它的安装命令应为 sudo pacman -S <app_name>。 OpenSuse 的主要包管理器称为 Zypper,它的安装命令应为 sudo zypper install <app_name>。 Alpine 的主要包管理器称为 apk,它的安装命令应为 sudo apk add <app_name>。 Red Hat 发行版(如 CentOS)的两个主要包管理器是 YUM 和 RPM,它们的安装命令可以是 sudo yum install <app_name>sudo rpo -i <app_name>。 请参阅你正在使用的发行版的文档,了解可用于安装和更新软件的工具。

处理文件和目录

若要查看你当前位于的目录的路径,请使用“pwd”命令:

pwd

若要创建新目录,请使用“mkdir”命令,后跟要创建的目录的名称:

mkdir hello_world 

若要更改目录,请使用“cd”命令,后跟你要导航到的目录的名称:

cd hello_world 

若要查看当前目录中的内容,请在命令行中键入“ls”:

ls

directory-and-file-commands1

默认情况下,“ls”命令仅输出所有文件和目录的名称。 若要获取其他信息,例如上次修改文件的时间或文件权限,请使用标志“-l”:

ls -l 

可以通过“touch”命令并后跟要创建的文件的名称来创建新文件:

touch hello_world.txt 

可以使用任何下载的图形文本编辑器或 VS Code Remote–WSL 扩展来编辑文件。 可在此处了解有关 VS Code 入门的详细信息

如果希望直接从命令行编辑文件,则需要使用命令行编辑器,例如 vim、emacs 或 nano。 许多发行版都安装了一个或多个这种程序,但你始终可以按照上面的指南中概述的安装说明来安装这些程序。

若要使用你偏好的编辑方法编辑文件,只需运行程序名称,后跟要编辑的文件的名称:

code hello_world.txt
notepad.exe hello_world.txt

若要在命令行中查看文件的内容,请使用“cat”命令,后跟要读取的文件:

cat hello_world.txt 

directory-and-file-commands2

使用管道和重定向操作符

管道“|”将一个命令的输出作为输入重定向到另一个命令。 例如,lhscmd |rhscmd 会将输出从 lhscmd 定向到 rhscmd。 可以通过多种方式使用管道,以通过命令行快速完成任务。 下面是有关如何使用管道的几个简单示例。

假设你想要快速对文件的内容进行排序。 以下面的 fruits.txt 为例:

cat fruits.txt 

Orange 

Banana 

Apple 

Pear 

Plum 

Kiwi 

Strawberry 

Peach 

可以使用管道快速对此列表进行排序:

$ cat fruits.txt | sort 

Apple 

Banana 

Kiwi 

Orange 

Peach 

Pear 

Plum 

Strawberry 

默认情况下,“cat”命令的输出会被发送到标准输出,但是,“|”允许我们改为将输出作为输入重定向到另一个命令“sort”。

另一个用例是搜索。 可以使用“grep”,它是一个实用的命令,用于搜索特定搜索字符串的输入。

cat fruits.txt | grep P 

Pear 

Plum 

Peach 

还可以使用重定向操作符(如“>”)将输出传递到文件或流。 例如,如果要使用 fruit.txt 排序后的内容创建一个新的 .txt 文件:

cat fruits.txt | sort > sorted_fruit.txt 
$ cat sorted_fruit.txt 

Apple 

Banana 

Kiwi 

Orange 

Peach 

Pear 

Plum 

Strawberry 

默认情况下,sort 命令的输出会被发送到标准输出,但是,“>”操作符允许我们改为将输出重定向到名为 sorted_fruits.txt 的新文件中。

你可以通过许多有趣的方式使用管道和重定向操作符,从而直接通过命令行更高效地完成任务。