介绍
如果你没有很多使用Linux系统的经验,你可能会被命令行控制操作系统的前景所困扰。 在本指南中,我们将尝试让您了解基本知识的速度。
本指南不会涵盖有效使用Linux系统所需的一切知识。 但是,它应该给你一个很好的跳点,以供未来的探索。 本指南将给你在你移动到其他指南之前需要知道的最低限度。
先决条件和目标
为了遵循本指南,您将需要访问Linux服务器。 如果您需要连接到服务器的第一次信息,您可以按照在连接到SSH使用Linux服务器我们的导游 。
你也想拥有怎样的终端运作以及Linux命令的样子。一个基本的了解本指南涵盖的终端基础 ,所以你应该检查出来,如果你是初次使用的终端。
本指南中的所有资料都可以使用常规的非根用户(非管理)用户帐户完成。 你可以学习如何按照你的发行版的初始服务器设置指南(配置此类型的用户帐户的Ubuntu 14.04 , CentOS 7 )。
当您准备开始,使用SSH连接到您的Linux服务器,并继续下面。
导航和探索
你需要掌握的最基本的技能是移动文件系统,并了解你周围的情况。 我们将讨论允许您在本节中执行此操作的工具。
使用“pwd”命令查找您的位置
当您登录到您的服务器,你通常投进您的用户帐户的主目录 。 主目录是为用户存储文件和创建目录留出的目录。 它是文件系统中您具有完全控制权的位置。
找出你的home目录是关系到文件系统的其余部分,则可以使用pwd
命令。 此命令显示我们当前所在的目录:
pwd
你应该得到一些看起来像这样的信息:
/home/demo
主目录是用户帐户的名字命名的,所以上面的例子就是价值将是什么,如果你登录到一个名为帐户服务器demo
。 此目录是一个名为目录中/home
,它本身就是顶级目录,这就是所谓的“根”,而是由一个单一的斜杠“/”代表之内。
用“ls”看目录的内容,
现在你知道如何显示你所在的目录,我们可以告诉你如何看一个目录的内容。
目前,我们上面看到的你的主目录没有太多可见,所以我们将去另一个,更多的目录来探索。 在终端中键入以下内容以移至此目录(我们将在下一部分中解释移动目录的详细信息)。 随后,我们将使用pwd
确认,我们成功地移动:
cd /usr/share
pwd
/usr/share
现在我们在一个新的目录,让我们看看里面有什么。 要做到这一点,我们可以使用ls
命令:
ls
adduser groff pam-configs
applications grub perl
apport grub-gfxpayload-lists perl5
apps hal pixmaps
apt i18n pkgconfig
aptitude icons polkit-1
apt-xapian-index info popularity-contest
. . .
正如你所看到的,有此目录中的许多项目。 我们可以向命令添加一些可选标志来修改默认行为。 例如,要列出所有的内容的扩展形式,我们可以用-l
标志(即“长”输出):
ls -l
total 440
drwxr-xr-x 2 root root 4096 Apr 17 2014 adduser
drwxr-xr-x 2 root root 4096 Sep 24 19:11 applications
drwxr-xr-x 6 root root 4096 Oct 9 18:16 apport
drwxr-xr-x 3 root root 4096 Apr 17 2014 apps
drwxr-xr-x 2 root root 4096 Oct 9 18:15 apt
drwxr-xr-x 2 root root 4096 Apr 17 2014 aptitude
drwxr-xr-x 4 root root 4096 Apr 17 2014 apt-xapian-index
drwxr-xr-x 2 root root 4096 Apr 17 2014 awk
. . .
这个视图给了我们大量的信息,其中大部分看起来很不寻常。 第一个块描述文件类型(如果第一列是“d”,该项是一个目录,如果它是一个“ - ”,它是一个正常的文件)和权限。 每个后续列(以空格分隔)描述硬链接的数量,所有者,组所有者,项目大小,上次修改时间和项目名称。 我们将介绍其中的一些在其他时间,但现在,只知道,你可以查看与该信息-l
的标志ls
。
要获得所有文件,包括隐藏文件和目录的列表,你可以添加-a
标志。 因为有在没有真正的隐藏文件/usr/share
目录,让我们回到我们的主目录,并尝试命令。 您可以通过输入回到主目录cd
,不带参数:
cd
ls -a
. .. .bash_logout .bashrc .profile
正如你所看到的,有三个隐藏的文件在本演示中,连同.
和..
,这是特殊的指标。 你会发现,配置文件经常被存储为隐藏文件,就像这里的情况。
对于点和双点条目,这些不是指向相关目录的内置方法那么多的目录。 单个点表示当前目录,双点表示此目录的父目录。 这将在下一节中派上用场。
使用“cd”移动文件系统
我们以证明的一些特性已经做了两个目录移动ls
在最后一节。 让我们更好地看看这里的命令。
通过返回到开始/usr/share
通过输入这个目录:
cd /usr/share
这是通过给予绝对路径改变目录的例子。 在Linux中,每个文件和目录位于最顶层目录下,称为“根目录”,但由单个前导斜杠“/”引用。 绝对路径指示与此顶级目录相关的目录的位置。 这使我们以明确的方式从文件系统中的任何位置引用目录。 每一个绝对路径必须以斜杠开头。
另一种方法是使用相对路径 。 相对路径指向目录相对于当前目录。 对于靠近层次结构中当前目录的目录,这通常更容易和更短。 当前目录中的任何目录可以通过名称引用,而不使用前导斜杠。 我们可以切换到locale
内目录/usr/share
通过键入从我们目前的位置:
cd locale
我们同样可以通过提供路径在当前目录路径之后的部分,通过相对路径移动多个目录级别。 从这里,我们可以得到的LC_MESSAGES
的目录内en
通过键入目录:
cd en/LC_MESSAGES
要返回,前往当前目录的父目录,我们使用我们之前讨论过的特殊双点指针。 例如,我们现在在/usr/share/locale/en/LC_MESSAGES
目录。 要向上移动一个级别,我们可以键入:
cd ..
这把我们带到了/usr/share/locale/en
目录。
你前面看到一个快捷方式,总是会带你回到你的home目录是使用cd
,而不提供一个目录:
cd
pwd
/home/demo
要了解更多关于如何使用这三个命令,你可以检查出在探索Linux文件系统我们的向导 。
查看文件
在最后一节中,我们学习了一些关于如何导航文件系统。 使用时,你可能看到一些文件ls
在不同的目录命令。 在本节中,我们将讨论可用于查看文件的各种方法。 与一些操作系统相反,Linux和其他类Unix操作系统依赖于纯文本文件用于系统的大部分。
我们将查看文件的主要方法是使用less
命令。 这就是我们所说的“寻呼机”,因为它允许我们滚动文件的页面。 虽然以前的命令立即执行,并返回到命令行, less
是一个应用程序,将继续运行,并占据了屏幕上,直到你退出。
我们将打开/etc/services
的文件,它是一个包含服务信息系统知道一个配置文件:
less /etc/services
该文件将在开幕less
,让你看到一个安装在终端窗口的区域文件的部分:
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
# even if the protocol doesn't support UDP operations.
#
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.
# If you need a huge list of used numbers please install the nmap package.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
. . .
要滚动,您可以使用键盘上的向上和向下箭头键。 要一整屏价值的信息页下来,你可以使用空格键,键盘上的“向下翻页”按钮,或CTRL-f
快捷键。
要滚动备份,您可以使用“上页”按钮,或CTRL-b
键盘快捷键。
要在文档中搜索某些文本,可以键入正斜杠“/”,后跟搜索项。 例如,要搜索“邮件”,我们将键入:
/mail
这将向前搜索文档并停止在第一个结果。 为了得到另一个结果是,你可以输入小写n
键:
n
向后移动到前面的结果,使用大写字母N
,而不是:
N
当你想退出的less
程序,您可以键入q
退出:
q
虽然我们专注于less
在本节的工具,有派上用场在某些情况下查看文件的许多其他方式。 该cat
命令显示文件的内容,并立即返回到提示。 该head
命令,默认情况下,显示前10行的文件。 同样, tail
命令显示的最后10行默认情况下。 这些命令以对其他程序的“管道”有用的方式显示文件内容。 我们将在未来的指南中讨论这个概念。
随意看看这些命令是如何显示/etc/services
不同的文件。
文件和目录操作
我们在上一节中学习了如何查看文件。 在本节中,我们将演示如何创建和操作文件和目录。
使用“touch”创建文件
许多命令和程序可以创建文件。 创建文件的最基本的方法是用touch
命令。 这将使用指定的名称和位置创建一个空文件。
首先,我们应该确保我们在我们的主目录,因为这是一个我们有权限保存文件的位置。 然后,我们可以创建一个名为file1
键入:
cd
touch file1
现在,如果我们查看我们的目录中的文件,我们可以看到我们新创建的文件:
ls
file1
如果我们在现有文件上使用此命令,该命令只是更新文件系统在上次访问和修改文件时存储的数据。 这对我们目前没有太多的用处。
我们也可以同时创建多个文件。 我们也可以使用绝对路径。 举例来说,如果我们的用户帐户被称为demo
,我们可以输入:
touch /home/demo/file2 /home/demo/file3
ls
file1 file2 file3
使用“mkdir”创建目录
类似于touch
指令, mkdir
命令允许我们创建空目录。
例如,要创建名为我们的主目录中的一个目录test
,我们可以输入:
cd
mkdir test
我们可以使内的一个目录test
目录称为example
通过键入:
mkdir test/example
对于上面的命令工作, test
目录必须已经存在。 告诉mkdir
,它应该创造必要的任何目录,构建一个给定的目录路径,您可以使用-p
选项。 这允许您在一个步骤中创建嵌套目录。 我们可以创建一个看起来像目录结构some/other/directories
键入:
mkdir -p some/other/directories
该命令会使some
目录第一,那么它会创建other
的里面目录。 最后,它会创建directories
这两个目录中的目录。
使用“mv”移动和重命名文件和目录
我们可以将文件移动到使用新位置mv
命令。 例如,我们可以将file1
到test
通过键入目录:
mv file1 test
对于此命令,我们给出了我们希望移动的所有项目,以及移动它们的位置。 我们可以通过使用特殊的点参考参考我们的当前目录中移动该文件回我们的家目录。 我们应该确保我们在我们的主目录,然后执行命令:
cd
mv test/file1 .
最初,这可能看起来不直观,但mv
命令也用于重命名文件和目录。 本质上,移动和重命名都只是调整现有项目的位置和名称。
因此,要重命名test
目录testing
,我们可以输入:
mv test testing
注意 :要认识到你的Linux系统不会阻止你一定破坏性的操作是很重要的。 如果您重命名文件,并选择一个已经存在的名字,以前的文件将要移动的文件被覆盖 。 如果您不小心覆盖了之前的文件,则无法恢复该文件。
使用“cp”复制文件和目录
随着mv
的命令,我们可以移动或重命名文件或目录,但我们不能复制它。 该cp
命令可以使现有项目的新副本。
例如,我们可以复制file3
到一个新文件名为file4
:
cp file3 file4
不像mv
操作,之后file3
将不再存在,我们现在有两个file3
和file4
。
注 :与mv
的命令,就可以覆盖文件,如果你不小心你使用的是作为操作的目标文件名。 例如,如果file4
在上面的例子中已经存在,其含量将完全通过的内容替换file3
。
为了复制目录,必须包含-r
选项添加到命令。 这意味着“递归”,因为它复制目录,加上所有目录的内容。 此选项对于目录是必需的,无论目录是否为空。
例如,以复制some
目录结构到一个名为新的结构again
,我们可以输入:
cp -r some again
不像文件,与现有的目的地将导致一个覆盖,如果目标是一个现有的目录 ,文件或目录被复制到目标:
cp file1 again
这将创建一个新的副本file1
,把它放在里面again
目录。
使用“rm”和“rmdir”删除文件和目录
要删除一个文件,你可以使用rm
命令。
注意 :使用像任何破坏性的命令时要特别小心, rm
。 没有对这些操作的“撤消”命令,所以有可能永久毁坏重要的文件。
要删除一个普通文件,只需将其传递给rm
命令:
cd
rm file4
同样,要删除空目录,我们可以使用rmdir
命令。 这将只有成功,如果有问题的目录中没有。 例如,要删除example
的目录内testing
目录,我们可以输入:
rmdir testing/example
如果你想删除一个非空目录,你将不得不使用rm
再次命令。 这一次,你将不得不通过-r
选项,删除所有的目录中的内容递归,再加上目录本身。
例如,要除去again
在它的目录和一切,我们可以输入:
rm -r again
同样,值得重申的是,这些是永久性行动。 完全确保您键入的命令是您希望执行的命令。
编辑文件
目前,我们知道如何操作文件作为对象,但我们还没有学习如何实际编辑它们和添加内容给他们。
该nano
命令是最简单的命令行Linux的文本编辑器之一,是初学者一个很好的起点。 它的操作有些类似于less
上面讨论的程序,因为它占据整个终端供其使用的持续时间。
该nano
编辑器可以打开现有文件或创建文件。 如果你决定创建一个新的文件,你可以给它一个名字,当你调用nano
的编辑器,或更高版本,当你希望保存的内容。
我们可以打开file1
文件通过键入编辑:
cd
nano file1
该nano
应用程序将打开该文件(这是目前为空)。 界面看起来像这样:
GNU nano 2.2.6 File: file1
[ Read 0 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
在顶部,我们有应用程序的名称和我们正在编辑的文件的名称。 在中间,显示当前为空白的文件的内容。 在底部,我们有一些键组合,指示编辑器的一些基本控件。 对于这些,该^
字符是指CTRL
键。
要在编辑器中获得帮助,请键入:
CTRL-G
当您完成浏览的帮助下,键入CTRL-X
以返回到您的文档。
输入或修改任何您想要的文本。 在这个例子中,我们只输入这两个句子:
Hello there.
Here is some text.
要保存我们的工作,我们可以键入:
CTRL-O
这是字母“o”,而不是零。 它将要求您确认要保存到的文件的名称:
File Name to Write: file1
^G Get Help M-D DOS Format M-A Append M-B Backup File
^C Cancel M-M Mac Format M-P Prepend
正如你所看到的,底部的选项也改变了。 这些是上下文的,意味着它们将根据你想要做什么而改变。 如果file1
还是你自己想写信给,点击“进入”的文件。
如果我们进行一些额外的更改,并希望保存文件并退出程序,我们将看到类似的提示。 添加新行,然后尝试通过键入以退出程序:
CTRL-X
如果您在修改后未保存,系统将询问您是否要保存所做的修改:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel
您可以键入“Y”保存更改,“N”放弃更改并退出,或键入“CTRL-C”取消退出操作。 如果选择保存,您将获得以前收到的相同文件提示,确认您要将更改保存到同一文件。 按ENTER键保存文件并退出编辑器。
你可以看到你使用要么创建的文件的内容cat
程序显示的内容,或者less
程序打开该文件进行查看。 与观看后less
,记住,你应该打q
要回终端。
less file1
Hello there.
Here is some text.
Another line.
你可能在某些导游看到另一个引用编辑器是vim
或vi
。 这是一个更高级的编辑器,非常强大,但带有一个非常陡峭的学习曲线。 如果你被告知要使用vim
或vi
,随意使用nano
代替。 如果您想了解如何使用vim
,请阅读我们的指南开始使用vim的 。
结论
现在,您应该对如何解决Linux服务器以及如何查看可用的文件和目录有基本的了解。 您还应该知道一些基本的文件操作命令,将允许您查看,复制,移动或删除文件。 最后,你应该熟悉使用一些基本的编辑nano
文本编辑器。
有了这些几个技能,你应该能够继续与其他指南,并学习如何充分利用你的服务器。 在我们的下一个指南中,我们将讨论如何看待和理解Linux权限 。