linux基本shell命令实验报告

合集下载

linux的shell脚本实验报告

linux的shell脚本实验报告

第二次实验内容一、实验名称:Linux下shell编程二、实验类型:设计三、实验目的:1.熟悉Linux的shell几种变量使用2.熟练掌握Linux的shell编程几种结构3.熟练掌握Linux下shell脚本的编写四、实验准备参考教材,课件第7章内容及笔记。

要求实验内容全部写到实验报告上(B5纸)。

五、实验内容1. 练习使用shell四种变量,参考课件例题。

用户自定义变量,环境变量,位置变量,特殊变量这四种变量类型的使用,书中有例题。

2. 调试课件所有shell脚本的例题。

3. 编写如下脚本:●编写脚本if1,测试其功能。

echo -n "word 1: "read word1echo -n "word 2: "read word2if test "$word1" = "$word2"thenecho "Match"fiecho "End of program."●编写脚本chkargs,测试其功能if test $# -eq 0thenecho "You must supply at least one argument."exit 1fiecho "Program running."●编写脚本if2,测试其功能if test $# -eq 0thenecho "You must supply at least one argument."exit 1fiif test -f "$1"thenecho "$1 is a regular file in the working directory"elseecho "$1 is NOT a regular file in the working directory"fi●编写脚本if3,测试其功能echo -n "word 1: "read word1echo -n "word 2: "read word2echo -n "word 3: "read word3if [ "$word1" = "$word2" -a "$word2" = "$word3" ]thenecho "Match: words 1, 2, & 3"elif [ "$word1" = "$word2" ]thenecho "Match: words 1 & 2"elif [ "$word1" = "$word3" ]thenecho "Match: words 1 & 3"elif [ "$word2" = "$word3" ]thenecho "Match: words 2 & 3"elseecho "No match"fi●编写smartzip 脚本,测试其功能#!/bin/bashftype=`file "$1"`case "$ftype" in"$1: Zip archive"*)unzip "$1" ;;"$1: gzip compressed"*)gunzip "$1" ;;"$1: bzip2 compressed"*)bunzip2 "$1" ;;*) echo "File $1 can not be uncompressed with smartzip";;esac●编写脚本dirfiles,测试其功能。

实验一. shell 命令试验

实验一. shell 命令试验

试验一、Shell命令基础试验Linux常用工具一、Shell简介在Linux系统开发过程中,开发者或者用户与linux系统进行交互的时候需要一个平台,这就是shell。

有了他,用户就能通过键盘输入与系统进行交互了。

Shell会执行用户输入的命令,并且在屏幕上显示执行结果。

这种交互的全过程是基于文本方式的,这种面向命令行的用户界面被称为CLI(Command Line Interface)。

通俗的讲,Shell就是内部核心与外部使用者发生联系的介质。

当用户希望与系统内核发生联系进而控制硬件设备时,用户不会也不允许直接与内核交互,而必须通过Shell来下达命令使系统来控制硬件,同时内部核也会通过Shell来反馈执行情况,这里的Shell就是一个桥梁。

Shell工作示意图目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell 类型:#echo $SHELLBash(Bourne Again Shell)是目前大多数Linux系统默认使用的Shell,他由Brain Fox和Chet Ramey共同完成,内部命令一共有40个,他是Bourne Shell的扩展,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。

Bash是GNU计划的一部分,用来替代Bash Shell。

Linux使用他作为默认的Shell是因为他有以下特点:1.可以使用类似DOS下面的doskey的功能,用上下方向建查阅和快速输入并修改命令。

2.自动通过查找匹配的方式,给出以某字母开头的命令(TAB)3.包含了自身的帮助功能,只要在提示符下面输入help就可以得到相关的帮助。

Linux下使用Shell非常简单,打开终端就可以看到shell提示符了,我们使用的Cygwin没有提供X窗口系统,所以打开Cygwin软件就直接登陆了shell窗口。

实验报告(2)_Linux的基本命令(一)

实验报告(2)_Linux的基本命令(一)
9.*复制/etc/cron.d/anacron文件到当前目录下;
10.在该文件最后一行加上一句话:“my name is +你的姓名的拼音!”
11.*显示anacron文件的内容。
12.复制/tmp/w09080101整个目录到mydir09080101下;
13.删除w09080101目录;
14.*查看/tmp目录下的所有内容;
15.*显示当前目录
二、根据下列命令写出功能:
1.cd /;
2.cd ../..;
3.cat file1
4.cp data3.txt /tmp/data(data是目录)
5.rm–f*.txt
6.grep text*.conf
实验环境
安装了Linux操作系统的计算机一台
实验过程与结果分析:
实验内容一:(写出每题的命令,并对题号后标注“*”记号的截取命令执行后的画面)
4.*在该目录下创建一个user文件,内容输入:
学号:自己学号;第一行
姓名:自己姓名;第二行
专业:自己专业;第三行
5.回到当前登录用户的主目录;
6.*在当前登录用户的主目录下创建1题所建立目录的软链接(名称与目录名同名);
7.在当前目录下创建mydir+学号目录(如mydir09080101);
8.进入mydir09080101目录;
实验内容二:(直接写出命令功能)
实验小结:
备注:
批阅教师
时间
实验成绩
信工院《Linux程序设计》实验报告
姓名
学号
实验日期
实的:
掌握shell命令的使用;
实验内容
一、根据下列要求在Linux环境下操作:

