当前位置: 首页>>技术教程>>正文


初学者的Linux命令行基础

, ,

介绍

您可能认为这篇文章有点像”part two”Linux中日常使用的命令行程序我几天前写的文章。就是要通过step-by-step来让您(用户)精通命令行,并成为您的朋友羡慕的对象。为此选择的发行版是Ubuntu,但是这些将要公开的命令将在您可能会遇到的任何其他Linux系统上运行,并且在出现异常时会警告您。您将获得有关如何使用命令行完成各种任务的how-to。优点之一是,无论桌面环境如何,都可以使用这些命令。您只需要具备本文的最低限度的Linux知识库,因此进入您的终端并开始吧。

任务

您可能想采用命令行方式的原因可能是强制性的(您的图形驱动程序启动的驱动程序决定突然停止工作),或者更好的原因是,您不想依赖Ubuntu提供的distro-specific工具。或者,您根本没有GUI,因为您想安装Ubuntu服务器,而… GUI和服务器不能很好地融合在一起。当您被剥夺了图形UI并开始恐慌时,您不希望遇到这种情况,因为您不知道如何在命令行中执行任何操作。本文在这里可以为您提供帮助。

配置有线和无线网络

以我的经验,这是新用户开始在终端机前流汗的最常见情形之一:您必须启动系统并意识到没有配置Internet连接。怎么做,从哪里开始?您要查找的命令是ifconfig,当然,我建议您阅读该手册页。但是,除非您有某种特殊的string-and-tin-可以连接外部世界的方式,否则您在这里阅读的内容应足以启动并运行。首先让我们看看您的网卡(我们将从有线网络开始)是否被系统识别:

 # ifconfig -a 

您至少会看到lo接口(代表本地),但必须看到ethx条目才能连接到有线网络。如果您没有机会,Linux内核尚不支持您的以太网卡,或者它需要某种固件才能工作。由于您是有意识的计算机用户,因此您知道自己拥有哪种卡,因此使用Google搜索(例如“ $ card_type Ubuntu Oneiric 11.10”或类似版本)会产生结果,从而帮助您了解您的卡是否有机会。否则,您可以获得USB-connected网卡(特别是对于笔记本电脑而言)或PCI-connected网卡(对于台式机/服务器/工作站)。既然您具有可用的以太网卡,那么让我们看看您具有哪种连接并使其能够正常工作。请与您的ISP /网络管理员/友好的邻居联系,以查看与Internet的连接类型。我们将讨论最常用的方案。

如果您具有DHCP连接(当今非常普遍),那么设置的时间就会比您想象的要早。 DHCP代表动态主机控制协议,基本上意味着您会自动获得IP。如果您使用的是网络管理器,则可以通过nmcli nm,您无需执行任何操作。因此,对于本文的其余部分,我们建议您不要忘记NM,因为我们将讨论”old-school”方式。在Ubuntu中需要DHCP的命令是 # dhclient ethx,但请记住,其他发行版使用dhcpcd代替dhclient。现在,当您键入上面的ifconfig命令时,您应该看到ethx接口已启动并具有IP。您始终可以通过对远程计算机使用ping来测试连接性,但是我想您已经知道这一点。要使更改永久生效,请编辑/etc /network /interfaces(这是Ubuntu /Debian-specific),使其如下所示:

# The loopback network interface
# Do not remove!
auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp

现在,您已经掌握了Linux上网络配置的基本知识,下面是在拥有固定IP连接时如何进行的操作。在这里,您将使用ifconfig,命令将如下所示(再次,请记住与您的网络提供商联系以获取IP,广播和网关):

 # ifconfig eth0 10.0.0.100 netmask 255.255.255.0
 # route add default gw 10.0.0.1 eth0

第一行将eth0的地址(eth0是第一个有线以太网接口)设置为10.0.0.100,网络掩码为255.255.255.0,第二行将默认网关设置为10.0.0.1。但对于固定IP,您还需要指定DNS服务器,通常使用DHCP时不需要。为此,只需打开/etc/resolv.conf并添加一行

nameserver x.x.x.x
# if there's something wrong with your provider's DNS server, just
# use 8.8.8.8, Google's free DNS

要使更改永久生效,请再次转到/etc /network /interfaces并用类似以下内容的内容替换eth0部分:

auto eth0
iface eth0 inet static
     address 10.0.0.100
     network 10.0.0.0
     netmask 255.255.255.0
     broadcast 10.0.0.255
     gateway 10.0.0.1

如果您拥有PPPoE(以太网上的Peer-to-Peer协议)连接,就像美国的许多ISP(且不仅如此)所提供的(通常,如果您在家中并且已安装ADSL调制解调器,则使用的是PPPoE),则Debian-derived发行版Ubuntu还提供了一个名为pppoeconf的简单应用程序,它将扫描访问集中器,并询问您ISP为您提供的用户名/密码,这就是全部。但是,许多提供程序使用户配置ADSL变得一团糟,尤其是在”alternative”操作系统上,因此,如果您有问题,我建议您给他们打电话。

