嵌入式系统基础实验报告二

更新时间:2024-06-02 22:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验 2. Linux 常用命令及工具实验

1、实验目的

掌握 linux 下各种常用命令和工具的使用。 2、实验设备

PC 机上安装 VMWARE 虚拟机,运行 Ubuntu Linux 系统。 3、实验内容

当前的各种 Linux 发行版,在图形界面下已可以完成大部分工作,但要对 Linux系统做进一步了解,进行相关配置,必须掌握一些常见的命令。以下为 Linux 下的常见命令及其参数,进入 Linux 系统后,打开终端,可以运行各命令,查看运行结果。 3.1 注销,关机,重启

logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达 logout 命令即可:

[root@localhostroot]#logout Login:←回到登陆的画面

3.2 关机或重新启动的 shutdown 命令

shutdown 命令可以关闭所有程序,依照用户的需要,重新启动或关机。参数说明如下:

立即关机:-h 参数让系统立即关机。范例如下:

[root@localhostroot]#shutdown–h now←要求系统立即关机

指定关机时间:time 参数可指定关机的时间;或设置多久时间后运行 shutdown命令,范例如下:

[root@localhostroot]#shutdown now←立刻关机 [root@localhostroot]#shutdown +5←5 分钟后关机

[root@localhostroot]#shutdown 10:30←在 10:30 时关机 关机后自动重启:-r 参数设置关机后重新启动。范例如下: [root@localhostroot]#shutdown-rnow←立刻关闭系统并重启

[root@localhostroot]#shutdown –r 23:59←指定在 23:59 时重启动

3.3 重新启动计算机的 reboot 命令

顾名思义,reboot 命令是用来重新启动系统的。常用的参数如下: -f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。 -I 参数:在在重新启动之前关闭所有网络接口。

虽然 reboot 命令有参数可以使用,但是一般只需要单独运行 reboot 命令就可以了。

3.4 文件与目录的操作 (1)ls(list)命令

是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下: 显示当前目录的内容:

[tony@freetony]$ls

Desktopmail myinstall.log test.txt←有两个目录及两个文件夹 当运行 ls 命令时,并不会显示名称以“.”开头的文件。因此可加上“-a”参数指定要列出这些文件。范例如下: [tony@freetony]$ls–a

以“-s”参数显示每个文件所有的空间,并以“-S”参数指定按所有占用空间的大小排序。范例如下:

[tony@freetony]$ls–s–S 总计 36

Desktopmail 24 myinstall.log 4 test.txt

在 ls 命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下: [tony@freetony]$ls–l/usr/games (2)切换目录的 cd 命令

cd(changedirectory)命令可让用户切当前所在的目录。范例如下 [tony@freehome]$cdtony←切换到当前目录下的 tony 子目录 [tony@freetony]$cd..←切换到上一层目录 [tony@freehome]$cd/←切换到系统根目录 [tony@free/]$cd←切换到用户主目录

[tony@freetony]$cd/usr/bin←切换到/usr/bin 目录 (3)创建目录的 mkdir 命令

Mkdir(makedirectory)命令可用来创建子目录。

[tony@freetony]$mkdir tool //所在目录下创建 tool 子目录。 (4)删除目录的 rmdir 命令

rmdir(removedirectory)命令可用来删除“空”的子目录。范例如下: [tony@freetony]$rmdirtool←删除 tool 目录 (5)复制文件的 cp 命令

cp(copy)命令可以将文件从一处复制到另一处。一般在使用 cp 命令将以个文件复制成另一个文件或复制到某个目录时,需要指定原始文件名与目的文件名或目录。范例如下:

[tony@freetony]$cpdata1.txtdata2.txt ← 将data1.txt复 制 成data2.txt [tony@freetony]$cpdata3.txt/tmp/data←将 data3 复制到/tmp/data 目录中 显示复制过程:加入-v 参数可显示命令执行过程。范例如下:

[tony@freetony]$cpzip.txtzip2.txt←一般状态下不会显示复制过程 [tony@freetony]$cp–vzip.txtzip3.txt←以-v 显示复制过程zip.txt->zip3.txt

递回复制:加入“-R”参数可同时复制目录下的所有文件及子目录。范例如下: [tony@freetony]$cp–v–R*backup←将所有文件(含子目录文件)复制到backup 目录

