当前位置:首页 > 文章 > 系统OS > 正文内容

Ubuntu初学教程,基本的命令(一)之开启终端遍历目录路径

myblog4个月前 (06-24)系统OS98

在计算机行业的发展初期,一种早期的操作系统被称为Unix。它被设计为在大型机上作为多用户系统运行,用户可以通过各个终端远程连接到该系统。从现代标准来看,这些终端是非常基本的:只有键盘和屏幕,没有电源在本地运行程序。相反,他们只是将击键发送到服务器并在屏幕上显示接收到的所有数据。没有鼠标,没有精美的图形,甚至没有颜色选择。一切都作为文本发送,并作为文本接收。因此,显然,在大型机上运行的任何程序都必须产生文本作为输出并接受文本作为输入。


与图形相比,文本对资源的需求很小。即使是在1970年代的计算机上(通过当今缓慢的网络连接运行数百个终端)(按照当今的标准),用户仍然能够快速有效地与程序进行交互。这些命令也保持简洁,以减少所需的击键次数,从而进一步加快了人们对终端的使用。这种速度和效率是今天仍广泛使用此文本界面的原因之一。


通过终端登录到Unix大型机时,用户仍然必须管理您现在可以使用鼠标和几个窗口执行的文件管理任务。无论是创建文件,重命名文件,将它们放入子目录还是在磁盘上移动文件,70年代的用户都可以使用文本界面完全完成所有操作。


这些任务中的每一个都需要自己的程序或命令:一个用于更改目录(cd),另一个用于列出其内容(ls),第三个用于重命名或移动文件(mv),依此类推。为了协调每个程序的执行,用户将连接到一个主程序,然后该主程序可用于启动其他程序。通过包装用户的命令,这个“ shell”程序可以为它们中的任何一个提供通用功能,例如将数据从一个命令直接传递到另一个命令,或者使用特殊的通配符来处理大量命令的能力。一次命名类似的文件。用户甚至可以编写简单的代码(称为“ shell脚本”),这些代码可用于自动执行一系列长的Shell命令,从而使复杂的任务变得更加容易。最初的Unix Shell程序仅称为sh,但经过多年的扩展和取代,因此在现代Linux系统上,您最有可能使用称为bash的shell。不必担心您拥有哪个外壳,本教程中的所有内容几乎都适用于它们。


Linux是Unix的后裔。 Linux的核心部分设计为与Unix系统类似,因此大多数旧的shell和其他基于文本的程序都可以在其上愉快地运行。从理论上讲,您甚至可以将那些1970年代的旧终端中的一个连接到现代Linux机器上,然后通过该机器访问shell。但是如今,使用软件终端已变得更为普遍:该软件终端使用的是旧的Unix风格的文本界面,但在图形程序旁边的窗口中运行。让我们来看看如何自己做!

打开终端

在Ubuntu 18.04系统上,您可以通过单击屏幕左上方的“活动”项,然后键入“终端”,“命令”,“提示”或“shell”的前几个字母来找到终端的启动器。 是的,开发人员已经为启动器设置了所有最常见的同义词,因此您应该不会有任何问题。

Terminal launcher in Ubuntu 18.04

其他版本的Linux或其他版本的Ubuntu,通常会将终端启动器与其他应用程序启动器放在同一位置。 它可能隐藏在子菜单中,或者您可能必须从启动器中进行搜索,但是它可能在某个地方。


如果找不到启动器,或者只想以更快的方式启动终端,大多数Linux系统会使用相同的默认键盘快捷键来启动它:Ctrl-Alt-T


无论启动终端如何,最终都应该看到一个相当呆板的窗口,顶部的文本有点奇怪,就像下面的图片一样。 根据您的Linux系统,颜色可能会不同,并且文本可能会表示不同的内容,但是具有较大(大部分为空白)文本区域的窗口的总体布局应相似。

A new terminal window in Ubuntu 18.04

让我们运行第一个命令。 将鼠标单击到窗口中,以小写形式键入以下命令然后在按EnterReturn键运行该命令之前。

pwd

您应该看到输出的目录路径(可能是/ home / YOUR_USERNAME之类的东西),然后是该文本的另一副本。

Result of running the pwd command

