Linux基础

Linux基础

Shell

可能您早已能够熟练的使用GUI(图形用户界面),例如您可以使用鼠标双击一个图标,来打开或者执行它。

我们来看这个过程: 您使用鼠标定位桌面上的一个程序图标,按下左键两次。系统读取鼠标指针的位置,并且判断该位置下图标的涵义,根据预设的双击动作,运行程序或者打开文件。

这一套GUI系统,便是一种Shell,它的作用是实现人机交互。如果我们不能够控制电脑,那么电脑还不如电视机好玩,不是么?电视机也可以选择频道(电视机的遥控器,也是一种人机交互的界面,不过相对于电脑,确实是相当简单了:)


易于上手、界面直观是GUI的优点,但是GUI为不意味着简单!或许您有类似经历: 桌面上有几十个程序的启动图标,也知道它们的名字,但是翻出一个来,并不是一件轻松的事情。

我的Windows系统中,桌面上摆满了各种图标,每当启动一个程序的时候,我都很是困扰。后来尝试了 音速启动 这类的程序启动管理器,效果还是差强人意。

在我的不懈努力下,这个难道最终得到了解决: 将快捷方式名称简化,放到特定目录下,使用 Win+R 组合键呼出 运行 对话框,键入快捷方式的名称来运行该程序。比如 反恐精英 的快捷方式为 cs ,我把它放在 Windows 目录下; 运行 cs 命令,就可以去维护世界和平了。

这么多快捷方式,统统放到 Windows 目录下,非常混乱。因此,我在D盘建立了一个名为 path 的目录,并把它的路径加入到环境变量的 path 项中,快捷方式放在 D:\path 目录中。即便重装系统,只要在环境变量中重新加入此路径,原来的程序大多可以直接以命令来运行……我的许多朋友强烈要示我帮他们设定这种启动方式,因为这确实很方便:)


其实在Linux下,所有的程序都可以通过命令运行。虽然Linux也有GUI,但是它并不比Windows的GUI更优秀!上面只是简单的介绍了CLI(命令行界面)相对GUI的优越之处,使用CLI还有更多的好处,您会慢慢体会到的。

当然了,在您的印象中,CLI一定非常的不友善,缺少亲和力,冷漠而拒人于千里之外……您和CLI之间甚至有代沟的存在:)

命令

坦白的说,冷不丁见到那么老长的一串命令,谁都会毛骨悚然。

也许您使用过DOS,留下这种印象:命令先放一边,光是正确的输入目录、文件名都够瞧的。而且DOS不区分大小写,要是像Linux一样区分大小写,那多恐怖啊!!!

其实Linux命令行具有补全功能,非常实用。假设有这样一个命令:

command path/file

如果只有一个以 c 起始的命令,键入 c ,再按一次 tab 键,系统将自动补全该命令余下的部分。 只要 c tab 两次按键,就可以完成 command 的输入。

如果不只一个 c 起始的命令,那么您可以按两次 tab 键,系统会列出所有符合条件的选项,也就是以 c 起始的所有命令。进一步输入 o ,如果只有一个以 co 起始的命令(一直输入,直到项符合条件的选项唯一),再按一次 tab ,命令就被补全完整。

路径和文件名也可以通过 tab 键来补全。还有一种 遍历补全 的方式,如果您的文件名是中文,而您不想切换输入法;甚至您的文件名中出现乱码,无法输入,这时 遍历补全 就可以大显身手了。这部分内容我们稍后再谈:)



现在我们来了解命令的语法结构,这一部分相当重要,您可得看仔细。

我们知道,任何语言都有特定的语法结构,以我们的中文为例:

我们郑重地推荐您Ubuntu/Linux!

这个句子的语法尽管简单,却是大部分的命令行采用的句型。让我们看一下,这个句子里都有些什么:

我们
主语,Linux命令的执行者只有一个,所以主语一概省略。
推荐
一个动词,作为谓语而存在。Linux命令中,这一部分是必须的。这一部分也是不同命令之间最根本的区别方式,所以它通常作为命令名,写在最前面。键入 date 命令,您可以查看当前的时间日期。( 应用程序->附件->终端
郑重的
状语,用来修饰谓语。与之相对应,Linux命令可以使用参数来精细调节程序的行为。为了与命令的操作对象相区别,参数前通常要加 - 或者 -- 符号。原则上,在命令名之后,参数的位置可以随意,但是为了养成一个良好的习惯,我们建议您在命令名后直接跟参数。
Ubuntu/linux
这两个部分都是宾语,它们是命令的操作对象。大部分的命令只有一个操作对象,也有一些命令是双宾语结构的,具有一个直接宾语和一个间接宾语。比如 拷贝 这个命令 cp (copy)
分隔符
我们的汉语是象形文字,没有分隔符。但是所有的拼音文字中都有分隔符,来分隔单词。Linux命令中同样使用空格作分隔符。

cp   a   /home 表示把当前目录下的 a 文件,拷贝到 /home 目录下。(命令的不同部分使用空格分隔,连续的空格视为一个空格)


上面的那句话,翻译成Linux的命令,应该是这个样子的:

推荐  --郑重的 您  Ubuntu/Linux  (按照传统,“-”后跟简写为单个字母的参数,“--”后跟完整单词的参数。不过也有例外:)

哈,Linux的命令也蛮简单吧?

Linux程序、进程

或许您会这样想,Linux命令的句型确实不难,但是那么多命令,我怎么知道它们都是作什么的呢?而且不同的系统中,可以使用的命令似乎也不太一样,这真让人困惑……

其实Linux的命令,运行的是Linux系统中的程序。只要您已安装了程序,您就可以通过命令来运行它,并且可以使用参数来精细的调整它的运行状态。也可以通过点击启动图标来运行,不过启动图标不能够方便的调整参数,并不是很方便。

举一个例子:

mplayer -shuffle -loop 3 -playlist mymp3.list

可能您运行上面命令,系统会提示您 无法找到命令 ,那是因为您没有安装mplayer这个程序。mplayer是我见过的支持格式最多的播放器,几乎任何已知格式的多媒体文件,都可以使用mplayer来播放。它包含一个图形界面的前端,您可以在菜单中找到它,鼠标点击运行;也可以通过执行命令来运行它的命令行版本。

如果您的系统中没有mplayer播放器,我们建议您安装一个。关于程序的安装,请参阅 软件安装

上面命令中, mplayer 调用了mplayer播放器程序。参数 -shuffle 表示随机播放, -loop 表示循环播放,后面的 3 为循环的次数,如果为 0 ,则一直播放。 -playlist 表示播放列表中的曲目。我们可以把mp3的路径放到 mymp3.list 文件中,让mplayer来播放它们。

进程 为运行中的程序,是程序在内存中的镜像。

好了,现在您已经了解了 Shell命令程序进程 的概念,您基本上也就了解了Linux(Linux系统真是非常简洁,而且容易理解:)。

但只知道这些,您并不能顺畅使用。接下来的章节中,我们来进一步介绍它的细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值