文档视界 最新最全的文档下载
当前位置:文档视界 › 《操作系统原理与Linux》实验二 Linux中Shell命令的使用

《操作系统原理与Linux》实验二 Linux中Shell命令的使用

《操作系统与Linux》实验报告

实验名称:实验二Linux中Shell基本命令的使用

实验日期:2011年11月2日

班级:B09513

学号:20094051311

姓名:王晓珍

计算机号:

一、实验目的

1.掌握Shell基本命令的使用方法(命令补全、通配符、历史记录、别名、输出重定向、使用管道、作业控制)。

二、实验内容

1、命令补全:

1)登录后进入home目录并建立子目录mlbq,在mlbq子目录中建立如下子目录:news、

bin、

games、mail、programs、test。

[root@localhost ~]# cd ..

[root@localhost /]# cd home

[root@localhost home]# mkdir mlbq

[root@localhost home]# cd mlbq

[root@localhost mlbq]# mkdir news bin games mail programs test

2)通过命令补全功能只输入字母t进入test子目录。

[root@localhost mlbq]# cd test/

3)在mlbq子目录中再建立一个子目录tools,如何通过命令补全功能进入test子目录。[root@localhost test]# cd ..

[root@localhost mlbq]# mkdir tools

[root@localhost mlbq]# cd test/

[root@localhost test]#

4)在mlbq子目录下输入命令cd t,出现什么结果。

[root@localhost mlbq]# cd t

test/ tools/

2、通配符:

1)在mlbq子目录中通过touch命令建立如下文件:ch1.doc、ch2.doc、ch3.doc、ch4*、ch5*。

[root@localhost mlbq]# touch ch1.doc

[root@localhost mlbq]# touch ch2.doc ch3.doc ch4* ch5*

[root@localhost mlbq]# ls

bin ch2.doc ch4* games news test

ch1.doc ch3.doc ch5* mail programs tools

2)通过通配符“*”列出mlbq子目录中所有文件扩展名为“.doc”的文件。

[root@localhost mlbq]# ls *.doc

ch1.doc ch2.doc ch3.doc

3)通过通配符“?”列出mlbq子目录中ch1.doc、ch2.doc和ch3.doc三个文件。

[root@localhost mlbq]# ls ch?.doc

ch1.doc ch2.doc ch3.doc

4)通过通配符“[…]”列出mlbq子目录中ch1.doc、ch2.doc和ch3.doc三个文件。

[root@localhost mlbq]# ls ch[123].doc

ch1.doc ch2.doc ch3.doc

3、命令历史记录:

1)显示当前系统中所有命令历史记录。

[root@localhost mlbq]# history

1 vim wangge

2 vim wangge

3 vim wang

4 cd /home

5 gcc -o producer producer.c

6 gcc -o customer customer.c

7 ./producer

8 ./customer

9 clear

10 cd /home

11 gcc -o producer producer.c

12 clear

13 gcc -o producer producer.c

2)显示当前系统中最近6条命令。

[root@localhost mlbq]# history 6

144 ls

145 ls *.doc

146 ls ch?.doc

147 ls ch[123].doc

148 history

149 history 6

4、别名:

1)将Linux下的命令ls、cp、mv、mkdir和rmdir分别命名为别名dir、copy、rename、md和rd。

[root@localhost mlbq]# alias dir='ls'

[root@localhost mlbq]# alias copy='cp'

[root@localhost mlbq]# alias rename='mv'

[root@localhost mlbq]# alias md='mkdir'

[root@localhost mlbq]# alias rd='rmdir'

2)使用rename命令将mlbq子目录中的games子目录重命名为mygames。

[root@localhost mlbq]# rename games mygames

[root@localhost mlbq]# ls

\bin ch2.doc ch4* mail news test

ch1.doc ch3.doc ch5* mygames programs tools

3)取消rename命令的别名功能。

[root@localhost mlbq]# unalias rename

4)再次使用rename命令将mlbq子目录中的mygames子目录重命名为games,是否能够实

现。

[root@localhost mlbq]# rename mygames games

[root@localhost mlbq]# ls

bin ch2.doc ch4* mail news test

ch1.doc ch3.doc ch5* mygames programs tools

5)列出当前系统中所有已经定义的别名。

[root@localhost mlbq]# alias

6)alias cp='cp -i'

7)alias df='df -x subfs'

8)alias dir='ls'

9)alias l.='ls -d .* --color=tty'

10)alias ll='ls -l --color=tty'

11)alias ls='ls --color=tty'

12)alias mv='mv -i'

13)alias rm='rm -i'

14)alias vi='vim'

15)alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

5、输出重定向:

列出mlbq子目录下的所有文件和子目录,并将显示结果输出保存到一个名为ls.out的文中并显示ls.out文件的内容。

[root@localhost mlbq]# ls >ls.out

[root@localhost mlbq]# more ls.out

bin

ch1.doc

ch2.doc

ch3.doc

ch4*