在深入了解命令实际执行的操作之前,这里有一些基本知识需要理解。首先是当您键入命令时,它与奇怪的文本显示在同一行。该文本告诉您计算机已准备就绪,可以接受命令,这是计算机提示您的方式。实际上,它通常被称为提示,有时您可能会看到说明“显示提示”,“打开命令提示”,“在bash提示下”或类似内容的说明。它们都是要求您打开终端机以到达shell的不同方法。


关于同义词,查看提示的另一种方法是说终端中有一行可在其中键入命令。命令行(如果需要)。同样,如果您在本教程的标题中看到提及“命令行”的信息,则这只是谈论在终端中运行shell的另一种方式。


要理解的第二件事是,当您运行命令时,通常会将其产生的任何输出直接在终端中打印,然后在完成后向您显示另一个提示。有些命令可以输出很多文本,其他命令则可以静默操作,根本不输出任何内容。如果您运行命令并立即出现另一个提示,则不要惊慌,因为这通常表示命令已成功执行。如果回头看我们1970年代终端的缓慢网络连接,那些早期的程序员认为,如果一切顺利,他们也可能根本不说任何东西,从而节省了一些宝贵的数据传输字节。


在命令行中键入时要格外小心。 如果键入PWD而不是pwd会产生错误,但是有时错误的情况可能会导致命令似乎在运行,但未达到预期的效果。 请确保完全按照显示的大小写键入以下所有行。

位置目录

现在到命令本身。pwd是“打印工作目录”的缩写。 它所做的只是打印出shell的当前工作目录。 但是什么是工作目录?


要理解的一个重要概念是,shell具有默认位置的概念,在该默认位置将进行任何文件操作。 这是它的工作目录。 如果您尝试创建新文件或目录,查看现有文件甚至删除它们,则除非您采取措施另行指定,否则shell程序会假定您正在当前工作目录中寻找它们。 因此,务必要随时了解shell程序位于哪个目录中,毕竟,从错误的目录中删除文件可能会造成灾难性的后果。 如果您有任何疑问,pwd命令将确切告诉您当前的工作目录是什么。


您可以使用cd命令(“更改目录”的缩写)更改工作目录。 尝试输入以下内容:

cd /
pwd

请注意,目录分隔符是正斜杠(“/”),而不是Windows或DOS系统可能习惯的反斜杠


现在您的工作目录为“/”。 如果您经常使用Windows,则可能习惯于每个驱动器都有自己的字母,并且主硬盘通常为“C:”。 类似Unix的系统不会像这样拆分驱动器。 相反,它们只有一个统一的文件系统,并且可以将各个驱动器连接(“挂载”)到文件系统中最有意义的任何位置。 “ /”目录(通常称为根目录)是该统一文件系统的基础。 从那里开始,其他所有事物分支出来,形成目录和子目录树。


根源

请注意:尽管有时将“/”目录称为根目录,但“根”一词还有另一种含义。 root也是Unix早期以来一直用于超级用户的名称。 顾名思义,超级用户具有比普通用户更多的权限,因此使用键入错误的命令很容易造成严重破坏。 我们将在第7节中详细介绍超级用户帐户。到目前为止,您只需要知道“root”一词在Linux世界中具有多种含义,因此上下文非常重要。

在根目录中,以下命令将您移至“home”目录(它是“ /”的直接子目录):

cd home
pwd

要转到父目录(在本例中返回“/”),请在更改目录时使用两个点(..)的特殊语法(请注意cd..之间的空格,与DOS不同,您不能只键入cd ..作为一个命令):

cd ..
pwd

单独键入cd是返回到主目录的快捷方式:

cd
pwd

如果必须向上移动多个级别的父目录,也可以多次使用..

cd ../..
pwd

注意,在前面的示例中,我们描述了遍历目录的路径。 我们使用的路径表示“从工作目录开始,移至父目录/从新位置再次移至父目录”。 因此,如果我们想直接从主目录转到“etc”目录(位于文件系统根目录内),则可以使用以下方法:

cd
pwd

cd ../../etc
pwd

相对路径和绝对路径

到目前为止,我们看过的大多数示例都使用相对路径。 也就是说,最终的位置取决于当前的工作目录。 考虑尝试cd进入“ etc”文件夹。 如果您已经在根目录下可以正常使用:

cd /
pwd
cd etc
pwd

但是,如果您在home目录中怎么办?

cd
pwd
cd etc
pwd

在运行最后一个pwd之前,您会看到一条错误消息:“没有这样的文件或目录”。 通过指定目录名称或使用..来更改目录该路径仅相对于您的工作目录才有意义。


但是我们已经看到两个绝对的命令。 无论您当前的工作目录是什么,它们都会产生相同的效果。 第一种是您自己运行cd直接进入主目录时。 第二种是使用cd /切换到根目录时。 实际上,任何以正斜杠开头的路径都是绝对路径。 您可以认为它是“切换到根目录,然后按照从那里开始的路径”。 无论我们当前在文件系统中的哪个位置,这都使我们可以更轻松地切换到etc目录:

cd
pwd
cd /etc
pwd

它还为我们提供了另一种返回您的主目录甚至目录中的文件夹的方法。 假设您想从磁盘上的任何位置直接进入“ Desktop”文件夹(请注意大写的“ D”)。 在以下命令中,您需要将USERNAME替换为您自己的用户名,whoami命令会提醒您您的用户名,以防万一:

whoami
cd /home/USERNAME/Desktop
pwd

还有另一种快捷方式可以用作绝对路径。 在路径的开头使用“/”表示“从根目录开始”。 在路径的开头使用波浪号(“〜”)类似地表示“从我的主目录开始”。

cd ~
pwd

cd ~/Desktop
pwd

现在,提示中的奇怪文本可能会有些道理。 您是否注意到在文件系统中移动时它会发生变化? 在Ubuntu系统上,它会显示您的用户名,计算机的网络名称和当前工作目录。 但是,如果您位于主目录中,它将使用“〜”作为缩写。 让我们浏览一下文件,并注意提示符:

cd
cd /
cd ~/Desktop
cd /etc
cd /var/log
cd ..
cd

到现在为止,您必须无聊仅在文件系统中移动,但是随着我们继续创建一些新的文件夹和文件,对绝对路径和相对路径的深入了解将是非常宝贵的!

本章节完结,下一节开始创建文件夹和文件

推荐阅读

Ubuntu初学教程,基本的命令(二)

版权声明:本文由静水流深发布,如需转载请注明出处。

分享给朋友:

相关文章

Ubuntu初学教程,基本的命令(二)之创建文件和文件夹

Ubuntu初学教程,基本的命令(二)之创建文件和文件夹

创建文件夹和文件mkdir /tmp/tutorialcd /tmp/tutorial注意绝对路径的使用,以确保我们在/tmp中创建了教程目录。如果在开始时没有正斜杠,mkdir命...

在线升级Ubuntu版本

在线升级Ubuntu版本

启动软件更新程序按Superkey(Windows键)以启动Dash并搜索Update Manager。对于Ubuntu18.04或更高版本,单击桌面左下角的ShowApplications图标并搜索...

Centos更换国内源

Centos更换国内源

1. 备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2. 下载新的 CentOS-Bas...

Ubuntu初学教程,基本的命令(五)之超级用户和命令行

Ubuntu初学教程,基本的命令(五)之超级用户和命令行

超级用户,顾名思义,是一个拥有超能力的用户。在旧系统中,它是一个真正的用户,具有一个真实的用户名(几乎总是“root”),您可以像登录密码一样登录。至于这些超级功能:root可以修改或删除系统上任何目...

Ubuntu安装配置Apache

Ubuntu安装配置Apache

安装Apache要安装Apache,请运行以下命令安装最新的软件包apache2:sudo apt update sudo apt install ...

Linux系统下载,windows系统下载,winserver服务器os下载,Redhat下载,centos下载,ubuntu下载,debian下载,群晖DMS下载,系统os下载集合篇

Linux系统下载,windows系统下载,winserver服务器os下载,Redhat下载,centos下载,ubuntu下载,debian下载,群晖DMS下载,系统os下载集合篇

感谢访问李梦园个人博客---静水流深Linux系统下载,windows系统下载,各版本集合本文不定期更新,系统os来源为官方发布,但是一般官方下载速度那叫一个慢,为了方便大家现在整理集合在这里供大家下...