Linux实验报告shell脚本编程

Linux实验报告shell脚本编程

Linux实验报告shell脚本编程南京信息⼯程⼤学实验(实习)报告实验(实习)名称shell脚本编程实验(实习)⽇期得分指导教师系计算机专业计算机科学与技术年级班次姓名学号⼀·【实验⽬的】1、了解和熟悉创建并使⽤脚本的步骤。

2、熟悉bash 的控制结构。

3、学会简单的shell 编程。

⼆·【实验内容】1、创建⼀个简单的列⽬录和⽇期的shell脚本并运⾏之。

步骤:⑴输⼊下列命令,创建⼀个新⽂件:cat >new_script⑵输⼊下列⾏:echo “Your files are”lsecho “today is”date按回车键将光标移到⼀个新⾏,按Ctrl+D键保存并退出。

⑶检查⽂件内容,确保它是正确的:#cat new_script⑷运⾏脚本,输⼊它的⽂件名:#new_script该脚本不运⾏。

⑸输⼊下列命令,显⽰⽂件的权限:#ls –l new _script权限表明该⽂件不是可执⾏。

要通过简单调⽤⽂件名来运⾏脚本,必须有权限。

⑹输⼊下列命令,使new_script 变成可执⾏⽂件。

chmod +x new_script⑺要查看新的权限,输⼊:ls –l现在拥有⽂件的读、写和执⾏权限。

⑻输⼊新脚本的名字以执⾏它:new_script所有输⼊到⽂件的命令都执⾏,并输出到屏幕上。

⑼如果接收到错误信息,⽐如:command not found输⼊下列命令:#./new_script⽇10⽉11 12:37:00 CST 2009该命令⾏通知shell 到哪⾥寻找shell 脚本new_script,即您的当前⽬录“.”。

2、⽤Shell 语⾔编制⼀Shell 程序,该程序在⽤户输⼊年、⽉之后,⾃动打印数出该年该⽉的⽇历。

<参考程序>echo “Please input the month:”read monthecho “Please input the year:”read yearcal $month $year3、编程提⽰⽤户输⼊两个单词,并将其读⼊,然后⽐较这两个单词,如果两个单词相同则显⽰“Match”,并显⽰“End of program”,如果不同则显⽰“End of program”。

linux shell实验报告

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系统实验报告《Shell系统实验报告》摘要:本实验通过对shell系统的学习和实践,对shell脚本编程进行了深入的研究和探讨。

通过实验,我们深入了解了shell系统的基本概念、语法和功能,并通过实际编程实践加深了对shell脚本的理解和掌握。

本实验报告将对实验过程、实验结果和实验感想进行详细的介绍和分析。

一、实验目的通过本次实验,我们的主要目的是深入了解shell系统的基本概念和语法,掌握shell脚本编程的基本方法和技巧,提高对Linux系统的操作和管理能力。

二、实验过程1. 学习shell系统的基本概念和语法规则;2. 编写简单的shell脚本,包括文件操作、流程控制、函数定义等;3. 运行和调试编写的shell脚本,检验脚本的正确性和可靠性;4. 分析实验结果,总结实验感想。

三、实验结果通过本次实验,我们深入了解了shell系统的基本概念和语法规则,掌握了shell 脚本编程的基本方法和技巧。

我们成功编写了一些简单的shell脚本,包括文件操作、流程控制、函数定义等,通过运行和调试这些脚本,我们验证了它们的正确性和可靠性。

实验结果表明,我们对shell系统有了更深入的认识和理解,对Linux系统的操作和管理能力得到了提高。

四、实验感想通过本次实验,我们对shell系统有了更深入的认识和理解,对Linux系统的操作和管理能力得到了提高。

我们深刻体会到了shell脚本编程的重要性和实用性,相信在今后的工作和学习中,我们会更加熟练地运用shell系统,提高工作效率和解决实际问题。

同时,我们也意识到了自己在shell系统方面的不足之处,今后需要进一步学习和实践,不断提高自己的技能水平。

综上所述,本次实验对我们的学习和成长都具有重要意义,我们将继续努力学习和提高自己,在shell系统和Linux系统方面取得更大的进步和成就。

linux实验报告总结-共10篇

linux实验报告总结-共10篇

∣inux实验报告总结(共10篇)(Linux实验报告汇总)(一)Shell 编程一、实验目的:1)掌握在Linux下的C编程基本方法。

2)掌握shell编程方法。

3)掌握dialog图形化编程方法。

二、实验内容1、编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。

要求记录所使用的命令及结果。

