Linux基础
本章提要:
本章介绍如何使用Linux、Linux的用户界面、Linux基础命令。此章属于入门知识部分,读者熟练掌握本章各知识点,对后章能熟练操作Linux系统至关重要。
2.1 使用Linux
2.1.1 开机
用户接通Linux主机电源以后,首先会进入一个引导界面,如图2-1所示。下面以RedHat 9的grub为例。
图2-1
在上图的框内,有一个可以上下移动的光标,可以选择你想进入的操作系统或者模式,然后按Enter键进入系统。
2.1.2 注册
用户接通Linux主机电源,主机显示启动有关信息,稍待片刻显示RUTU界面,如图2-2所示,表示处于注册状态。
图2-2
此处显示了所用Linux的发布版名称,代号以及核心版本、机器类型等信息。不同的发布版都有类似的界面。
2.1.3 控制台操作
出现系统提示符后,表示系统处于待命状态,此时用户可以输入Linux能够接受的命令,Linux下命令的格式一般是:
<命令> -<可选项1> -<可选项2>…<可选项n> <参数1> <参数2>…<参数n>
其中,可选项决定命令执行的形式,一条Linux命令能附带的可选项多达数十种,它们之间的组合数目就更加庞大了。而参数则是命令执行所需提供的一些相关信息。有一些命令可以完全不用参数,而有一些则可能需要许多参数。注意:Linux的命令、可选项、参数均区分大小写。
在输入命令的过程中如果发现输入出错,可按键盘上的退格键往回删除刚输入的出错字符,再重新输入。如果出错的字符位于离光标当前位置较远的地方,也可以用左光标键将光标移至出错字符处右端,再按退格键删除,若是漏打字符则可在该处重打插入。按上、下光标键可以使用以前打过的命令,当经常需要运行某条形式相似的命令时,此功能特别有用,甚至还可以返回以前注册时使用过的命令。
输入的命令以回车结束,系统将分析用户输入的命令,如果该命令不正确,系统将给出错信息,如果命令正确,系统将执行该命令所对应的功能,如图2-3所示。
图2-3
命令运行过程中,会在用户所在终端的屏幕(标准输出)输出该命令运行的一些信息和结果。若输出的内容较多,一个屏幕容纳不下,屏幕将会把原有内容上翻,新的内容继续在后面显示,如果屏幕翻滚速度太快,用户为了看清输出的结果,可以用<Ctrl>+s组合键暂停输出,然后,按<Ctrl>+q又可重新恢复输出。
命令执行完毕后,将返回系统提示符下。此时,用户又可以继续输入下一条命令,如此往复,直到用户退出为止。若一条命令运行了很长时间都没有停止,用户可以用组合键<Ctrl>+c内蒙古省际大通道中断该命令的执行,重新返回提示符。
2.1.4 进入图形界面
(1)用超级用户登录Linux,再运行startx,如图2-4所示。
图2-4
(2)输入Enter,出现一系列的信息以后,按提示输入。
2.1.6 注销
当用户停止使用Linux时,需要向系统注销,使终端回到“login:”状态,以让其他用户继续使用该终端注册进入主机。
进行注销的命令是:
logout↙
或者
exit ↙
有时,也可用组合键<Ctrl>+d进行注销,用户在连线期间运行的尚未完结的程序,除非有特别的指定,将同时被终止。
2.1.7 关闭系统
关闭Linux主机是系统管理员的工作。切记千万不要直接切断电源。
1. Shutdown-停止系统的一种安全和周到的方式
shutdown [<可选项>] <时间> [<警告>]↙
首先关闭系统,常用的<可选项>有:
-r 关闭系统后重新启动。
-h 关闭系统后进入停机状态。
-k 不真正关闭系统,只是向各用户发送警告信息。
<时间>表示关闭系统的时间,使用Linux系统惯用的POSIX标准时间格式字符串,形式如下:
<时间串> [<关于新年的英语作文日期串>] [<偏移量>]
<时间串>的格式为:
hhmm
hh为24小时制记时,mm为分;如果采用12小时制,在hhmm后要加上am或pm加以区别。例如时间串“1305”及“0105pm”均表示13时5分。有几个特别的<时间串>,它们是:NOON(正午12:00),MIDNIGHT(午夜00:00),TEATIME(下午16:00),now(现在)。now有时可省略不写。
<日期串>格式为:
MMDDYY
MM表示月,DD表示日,YY表示年份,或:
<月> <日> [<年>]
此处<月>使用英文缩写。例如“JAN 12 1999”、“JAN 12”。日期串也可用TODAY表示当天,TOMORROW表示明天,或用MON、TUE、WED、THU、FRI、SAT、SUN等分别表示下一个星期一到下一个星期天。
<偏移量>表示“……之后”,写法为:
+<数目><时间单位>
<时间单位>可以是minute(分钟)、hour(小时)、day(天)、week(周),必要时使用复数。例如:“+15minutes”表示15分钟之后,“+1week”表示一周后等等。
例如:请写出以下标准时间格式串:
(1)1999年1月20日下午2时16分。
答案:1416 JAN 20 1999
(2)2周之后的上午10时。
答案:10am +2weeks
(3)15分钟之后。
答案:now+15minutes或+15minutes
<警告>是用双引号括住的字符串,表示在关机前首先向各在线用户发出的警告信息。例如:
shutdown –r +5minutes "System will reboot in 5 minutes! "
表示在5分钟后将关闭系统并重新启动,每个在线用户都会收到相应信息。
Shutdown –h now↙
表示马上关闭系统并停机,此时控制台上将显示如图2-12所示。
图2-12
提示系统已经停机。系统管理员也可在主机键盘上按<Ctrl>+<Alt>+<Del>键,其作用等价于“shutdown –r now”,待用户重新启动后,便可切断主机电源。
2. Halt-关闭系统的简单方法
Halt命令执行关闭操作系统所需要的基本任务。Halt记录关机的情况,中止那些非必需的进程,执行sync系统调用,等待文件系统写完成,然后停止内核。这种关闭计算机的方法相对比较简单,不等待马上就关闭计算机。对于一个人在操作的计算机来说比较简便,但是对于多人同事操作的计算机来说,可能会意外停止其他人正在进行的操作。
3. Reboot-快速而不洁的重新启动
Reboot几乎和halt一样,只是它让计算机从头重新启动,而halt是关闭计算机。Reboot由shotdown –r来调用,与halt类似。
2.2 Linux的用户界面
BASH是凉拌小白菜Bourne Again Shell的简写,是RedHat最常用的shell。shell是一种命令语言解析器(command-language interpreter)。它是用户和内核的一个接口,它将用户输入的没一个命令进行解析,然后传给内核。Shell在用户成功登录系统是启动,始终作为用户和内核的交互手段,直到用户退出系统。每个用户都有一个默认的shell,在/etc/passwd文件中指定。
1. 几个常用的shell命令
几个常用的shell命令如表2-1所示。
表2-1 几个常用的shell命令
命令 | 说明 |
alias | 设置bash别名 |
bg | 使一个被挂起的进程在后台继续执行 |
cd | 改变当前工作目录 |
exit | 退出当前shell |
export | 使变量的值对当前shell的所有子进程都可见 |
fc | 爬楼用来编辑历史命令列表里的命令 |
fg | 使一个被挂起的进程在前台继续执行 |
help | 显示bash内部命令的帮助信息 |
kill | 终止某个进程 |
pwd | 显示当前工作目录 |
unalias | 删除已定义的别名 |
| |
2. bash的几个变量
bash的几个变量如表2-2所示。
表2-2 bash的几个变量
变量 | 说明 |
EDITOR, FCEDIT | bsah fc 命令的缺省编辑器 |
HISTFILE | 用于贮存历史命令的文件 |
HISTSIZE | 历史命令列表的大小 |
HOME | 当前用户的用户目录 |
OLDPWD | 前一个工作目录 |
PATH | bash寻找可执行文件的搜索路径 |
PS1 | 命令行的一级提示符 |
PS2 | 命令行的二级提示符 |
找个懂我的女孩PWD | 当前工作目录 |
SECONDS | 当前shell开始后所流逝的秒数 |
| |
3. bash的特点
1)命令补全
在bash下输入命令时不必把命令输全 shell 就能判断出你所要输入的命令。如,要输入telnet这个命令,直需要打teln然后按下Tab就可以补全为telnet了。只要输入命令的一部分,再按下 Tab 键,如果输入的一部分命令已经在系统中是独一无二的情况下,bash 将帮你补齐命令并显示在屏幕上。如刚才的例子,以teln开头的命令只有telnet了,所以,bash可以补全它,效果和用户输入整条命令效果是相同的。这个命令补全的功能在平时工作的时候能节省时间以及减少背命令的难度。
2周边安全环境)通配符
另一个使命令输入变得更简单的方法是在命令中使用通配符。bash 支持三种通配符:
* 又词语匹配任何字符和任何数目的字符。
? 匹配任何单字符。
[…] 匹配任何包含在括号里的单字符。
3)命令历史
bash支持命令历史记录。bash把用户输入的命令保存在一个历史列表。历史文件的文件名被一个叫 HISTFILE 的 bash变量指定。历史文件的缺省名字是 .bash_history。这个文件通常在你的用户目录中。
使用历史记录列表最简单的方法是用上方向键。按下上方向键后最后输入的命令将出现在命令行上。再按一下则倒数第二条命令会出现,以此类推。如果上翻多了的话也可以用向下的方向键来下翻。也可以使用history <N>来显示前n条命令。显示在命令行上的历史命令可以被编辑,但这里编辑的只是历史命令的格式,并不能改变原来已经执行完成的命令。
4)别名
命令别名通常是其他命令的缩写,用来减少键盘输入。如:
alias ls= "ls –color"
那么,在shell提示符下输入ls命令,其实实际运行的是ls –color命令。
这是一些很多用户认为有用的别名,你可以把它们写入你的ugly的反义词.profile文件中提高工作效率。
取消别名用unalis。如取消上例别名:
unalias ls
5)重定向
输入重定向用于改变一个命令的输入源。一些命令需要在命令行里输入足够的信息才能工作。输入重定向并不经常使用因为大多数命令都以参数的形式在命令行上指定输入文件的文件名。尽管如此,当你使用一个不接受文件名为输入参数的命令,而需要的输入又是在一个已存在的文件里时,你就能用输入重定向解决问题。
6)管道
管道可以把一系列命令连接起来。这意味着第一个命令的输出会通过管道传给第二个命令而作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,以此类推。而
管道行中最后一个命令的输出才会显示在屏幕上(如果命令行里使用了输出重定向的话,将会放进一个文件里)。