实验报告二
课程名称 |
Unix/Linux系统设计 |
实验日期 |
2016/9/8 |
实验项目名称 |
初识Shell 及 常用命令的使用 |
实验地点 |
615 |
实验类型 |
√验证型□设计型□综合型 |
学时 |
2 |
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||
1、熟悉Ubuntu环境 2、初识Shell 3、学习常用命令的使用
|
|||
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||
硬件环境:(例如CPU Intel(R) G630 @2.70GHz,内存 4GB, 硬盘 7200转 320G ,光驱 16X DVD) 软件环境: |
|||
三、实验内容及步骤 |
|||
1、熟悉Ubuntu环境 (1)了解Ubuntu系统环境 (2) 熟悉桌面环境的操作 (3)X-Winodw、KDE、GNOME是什么?
2、初识Shell (1) 什么是Shell? (2)Shell的功能是什么? (3)Shell的种类有哪些? 3、Linux常用命令的学习与使用 (1)pwd、cd、ls、uname、clear、man、cp、mv、mkdir、rm (2)掌握上述命令的功能与使用,掌握命令常用参数的使用 (3)提醒:命令区分大小写,命令与参数之间要有空格 (4)记录下实验过程。要对关键过程,要抓屏并简单处理,图片配以文字描述。逻辑清晰、排版美观。 |
|||
四、实验结果(可记录下实验过程) |
|||
实验一 Linux常用命令(一)1、Shell环境和Shell命令格式 如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。方法: 桌面:右键菜单-Terminal(终端); 或:主菜单-系统工具-Terminal(终端)。 命令格式:command [-option(s)] [option argument(s)] [command argument(s)] 步骤1:使用who命令 步骤2:使用date命令 步骤3:使用上下健提取历史命令who,执行。 2、文件系统操作命令 (1) 改变目录命令:cd 目标目录路径 步骤1:使用绝对路径依次进入Linux根目录下的所有子目录。 例如:cd /usr/bin 步骤2:使用绝对路径依次进入用户目录。 步骤3:使用相对路径进入子目录 1) 使用绝对路径进入/lib目录 2) 使用相对路径进入/lib/i868目录 3) 使用相对路径退回到/lib目录 (2) 列出并观察目录中的文件 步骤1:进入任意目录,使用无参数ls命令列出并观察其中所有文件; 步骤2:进入任意目录,使用通配符列出其中部分文件; 例如:cd /bin ls c* 步骤3:使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。 步骤4:直接列出子目录中的文件。例如:ls i868 步骤5:仅列出子目录本身(-d) 步骤6:使用-F选项,显示文件类型标志。 步骤7:使用-a或-A选项,观察结果有什么变化。 步骤8:综合使用以上选项。 (3) 目录的创建与删除 步骤1:在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。 mkdir tmp 步骤2:删除该目录 rmdir tmp 步骤3:在根目录中,使用绝对路径在用户命令中创建一个子目录。 mkdir ~/tmp 步骤4:删除该目录 rmdir ~/tmp 步骤5:使用-p参数一次创建多级目录。如: mkdir ~/tmp/dir1 步骤6:使用-p参数删除多级目录。如: cd ~ rmdir tmp/dir1 (4) 文件和目录拷贝命令:cp 步骤1:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中 mkdir ~/tmp cp /usr/include/signal.h ~/tmp 步骤2:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中,并改变其文件名。 cp /usr/include/signal.h ~/tmp/signal.bak 步骤3:思考并试验,如果步骤1中不使用第一条命令,拷贝的结果是什么? (5) 文件移动或文件目录更名命令:mv 步骤1:将上面signal.bak更名为signal.h cd ~/tmp mv signal.bak signal.h 步骤2:将signal.h移动到上一层目录 mv signal.h .. 步骤3:将tmp目录更名为temp mv ../tmp ../temp 步骤4:拷贝/usr/include中所有s开头的.h文件到/usr/temp目录 cp /usr/include/s*.h /usr/temp 步骤5:将temp目录移动到tmp目录中 cd /usr mkdir /tmp mv temp tmp 步骤6:拷贝/usr/include/signal.h到/usr/tmp/temp目录中,观察提示。 步骤7:使用-f选项重复上述命令,观察是否有提示。 (6) 建立符号链接命令:ln 步骤1:在用户目录中创建对/usr/include目录的符号链接 cd ~ ln –s /usr/include ls include 步骤2:删除该链接 rm include 步骤3:观察/usr/include是否被删除。 步骤4:与步骤1相同,但命名链接目录为abc ln -s /usr/include abc ls abc rm -f abc 3、文件权限管理命令 (1) 改变文件权限(chmod) 步骤1:使用chmod给include目录中的任意文件的属主或属组或其它用户添加可执行的权限。 例:chmod u+x signal.h 步骤2:删除可执行权限 步骤3:设置属组权限为可读+可执行。 步骤4:一次性设置文件的所有权限为可读+可执行。 (2) 改变权限屏蔽 步骤1:改变为屏蔽所有用户的可执行权限 步骤2:创建目录test,观察其权限。 步骤3:尝试进入test目录。是否能否进入,思考为什么?
实验一 Linux常用命令(二) 1、Linux文件内容显示命令 (1)cat命令,显示文件内容 步骤1:将/usr/include/stdio.h拷贝到~/tmp目录中,并进入tmp目录。 步骤2:使用简单cat命令显示其内容 步骤3:使用-n选项,输出行号; 步骤4:使用-s选项,合并空白行; 步骤5:使用-b选项,对非空白行编号; (2)more命令,分页显示文件内容 步骤1:使用简单more命令显示stdio.h的内容 使用空格键、回车键和B键上下翻看内容。 步骤2:使用-num选项,控制每页的行数; 步骤3:使用-s选项,合并空白行; 步骤4:使用/pattern选项,先搜索字符串file,再显示; (3)less命令,分页显示文件内容 步骤1:使用简单less命令显示stdio.h的内容 使用PAGEUP、PAGEDOWN、回车键和空格键上下翻看内容。 (4)head命令,显示文件开头内容 步骤1:使用head命令显示stdio.h的前10行内容 head –n 10 stdio.h head --lines=10 stdio.h 步骤2:使用head命令显示stdio.h的前10个字符内容; head -c 10 stdio.h head --bytes=10 stdio.h 步骤3:使用-v选项,显示文件名; (5)tail命令,显示文件最后的内容 步骤1:使用tail命令显示stdio.h的后10行内容 tail–n 10 stdio.h tail--lines=10 stdio.h 步骤2:使用tail命令显示stdio.h的最后10个字符内容; tail-c 10 stdio.h tail--bytes=10 stdio.h 步骤3:使用-v选项,显示文件名; (5)touch命令 步骤1:使用touch命令,修改stdio.h的文件时间, 并使用ls查看结果。 步骤2:使用touch命令,创建一个名为test的空文件。
2、Linux文件内容搜索、排序和比较命令 (1)grep命令,搜索文件内容 步骤1:在stdio.h中搜索并显示包含extern字符串的所有行 grep extern stdio.h 步骤2:在stdio.h中搜索所有宏定义的语句, grep “#define*” stdio.h 步骤3:在stdio.h中搜索所有以#开头的行 grep ^# stdio.h 步骤4:在stdio.h中搜索所有被包含的头文件 grep ‘\.h’ stdio.h 说明:头文件特点为字符串“.h”。但“.”是一个元字符,需要使用转义方式表示为“\.”。 步骤5:自己设想查找目标,并定义合理的字符串模式。 (2)sort命令,排序文件内容 步骤1:对stdio.h内容进行排序 sort stdio.h 步骤2:对stdio.h内容进行排序,并输出到文件test中, 查看排序结果 sort –o test stdio.h more test 步骤3:同上,但要求合并重复行(使用-u选项) 步骤4:检查test和stdio.h是否已排序,观察输出结果 sort –c test sort –c stdio.h (3)uniq命令,合并重复行 步骤1:重复sort命令的步骤2,生成一个test文件 步骤2:使用uniq命令合并其中的重复行,并显示每行重复的次数 uniq -c test (3)comm命令,比较两个文件 步骤1:准备两个文件:file1和file2 echo file1: > file1 echo line1 >> file1 echo file2: > file2 echo line1 >> file2 echo line2 >> file2 步骤2:比较两个文件,观察输出的三列的含义 comm. file1 file2 步骤3:比较两个文件,只输出其中相同的行。 comm. -12 file1 file2 步骤4:比较两个文件,只输出file2中独有的行。 comm. -13 file1 file2 (4)diff命令,比较两个文件的差异 步骤1:简单比较 diff file1 file2 步骤2:比较并输出ed脚本 diff –e file1 file2 (5)wc命令,统计文件内容 步骤1:全面统计,理解输出的结果 wc file1 wc file2 步骤2:仅统计词数 wc –w file2 步骤3:仅统计行数 wc –l file2 步骤4:仅统计字节术 wc –c file2 2、进程管理命令 (1)PS命令,查看进程状态 步骤1:简单ps 步骤2:列出系统中的所有进程 ps –e 步骤3:仅列出与当前TTY相关的进程 打开一个新的TTY 在原有tty和新tty中分别输入ps –a,观察比较结果。 步骤4:分别使用-x, -f, -l, -r, -u显示进程信息,比较结果。 (2)kill命令,终止进程 步骤1:查看tty1的PID。 步骤2:在tty0中输入杀进程的命令 kill –s kill PID 或:kill –s 9 PID 步骤3:列出所有进程信号,观察结果 kill -l
3、熟悉使用联机帮助命令 (1)man命令 步骤1:使用man命令查看ls命令的帮助信息 步骤2:使用man命令查看其它命令的帮助 (2)help命令 步骤1:使用help命令查看cd命令的帮助信息
|
|||
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||
通过本次实验,让我学习到了很多关于linux的东西,进一步熟悉了linux的工作原理,它和windws的根本区别,了解了什么是shell,以及它的功能和种类,掌握了Linux常用命令的功能和使用。熟悉了Ubuntu系统的基本使用,能够进行ubuntu系统进行一定的操作。 |
|||
六、实验成绩 |
|||
|