#include stdio.hmain()(printf(Hello world!\n);)2、编写一个C程序并设置其在后台执行,其功能是在一段时间后(可自行设置),在屏幕上显示信息:Time for play!,写出相应的程序、命令及结果。

#include stdio.hmain()(int time=0;printf(请输入等待时间(单位:s):);scanf(%d/&amp;time);sleep(time);printf(Time for play!\n);)3、编写C程序,求1到100之间整数的阶乘和,并对程序进行优化。

写出程序、命令和结果。

#include stdio.hmain()int i;double s = l,sum = 0;for( i= l;i= 100;i++)sum+=s*=i;printf( 1到100之间整数的阶乘和:%f\n,sum);printf( 1到100之间整数的阶乘和:%e\n,sum);}4、编写C程序,根据键盘输入的半径求圆面积,要求在命令行周率(P∣=3∙14,PI=3∙14159,PI=3.14159626 等)进行编使用不同的译,写出程序、命令和结果。

#include stdio.hint main()double r = 0.0 , Area = 0.0;printf(请输入半径:);scanf(%lf, &amp;r);Area = PI * r * r;printf(圆面积:%f∖n, Area);)5、编写shell程序sh.l,完成向用户输出“你好!”的问候语。

linux shell实验报告

linux shell实验报告

linux shell实验报告Linux Shell实验报告一、引言Linux Shell是一种命令行解释器,它是Linux操作系统的核心组成部分。

通过Shell,用户可以直接与操作系统进行交互,执行各种命令和程序。

本实验旨在探索Linux Shell的基本用法和功能,以及如何通过Shell脚本实现自动化任务。

二、Shell的基本用法1. 登录Shell在Linux系统中,可以通过终端或控制台登录Shell。

输入用户名和密码后,即可进入Shell环境。

2. Shell命令的基本格式Shell命令由命令名称和参数组成。

命令名称用于指定要执行的操作,而参数则用于指定操作的具体细节。

3. 常用Shell命令(1)ls:列出当前目录下的文件和文件夹。

(2)cd:切换当前工作目录。

(3)mkdir:创建新的文件夹。

(4)rm:删除文件或文件夹。

(5)cp:复制文件或文件夹。

(6)mv:移动文件或文件夹。

(7)cat:查看文件内容。

(8)grep:在文件中搜索指定的字符串。

(9)chmod:修改文件或文件夹的权限。

(10)ssh:通过网络连接到远程服务器。

三、Shell脚本的编写与执行1. Shell脚本的基本结构Shell脚本是一系列Shell命令的集合,可以按照特定的顺序执行。

一个典型的Shell脚本包含以下几个部分:(1)Shebang:指定脚本的解释器。

(2)注释:用于解释脚本的用途和功能。

(3)变量定义:定义脚本中使用的变量。

(4)函数定义:定义脚本中使用的函数。

(5)主体代码:包含实际执行的命令。

2. Shell脚本的执行要执行一个Shell脚本,可以使用以下命令:```shellchmod +x script.sh./script.sh```首先,使用chmod命令给脚本添加可执行权限。

然后,使用./命令来执行脚本。

3. Shell脚本的实例以下是一个简单的Shell脚本示例,用于统计一个文件中指定字符串的出现次数:```shell#!/bin/bash# 统计指定字符串的出现次数count=$(grep -o "keyword" file.txt | wc -l)echo "出现次数:$count"```此脚本通过grep命令在file.txt文件中搜索关键字"keyword",并使用wc命令统计匹配行的数量。

Linux的shell-01实验报告

Linux的shell-01实验报告

Shell编程基础姓名:学号:520913080429专业:信息安全09-04实验内容:命令提示:上下键~/.bash_history权限不够,试着用VIM查看指令补全与文件名称补全alias lm='ls -al'unalias lm定义别名将lm定义为‘ls -al’Shell scripts编程变量与变量的设定:echo, env, set, 变量设定规则, export, unset echo $PATH有多少的环境变量呀?使用env 与set 来看看echo $? 上一个命令的返回值变量设定规则:变量与变量内容以等号『=』来连结;等号两边不能直接接空格符;变量名称只能是英文字母与数字,但是数字不能是开头字符;若有空格符可以使用双引号『" 』或单引号『' 』来将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符;若该变量为扩增变量内容时,则需以双引号及$变量名称如:『"$PATH":/home』继续累加内容;若该变量需要在其它子程序执行,则需要以export 来使变量可以动作,如『export PATH』;通常大写字符为系统预设变量,自行设定变量可以使用小写字符;一般变量设定:name=VBirdname="VBird name"变量累加设定name="$name"ismePATH="$PATH":/home/test单引号双引号` 三种符号的不同含义myname="$name its me"myname='$name its me'cd /lib/modules/`uname –r`键盘定义变量值read name数组:a[1]=4a[2]=8echo ${a[1]} ${a[2]}随机数:echo $RANDOM定义变量[root@localhost home]# name=zhangshan[root@localhost home]# name1='zhang san'[root@localhost home]# name2="zhang san"[root@localhost home]# echo $namezhangshan[root@localhost home]# echo $name1zhang san[root@localhost home]# echo $name2zhang san[root@localhost home]#bash shell 的设定档案系统设定值/etc/profile这个档案设定了几个重要的变量,例如:『PATH、USER、MAIL、HOSTNAME、HISTSIZE、umask』所有的使用者皆会使用到这个档案的信息。