在无线网络方面,事情要简单一些,但要注意一些问题。首先,我们将再次假定您不使用网络管理器,它通常在检测要连接的无线网络方面做得很好。其次,尤其是如果您拥有一台笔记本电脑,请使用上面的命令查看您的卡是否受支持。在Wi-Fi卡的世界中,Linux需要一些固件以便卡可以工作的情况更为常见。输出ifconfig -a应该包含wlan0接口或类似接口,所以让我们从那里开始。有线的ifconfig等效于无线的iwconfig,但是语法不同。首先,只运行不带参数的iwconfig。在我的Wi-Fi-less桌面上,我看到类似以下内容:

lo    no wireless extensions.
eth0  no wireless extensions.

如果要检查您的硬件是否完全受支持,这是一个好方法。如果是这样,让我们​​看看如何配置它。 iwconfig的输出应显示一个无线接口,例如ath0(例如Atheros卡),以及有关硬件的信息,例如ESSID,比特率,模式等。您可以使用iwlist扫描范围内的无线路由器:

 # iwlist ath0 scan 

成功扫描的一个示例如下:

ath0      Scan completed :
          Cell 01 - Address: 00:13:46:1D:BC;0E
                    ESSID:"xxx"
                    Mode: Master
                    Frequency: 2.437 GHz (Channel 6)
                    Quality=49/94  Signal level=-46 dBm  Noise level=-95 dBm
                    Encryption key:on
                    Bit Rate:1 Mb/s
                    Bit Rate:2 Mb/s
                    Bit Rate:5 Mb/s
                    Bit Rate:6 Mb/s
                    Bit Rate:9 Mb/s
                    Bit Rate;11 Mb/s
                    Bit Rate;12 Mb/s
                    Bit Rate;18 Mb/s
                    Bit Rate;24 Mb/s
                    Bit Rate;36 Mb/s
                    Bit Rate;48 Mb/s
                    Bit Rate;54 Mb/s
                    Extra bcn_int=100

这里必须记住的一件事是,您可以尝试通过dhclient直接连接,并提供ath0(或无线接口的名称)作为参数。如果扫描发现一个以上的路由器,请使用iwconfig(同样,手册确实会引起疑问):

 # iwconfig ath0 essid xxx mode $mode key $key 

在无线世界中,您通常会忘记固定IP问题。由此,您可以轻松推断出如何使用/etc /network /interfaces和无线网卡配置DHCP。

重新启动网络

有时,尤其是在更改网络配置中的内容之后,需要重新启动网络,这意味着您将重新初始化硬件并应用新设置。可以通过两种方式完成此操作:如果您不使用网络管理器(如上面的示例所示),请键入

 # /etc/init.d networking restart

如果使用的是网络管理器,则命令为

 # /etc/init.d/network-manager restart

配置GRUB

默认情况下,大多数Linux发行版(一些值得注意的例外是Gentoo和Arch)已切换为使用Grub2(包括Ubuntu)。但是,在使用Grub2的发行版中,默认设置并不相同,因此,我将向您提供一些提示和技巧,这些提示和技巧可能有助于按自己的喜好配置引导加载程序。我不喜欢的一件事是,Ubuntu默认会隐藏菜单,除非您双启动。负责Grub2设置的文件是/etc /default /grub,该行是GRUB_HIDDEN_TIMEOUT=0。只要您记得做一个简单的评论,就可以达到预期的目标。update-grub进行任何更改后。完成此操作的另一种方法是将0更改为代表秒的正值,因此将显示初始图像(尽管没有菜单)。在此时间间隔内,按任意键将显示菜单。如果该值为空,则菜单将显示等于GRUB_TIMEOUT值的秒数。如果要将选项传递给内核,请更改GRUB_CMDLINE_LINUX。请记住,这也会影响恢复模式。如果只需要将选项传递到普通模式行,请使用GRUB_CMDLINE_LINUX_DEFAULT。说到恢复模式,如果您想禁用每个内核的恢复模式行的显示,从而使Grub2显示的内核行的数量减半,则有一个布尔选项,例如仅使用true或false值,请使用GRUB_DISABLE_LINUX_RECOVERY=true

预告和结论

很快将有本文的第二部分,因为我们为您提供了其他好东西供Ubuntu用户使用。同时,不要忘记尝试,试验和修改,并告诉我们您的想法。我们希望结果将不仅仅是损坏的引导加载程序,因为我们知道Linux用户,尤其是我们的读者很聪明,并且总是愿意学习更多。那是Linux的全部吸引力,不是吗?

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10638.html,未经允许,请勿转载。