介绍
本教程是一系列教程中的第一个教程,教授Linux基础以获得新用户,包括开始使用终端,Linux命令行和执行命令。 如果你是Linux的新手,你将需要熟悉终端,因为它是与Linux服务器交互的标准方式。 使用命令行可能看起来是一个艰巨的任务,但它实际上是很容易,如果你开始的基础,并从那里建立你的技能。
如果你想充分利用这个教程,你将需要一个Linux服务器来连接和使用。 :如果你不已经有一个,你可以很快通过以下链接旋一上来如何创建一个DigitalOceanDroplet 。 本教程基于Ubuntu 14.04服务器,但一般原则适用于任何其他Linux发行版。
让我们开始看看终端仿真器是什么。
终端仿真器
终端仿真器是允许在图形环境中使用终端的程序。 由于大多数人使用带有图形用户界面(GUI)的操作系统来满足他们的日常计算机需求,因此大多数Linux服务器用户都需要使用终端模拟器。
这里有一些免费的,常用的终端仿真器的操作系统:
- Mac OS X的 :终端(默认值),2的iTerm
- Windows系统 :PuTTY
- Linux系统 :终端,KDE的Konsole执行:xterm
每个终端仿真器都有自己的一套功能,但所有列出的功能都很好,易于使用。
Shell
在Linux系统中,shell是一个命令行界面,解释用户的命令和脚本文件,并告诉该服务器的操作系统如何处理它们。 有几个炮弹被广泛采用,如Bourne shell的 ( sh
)和C外壳 ( csh
)。 每个shell都有自己的特性集和复杂性,关于如何解释命令,但它们都具有输入和输出重定向,变量和条件测试等。
本教程使用的是Bourne-Again Shell的 ,通常被称为书面bash
,这是大多数Linux发行版,包括Ubuntu,CentOS的,和RedHat默认的shell。
命令提示符
当您第一次登录到服务器时,你通常会在当天 (MOTD),这是典型的信息性消息,包括各种信息,如服务器运行的Linux发行版本的信息映入眼帘。 MOTD之后,您将被放入命令提示符或shell提示符,您可以在其中向服务器发出命令。
在命令提示符下显示的信息可以由用户自定义,但这里是一个默认的Ubuntu 14.04命令提示符的例子:
sammy@webapp:~$
以下是命令提示符组成的细分:
-
sammy
:当前用户的用户名 -
webapp
:服务器的主机名 -
~
: 当前目录 。 在bash
,这是默认的外壳,~
,或波浪线,是扩展到当前用户的主目录的路径中的一个特殊字符; 在这种情况下,它表示/home/sammy
-
$
:提示符号。 这表示命令提示符的结束,之后将显示用户的键盘输入
这是什么样的命令提示符可能看起来像,如果登录作为一个例子root
,并在/var/log
目录:
root@webapp:/var/log#
请注意,结束命令提示符的符号是#
,这是标准的提示符root
。 在Linux中, root
用户是超级用户帐户,这是可以进行全系统管理功能的特殊用户帐户-它是已经到了服务器上执行任何任务的权限不受限制的用户。
执行命令
命令可以通过指定可执行文件的名称在命令提示符下发出,可执行文件可以是二进制程序或脚本。 有许多标准的Linux命令和实用程序随操作系统安装,允许您导航文件系统,安装和软件包,并配置系统和应用程序。
正在运行的命令的一个实例被称为进程 。 当一个命令在前台 ,这是执行命令的默认方式执行,用户必须等待过程中被返回到命令提示符,在这一点上,他们可以继续执行更多的命令之前完成。
重要的是要注意,Linux中的几乎一切都是区分大小写的,包括文件和目录名称,命令,参数和选项。 如果某些东西不能正常工作,请仔细检查命令的拼写和大小写!
我们将通过几个例子来介绍执行命令的基础知识。
注意:如果你尚未连接到一台Linux服务器,现在是登录的好时机如果你有一台Linux服务器,但在连接的麻烦,请点击此链接: 如何连接到你的SSHDroplet 。
没有参数或选项
为了不带任何参数或选项执行命令,只需在命令和命中的名称键入RETURN
。
如果你运行这样的命令,它将展示其默认行为,它从命令到命令不同。 例如,如果您运行cd
不带任何参数的命令,你将返回到您的当前用户的主目录。 该ls
命令将打印当前目录下的文件和目录的列表。 该ip
不带任何参数的命令将显示一条消息,告诉您如何使用ip
命令。
尝试运行ls
不带参数列出当前目录中的文件和目录的命令(可能没有):
ls
有参数
许多命令接受参数 ,或参数 ,它可以影响一个命令的行为。 例如,要使用最常见的方式cd
命令是通过其指定切换到一个目录下一个参数。 例如,更改到/usr/bin
目录,其中许多标准命令的安装,你会发出这样的命令:
cd /usr/bin
在cd
部分是命令,第一个参数/usr/bin
按命令执行。 注意你的命令提示符的当前路径是如何更新的。
如果您想尝试运行ls
命令来查看,在您的新的当前目录下的文件。
ls
选项
大多数命令接受选项 ,也被称为标志或开关 ,该修改命令的行为。 由于他们是特殊的参数,选择遵循一个命令,由一个单一的指示-
字符后跟一个或多个选项 ,这是由单个大写或小写字母表示。 此外,有些选项下手--
其次是一个单一的,多字符(通常是一个描述性的字)选项。
有关选项是如何工作的一个基本的例子,让我们来看看在ls
命令。 这里有几个使用时派上用场常用的选项ls
:
-
-l
:打印“长列表”,其中包括多余的细节,如权限,所有权,文件大小和时间戳 -
-a
:(即先从列表中的所有的目录中的文件,包括隐藏的.
)
要使用-l
与标志ls
,使用这个命令:
ls -l
请注意,列表包含与之前相同的文件,但包含有关每个文件的其他信息。
如前所述,选项通常可以分组在一起。 如果你想使用-l
和-a
选项在一起,你可以运行ls -l -a
,或者只是在这个命令将它们结合起来,如:
ls -la
请注意,列表中会包括隐藏.
和..
在上市目录,因为中, -a
选项。
使用选项和参数
运行命令时,选项和参数几乎总是可以组合。
例如,你可以检查的内容/home
,不管你的当前目录中,通过运行此ls
命令:
ls -la /home
ls
是命令, -la
是选项, /home
是指示文件或目录,列出该参数。 这应该打印的详细列表/home
目录,它应该包含所有服务器上的普通用户的主目录。
环境变量
环境变量是用于更改如何执行命令和进程的命名值。 当您首次登录到服务器时,默认情况下会根据一些配置文件设置几个环境变量。
查看所有环境变量
要查看所有为特定终端会话设置环境变量,运行env
命令:
env
有可能会大量输出,但尝试着寻找PATH
条目:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
在PATH
环境变量的目录,其中外壳将寻找可执行程序或脚本的命令发出后的冒号分隔的列表。 例如, env
命令位于/usr/bin
,我们可以不指定其完全限定的位置,因为它的路径是在执行它PATH
环境变量。
查看变量的值
环境变量的值可以通过用前缀的变量名中检索$
。 这样做会将引用的变量扩展为其值。
例如,要打印出的值PATH
变量,你可以使用echo
命令:
echo $PATH
或者你可以使用HOME
变量,它的默认设置为你的用户的主目录,切换到你的主目录是这样的:
cd $HOME
如果您尝试访问尚未设置的环境变量,则它将扩展为无; 一个空字符串。
设置环境变量
现在你知道如何查看你的环境变量,你应该学会如何设置它们。
要设置环境变量,你需要做的是开始一个变量名,紧跟一个=
符号,其所需的值紧跟:
VAR=value
请注意,如果设置现有变量,原始值将被覆盖。 如果变量首先不存在,它将被创建。
巴什包括一个命令调用export
其中出口变量,因此将子进程继承。 简单来说,这允许您使用从当前会话引用导出的环境变量的脚本。 如果你还不清楚这是什么意思,不要担心它现在。
您还可以在设置变量时引用现有变量。 例如,如果你安装了应用程序/opt/app/bin
,你可以将该目录添加到您的末尾PATH
这个命令的环境变量:
export PATH=$PATH:/opt/app/bin
现在验证/opt/app/bin
已添加到您的末尾PATH
可变echo
:
echo $PATH
请记住,以这种方式设置环境变量只会为当前会话设置环境变量。 这意味着如果您注销或以其他方式更改为其他会话,则不会保留对环境所做的更改。 有一种永久性改变环境变量的方法,但这将在后面的教程中介绍。
结论
现在,您已经了解了Linux终端的基础知识(以及一些命令),您应该有一个良好的基础来扩展您的Linux命令知识。 阅读下一篇教程在这个系列来学习如何浏览,查看和编辑文件和他们的权限。