ch5*

ls.out

mail

mygames

news

programs

test

tools

列出mlbq子目录下的所有扩展名是“.doc”的文件,并将结果追加到ls.out文件中并显

ls.out文件的内容。

[root@localhost mlbq]# ls *.doc >>ls.out

[root@localhost mlbq]# more ls.out

bin

ch1.doc

ch2.doc

ch3.doc

ch4*

ch5*

ls.out

mail

mygames

6、使用管道:

通过管道技术查找/etc/passwd文件中包含字符串“root”的文件行的行数。

[root@localhost mlbq]# cat /etc/passwd |grep "root"|wc -l

2

7、后台运行作业和撤消作业:

1)在当前命令提示符下输入yes命令,观察屏幕现象后终止此进程。

y

y

y

y

y

y

[2]+ Stopped yes

2)将yes命令的输出重定向到/dev/null文件中,观察屏幕现象后终止此进程。

[root@localhost mlbq]# yes >/dev/null

3)再次执行将yes命令的输出重定向到/dev/null文件中,并将此进程放到后台执行,记录下

作业号和进程标识符。

[root@localhost mlbq]# yes >/dev/null&

[4] 4064

4)通过jobs命令查看当前系统进程运行情况。

[root@localhost mlbq]# jobs

[1] Stopped more ls.out

[2]- Stopped yes

[3]+ Stopped yes >/dev/null

[4] Running yes >/dev/null &

5)通过作业号或者进程标识符撤消刚才放入后台运行的作业。

[root@localhost mlbq]# kill %3

[3] 已终止yes >/dev/null

8、中止作业和重新启动作业:

1)在当前命令提示符下输入yes命令,并将输出重定向到/dev/null文件中。暂时中止此命

令,

观察屏幕显示。

y

y

y

y

[5]+ Stopped yes

[root@localhost mlbq]# yes >/dev/null

[6]+ Stopped yes >/dev/null

2)重新启动上一步暂时中止的命令,并将其放入前台执行。

[root@localhost mlbq]# fg %6

yes >/dev/null

3)再次暂时中止此命令,并将其放入后台执行。

[root@localhost mlbq]# bg %6

[6]+ yes >/dev/null &

9、作业顺序执行:

在当前目录下返回到/home/student目录下,显示/home/student目录的绝对路径,并列出/home/student目录下的目录内容。通过一个命令行实现,并观察输出结果。

[root@localhost mlbq]# cd ..

[root@localhost home]# mkdir student

[root@localhost home]# cd /home/student;mkdir text;ls -l

总用量 4

drwxr-xr-x 2 root root 4096 11月 2 09:36 text

10、提示符:

1)更改命令提示符为“Please enter a command:”。

[root@localhost student]# PS1="Please enter a command"

Please enter a command

2)分别更改命令提示符为当前日期、当前时间、主机名和当前用户的用户名。

PS1="\d"

三11月02

PS1="\h"

localhost

PS1="\t"

09:42:20

PS1="\u"

root

PS1="\w"

/home/student

三、实验总结

通过本次实验,更加了解了Linux系统的功能和操作,这次实验主要是熟练地掌握了Shell基本命令的使用方法,包括命令补全的操作方法、通配符的使用方法、历史记录的使用方法、别名、输出重定向、使用管道,作业控制的使用方法以及给命令重命名的方法。通过实际操作,充分的把理论知识应用于实践。

Linux中的shell与shell命令

s h e l l与s h e l l命令 本章主要内容: shell基本功能及种类 shell基本概念 I/O重定向与管道 shell的启动 基本shell命令 3.1shell基本功能与基本概念 3.1.1shell基本功能 shell是用户和Linux内核之间的接口程序。 shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。 shell一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构 shell具有以下基本功能:1.命令解释执行2.文件名替换.3.输入输出重定向4.连通管道建立5.系统环境设置6.shell编程 3.1.2字符与保留字 1.字符 (1)白空格 (2)通配符 *:代表从它所在位置开始的任何字符串。 ?:代表它所在位置上的任何单个字符。 []:代表一个指定范围的字符。方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符“-”组成。 通配符 模式串意义 * 当前目录下所有文件名,但不包括.开头的文件。例如abc但不是.abc *Text* 当前目录下所有文件名中包含有Text的文件名,但不包括.开头的文件[ab-dm]* 当前目录下所有以a、b、c、d、m开头的文件名 [ab-dm]? 当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的文件名 [!ab-dm]?或 [^ab-dm]? 当前目录下所有不以a、b、c、d、m开头且后面只跟有一个字符的文件名/dev/hd? 目录/dev下所有以hd开头且只有三个字符的文件名 (3)注释符与注释 在shell命令或shell编程中从字符“#”开始以后到行末的部分作为注释,因此以“#”开头 的行是注释行。 (4)转义字符 (5)Linux系统的特殊键 2.保留字 任何编程语言或系统都有一定数量的保留字,bashell的部分保留字如下: !,[,],(,),{,},break,continue,cd,echo,eval,exec,exit,export,function,getopts,hash,pwd,read,readonly,return,select,set,shift,test,time,trap,type,ulimit,unset,umask,wait,for,do,done,case,in,esac,if,else,elif,if,while,until 转义字符所代表的意义转义字符所代表的意义\a 响铃符\t Tab键 \b 退格键\v 垂直制表符 \f 换页\\ \ \n 换行\0??? 8进制表示 \x?? 16进制表示\’’ \` ` \”” 特殊键意义 Ctrl+D 结束当前程序输入或终止当前程序或从系统中注销 Ctrl+C 终止当前程序的执行 Ctrl+\ 终止当前程序的执行(系统内部处理时不同于Ctrl+C) Ctrl+Z 挂起当前程序执行,将推到后台 Ctrl+S/Ctrl+Q 暂停/继续屏幕的输出,必须配合使用 ScrollLock 暂停/继续屏幕的输出,开关键 Ctrl+Alt+Del 默认动作为重启系统 Alt+F# 字符终端切换。比如Alt+F2将终端切换至F2 Ctrl+Alt+F# 从图形介面切换终端到字符终端。比如Ctrl+Alt+F1从图形界面切换至F1

