实验四shell在使⽤及常⽤命令(下)
实验4 Linux的常⽤操作
1 实验⽬的
1、通过实验了解shell的功能;
2、掌握Linux中关于⽂件、⽬录⼀些常⽤命令的使⽤。
3、掌握Linux系统中使⽤man帮助的⽅法。
2 实验环境
1、VMware中已经安装好CentOS5.4版本。
3 实验原理或背景知识
3.1 shell简介
shell是介于使⽤者和UNIX/Linux操作系统之核⼼程序(kernel)间的⼀个接⼝。我们知道,坚果的壳保
护其内部的核,同样⼀个UNIX/Linux shell提供⼀个外设的保护层。当你启动⼀台基于UNIX/Linux的计算机时,内核(kernel)即被调⼊内存,它执⾏许多底层级和系统级的⼯作。内核有责任解释基本指令并将其送到处理器。内核也负责运⾏和调度进程,及执⾏所有的输⼊输出。内核是UNIX/Linux系统的⼼脏,内核有且只有⼀个。
为了对⽤户屏蔽内核的复杂性,也为了保护内核以免⽤户误操作造成损害,在内核的周围建了⼀个外壳(shell)。⽤户向shell提出请求,shell解释并将请求传给内核。
shell的种类有很多,但都提供了相同的基本功能,主要有:
1、命令⾏解释
当⽤户登录时,就会启动⼀个交互式的shell,这⾥会看到⼀个shell提⽰,通常是$,%或#符号的形式。当在提⽰符下敲进⼀⾏字符后,shell就试图解释他。shell提⽰符下的输⼊有时被称为⼀个命令⾏。命令⾏的基本格式是:
shell命令属于什么语言
命令名[选项] [参数](⼀个或多个))
2、启动程序
当shell解释完命令⾏后,它就启动命令⾏中需求的程序。实际是内核执⾏这个程序。为了启动程序执⾏,shell在PATH环境变量指定的⽬录中搜索可执⾏⽂件。当它到这个⽂件,就启动⼀个⼦shell来运⾏程序。
3、输⼊输出重定向
Shell提供将三种标准⽂件重定向到⽂件的功能。这三种⽂件是:标准输⼊⽂件、标准输出⽂件和标准错误⽂件,其对应的⽂件号分别为:0、1和2。也可以通过使⽤符号>将输出⽂件重定向,通过使⽤<;将输⼊⽂件重定向。
4、管道连接
管道是输⼊输出重定向的特例,它将⼀个命令的输出直接连到另⼀个命令的输⼊,因此
管道也是在调⽤程序前建⽴的。
5、⽂件名置换
通过使⽤通配符可以到⽤户需要的⽂件。
6、变量维护
shell有能⼒进⾏变量维护。变量是存储数据为将来所⽤的场所。⽤等号(=)能给变量赋值。
7、环境控制
当login程序调⽤shell时,shell会对环境进⾏设置,其中包括home(家)⽬录及使⽤的终端类型,还有⽤来搜索可执⾏⽂件的路径。环境被存储在环境变量中。
8、shell编程
shell是⼀种编程语⾔。通过使⽤流程控制和条件判断来组合命令和变量赋值,成为⼀个有⼒的编程⼯具。使⽤shell作为⼀门编程语⾔,能够使重复的任务⾃动化,甚⾄还能建⽴和操纵⾃⼰的数据⽂件。
3.2 shell关于⽬录和⽂件的部分常⽤命令
1、ls:列⽬录内容
2、mkdir:建⽴⽬录
3、rmdir:删除⽬录
4、cd:改变⼯作⽬录
5、cat:显⽰⽂件、⽂件连结并输出⽂件
6、touch:修改⽂件的时间戳,当⽂件不存在时将创建该⽂件
7、echo:显⽰变量或⼀⾏的内容
8、cal:显⽰⽇历
9、more:⼀页⼀页的显⽰⽂件
10、less:与more相同,但⽐more功能更多
11、rm:删除⽂件
12、mv:移动⽂件
13、cp:⽂件和⽬录复制
14、head/tail:显⽰⽂件开始或结尾部分内容
15、grep:⽂本字符串过滤
16、sort:对⽂件排序
17、uniq:删除⽂件中重复的⾏
18、wc:⽂件内容信息统计
19、cut:从⽂件或标准输⼊中读取内容并截取每⼀⾏的选定部分并送到标准输出
20、file:测试⽂件的类型
命令参数及详细使⽤⽅法可参见教材或者man帮助⼿册。
3.3 man是传统UNIX系统的在线⼿册页,⽤户通过它可以获得在线帮助。
man是manual的缩写,使⽤man命令可以查阅相关的帮助信息。man的常⽤⽅法
man [-afw] [sec] name …
参数:
sec 指定章节
name 指定帮助的内容
-a 对所有与name相关的内容进⾏帮助
-f 列出与name相关的项⽬的描述信息,作⽤与whatis相同。
-w 显⽰⼿册页的位置
-k 查询包含关键字的⼿册页
man⼿册页存放在/usr/share/man⽬录下,其命名规则为⼿册名称.类型.gz。
表1 man命令的部分功能键
4 实验任务
1、写出shell提⽰符的每⼀部分所代表的意义:
2、显⽰当前正在使⽤的shell信息
3、使⽤命令在root的家⽬录下创建⽬录tmp,作为练习⽤的⽬录。(⽤ls命令显⽰结果)
4、在⽬录tmp中使⽤命令建⽴⽂件,,,test1.mp3,test2.mp3,(⽤ls命令显⽰结果)
5、假定需要列出⽂件名后⾯为.txt的⽂件并显⽰⽂件的i节点号,使⽤命令即可。
6、假定需要列出⽂件名为test打头,结尾是.txt,中间只有两个字符的⽂件,使⽤命令
即可。
7、假定需要列出⽂件名为test打头,接着是1或2,结尾随意的⽂件,使⽤命令即可。
8、假定需要列出⽂件名为test打头,接着有⼀个字符但不是1,结尾随意的⽂件,使⽤命令即可。
9、显⽰历史记录,使⽤命令即可。
10、快速回到⽤户的家⽬录的命令是。
9、使⽤ls的长格式命令显⽰/dev⽬录的所有⽂件,要求将结果分页显⽰的命令
是。
11、将root家⽬录下的install.log⽂件复制到/tmp⽬录下的命令是,将root的家⽬录整个复制到/tmp⽬录下的命令是。
12、将/tmp下的⽂件install.log更名为的命令是,然后将其移到/root下的命令是。
13、将/root⽬录下的⽂件删除的操作是,将/tmp⽬录下的⽬录root删除的操作是。
14、如果需要查看root家⽬录下的⽂件install.log的格式,应该使⽤命令完
15、将/etc/passwd⽂件中第1列的内容显⽰出来的命令是
16、将/etc/passwd⽂件中的内容按第3列数字由⼩到⼤进⾏排序,应该使⽤命令
17、使⽤命令可以查询passwd的普通⽤户⼿册。
18、在普通⽤户⼿册中使⽤可以查询关键字user,如果向下搜索使⽤,如果向上查使⽤。
19、使⽤命令可以打开passwd⽂档格式描述的帮助页。
20、查询vm的man⼿册,其⼿册页为第页,说明只有⽤户才能使⽤该命令。
21、使⽤命令可以查询包含关键字passwd的所有man章节页。
22、借助man帮助,学习使⽤ls、cd、cat等命令查看Linux的⽂件⽬录及⽂件内容(⾃⼰验证)。使⽤cat命令可以杳看⽂本⽂件的内容,如查看当前主机中CPU的详细信息。
1. ⽤cat命令在⽤户主⽬录创建f1⽂件,内容为:“linux is useful for
all”。
2. 统计f1 ⽂件的⾏数,并将统计结果存放到countf1⽂件
3. 将f1 和countf1 ⽂件合并为f⽂件
4. 显⽰/etc⽬录前12个⽂件和⽬录的详细信息
5. 分页显⽰/etc⽬录中所有⽂件和⽬录信息
6. 只显⽰/etc ⽬录中的前5个⽂件
7. 显⽰/bin ⽬录中所有以c为⾸字母的⽂件和⽬录
8. 显⽰/bin ⽬录中所有以c为⾸字母,⽂件名只有3个字符的⽂件
和⽬录
9. 统计/bin⽬录中所有的⾸字母是c,或者s或者h的⽂件和⽬录个
10. 统计/bin⽬录中所有的⾸字母不是a,b,c,d的⽂件和⽬录个数
11. 重复前⼀命令
12. 查看刚执⾏过的5个命令

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。