Linux实验报告

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 worldecho “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 使用量、动作等等7.在当前目录下建立mydir目录,将以上的my2.txt拷贝到mydir目录下。

实验一Linux基本操作和shell编程

实验一Linux基本操作和shell编程

福建农林大学计算机与信息学院实验报告Linux基本操作和shell编程实验环境1、硬件环境:计算机设备:P4+256MB内存2、软件环境:VM+红旗Linux 4.0 桌面版一、实验目的:1)掌握Linux常用的命令操作。

2)掌握在Linux下的C编程基本方法。

3)掌握shell编程方法。

4)掌握dialog图形化编程方法。

二、实验内容1、启动红旗linux系统或其它Linux系统操作步骤:1)以root用户,登录红旗linux,进入其桌面环境。

2)查看红旗linux的桌面图标、系统面板和主菜单中的内容,并记录相应的项目。

2、在终端中完成下列命令操作,并记录结果1)在root主目录下创建一个mydir子目录和一个myfile文件,再在mydir下建立d1和d2两个子目录。

Mkdir /root/mydir;cat >myfile(若是空文件直接ctrl+d结束);mkdir /mydir/d1 my/dir/d2;2)查看mydir和myfile的默认权限ls –dl mydir myfile3)查看当前myfile和mydir的权限值是多少?ls –dl mydir myfile由上可知mydir权限值是755,myfile权限值是6444)将myfile文件分别复制到root 和d1的主目录中cp myfile /root/mydir/d15)将root主目录中的myfile改为yourfile mv myfile yourfile6)通过从键盘产生一个新文件text.txt并输入I am a student cat >text.txt7)查找text.txt文件是否包含student字符串grep –n student text.txt3、创建一个新用户,名为dd1。

要求记录操作步骤或命令序列。

Useradd dd1;passwd 1234564、编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。

linux shell 实验报告

linux shell 实验报告

linux shell 实验报告Linux Shell 实验报告一、引言Linux Shell 是一种命令行解释器,它允许用户与操作系统进行交互。

作为一个开源的操作系统,Linux 提供了多种 Shell,如 Bash、Zsh、Ksh 等,每种 Shell 都有其特点和用途。

本实验旨在通过实际操作,深入了解 Linux Shell 的使用和功能。

二、实验目的1. 熟悉 Linux Shell 的基本概念和操作;2. 掌握 Shell 的常用命令和参数;3. 理解 Shell 脚本的编写和执行过程。

三、实验环境本次实验使用的实验环境为 Ubuntu 20.04 LTS 操作系统,使用默认的 Bash Shell。

四、实验内容1. Shell 基本操作在 Linux 系统中,打开终端即可进入 Shell 环境。

Shell 提供了丰富的命令用于文件操作、系统管理等。

以下是一些常用的 Shell 命令示例:- ls:列出当前目录下的文件和子目录;- cd:切换当前工作目录;- mkdir:创建新目录;- rm:删除文件或目录;- cp:复制文件或目录;- mv:移动文件或目录。

2. Shell 变量和环境变量Shell 变量用于存储数据,可以通过赋值和引用来操作变量。

环境变量是一种特殊的 Shell 变量,用于存储系统环境的信息。

以下是一些常用的变量和环境变量示例:- 变量赋值:name="John";- 变量引用:echo $name;- 环境变量:$HOME、$PATH、$USER。

3. Shell 脚本编写与执行Shell 脚本是一种批处理文件,由一系列命令组成,可以实现自动化操作。

以下是一个简单的 Shell 脚本示例:```shell#!/bin/bashname="John"echo "Hello, $name!"```将上述脚本保存为 `hello.sh`,通过 `chmod +x hello.sh` 命令给予执行权限,然后通过 `./hello.sh` 执行脚本。

shell编程实验总结

shell编程实验总结

shell编程实验总结Shell编程实验总结Shell编程是一种在Linux系统中常用的脚本语言,它可以通过编写一些简单的脚本来完成一些复杂的任务。

在学习Shell编程的过程中,我通过实验掌握了一些基本的语法和技巧,现在将它们按照类别进行总结。

一、变量在Shell编程中,变量是非常重要的概念。

我们可以通过定义变量来存储一些数据,然后在程序中使用这些数据。

定义变量的语法如下:```variable_name=value```其中,`variable_name`是变量名,`value`是变量的值。

在使用变量时,需要在变量名前加上`$`符号。

例如:```name="Tom"echo "My name is $name"```这段代码会输出"My name is Tom"。

二、条件语句条件语句是Shell编程中常用的语句之一。

它可以根据条件的真假来执行不同的代码块。