linuxshell编程实验总结

Linux Shell 编程实验总结 1.引言 本文档总结了在学习Li nu xS he ll编程过程中的实验经验和心得体会。通过对L in ux Sh el l编程实验的实施和总结,我们能够更好地理解 S h el l脚本的运行机制,掌握Sh el l脚本的基本语法和常用命令,提高 编写高效、精确的Sh e ll脚本的能力。 2.实验一:S hell 脚本基础 2.1实验目的 本实验旨在帮助学员熟悉Sh el l脚本的基本语法和常用命令,掌握脚 本的编写与执行方法。 2.2实验内容 在本实验中,我们学习了如何编写具有特定功能的Sh el l脚本,如输 出H el lo Wo rl d、计算两个数之和、判断文件是否存在等。 2.3实验心得 通过本实验的实施,我对Sh el l脚本的基本语法有了更深入的理解。 在编写脚本的过程中,我发现使用变量、条件判断和循环结构可以极大地 提高脚本的灵活性和实用性。同时,我也加深了对常用命令的认识和掌握,如e ch o、re ad、i f-e ls e、fo r循环等。这些基本的知识将为后续的实 验和项目实践打下坚实的基础。 3.实验二:文件和目录操作 3.1实验目的 本实验旨在帮助学员了解Li nu x文件系统的基本操作,掌握S he ll脚 本中与文件和目录相关的命令。 3.2实验内容

在本实验中,我们学习了如何创建、复制、重命名和删除文件、目录,以及如何查询文件和目录的属性信息等。 3.3实验心得 通过本实验的实施,我对Li nu x文件系统有了更深入的了解。我学会 了如何使用S he ll脚本快速处理文件和目录,并且能够根据需求编写相 应的脚本来操作文件。例如,通过使用fi n d命令来查找文件,使用 g r ep命令来搜索文件内容等。这些技能在日常工作中非常有用,能够提 高工作效率和准确性。 4.实验三:文本处理 4.1实验目的 本实验旨在帮助学员掌握Sh el l脚本中处理文本的常用命令和技巧, 能够快速有效地处理常见的文本数据。 4.2实验内容 在本实验中,我们学习了如何使用Sh ell脚本来处理文本文件,包括 文本的读取、写入、查找、替换等操作。 4.3实验心得 通过本实验的实施,我学会了使用常用的文本处理命令和工具,如 c a t、gr ep、s ed等。这些工具在日常文本处理中非常实用,能够提高处 理大量文本数据的效率。此外,我还了解到了正则表达式的基本概念和用法,能够用正则表达式进行更精确的文本匹配和替换,提高文本处理的准确性和灵活性。 5.实验四:进程管理 5.1实验目的 本实验旨在帮助学员了解Li nu x系统中进程的基本概念和管理方法, 掌握Sh el l脚本中与进程相关的常用命令。 5.2实验内容 在本实验中,我们学习了如何查看系统中的进程信息、启动和终止进程、监控进程的运行状态等。

linux ls功能实现

