《[工学]嵌入式系统 第二章》由会员分享,可在线阅读,更多相关《[工学]嵌入式系统 第二章(66页珍藏版)》请在金锄头文库上搜索。
1、第2 章 Linux 基础命令Linux是个高可靠、高性能的系统,而所有这些优越性只有在直接使用Linux命令行(Shell环境)才能充分地体现出来。在本章将帮助读者学会如下内容1. 掌握Shell基本概念2. 熟练使用Linux 中用户管理命令3. 熟练使用Linux 中系统相关命令4. 熟练使用Linux中文件目录相关命令5. 熟练使用Linux中打包压缩相关命令6. 熟练使用Linux 中文件比较合并相关命令7. 熟练使用Linux 中网络相关命令8. 了解Linux 的启动过程9. 深入了解INIT进程及其配置文件10. 能够独立完成在Linux 中解压软件11. 学会添加环境变量12
2、. 能够独立定制Linux 中系统服务2.1 Linux 常用操作命令在安装完Linux再次启动之后,就可以进入到与Windows类似的图形化界面了。这个界面就是Linux 图形化界面X窗口系统(简称X )的一部分。要注意的是,X 窗口系统仅仅是Linux 上面的一个软件(或者也可称为服务),它不是Linux 自身的一部分。虽然现在的X 窗口系统已经与Linux 整合地相当好了,但毕竟还不能保证绝对的可靠性。另外,X窗口系统是一个相当耗费系统资源的软件,它会大大地降低Linux的系统性能。因此,若是希望更好地享受Linux所带来的高效及高稳定性,建议读者尽可能地使用Linux 的命令行界面,也
3、就是Shell 环境。当用户在命令行下工作时,不是直接同操作系统内核交互信息的,而是由命令解释器接受命令,分析后再传给相关的程序。Shell 是一种Linux 中的命令行解释程序,就如同C 是DOS 下的命令解释程序一样,为用户提供使用操作系统的接口。它们之间的关系如图2.1 所示。用户在提示符下输入的命令都由Shell 先解释然后传给Linux 内核。小知识: Shell 是命令语言、命令解 释程序及程序设计语言的统称。它不仅拥有自己内建的Shell 命令集,同时也能被系统中其他应用程序所调用。Shell 的另一个重要特性是它自身就是一个解释型的程序设计语言,Shell 程序设计语言支持绝大
4、多数在高级语言中能见到的程序元素,如函数、变量、数 组和程序控制结构。 Shell 编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的Shell程序中。关于 Shell编程的详细讲解,感兴趣的读者可以参见其他相关书籍。Linux 中运行Shell 的环境是 “系统工具”下的“终端” ,读者可以单击“终端”以启动Shell环境。这时屏幕上显示类似“sunqwww home$”的信息,其中,sunq 是指系统用户,而home是指当前所在的目录。由于Linux 中的命令非常多,要全部介绍几乎不可能。因此,在本书中按照命令的用途进行分类讲解,并且对每一类中最常用的命令详细讲解,同时列出同
5、一类中的其他命令。由于同一类的命令都有很大的相似性,因此,读者通过学习本书中所列命令,可以很快地掌握其他命令。图2.1 内核、Shell和用户的关系命令格式说明。格式中带 的表明为可选项,其他为必选项。选项可以多个连带写入。本章后面选项参数列表中加粗的含义是:该选项是非常常用的选项。2.1.1 用户系统相关命令Linux 是一个多用户的操作系统,每个用户又可以属于不同的用户组,下面,首先来熟悉一下Linux 中的用户切换和用户管理的相关命令。1用户切换(su)(1)作用变更为其它使用者的身份,主要用于将普通用户身份转变为超级用户,而且需输入相应用户密码。(2)格式su 选项 使用者 其中的使用
6、者为要变更的对应使用者。(3)常见参数主要选项参数见表2.1 所示选项-, -l, -login 为该使用者重新登录,大部分环境变量(如HOME、SHELL 和USER等)和工作目录都是以该使用者(USER)为主。若没有指定USER,缺省情况是root-m,-p 执行su 时不改变环境变量-c,-command 变更账号为USER的使用者,并执行指令(command )后再变回原来使用者(4)使用示例示例通过su命令将普通用户变更为root 用户,并使用选项“-”携带root环境变量。(5)使用说明在将普通用户变更为root 用户时建议使用”-”选项,这样可以将root的环境变量和工作目录同时
7、带入,否则在以后的使用中可能会由于环境变量的原因而出错。在转变为root权限后,提示符变为#。小知识环境变量实际上就是用户运行环境的参数集合。Linux是一个多用户的操作系统。而且在每个用户登录系统后,都会有一个 专有的运行 环境。通常每个用 户默认的 环境都是相同的,而这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。常见的环境变量如下。PATH是系统路径。HOME是系统根目录。HISTSIZE是指保存历史命令记录 的条数。LOGNAME是指当前用户的登录名。HOSTNAME是指主机的名称,若应用程序要用到主机名的话,通常是从这个环
8、境变量中来取得的。SHELL是指当前用户用的是哪种Shell。LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。MAIL是指当前用户的邮件存放目 录。设置环境变量方法如下。通过etho显示字符串(指定环境变量)。通过export设置新的环境变量。通过env显示所有环境变量。通过set 命令显示所有本地定义的Shell变量。通过unset命令来清除环境变量。读者可以试着用“env”命令查看“su - root”和“su root”的区别。2用户管理(useradd和passwd)Linux中常见用户管理命令如表2.2所示,本书仅以useradd和passwd为
9、例进行详细讲解,其他命令类似,请读者自行学习使用。表2.2 Linux常见用户管理命令命令 命令含义 格式useradd 添加用户账号 useradd 选项 用户名usermod 设置用户账号属性 usermod 选项 属性值userdel 删除对应用户账号 userdel 选项 用户名groupadd 添加组账号 groupadd 选项 组账号groupmod 设置组账号属性 groupmod 选项 属性值groupdel 删除对应组账号 groupdel 选项 组账号passwd 设置账号密码 passwd 对应账号id 显示用户所属的组 groups 组账号who 显示登录到系统的所有用
10、户 whogroups 显示用户所属的组 groups 组账号(1)作用 useradd:添加用户账号。 passwd:更改对应用户账号密码。(2)格式 useradd:useradd 选项 用户名。 passwd:passwd 选项 用户名 。其中的用户名为修改账号密码的用户,若不带用户名,缺省为更改当前使用者账号密码。(3)常用参数 useradd主要选项参数见表 2.3 所示。表2.3 useradd命令常见参数列表选 项 参 数 义-g 指定用户所属的群组-m 自动建立用户的登入目录-n 取消建立以用户名称为名的群组 passwd:一般很少使用选项参数。(4)使用实例实例中先添加了用户
11、名为shidianfa的用户,接着又为该用户设置了账号密码。并从su的命令可以看出,该用户添加成功,其工作目录为”/home/shidianfa”。(5)使用说明在使用添加用户时,这两个命令是一起使用的,其中, useradd 必须用root 的权限。而且useradd指令所建立的账号,实际上是保存在 “/etc/passwd”文本文件中,文件中每一行包含一个账号信息。在缺省情况下,useradd所做的初始化操作包括在“/home” 目录下为对应账号建立一个名为同名的主目录,并且还为该用户单独建立一个与用户名同名的组。adduser 只是useradd 的符号链接(关于符号链接的概念在本节后面
12、会有介绍),两者是相同的。passwd还可用于普通用户修改账号密码,Linux并不采用类似windows的密码回显(显示为*号),所以输入的这些字符用户是看不见的。密码最好包括字母、数字和特殊符号,并且设成6 位以上。3系统管理命令(ps 和kill)Linux 中常见的系统管理命令如表2.4 所示,本书以ps 和kill为例进行讲解。表2.4 Linux常见系统管理命令命 令 命 令 含 义 格 式ps 显示当前系统中由该用户运行的进程列表 ps 选项top 动态显示系统中运行的程序(一般为每隔5s) topkill 输出特定的信号给指定PID(进程号)的进程 kill 选项 进程号( PI
13、D)uname 显示系统的信息(可加选项-a) uname 选项setup 系统图形化界面配置 setupcrontab 循环执行例行性命令 crontab 选项shutdown 关闭或重启Linux系统 shutdown 选项 时间uptime 显示系统已经运行了多长时间 uptimeclear 清除屏幕上的信息 clear(1)作用 ps:显示当前系统中由该用户运行的进程列表。 kill:输出特定的信号给指定PID(进程号)的进程,并根据该信号而完成指定的行为。其中可能的信号有进程挂起、进程等待、进程终止等。(2)格式 ps:ps 选项。 kill:kill 选项 进程号( PID)。ki
14、ll 命令中的进程号为信号输出的指定进程的进程号,当选项是缺省时为输出终止信号给该进程。(3)常见参数 ps 主要选项参数见表2.5 所示表2.5 ps 命令常见参数列表选 项 参 数 含 义-ef 查看所有进程及其PID(进程号)、系统时间、命令详细目录、执行者等-aux 除可显示-ef所有内容外,还可显示CPU及内存占用率、进程状态-w 显示加宽并且可以显示较多的信息 kill主要选项参数见表2.6 所示。表2.6 kill命令常见参数列表选 项 参 数 含 义-s 根据指定信号发送给进程-p 打印出进程号(PID),但并不送出信号-l 列出所有可用的信号名称(4)使用实例该实例中首先查看
15、所有进程,并终止进程号为7053的ntp 进程,之后再次查看时已经没有该进程号的进程。(5)使用说明ps在使用中通常可以与其他一些命令结合起来使用,主要作用是提高效率。ps 选项中的参数w 可以写多次,通常最多写3 次,它的含义表示加宽3 次,这足以显示很长的命令行了。例如:ps auxwww。小知识管道是Linux中信息通信的重要方式。它是把一个程序的输出直接连接到另一个程序的输入,而不经过任何中间文件。管道 线是指 连接二个或更多程序管道的通路。在shell中字符”|” 表示管道线。如前例子中的 ps ef|grep ntp所示, ps ef的结果直接输入到 grep ntp的程序中(关于grep命令在后面会有 详细的介绍)。 grep、pr、sort和wc都可以在上述管道线上工作。读者可以灵活地运用管道机制提高工作效率。4磁盘相关命令(fdisk)Linux 中与磁盘相关的命令如表2.7 所示,本书仅以fdisk为例进行讲解。表2.7 Linux常见系统管理命令选 项 参 数 含 义 格 式free 查看当前系统内存的使用情况 free 选项df 查看文件系统的磁盘空间占用情况 df 选项du 统计目录(或文件)所占磁盘空间的大小du 选项fdisk 查看硬盘分区情况及对硬盘进行分区管理f