条件语句的语法如下:```if conditionthencommand1command2...elsecommand3command4...fi```其中,`condition`是一个条件表达式,如果它的值为真,则执行`then`后面的代码块;否则执行`else`后面的代码块。

例如:```if [ $name = "Tom" ]thenecho "Hello, Tom!"elseecho "Who are you?"fi```这段代码会根据变量`name`的值输出不同的问候语。

三、循环语句循环语句是Shell编程中另一个常用的语句。

它可以重复执行一段代码块,直到满足某个条件为止。

Shell编程中有两种循环语句:`for`循环和`while`循环。

`for`循环的语法如下:```for variable in listdocommand1command2...done```其中,`variable`是一个变量名,`list`是一个列表,`command1`、`command2`等是要执行的命令。

Linux的shell-2实验报告

Linux的shell-2实验报告
简单脚本的练习:
sh02.sh变量内容由使用者决定
[root@localhost scripts]# vi sh02.sh
#!/bin/bash
read -p "please input your first name:" firstname
read -p "please input your last name:" lastname
echo "the the permission are: $perm"
(5)利用test指令的测试功能
Test是判断逻辑。
执行:
(6)利用判断符号:
判断符号:
(7)$0 $1的默认变量
用来判断下$1$0
(8)简单的IF语句:
[root@localhost scripts]# sh sh08.sh
you must input parameters,ex>sh08.sh simeword
echo "the $dir/$filename's permission is : $perm "
done
利用判断符号[ ]
[root@localhost scripts]# vi sh06.sh
#!/bin/bash
read -p "please input (Y): " yn
[ "$yn" == "Y" -o "$yn" == "y" ] && echo "ok continue" && exit 0
#!/bin/bash
#edit by lsr 2011-11-11

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

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

《操作系统》实验报告二实验名称:实验二Linux中Shell基本命令的使用实验日期:班级:学号:姓名:计算机号:一、实验目的1.掌握Shell基本命令的使用方法(命令补全、通配符、历史记录、别名、输出重定向、使用管道、作业控制)。

二、实验内容1、命令补全:1)登录后进入home目录并建立子目录mlbq,在mlbq子目录中建立如下子目录:news、bin、games、mail、programs、test。

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

3)在mlbq子目录中再建立一个子目录tools,如何通过命令补全功能进入test子目录。

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

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

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

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

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

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

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

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

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

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

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

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

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

Linux实验报告(实验四)shell编程实验

Linux实验报告(实验四)shell编程实验

Linux实验报告(实验四)shell编程实验实验四 shell编程实验(二)班级:姓名:学号:上机时间:年月日任课教师:实验教师:实验成绩:一、实验目的综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。

二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。

要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。

以后所有工作都要在自己的目录内进行。

建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容1. 编写一个脚本,求斐波那契数列的前10项及总和。

num1=1num2=1echo -n “$num1+$num2”sum=2for((i=1;i<=8;i++))dotmp=$(expr $num1 + $num2)echo -n “+$tmp”((num1=num2))((num2=tmp))sum=$(expr $sum + $tmp)doneecho “=$sum”2.编写一个脚本,求一个数的逆序。

echo -n please input num:read numecho -n The num iswhile [ $num -gt 0 ]dosd=$(($num % 10))echo -n "$sd"num=$(($num/10))doneecho3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验)mkdir -m 754 /home/userdatai=1temp=/home/userdata/userwhile[ $i -le 5 ]domkdir -m 754 $temp$ilet”i=i+1”#done4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。

操作系统实验一

操作系统实验一

操作系统实验一As a person, we must have independent thoughts and personality.本科实验报告操作系统课程名称:学号:姓名:专业:班级:指导教师:课内实验目录及成绩信息技术学院实验(实验一)1 实验名称:基本shell命令及用户管理2 实验目的掌握安装Linux操作系统的方法。

掌握Linux操作系统的基本配置。

了解GNOME桌面环境。

掌握基本shell命令的使用。

3 实验准备下载VMware Workstation虚拟机软件(版本不限)。

准备Linux操作系统的安装源(内核版本和发行版本均不限)。

注:实验准备、实验内容和作为回家作业布置,同学们利用课余时间可在私人计算机上完成。

4 实验要求、步骤及结果安装虚拟机软件。

【操作要求】安装VMware Workstation虚拟机软件,并填写以下4.1.1和的内容。

4.1.1【VMware Workstation虚拟机版本号】4.1.2【主要配置参数】安装Linux操作系统。

【操作要求】安装Linux操作系统,版本不限。

Linux发行版本:Linux内核版本:【主要操作步骤:包括分区情况】1、创建一台虚拟机安装操作系统时客户机操作系统选择Linux2、修改虚拟机的安装路径。

3、建一个新的虚拟磁盘,磁盘的空间20GB,并且将单个文件存储虚拟磁盘。

4、设置分区完毕,安装虚拟机了解Linux操作系统的桌面环境之一GNOME。

【操作要求】查看桌面图标,查看主菜单,查看个人用户主目录等个人使用环境。