一. 设计目的 操作系统是控制和管理计算机硬件和软件资源的虚拟机,其中的文件系统是对软件和设备进行管理的系统,文件系统是操作系统中非常重要的一个模块,它的实现占用了操作系统源码的最大编码量,其好坏也直接影响着用户对操作系统的感受程度。通过对操作系统课程设计的实践,进一步加深对文件系统的认识和理解,并在此基础上培养学生的工程应用能力。实验分别从用户态和内核态两个层实践文件系统的部分功能。 二.设计内容 (1)、在Linux下编程实现带参数的shell命令ls,ls命令必须支持如下功能。 1.基本要求 (1)支持-l 参数; (2)输出结果按字典排序; (3)列出“.”文件,支持-a参数,在没有-a时候不显示隐藏文件; (4)显示记录总数。 2.高级要求 (1)、支持对给定的目录进行操作,如ls gsy; (2)、输出结果分栏排序,每栏的宽度由这一栏最长的文件名决定,显示的栏数还受终端显示器的宽度影响,每一列尽可能的等宽。 (3)、正确显示文件特殊属性suid、sgid和sticky,参见联机帮助确保程序能处理各种情况。 (4)、支持标准的ls支持选项-R,它的功能是递归地列出目录中所有的文件包含子目录中的文件。 (5)、支持标准的ls支持选项-u,它会显示出文件的最后访问时间。 (6)、编写一个程序,先用open() 打开一个文件,用read()读一些内容,调用sleep()等待20s以后,再读一些内容,从另外的终端,再等待的 20s内去掉文件的读权限,这样会有什么结果?。

2)编写内核模块显示目录或文件的信息: (1)使用内核模块编程; (2)调试《Linux操作系统原理与应用》第8章文件系统P215 的例子; (3)练习给内核模块传入参数,参考关于带参数的模块编程。 (4)给内核模块传入参数path,其中path为绝对路径; 1)当path为目录时,显示目录对应的dentrey结构中的相关信息(可打印的信息); 2)当path为文件时,显示文件对应的indoe结构中的相关信息(可打印的信息); 3)当路径错误时,有错误提示信息。 三.概要设计 ls的概要设计:首先了解在Linux下ls命令,以及对带参数的ls命令的熟悉。其次从最简单的不带参数的ls命令入手,实现将当前目录中的所有文件以及对隐藏文件的处理。完成最基本的显示后,考虑带参数的ls功能,首先是参数的传递和实现,通过对一个8位无符号数的职位来判断有哪些参数,实现了参数的传递后,思考不同的参数实现的不同的功能,通过对每一个功能的分析思考,依次实现了所有-l,-u,-lu,-R,-a的功能,实现了功能后,考虑对功能的优化和显示的美观,又实现了输出结果分栏显示,按照终端的大小不同,分栏显示的结果不同,在功能方面又实现了三个特殊位的置位,和文件总数的显示。 内核模块的概要设计: (1)、调试《Linux操作系统原理与应用》第8章文件系统P215 的例子。(2)、实现内核模块的参数传递。 (3)、给内核模块传入路径,并且判断该路径的类型(目录,文件,错误的路径)。这一环节中,首先要做的事熟悉struct dentry *dt和struct inode *node两个结构体,以及学会使用struct file *fp结构体,然后通过struct file *fp中的成员fp调用struct dentry *dt和struct inode *node两个结构体中的 成员进行显示,并且vfs_stat (filename, &buf)函数对传入的参数path 进行判别。

1Linux教程实验指导书

Linux程序设计实验指导书

目录 实验一:linux安装 (3) 实验二:常用命令的使用 (10) 试验三vi编辑器 (11) 实验四 shell编程 (11) 实验五常用开发工具 (12) 实验六 makefile的编写与使用 (14) 实验七 Linux环境编程 (14) 实验八 (15)

实验一:linux安装 一、实验目的 1.学会在操作系统安装之前,根据硬件配置情况,指定安装计划 2.掌握多操作系统安装前,利用硬盘分区工具(如PQMagic)为Linux准 备分区 3.掌握Linux操作系统的安装步骤 4.掌握Linux系统的简单配置方法 5.掌握Linux系统的启动、关闭步骤 6.掌握在虚拟机上的Linux安装步骤和使用方法 二、实验内容 1.安装并使用硬盘分区工具,为Linux准备好分区 2.安装Linux系统(如红旗Linux桌面版) 3.配置Linux系统运行环境 4.正确的启动、关闭系统 注意:为了避免新手在第一次安装Linux时,破坏掉磁盘上的有用数据,推荐第一次在winxp系统上的虚拟机上安装linux。因此需要一下步骤: 1.安装winxp下的虚拟机软件vmware,并创建一个虚拟机。 2.在虚拟机环境中安装linux系统。 3.配置Linux系统运行环境 4.正确启动、关闭系统。 三、背景知识 Linux安装有三种方式,分别是:通过光盘安装、硬盘安装和网络安装。 另外有三种形式,分别是:Linux独立操作系统、Linux与windows共存的双(多)操作系统、Windows下虚拟机安装Linux的双(多)操作系统。 在三种安装方式中,通过光盘安装最为简单,但是需要事先从网络上下载安装镜像文件,并将其刻录到光盘上;或者直接从外面买别人刻好的安装光盘。由于Linux是开源的操作系统,因此不存在“盗版”的说法。另一种是通过硬盘安装,需要事先将安装镜像文件下载到本地fat32格式的磁盘分区上,然后重新启动进入纯dos下,进行一些必要的设置就可以从硬盘自动安装了,其后的安装步骤跟光盘安装一样。网络安装需要事先下载一些必要的文件,经过设置后重新启动,对硬盘做分区并安装最小的系统,然后通过网络下载其他必须的文件组件。在进行网络安装时,需要确定网络正常可用,ftp或者http网站地址正确。 在三种安装形式中,安装Linux独立操作系统是最简单的一种形式,这种形式需要光盘安装,安装完毕后,计算机系统中只有Linux操作系统。因为属于单操作系统,因此不用担心会破坏其他的数据信息,也不用考虑其他分区的情况。当然,安装完毕后,如果需要的话,还可以安装其他的操作系统,形成双(多)操作系统。一般来说,如果要安装双(多)操作系统时,应该先安装windows操作系统,并为linux操作系统保留必要的分区,然后再安装linux操作系统。此时linux操作系统可以使用上述的三种安装方法的任意一种。Linux操作系统在安装过程中,会自动寻找其他操作系统,并通过grub对所有的操作系统进行管理。目前一种新的为大家所喜爱的安装