(6)删除文件或目录的 rm 命令

rm(remove)命令可以删除文件或目录。范例如下: [tony@freetony]$rm myfile ←删除指定的文件

[tony@freetony]$rm * ←删除当前目录中的所有文件 rm 命令的常用参数如下:

强迫删除:使用-f 参数时,rm 命令会直接删除文件,不再询问。范例如下:

[tony@freetony]$rm–f *.txt←强迫删除文件

递回删除:-r 也是一个相当常用的参数,使用此参数可同时删除指定目录下的所有文件及子目录。范例如下: [tony@freetony]$rm–r data ←删除 data 目录(含 data 目录下所有文件和子目录)

[tony@freetony]$rm–r * ←删除所有文件(含当前目录所有文件,所有子目录和子目录下的文件)强制删除指定目录:当使用-r 参数删除目录时,若该目录下有许多子目录及文件,则系统会不间断地询问,以确认您的确要删除目录或文件。若已确定要删除所存目录及文件,则可以使用-rf 参数,如此一来,系统将直接删除该目录中所有的文件及子目录,不再询问。范例如下:

[tony@freetony]$rm–rf tmp 强制删除 tmp 目录及该目录下所有文件及子目录显示删除过程:使用-v 参数。范例如下: [tony@freetony]$rm–v

(7)让显示画面暂停的 more 命令

为了避免画面显示瞬间就闪过去,用户可以使用 more 命令,让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,或按 Q 键停止显示。当使用 ls 命令查看文件列表时,若文件太多则可以配合 more 命令使用。范例如下: [tony@freebin]$ls–al more

单独使用 more 命令时,可用来显示文字文件的内容。范例如下: [tony@freetony]$more data.txt (8)连接文件的 cat 命令

cat(concatenate)命令可以显示文件的内容(经常和 more 命令搭配使用),或是将数个文件合并成一个文件。范例如下: 逐页显示 preface.txt 的内容:

[tony@freetony]$cat preface.txt more

将 preface.txt 附加到 outline.txt 文件之后: [tony@freetony]$cat preface.txt>>outline.txt 将 new.txt 和 info.txt 合并成 readme.txt 文件: [tony@freetony]$cat new.txt info.txt>readme.txt (9)移动或更换文件,目录名称的 mv 命令

mv(move)命令可以将文件及目录移动到另一个目录下面,或更换文件及目录的名称。范例如下:

[tony@freebackup]$mv a.txt ..←将 a.txt 文件移到上层目录 [tony@freebackup]$mv z1.txt z3.txt ←将 z1.txt 改名成 z3.txt [tony@freebackup]$cd..←切换到上一层目录

[tony@freetony]$mv backup ..←backup 目录上移一层 12)显示当前所在目录的 pwd 命令

pwd(printworkingdirectory)命令可显示用户当前所在的目录。范例如下: [tony@freetony]$pwd

/home/tony←当前所在目录为“/home/tony” (10)查找文件的 locate 命令

locate 命令可用来搜索包含指定条件字符串的文件或目录。范例如下:

[tony@freetony]$locate zh_CN 列出所有包含“zh_CN”字符串的文件和目录。由于 locate 命令是从系统中保存文件及目录名称的数据库中搜索文件,虽然系

统会定时更新数据库,但对于刚新增或删除的文件、目录,仍然可能会因为数据库尚未更新而无法查得,此时可用 root 身份运行 updatedb 命令更新,为此数据库得内容正确。

(11)搜索字符串得 grep 命令

grep 命令可以搜索特定字符串来并显示出来,一般用来过滤先前得结果,避免显示太多不必要得信息。范例如下:

[tony@freeetc]$grep text *.conf←搜索当前目录中扩展名为.conf 且包含“text”字符串得文件。

grep:amd.conf:←拒绝不符权限得操作

grep:diskcheck.conf:←拒绝不符权限得操作 grep:grub.conf←拒绝不符权限得操作

若您是使用一般权限的用户运行,上例的输出结果会包含很多如“拒绝不符权限的操作之类的错误信息,可使用-s 参数消除。 [tony@freeetc]$grep–s text *.conf (12)重导与管道

重导(redirect)可将某命令的结果输出导文件中,它有两中命令:“>”和

“>>”“>”可将结果输出到文件中,该文件原有的内容会被删除:“>>”则将结果附加到文件中,原文件内容不会被清除。范例如下:

[tony@freetony]$ls–a>dir.txt←将 ls–a 命令执行结果输出到 dir.txt文件。

[tony@freetony]$catdata1.txt>>data2.txt←将 data1.txt 内容附加到

data2.txt 文件之后。通道(pipe)命令的符号是“”,可将某命令的结果输出给另一命令,一下范例将 ls 命令的输出结果传给 grep 命令过滤: [tony@freeetc]$ls

gerp conf←搜索并显示 ls 命令运行结果中包含有“conf”字符串在举一个删除文件或目录的例子,可以利用 yes 命令重复输出“y”字符的特性,将结果传给 rm 命令,如此即可避免重复输入“y”: [tony@freetony]$yes rm–r mydir

3.5 加载与卸载媒体介质 (1)加载的 mount 命令

要使用光盘时先把光盘放入光驱,然后执行加载的 mount 命令,将光盘加载至系统中:

[tony@freetony]#mount/dev/cdrom/mut/cdrom←加载光盘

同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用。 (2)卸载的 umount 命令

如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。范例如下:

[tony@freetony]#umount/mnt/cdrom←光盘卸载

3.6 在后台运行程序

用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至可能希望在用户注销系

统后,程序还可以继续运行。让我们看看那如何实现这一目的。 (1) 在后台运行程序的&、bg 命令

将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下: [tony@freeroot]#update db &←在后台执行 locate 数据库更新命令 [tony@freeroot]#bg←将更新操作放到后台运行 (2) 前台运行的程序 fg 命令

如果用户当前已有程序在后台运行,可以输入 fg 命令,将它从背景中移到前台运行:

[tony@freeroot]#fg←放到前台执行的命令会显示出来 (3) 在退出后让程序继续运行的 nohup 命令

此命令可使用户退出系统后,程序继续运行。范例如下: [tony@freerony]$nohupmyserver&

然后用户就可以退出了,当再次登录的时候,可以用 ps–aux 命令看到程序仍在后台中运行。

3.7 任务调度命令

计算机有很多程序需要周期性的被运用,例如清理磁盘中不要的暂存盘、备份系统数据、检查远程服务器的邮件等。对于这些重复性的工作,其实不需要每次都辛苦地运行这些程序。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工作。任务调度的 crond 常驻命令crond 是 Linux 用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调动命令。crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作,便会自动执行该工作。由于任务调度中间的操作过程十分繁杂,我们只将任务调度文件的写法介绍给大家,供大家参

阅:MinuteHourDayMonthDayOfWeekCommand在这段文字中除了“Command”是每次都必须指定的字段以外,其他自动皆可视需求自行决定是否指定。 (1)任务调度的系统工作

/ect/crontab/文件是 Linux 系统工程的任务调度设置文件,其默认的内容如下: SHELL=/bin/bash←指定执行任务调度工作时所使用的 SHELL PATH=/shin:/bin:/usr/sbin:/usr/bin←指定命令搜索的路径 MAILTO=root←指定将输出结果给 root 用户HOME=/←指定跟目录 (2)任务调度的个人工作

除了上述任务调度的系统工作外,一般用户则可利用 crintab 命令,自行设置要定期执行的工作。每个用户可执行 crontab–e 命令,编辑自己的任务调度设置文件,并在此文件加入要定期执行的工作。以下范例为 tony 用户编辑的任务调度设置文件:

[tony@freerony]$crontab–e

执行上述命令后,即会进入 VI 文本编辑器自行编辑任务调度的工作。 (3)删除调度工作任务

如果不想再定期执行任务调动中的工作,则可执行 crontab–r 命令删除所有任务调度的工作。范例如下:

[tony@freerony]$crontab–r←删除任务调度中的工作

[tony@freerony]$crontab-1←再查看一次任务调度中的工作 nocrontabfortony←已经没有任何任务调度工作

3.8 打包、压缩与解压缩

由于这是每一个 Linux 用户都会经常用到的基本功能,因此我们将介绍最常见到的打包、压缩和解压缩程序。 (1)打包文件的 tar 命令

tar 命令位于/bin 目录中,它能将用户所指定的文件或目录打包成一个文件,不过它并不做压缩。一般 Unix 上常用的压缩方式是先用 tar 命令将许多文件打包成一个文件,再以 gzip 等压缩命令压缩文件。tar 命令参数繁多,以下举例常用参数作说明:

-c:创建一个新的 tar 文件; -v:显示运作过程信息; -f:在:指定文件名称;

-z:调用 gzip 压缩命令执行压缩; -j:调用 bzip2 压缩命令执行压缩; -t:参看压缩文件内容; -x:解开 tar 文件。 在此举一常用范例:

[tony@freedata]#tarcvfdata.tar*←将目录下所有文件打包成 data.tar [tony@freedata]#tarcvfdata.tar.gz*←将目录所有文件打包成 data.tar再用 gzip 命令压缩

[tony@freedata]#tartvfdata.tar*←查看 data.tar 文件中包括了哪些文件 [tony@freedata]#tarxvfdata.tar*←将 data.tar 解开 (2)压缩与解压缩

tar 命令本身没有压缩能力,但是可以在产生的 tar 文件后,立即使用其他压缩命令来压缩,省区需要输入两次命令的麻烦。使用-z 参数来解开最常见的.tar.gz 文件:

[tony@freedata]#tar–zxvffoo.tar.gz←将文件解开至当前目录下 使用-j 参数解开 tar.bz2 压缩文件:

[tony@freedata]#tar–jxvflinux-2.4.20tar.bz2←将文件解开至当前目录下 使用-Z 参数指定以 compress 命令压缩

[tony@freedata]#tar–cZvfprcture.tar.Z*.tif 将该目录下所有.tif 打包并命令压缩成.tar.Z 文件。

3.9 其他常用命令

Linux 可用的命令相当多,本章我们只举例几个常用的命令进行说明,在以后的章节中,还会接触到许多其他命令。 (1)修改密码的 passwd 命令

passwd(password)命令可让用户变更密码。范例如下: [tony@freetony]$passwd

Changingpasswordforusertony Changingpasswordfortony

(current)UNIXpassword:←输入原密码 Newpassword:←输入新密码

Retypenewpassword←在此输入新密码

passwd:allauthenticationtokensupdatedsuccessfully←密码修改成功 (2)显示与设置时间的 date、clock 和 ntpdate 命令 date 命令可以显示当前日期时间。范例如下: [tony@freerony]$date -9 月 810:00:00CST2006 CST 为中部标准时间

clock 命令也可以显示出系统当前的日期与时间,不过 clock 命令默认不允许一般用户执行,请用 root 账号执行: [root@freeroot]#clock

公元 2006 年 9 月 8 日(周五)10 时 00 分 00 秒 0.112604seconds如果系统时间不正确要想更改,可以使用 date 命令来设置时间。用 root账号如下操作:

[root@freeroot]#date 09091200←将时间设定为 9 月 9 日 12 点 00 分 用户有时可能会苦于不知道标准时间。没关系,当前网络上也有校对时服务器提供的标准时间。因此可执行 ntpdate 命令,将系统时间设成与校时服务器一致: [root@freeroot]#ntpdate stdtime.microsoft.com←与微软校时服务器校时。然后再执行一次 date 命令,就会发现系统时间已经更改。不过这样还没有结束,还需要执行 clock–w 命令将更改的时间写入计算机的 CMOS 中,这样下次启动时才会使用更改过的时间。范例如下: [root@freeroot]#clock–w

常用的基本命令我们就先介绍到这里,现在我们来讲些新手在使用过程中遇到的一些疑难问题的解决方法以及在操作过程中的一些应用技巧。 (3)如何查询命令的用法

在 linux 系统中,如果用户某命令的功能不大清楚,可以使用 man 命令查询帮助:

[root@freeroot]#man shutdown←以 man 命令查询

大多数命令的语法,还可以通过-h 或—help 参数查询。例如 shutdown 命令的语法可以运行 shutdown–h 或上述的 man shutdown 命令查得。 4、实验小结

在这次实验中,主要学习了一些linux常用的命令,熟练掌握这些命令,在以后的嵌入式开发过程中会有很大的帮助,因为linux不像widows那样图像界面操作比较多,在嵌入式开发过程中大部分都是在命令界面完成的。所以熟练掌握linux常用的命令就显得至关重要,通过这次实验课两个课时的联系,我对这些命令已经基本掌握,但还需继续巩固和学习其他常用命令。

本文来源:https://www.bwwdw.com/article/2ce6.html

Top