【操作步骤1】桌面图标【操作步骤2】主菜单【操作步骤3】个人用户主目录【操作步骤4】启动字符终端【操作步骤5】注销[root@localhost~]# exit【操作步骤6】重启系统[root@localhost~]# reboot【操作步骤7】关闭[root@localhost~]# halt【回答问题】简述Windows桌面环境与Linux桌面环境的主要区别。

LINUXshell程序编程试验报告

LINUXshell程序编程试验报告

LINUX实验报告专业: 班级: 学号: 姓名: 报告时间:实验一Shell编程一 .实验名称:考勤模拟shell程序设计二 .实验目的:理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。

三 .实验内容:考勤模拟Shell程序设计用shell设计一个模拟考勤程序,实现如下功能选择界面:1 :上班签到2:下班签出3:缺勤信息查阅考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。

如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat中。

如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。

如果用户选择确信信息查询,则将check.dat中对应的用户迟到早退的信息查询出来并显示。

用户选择功能执行完,Shell程序继续回到功能选择界面等待下一个用户进行操作。

四.实验要求:1、掌握Shell程序的编辑、运行、调试方法2、完成实验内容要求是现的功能3、撰写实验报告五.试验运行代码:#缺勤信息查阅3)echa ”请输入您的名字:11read nameecho ”请输入您的密码:11read password#用户密码脸证if test -r /hoire/user/use rinfo.dat #如果usm「inT。

.dat文件存在且可读then while read fname fpassworddoif test "tfname" = "tname"thenif test "$password"="tpassword"thenbreakdone < /honiH/uGHr/us巳「inf。

j日telseecho System E「「Q「;use「info.ddt does not exist!if test "^fname" != "tname"thenecho ”不存在该用户”elif test 11$fpassword'!= '^password11thenecho ”密码不正确”elseecho "您的记录:"echo 11 -------------- 11cat -b /home/user/check.dat | grep $nameecho 11 -------------- 11fi; i#非法输入*} echo ”清输入含法的选欣I " esaclone#!/bin/shelLwhile true; do#屏幕显示提示信息echo ""echo ” ——欢迎使用本系统——"echo ”L上班签到“echo ”2、下班签出“echo ”3、考勤信息查阅”echo ” ----------------------------------- ”echo ""echo ”请输入您的选原:”#读入选国read choicecase $choice in#上班签到1)echo ”请输人您的名字:" read nameecho ”请输入您的密码:" read password#用户密码这证if test -r /home/user/use rinfo.dat #如果115H「inf。

shell实验报告

shell实验报告

操作系统实验报告(shell命令解释器)目录1功能描述 (2)2主要数据结构 (2)3主要自定义函数功能及接口说明 (3)4主要功能实现方法和系统调用 (4)4.1重定向功能 (4)4.2多管道功能 (4)4.3命令的后台运行 (5)4.4历史命令 (6)4.5CD命令 (6)4.6其他简单命令 (6)4.7其他自定义命令 (6)5心得体会 (6)6源代码 (7)1功能描述(用红色标示的字体显示了本解释器完成的基本功能)本实验完成了一个shell命令解释器,实现了shell的解释命令功能,实现了重定向功能和多管道、后台运行等功能。

具体功能描述如下:1)解释器的命令格式为cmd1[<infileName][|cmd2][|cmd3]…[|cmdn][>or>>outfileName][&]2)cmdi为命令名+参数形式的命令,<为输入重定向,后跟输入重定向文件名infileName;>或>>后跟输出重定向文件名,输出内容将写入outfileName,>>表示以追加方式写入文件,>则表示以覆盖方式写入;3)实现了多管道4)命令结尾可加后台运行符号& ,表示此命令将以后台运行的方式执行5)实现了cd命令6)exit为退出命令7)history为历史命令,可以显示最近执行的命令,最多100条8)!i为执行历史命令,意为执行第i条历史命令。

!!为执行上一条命令。

9)’|’为管道符号,使用|符号隔开的若干条命令之间,前一条命令的输出是后一条命令的输入。

10)自定义命令myname,将输出此Shell的版本信息11)本解释器命令格式中的简单命令可为所有外部命令和一部分内部命令和自定义命令2主要数据结构本shell解释器实现手法上非常直观易懂,没有用到复杂的数据结构。

运行过程中大部分数据采用字符数组的形式存储。

其中定义了命令结构类型cmd,用以表示一条简单命令。

实验一 Linux的Shell命令以及X 窗口系统的使用实验报告

实验一  Linux的Shell命令以及X 窗口系统的使用实验报告

实验一 Linux的安装、Shell命令以及X 窗口系统的使用班级:14194811 学号:14194822 姓名:吴林泽一、实验目的:熟练使用Linux字符界面的常用命令熟练运用Linux的在线求助系统。

练习X 窗口系统中常用的应用工具二、实验内容:文件处理命令1. ls命令英文原义:list (显示目录文件及其属性)执行权限:all user语法:ls 选项[-alFR] [文件或目录]-a 显示所有文件包括隐藏文件-l 使用long format 长格式进行显示-F 附加文件类别符号在文件名最后-R 显示目录及其下的子目录内容示例:$ ls –a$ ls –l说明:“.”代表当前目录,“..”代表上一层目录,长格式显示的目录或文件属性包括下列七项:文件权限(r-可读, w-可写, x-可执行)、文件数目、所有者、文件大小、建立日期、文件名。