实验2 Linux shell编程

实验2Linux Shell程序设计 学生姓名:付沪豪学号:6103114091专业班级:计科143班 一.实验目的 熟悉Linuxshell编程的方法 二.实验内容 Linux Shell中的位置参数、命令替换、输入、控制语句、函数等操作三.实验环境 PC微机 Windows 操作系统 四.实验步骤 1.读懂下面shell程序,说明其功能,对比分析测试结果 #! /bin/sh for lib in lib{gmp,mpfr,mpc}.la; do echo $lib: $( if find /usr/lib* -name $lib | grep -q $lib; then : ; else echo not; fi ) found; done; unset lib 功能分析: 利用for循环依次将https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,赋值给lib变量然后利用find命令/usr/的目录下找有没有https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,z 这三个库文件,有的话则输出文件名found ,否则not found。最后unset删除变量$lib 程序执行结果如下:

由上图结果可知https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,,https://www.docsj.com/doc/c819097872.html,均不在/usr/目录下。 2.读懂下面shell程序,说明其功能,对比分析测试结果 #! /bin/sh export LC_ALL=C bash --version | head -n1 | cut -d" " -f2-4 echo "/bin/sh -> `readlink -f /bin/sh`" echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- bison --version | head -n1 if [ -h /usr/bin/yacc ] then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`" elif [ -x /usr/bin/yacc ] then echo yacc is `/usr/bin/yacc -V | head -n1` else echo "yacc not found" fi bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff –‘ find --version | head -n1 gawk --version | head -n1 if [ -h /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; elif [ -x /usr/bin/awk ]; then echo yacc is `/usr/bin/awk --version | head -n1` else echo "awk not found" fi gcc --version | head -n1 g++ --version | head -n1 ldd --version | head -n1 | cut -d" " -f2- # glibc version grep --version | head -n1 gzip --version | head -n1 cat /proc/version m4 --version | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version`

《操作系统原理与Linux》实验二 Linux中Shell命令的使用

《操作系统与Linux》实验报告 实验名称:实验二Linux中Shell基本命令的使用 实验日期:2011年11月2日 班级:B09513 学号:20094051311 姓名:王晓珍 计算机号: 一、实验目的 1.掌握Shell基本命令的使用方法(命令补全、通配符、历史记录、别名、输出重定向、使用管道、作业控制)。 二、实验内容 1、命令补全: 1)登录后进入home目录并建立子目录mlbq,在mlbq子目录中建立如下子目录:news、 bin、 games、mail、programs、test。 [root@localhost ~]# cd .. [root@localhost /]# cd home [root@localhost home]# mkdir mlbq [root@localhost home]# cd mlbq [root@localhost mlbq]# mkdir news bin games mail programs test 2)通过命令补全功能只输入字母t进入test子目录。 [root@localhost mlbq]# cd test/ 3)在mlbq子目录中再建立一个子目录tools,如何通过命令补全功能进入test子目录。[root@localhost test]# cd .. [root@localhost mlbq]# mkdir tools [root@localhost mlbq]# cd test/ [root@localhost test]# 4)在mlbq子目录下输入命令cd t,出现什么结果。 [root@localhost mlbq]# cd t test/ tools/ 2、通配符: 1)在mlbq子目录中通过touch命令建立如下文件:ch1.doc、ch2.doc、ch3.doc、ch4*、ch5*。 [root@localhost mlbq]# touch ch1.doc [root@localhost mlbq]# touch ch2.doc ch3.doc ch4* ch5* [root@localhost mlbq]# ls bin ch2.doc ch4* games news test ch1.doc ch3.doc ch5* mail programs tools 2)通过通配符“*”列出mlbq子目录中所有文件扩展名为“.doc”的文件。 [root@localhost mlbq]# ls *.doc ch1.doc ch2.doc ch3.doc 3)通过通配符“?”列出mlbq子目录中ch1.doc、ch2.doc和ch3.doc三个文件。

Linux操作系统实验报告1

实验Linux shell基本命令使用 实验目的: 熟悉Linux操作系统环境,掌握Linux的基本命令。 实验提示: 1、Linux命令行的语法结构: $ command [[-]option(s)] [option argument(s)][command argument(s)] 含义: ●$:linux系统提示符,您的linux系统可能是其他的提示符 ●Command:linux命令的名字 ●[[—]option(s)]:改变命令行为的一个或多个修饰符,即选项●[option argument(s)] :选项的参数 ●[command argument(s)]:命令的参数 2、登录Linux系统的方式: (1)基于文本的界面的连接到Linux系统的方式有: ●局域网连接:一般使用远程登录软件通过连接到局域网的 一台Linux主机或服务器上。在Windows下使用的远程登 录软件有SSH、telnet等,在http://www.ssh。com/下载 SSH软件。 ●因特网连接:因特网连接与局域网连接相似。因特网中的 Linux服务器很多,如:http://lab.lpicn。org,ssh的设置: ✓host:https://www.docsj.com/doc/c819097872.html,,user:open,port:22, password:open123 ✓host:lab。lupa。cn,user: lab, port:22,password: lab ●独立连接:用户使用一台装有Linux系统的计算机,使用 文本的界面. 当使用以上三种方式连接Linux系统时,需要向系统输入正确的用 户名和口令.在成功登录到Linux计算机后,屏幕会出现一个诸如 “$" (有可能是其他的符号)的shell提示符。接着用户可以使用 各种各样的linux命令了。 (2)基于图形用户界面: ●用户使用一台装了GNOME或KDE图形桌面的Linux系统,可 以使用图形界面的登录窗口登录到系统中。 ●使用Xmanager等软件,在windows下登录到Linux,可以使 用linux的图形界面。

LINUX操作系统实验报告

中国地质大学江城学院 LINUX操作系统实验报告 姓名 班级学号 指导教师冯春华 2011 年9 月14 日

实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替 换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1、 2、

3、 4、 5

实验二文件和目录操作命令 实验目的: 1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、 mv、rm等。 2、掌握LINUX下建立链接文件的方法。 实验内容: 1、使用命令切换到/etc目录,并显示当前工作目录路径。 2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。 3、使用命令创建空文件/root/ab,并将该文件的时间记录更改为8月8日8点8分。 4、使用命令创建具有默认权限为744的目录/root/ak,然后将/etc/named.conf文件复制到该目录中,最后将该目录及其目录下的文件一起删除。 5、统计文件/etc/named.conf的行数、字符数和单词数。 6、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c。 实验步骤及结果: 1. 2 .

操作系统-Linux课程实验报告

实验 1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 核模块 实验步骤: (1).编写核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译核模块Makefile文件 # Makefile under 2.6.25

Linux系统中的Shell脚本编写与执行方法

Linux系统中的Shell脚本编写与执行方法 章节一:Shell脚本简介 Shell脚本是一种用于在Linux系统中进行自动化任务和批处理 的脚本编程语言。它是一种命令行解释器,提供了一种简单而强 大的方式来操作和控制Linux系统。Shell脚本通常以.sh结尾,可 以通过命令行解释器执行。本章将介绍Shell脚本的概念、用途和 基本语法。 1.1 Shell脚本概述 Shell脚本作为一种编程语言,提供了一种交互式操作和管理Linux系统的方式。它能够自动化执行一系列命令,可以简化重复 性任务的操作,提高效率。Shell脚本主要由一系列的命令和控制 结构组成。 1.2 Shell脚本的用途 Shell脚本广泛应用于系统管理、任务调度、文件处理、日志分 析等方面。通过编写Shell脚本,可以实现自动化部署、系统监控、备份和恢复等任务。同时,Shell脚本还可以与其他编程语言集成,扩展其功能。 1.3 Shell脚本的基本语法

Shell脚本的语法基于命令行解释器,包括变量定义、条件语句、循环结构等。其中,变量可以用来存储数据,条件语句用于根据 条件执行不同的操作,循环结构用于重复执行一部分代码。 章节二:Shell脚本的编写 本章将介绍如何编写Shell脚本,包括脚本的创建、编辑和保存。此外,还将讲解如何运行和测试脚本。 2.1 创建和编辑Shell脚本 在Linux系统中,可以使用任何文本编辑器来创建和编辑Shell 脚本。常用的文本编辑器包括vi、nano和gedit。通过打开编辑器,创建一个新的文件,并为其添加.sh扩展名,即可开始编写Shell 脚本。 2.2 Shell脚本的保存和命令行解释器 编写完Shell脚本后,需要保存文件。保存时,需要确保文件 有可执行权限。在Linux系统中,可以使用chmod命令来修改文 件的权限。为了能够执行Shell脚本,需要指定使用的命令行解释器。常见的命令行解释器包括bash、sh和zsh。 2.3 运行和测试Shell脚本 运行Shell脚本时,可以使用终端或命令行界面。通过在命令 行中输入脚本文件的路径,加上.sh扩展名,即可执行脚本。为了