参见“2.2.2 文件基础”。

2. cd命令英文原义:change directory (切换目录)执行权限:all user语法:cd [目录]示例:$ cd .. 回到上层目录$ cd . 在原目录$ cd ~ 回到user的home directory$ cd / 切换到根目录$ cd ../usr 切换到上一层目录的usr目录pwd3. pwd命令英文原义:print work directory(显示当前所在目录)执行权限:all user语法:pwd示例:$ pwd说明:由于Linux系统的树状目录结构颇为庞大,若没有使用Shell环境变量指定在Shell 提示符显示当前的工作目录,则不断地使用cd切换目录之后,可能会忘记当前所在的目录是哪里,例如在:/usr/bin和/usr/local/bin。

一般Shell提示符只显示最后的目录名称bin/,所以会对所在目录产生混淆,因此可以随时用pwd命令了解当前的工作目录/usr /X11R6/bin.显示当前工作目录为/usr/X11R6/bin4.cp ,rm, mv,mkdir 命令英文原义:copy,remove,move, make directory (复制、删除、移动文件,创建目录) 执行权限:all user语法:cp -afpx [源文件或目录][目地文件或目录]-a archive的意思相当于-dpR,也就是复制所有目录并包括子目录-f 强制复制文件-p 保留原始文件的日期-x 指定文件复制后属于目的磁盘的文件系统,如:ext2->fat32语法:rm -irf[文件或目录]-r 删除目录及其下的所有目录内容-f 强制删除-i 交互模式,删除前再做一次确认语法:mv –if [源文件或目录][目地文件或目录]5.1n命令英文原义:link (产生连接文件)执行权限:All User语法:ln –s [源文件][目录文件] ( -s symbolic link, 符号连接)示例:ln –s /bin/less /usr/local/bin/less说明:当需要在不同的目录用到相同的文件时,不需要在每一个需要的目录下都放一个相同的文件,只要在某个固定的目录中,放上该文件,然后在其他的目录用ln命令连接它即可,不必重复占用硬盘空间而节约磁盘空间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告(一)《Linux操作系统》实验报告实验题目:基本shell命令练习**:***学号:*********完成日期:3月10号一、实验目的熟悉Linux的操作环境;了解图形与命令行式两种操作方法;掌握基本Shell命令和vi编辑器的使用。

二、实验内容一、vi编辑器的使用练习1.请在/tmp 这个目录下建立一个名为vitest 的目录;2.进入vitest 这个目录当中。

3.将/etc/man.config 拷贝到本目录底下;4.使用vi 开启本目录下的man.config 这个文件。

5.在vi 中设定一下行号。

6.移动到第58行,看到的是什么内容?7.移动到第一行,并且向下搜寻一下bzip2 这个字符串,请问他在第几行?8.接着下来,我要将50 到100 行之间的man 改为MAN ,并且一个一个挑选是否需要修改,如何下达指令?9.修改完之后,突然反悔了,要全部复原,有哪些方法?10.我要复制51 到60 行这十行的内容,并且贴到最后一行之后;11.删除11 到30 行之间的20 行;12.将这个文件另存成一个man.test.config 的文件名;13.去到第29 行,并且删除15 个字符;14.在第一行新增一行,该行内容输入“I am a student”15.保存后离开二、文件和目录管理1.查看当前的路径。

2.查看当前目录下面的所有文件(包括隐藏文件)。

3.查看根目录中的目录结构。

4.在当前目录下建立一个子目录tmp ,并查看该目录的权限设置。

5.为tmp目录在根目录下建立一个快捷方式。

6.进入tmp目录。

7.复制/etc/mail/sendmail.cf文件到当前目录下。

8.将上一步中复制到当前目录的sendmail.cf 文件,更改文件名为test.file9.在该文件最尾处加上一句话:“This? is a editi n g? test.”10.分屏浏览文件信息11.在根目录下查找test.file文件和tmp目录12.在test.file文件在根目录下建立一个快捷方式13.把tmp目录打包压缩成tmp.tar.gz14.删除文件test.file15.删除tmp目录三、创建和管理用户和组群1、新建名为“group1”和“group2”的用户组,在“group1”组中添加一用户“user”,然后将用户“user”隶属于“group2”,最后删除“group1”用户组。

2、建立帐号user01,查看/etc/passwd文件有没变化,并设置user01的密码为123456。

在查看/etc/shadow文件有无变化。

3、user01的主目录在什么地方。

4、查看/etc/group文件。