linux-实验指导手册-常用命令

实验一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参数删除多级目录。如:

linux shell实验报告

linux shell实验报告 《Linux Shell实验报告》 摘要: 本实验报告主要介绍了在Linux操作系统中使用Shell进行实验的过程和结果。通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。 一、实验目的 本实验旨在通过实际操作,加深对Linux Shell的理解和掌握,探索Shell在Linux系统中的应用和作用。 二、实验内容 1. Shell的基本概念 在实验中,我们首先了解了Shell的基本概念,包括Shell是什么、其作用和特点等内容。通过实际操作,我们发现Shell是一种命令行解释器,能够接收用户输入的命令并将其转化为操作系统能够理解的指令,从而实现对系统资源的管理和控制。 2. 常用Shell命令 在实验中,我们学习了一些常用的Shell命令,如cd、ls、mkdir、rm等,以及它们的用法和功能。通过实际操作,我们发现这些命令能够帮助我们在Linux 系统中进行文件和目录的管理,实现对系统资源的快速访问和操作。 3. Shell脚本编写和执行 在实验中,我们还学习了如何编写和执行Shell脚本。通过实际操作,我们发现

Shell脚本能够帮助我们实现对一系列命令的批量执行,从而提高工作效率和操作便利性。 三、实验结果 通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。 四、结论 本实验通过实际操作,加深了对Linux Shell的理解和掌握,探索了Shell在Linux系统中的应用和作用。通过实验,我们发现Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性,对于Linux系统的管理和维护具有重要的意义。因此,我们应该进一步深入学习和应用Shell,在实际工作中不断提高自己的Shell技能,从而更好地发挥Shell在Linux系统中的作用。

Linux终端中的Shell脚本编写与执行

Linux终端中的Shell脚本编写与执行 Shell脚本是一种在Linux终端中编写和执行命令的脚本语言。通过编写Shell脚本,我们可以自动化执行一系列的任务,提高工作效率。本文将介绍如何编写和执行Shell脚本,并提供一些实用技巧和常用命令。 一、Shell脚本的基本概念 Shell脚本是一系列Shell命令的集合,通过编写脚本文件来实现一些特定的功能。Shell脚本文件通常以.sh为扩展名,例如test.sh。 二、编写Shell脚本的基本语法 1. 定义Shell解释器 在编写Shell脚本前,首先需要指定Shell解释器。常用的解释器有Bash、Zsh等。在脚本文件的第一行添加如下代码: ```bash #!/bin/bash ``` 2. 注释 在脚本中添加注释有助于代码的可读性和维护性。注释以#开头,可以单行或多行注释,例如: ```bash

# 这是一个示例Shell脚本 echo "Hello, World!" ``` 3. 变量 Shell脚本中使用变量可以存储和操作数据。变量的命名需要以字母或下划线开头,不能以数字开头。示例: ```bash name="John" echo "My name is $name" ``` 4. 输入输出 Shell脚本可以接收用户输入,并将结果输出到终端。示例: ```bash echo "Please enter your name: " read name echo "Hello, $name" ``` 三、Shell脚本的执行方式 1. 通过终端直接执行

将编写好的Shell脚本保存为.sh文件,通过在终端输入以下命令执行脚本: ```bash bash test.sh ``` 2. 设置脚本文件的执行权限 使用chmod命令给脚本文件添加执行权限: ```bash chmod +x test.sh ``` 然后可以直接执行脚本文件: ```bash ./test.sh ``` 四、Shell脚本的实用技巧和常用命令 1. 条件判断 Shell脚本可以使用条件判断语句进行逻辑判断,根据不同的条件执行相应的操作。常用的条件判断语句有if-else、case等。 2. 循环结构

Linux实验报告

Linux基本命令及其使用 实验目的: 1.理解Shell命令的运行; 2.掌握Linux基本命令的使用; 3.通过对现象的观察、总结与思考,理解linux命令的学习方法; 实验步骤: 1.进入~目录,然后显示当前目录全路径。 2.在当前目录下建立lab1子目录,进入lab1。

3.执行echo “hello world”>my.txt,使用ls -l查看当前目录下的文件信息。再执行echo “hello world” my.txt。对照这些结果,说明>的作用与功能。

echo >“hello world”my.txt 将字符串输出重定向,当前目录没有my.txt,则创建my.txt,并将字符串输出到my.txt文件中 my.txt内容:hello world echo “hello world” my.txt 将字符串“hello world” my.txt输出到屏幕 4.再次执行echo “hello world”>my2.txt,使用cat命令查看my2.txt文件内容。又执行echo “hello world”>>my2.txt,再次使用cat命令查看my2.txt文件内容。对比分析两次cat内容的差别,回答>>的功能与作用。

执行echo “hello world”>>my2.txt后将字符串“hello world”追加到my2.txt文件中 5.使用ls显示当前目录下的文件名,比较ls -a以及ls -A结果的区别。比较ls -l 与ls -li的区别

ls -l将文件的详细内容列举出来 ls -li在-l的基础上增加了每个文件的 inode 号,inode 相当于索引节点操作系统用inode号码来识别不同的文件 6.输入who,执行,根据显示信息分析who命令的(可能)功能。 显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等

Linux实验2、Linux操作基础-用户界面与shell命令

课程名称: Linux操作系统 实验名称:实验2、Linux操作基础-用户界面与shell命令 实验二、Linux操作基础-用户界面与shell命令 一、实验要求 (1)掌握图形化用户界面和字符界面下使用shell命令的方法; (2)掌握常用的shell命令; (3)学会shell的高级操作。 二、实验内容和实验步骤 图形化用户界面(GNOME或KDE)下用户操作非常简单而直观,但到目前为止图形化用户还不能完成所有的操作任务;字符界面占用资源少,启动迅速,对于有经验的管理员而言,字符界面下使用Shell命令更为高效。 Shell命令是Linux操作系统的灵魂,灵活运用Shell命令可完成操作系统所有工作。并且,类UNIX的操作系统在Shell命令方面具有高度相似性。熟悉掌握Shell命令,不仅有助于掌握RHEL Sever5,而且几乎有助于掌握各发行版本的Linux,甚至UNIX。 RHEL Sever5中不仅可在字符界面下使用Shell命令,还可借助于桌面环境下的终端工具使用Shell命令。桌面的终端工具中使用Shell命令时可显示中文,二字符界面下显示英文。 1、图形化用户界面下的Shell命令操作

【操作要求1】显示系统时间,并将系统时间修改为2016年04月01日零时。 【操作步骤】 (1)启动计算机,以超级用户身份登录图形化用户界面。 (2)依次单击顶部面板的“应用程序”-“附件”-“终端”菜单项,打开桌面环境下的终端工具。 (3)输入命令“date”,显示系统的当前日期和时间。 (4)输入命令“date 040100002016”,屏幕显示新修改的系统时间。截图如下: 【操作要求2】切换为普通用户,查看2016年04月01日是星期几。 【操作步骤】 (1)前一操作是以超级用户身份进行的,但通常情况下只有在必须使用超级用户权限的时候,才以超级用户身份操作。为提高操作安全性,输入:su –user 命令切换为普通用户user。 (2)输入命令:cal 2016,查看2016年04月01日是星期几。截图如下: 【操作要求3】查看ls命令的-s选项的帮助信息。 【操作步骤】 方法一: (1)输入:man ls 命令,屏幕显示出手册页中ls命令相关帮助信息的第一页,介绍ls 命令的含义、语法结构以及-a,-A,-b和-B等选项的意义。 (2)使用【PgDn】键、【PgUp】键以及上、下方向键找到-s选项的说明信息。截图如下:

实验二Linux常用命令

实验二Linux常用命令 《LINUX操作系统》实验报告至学年第学期姓名系别实验地点 综合教学楼2机房学号年级、班 实验时间年月日实验工程 Linux常用命令1〔目录及文件管理命令、信息显示命令、网络根本配置命令〕 一、实验目的 1、熟悉命令行操作方式; 2、掌握man,info等常用的帮助命令; 3、掌握Linux目录常见的概念〔路径,根目录、用户主目录〕; 4、掌握文件与目录的根本操作,包括文件复制、移动和删除命令cp,mv,rm;目录的创立与删除mkdir,rmdir;改变工作目录、显示路径以及显示目录内容命令cd、pwd,ls;文件查找命令find,locate等。 5、掌握文件信息〔内容〕显示命令,包括信息显示和字符查找命令cat、head、tail、more、less、grep等。 6、掌握网络根本配置命令,包括网络的连通情况和分析网络速度命令ping;网络参数配置命令ifconfig;路由配置命令route 二、实验环境〔条件〕软件配置:Windows XP/2003系统 Vmware Workstation 8.0 Red Hat Enterprise Linux 5 硬件配置:CPU P4 2.0G以上、内存 512MB以上三、实验内容及步骤:实验准备: ●了解shell的作用。●了解Shell命令的格式●必须掌握终端的切换 1. 对命令行根本操作做进一步了解 〔1〕首先登录GNOME桌面,翻开桌面环境下的终端仿真器熟悉命令行操作;〔2〕了解智能补全功能; 如果你键入了文件名、命令、或路径名的一局部,然后按 [Tab] 键, bash 要么会把文件或路径名的剩余局部补全,要么会给你一个响铃〔如果你的系统中启用了声效的话〕。如果你得到的是响铃,只需再按一次 [Tab] 键即可获取到与你已键入的局部匹配的文件、命令或路径名的列表。例如:如果你忘记了命令chmod ,但是记得该命令的一局部,然后在 shell 提示下键入 ch ,连按两次

相关文档
相关文档 最新文档