四、其他1.使用man命令查看ls命令使用手册2.查看PATH变量3.查看并更改shell4.查看命令别名,创建rm –i命令别名5.在当前目录下新建test.txt文件,从键盘键入一段内容并将其保存至文本文件text.txt中6.显示text文件属性,并设置起新的权限为07777.查看当前磁盘使用情况以及文件系统挂载信息8.分屏显示/usr/include目录下所有后缀为.h的文件9.在当前目录查找包含内容”ab”的文件并显示行号10.查看当前用户、查看当前登录用户11.显示系统的运行时间12.使用history命令查看命令的历史记录列表13.使用列表中的命令序号执行列表中的命令14.使用管道符连接history命令和more命令,实现执行结果的分页查看15.使用管道符连接history命令和head命令,显示前5条记录16.…………三、实验结果一、vi编辑器的使用练习1.请在/tmp 这个目录下建立一个名为vitest 的目录;mkdir /tmp/vitest2.进入vitest 这个目录当中。

cd /tmp/vitest3.将/etc/man.config 拷贝到本目录底下;cp /etc/man.config .4.使用vi 开启本目录下的man.config 这个文件。

Vi man.config5.在vi 中设定一下行号。

:set nu6.移动到第58行,看到的是什么内容?58G7.移动到第一行,并且向下搜寻一下bzip2 这个字符串,请问他在第几行?1G 然后/bzip2 在118行8.接着下来,我要将50 到100 行之间的man 改为MAN ,并且一个一个挑选是否需要修改,如何下达指令?:50,,100s/man/MAN/gc9.修改完之后,突然反悔了,要全部复原,有哪些方法?一直按u,直到回到想要的地方10.我要复制51 到60 行这十行的内容,并且贴到最后一行之后;51G 然后10yy 按下G到最后一行然后p即可11.删除11 到30 行之间的20 行;11G 20dd12.将这个文件另存成一个man.test.config 的文件名;:w man.test.config13.去到第29 行,并且删除15 个字符;29G 15x14.在第一行新增一行,该行内容输入“I am a student”1G O 然后输入即可15.保存后离开:wq二、文件和目录管理1.查看当前的路径。

Pwd2.查看当前目录下面的所有文件(包括隐藏文件)。

Ls –a3.查看根目录中的目录结构。

Ls -al4.在当前目录下建立一个子目录tmp ,并查看该目录的权限设置。

mkdir tmp 然后 ls –dl tmp/5.为tmp目录在根目录下建立一个快捷方式。

In –s /root/tmp /tmp.lnk6.进入tmp目录。

Cd tmp7.复制/etc/mail/sendmail.cf文件到当前目录下。

Cp /etc/mail/sendmail.cf .8.将上一步中复制到当前目录的sendmail.cf 文件,更改文件名为test.fileMv sendmail.cf test.file9.在该文件最尾处加上一句话:“This? is a editi n g? test.”Vi test.file 然后:o “This? is a editi n g? test.”然后:Wq10.分屏浏览文件信息More test.file11.在根目录下查找test.file文件和tmp目录Find / -name test.file -printFind / -type d –name tmp -print12.在test.file文件在根目录下建立一个快捷方式In –s test.file /test.file13.把tmp目录打包压缩成tmp.tar.gzTar –zcvf tmp.tar.gz /tmp14.删除文件test.fileRm –r test.file15.删除tmp目录Rm –r /tmp三、创建和管理用户和组群1、新建名为“group1”和“group2”的用户组,在“group1”组中添加一用户“user”,然后将用户“user”隶属于“group2”,最后删除“group1”用户组。

Groupadd group1Groupadd group2Useradd –G group1 userGpasswd –d user group1Gpasswd -a user group2Groupdel group12、建立帐号user01,查看/etc/passwd文件有没变化,并设置user01的密码为123456。

在查看/etc/shadow文件有无变化。

Useradd user01 –p 123456/etc/passwd 文件长度变长了/etc/shadow 文件长度变长了3、user01的主目录在什么地方。

4、查看/etc/group文件。

Vi /etc/group四、其他1.使用man命令查看ls命令使用手册Man ls2.查看PATH变量Echo $PATH3.查看并更改shellEcho $SHELLChsh –s /usr/local/bin/…4.查看命令别名,创建rm –i命令别名Alias 【alias name】Alias rm –i=…5.在当前目录下新建test.txt文件,从键盘键入一段内容并将其保存至文本文件text.txt中Touch test.txtEcho “fdasfdsa”>>test.txt6.显示text文件属性,并设置起新的权限为0777Ls –ls textChmod 777 text7.查看当前磁盘使用情况以及文件系统挂载信息df8.分屏显示/usr/include目录下所有后缀为.h的文件Cd /usr/includeLs *.h |more9.在当前目录查找包含内容”ab”的文件并显示行号Ls *ab* -l10.查看当前用户、查看当前登录用户who11.显示系统的运行时间uptime12.使用history命令查看命令的历史记录列表13.使用列表中的命令序号执行列表中的命令14.使用管道符连接history命令和more命令,实现执行结果的分页查看15.使用管道符连接history命令和head命令,显示前5条记录16.…………四、实验体会Linux 命令功能十分强大,命令多,需要熟练掌握。

相关文档
最新文档